summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x].gitignore0
-rw-r--r--[-rwxr-xr-x]Makefile0
-rw-r--r--[-rwxr-xr-x]README.md0
-rw-r--r--[-rwxr-xr-x]src/audio.asm0
-rw-r--r--[-rwxr-xr-x]src/audio/music1.asm90
-rw-r--r--[-rwxr-xr-x]src/audio/music1_headers.asm0
-rw-r--r--[-rwxr-xr-x]src/audio/music2.asm84
-rw-r--r--[-rwxr-xr-x]src/audio/music2_headers.asm0
-rw-r--r--[-rwxr-xr-x]src/audio/noise_instruments.asm0
-rw-r--r--[-rwxr-xr-x]src/audio/sfx.asm0
-rw-r--r--[-rwxr-xr-x]src/audio/sfx_headers.asm0
-rw-r--r--[-rwxr-xr-x]src/audio/vibrato_types.asm46
-rw-r--r--[-rwxr-xr-x]src/audio/wave_instruments.asm0
-rw-r--r--[-rwxr-xr-x]src/constants.asm19
-rw-r--r--[-rwxr-xr-x]src/constants/booster_constants.asm0
-rw-r--r--[-rwxr-xr-x]src/constants/card_constants.asm0
-rw-r--r--src/constants/card_data_constants.asm141
-rw-r--r--[-rwxr-xr-x]src/constants/deck_constants.asm0
-rw-r--r--src/constants/duel_constants.asm119
-rw-r--r--src/constants/gfx_constants.asm41
-rw-r--r--[-rwxr-xr-x]src/constants/map_constants.asm0
-rw-r--r--src/constants/misc_constants.asm21
-rw-r--r--[-rwxr-xr-x]src/constants/music_constants.asm62
-rw-r--r--[-rwxr-xr-x]src/constants/npc_constants.asm0
-rw-r--r--[-rwxr-xr-x]src/constants/overworld_script_constants.asm0
-rw-r--r--src/constants/sgb_constants.asm13
-rw-r--r--[-rwxr-xr-x]src/constants/text_constants.asm20
-rw-r--r--src/data/booster_packs.asm720
-rw-r--r--[-rwxr-xr-x]src/data/cards.asm54
-rw-r--r--[-rwxr-xr-x]src/data/decks.asm0
-rw-r--r--src/data/effect_commands.asm16
-rw-r--r--[-rwxr-xr-x]src/data/map_scripts.asm0
-rw-r--r--[-rwxr-xr-x]src/data/map_songs.asm20
-rw-r--r--[-rwxr-xr-x]src/data/overworld_indexes.asm0
-rw-r--r--[-rwxr-xr-x]src/engine/bank1.asm785
-rw-r--r--[-rwxr-xr-x]src/engine/bank1c.asm68
-rw-r--r--[-rwxr-xr-x]src/engine/bank2.asm294
-rw-r--r--[-rwxr-xr-x]src/engine/bank20.asm78
-rw-r--r--[-rwxr-xr-x]src/engine/bank3.asm338
-rw-r--r--[-rwxr-xr-x]src/engine/bank4.asm258
-rw-r--r--[-rwxr-xr-x]src/engine/bank5.asm94
-rw-r--r--[-rwxr-xr-x]src/engine/bank6.asm52
-rw-r--r--[-rwxr-xr-x]src/engine/bank7.asm26
-rw-r--r--[-rwxr-xr-x]src/engine/bank8.asm60
-rw-r--r--src/engine/booster_packs.asm355
-rw-r--r--src/engine/effect_functions.asm52
-rw-r--r--[-rwxr-xr-x]src/engine/home.asm3773
-rw-r--r--src/gfx.asm253
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/colosseum1.png (renamed from src/gfx/boosterpacks/colosseum1.png)bin1175 -> 1175 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/colosseum2.t10.png (renamed from src/gfx/boosterpacks/colosseum2.t10.png)bin1033 -> 1033 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/evolution1.png (renamed from src/gfx/boosterpacks/evolution1.png)bin1191 -> 1191 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/evolution2.t10.png (renamed from src/gfx/boosterpacks/evolution2.t10.png)bin1068 -> 1068 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/laboratory1.png (renamed from src/gfx/boosterpacks/laboratory1.png)bin1206 -> 1206 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/laboratory2.t10.png (renamed from src/gfx/boosterpacks/laboratory2.t10.png)bin1068 -> 1068 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/mystery1.png (renamed from src/gfx/boosterpacks/mystery1.png)bin1259 -> 1259 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/mystery2.t10.png (renamed from src/gfx/boosterpacks/mystery2.t10.png)bin1136 -> 1136 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/booster_packs/oam.png (renamed from src/gfx/boosterpacks/boosterpack_oam.png)bin355 -> 355 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cardpop/cardpop1.t3.png (renamed from src/gfx/cardpop1.t3.png)bin1452 -> 1452 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cardpop/cardpop2.t3.png (renamed from src/gfx/cardpop2.t3.png)bin803 -> 803 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cardpop/cardpop3.t3.png (renamed from src/gfx/cardpop3.t3.png)bin784 -> 784 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/abra.8x6.pngbin745 -> 745 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/aerodactyl.8x6.pngbin759 -> 759 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/alakazam.8x6.pngbin755 -> 755 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/arbok.8x6.pngbin831 -> 831 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/arcanine1.8x6.pngbin760 -> 760 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/arcanine2.8x6.pngbin772 -> 772 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/articuno1.8x6.pngbin793 -> 793 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/articuno2.8x6.pngbin795 -> 795 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/beedrill.8x6.pngbin825 -> 825 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/bellsprout.8x6.pngbin775 -> 775 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/bill.8x6.pngbin519 -> 519 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/blastoise.8x6.pngbin737 -> 737 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/bulbasaur.8x6.pngbin830 -> 830 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/butterfree.8x6.pngbin808 -> 808 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/caterpie.8x6.pngbin801 -> 801 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/chansey.8x6.pngbin764 -> 764 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/charizard.8x6.pngbin801 -> 801 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/charmander.8x6.pngbin744 -> 744 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/charmeleon.8x6.pngbin745 -> 745 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/clefable.8x6.pngbin702 -> 702 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/clefairy.8x6.pngbin683 -> 683 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/clefairydoll.8x6.pngbin631 -> 631 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/cloyster.8x6.pngbin752 -> 752 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/computersearch.8x6.pngbin731 -> 731 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/cubone.8x6.pngbin675 -> 675 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/defender.8x6.pngbin478 -> 478 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/devolutionspray.8x6.pngbin481 -> 481 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dewgong.8x6.pngbin775 -> 775 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/diglett.8x6.pngbin662 -> 662 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/ditto.8x6.pngbin593 -> 593 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dodrio.8x6.pngbin662 -> 662 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/doduo.8x6.pngbin618 -> 618 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/doublecolorlessenergy.8x6.pngbin538 -> 538 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dragonair.8x6.pngbin755 -> 755 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dragonite1.8x6.pngbin659 -> 659 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dragonite2.8x6.pngbin775 -> 775 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dratini.8x6.pngbin730 -> 730 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/drowzee.8x6.pngbin732 -> 732 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/dugtrio.8x6.pngbin657 -> 657 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/eevee.8x6.pngbin784 -> 784 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/ekans.8x6.pngbin770 -> 770 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/electabuzz1.8x6.pngbin704 -> 704 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/electabuzz2.8x6.pngbin616 -> 616 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/electrode1.8x6.pngbin732 -> 732 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/electrode2.8x6.pngbin688 -> 688 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/energyremoval.8x6.pngbin651 -> 651 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/energyretrieval.8x6.pngbin479 -> 479 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/energysearch.8x6.pngbin596 -> 596 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/exeggcute.8x6.pngbin756 -> 756 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/exeggutor.8x6.pngbin783 -> 783 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/farfetchd.8x6.pngbin718 -> 718 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/fearow.8x6.pngbin725 -> 725 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/fightingenergy.8x6.pngbin514 -> 514 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/fireenergy.8x6.pngbin558 -> 558 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/flareon1.8x6.pngbin844 -> 844 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/flareon2.8x6.pngbin808 -> 808 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/flyingpikachu.8x6.pngbin633 -> 633 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/fullheal.8x6.pngbin561 -> 561 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gambler.8x6.pngbin449 -> 449 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gastly1.8x6.pngbin612 -> 612 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gastly2.8x6.pngbin744 -> 744 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gengar.8x6.pngbin664 -> 664 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/geodude.8x6.pngbin810 -> 810 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gloom.8x6.pngbin622 -> 622 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/golbat.8x6.pngbin795 -> 795 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/goldeen.8x6.pngbin766 -> 766 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/golduck.8x6.pngbin816 -> 816 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/golem.8x6.pngbin809 -> 809 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/grassenergy.8x6.pngbin597 -> 597 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/graveler.8x6.pngbin836 -> 836 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/grimer.8x6.pngbin698 -> 698 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/growlithe.8x6.pngbin673 -> 673 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gustofwind.8x6.pngbin775 -> 775 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/gyarados.8x6.pngbin734 -> 734 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/haunter1.8x6.pngbin594 -> 594 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/haunter2.8x6.pngbin470 -> 470 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/hitmonchan.8x6.pngbin772 -> 772 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/hitmonlee.8x6.pngbin704 -> 704 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/horsea.8x6.pngbin703 -> 703 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/hypno.8x6.pngbin715 -> 715 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/imakuni.8x6.pngbin708 -> 708 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/imposterprofessoroak.8x6.pngbin658 -> 658 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/itemfinder.8x6.pngbin468 -> 468 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/ivysaur.8x6.pngbin785 -> 785 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/jigglypuff1.8x6.pngbin751 -> 751 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/jigglypuff2.8x6.pngbin648 -> 648 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/jigglypuff3.8x6.pngbin710 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/jolteon1.8x6.pngbin725 -> 725 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/jolteon2.8x6.pngbin778 -> 778 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/jynx.8x6.pngbin638 -> 638 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/kabuto.8x6.pngbin736 -> 736 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/kabutops.8x6.pngbin691 -> 691 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/kadabra.8x6.pngbin608 -> 608 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/kakuna.8x6.pngbin760 -> 760 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/kangaskhan.8x6.pngbin757 -> 757 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/kingler.8x6.pngbin767 -> 767 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/koffing.8x6.pngbin802 -> 802 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/krabby.8x6.pngbin676 -> 676 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/lapras.8x6.pngbin639 -> 639 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/lass.8x6.pngbin621 -> 621 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/lickitung.8x6.pngbin813 -> 813 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/lightningenergy.8x6.pngbin537 -> 537 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/machamp.8x6.pngbin776 -> 776 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/machoke.8x6.pngbin709 -> 709 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/machop.8x6.pngbin728 -> 728 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magikarp.8x6.pngbin813 -> 813 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magmar1.8x6.pngbin712 -> 712 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magmar2.8x6.pngbin794 -> 794 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magnemite1.8x6.pngbin652 -> 652 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magnemite2.8x6.pngbin650 -> 650 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magneton1.8x6.pngbin736 -> 736 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/magneton2.8x6.pngbin663 -> 663 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/maintenance.8x6.pngbin467 -> 467 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mankey.8x6.pngbin797 -> 797 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/marowak1.8x6.pngbin731 -> 731 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/marowak2.8x6.pngbin763 -> 763 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/meowth1.8x6.pngbin794 -> 794 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/meowth2.8x6.pngbin773 -> 773 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/metapod.8x6.pngbin675 -> 675 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mew1.8x6.pngbin767 -> 767 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mew2.8x6.pngbin754 -> 754 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mew3.8x6.pngbin699 -> 699 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mewtwo1.8x6.pngbin659 -> 659 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mewtwo2.8x6.pngbin695 -> 695 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mewtwo3.8x6.pngbin788 -> 788 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/moltres1.8x6.pngbin790 -> 790 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/moltres2.8x6.pngbin796 -> 796 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mrfuji.8x6.pngbin746 -> 746 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mrmime.8x6.pngbin709 -> 709 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/muk.8x6.pngbin738 -> 738 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/mysteriousfossil.8x6.pngbin717 -> 717 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/nidoking.8x6.pngbin810 -> 810 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/nidoqueen.8x6.pngbin752 -> 752 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/nidoranf.8x6.pngbin769 -> 769 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/nidoranm.8x6.pngbin714 -> 714 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/nidorina.8x6.pngbin723 -> 723 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/nidorino.8x6.pngbin834 -> 834 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/ninetails1.8x6.pngbin760 -> 760 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/ninetails2.8x6.pngbin670 -> 670 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/oddish.8x6.pngbin708 -> 708 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/omanyte.8x6.pngbin792 -> 792 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/omastar.8x6.pngbin810 -> 810 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/onix.8x6.pngbin762 -> 762 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/paras.8x6.pngbin779 -> 779 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/parasect.8x6.pngbin813 -> 813 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/persian.8x6.pngbin690 -> 690 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pidgeot1.8x6.pngbin782 -> 782 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pidgeot2.8x6.pngbin749 -> 749 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pidgeotto.8x6.pngbin675 -> 675 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pidgey.8x6.pngbin611 -> 611 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pikachu1.8x6.pngbin728 -> 728 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pikachu2.8x6.pngbin754 -> 754 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pikachu3.8x6.pngbin675 -> 675 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pikachu4.8x6.pngbin753 -> 753 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pinsir.8x6.pngbin745 -> 745 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pluspower.8x6.pngbin531 -> 531 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pokeball.8x6.pngbin549 -> 549 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pokedex.8x6.pngbin750 -> 750 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pokemonbreeder.8x6.pngbin616 -> 616 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pokemoncenter.8x6.pngbin529 -> 529 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pokemonflute.8x6.pngbin582 -> 582 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/pokemontrader.8x6.pngbin697 -> 697 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/poliwag.8x6.pngbin764 -> 764 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/poliwhirl.8x6.pngbin761 -> 761 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/poliwrath.8x6.pngbin773 -> 773 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/ponyta.8x6.pngbin668 -> 668 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/porygon.8x6.pngbin619 -> 619 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/potion.8x6.pngbin508 -> 508 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/primeape.8x6.pngbin756 -> 756 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/professoroak.8x6.pngbin738 -> 738 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/psychicenergy.8x6.pngbin536 -> 536 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/psyduck.8x6.pngbin782 -> 782 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/raichu1.8x6.pngbin771 -> 771 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/raichu2.8x6.pngbin789 -> 789 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/rapidash.8x6.pngbin686 -> 686 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/raticate.8x6.pngbin702 -> 702 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/rattata.8x6.pngbin748 -> 748 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/recycle.8x6.pngbin554 -> 554 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/revive.8x6.pngbin603 -> 603 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/rhydon.8x6.pngbin781 -> 781 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/rhyhorn.8x6.pngbin725 -> 725 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/sandshrew.8x6.pngbin776 -> 776 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/sandslash.8x6.pngbin789 -> 789 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/scoopup.8x6.pngbin726 -> 726 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/scyther.8x6.pngbin720 -> 720 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/seadra.8x6.pngbin789 -> 789 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/seaking.8x6.pngbin782 -> 782 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/seel.8x6.pngbin759 -> 759 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/shellder.8x6.pngbin693 -> 693 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/slowbro.8x6.pngbin757 -> 757 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/slowpoke1.8x6.pngbin721 -> 721 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/slowpoke2.8x6.pngbin359 -> 359 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/snorlax.8x6.pngbin675 -> 675 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/spearow.8x6.pngbin781 -> 781 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/squirtle.8x6.pngbin775 -> 775 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/starmie.8x6.pngbin599 -> 599 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/staryu.8x6.pngbin627 -> 627 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/superenergyremoval.8x6.pngbin602 -> 602 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/superenergyretrieval.8x6.pngbin743 -> 743 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/superpotion.8x6.pngbin666 -> 666 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/surfingpikachu1.8x6.pngbin603 -> 603 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/surfingpikachu2.8x6.pngbin694 -> 694 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/switch.8x6.pngbin544 -> 544 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/tangela1.8x6.pngbin808 -> 808 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/tangela2.8x6.pngbin774 -> 774 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/tauros.8x6.pngbin774 -> 774 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/tentacool.8x6.pngbin763 -> 763 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/tentacruel.8x6.pngbin755 -> 755 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/vaporeon1.8x6.pngbin697 -> 697 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/vaporeon2.8x6.pngbin760 -> 760 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/venomoth.8x6.pngbin784 -> 784 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/venonat.8x6.pngbin680 -> 680 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/venusaur1.8x6.pngbin731 -> 731 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/venusaur2.8x6.pngbin801 -> 801 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/victreebel.8x6.pngbin736 -> 736 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/vileplume.8x6.pngbin662 -> 662 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/voltorb.8x6.pngbin583 -> 583 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/vulpix.8x6.pngbin620 -> 620 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/wartortle.8x6.pngbin759 -> 759 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/waterenergy.8x6.pngbin501 -> 501 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/weedle.8x6.pngbin808 -> 808 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/weepinbell.8x6.pngbin763 -> 763 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/weezing.8x6.pngbin736 -> 736 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/wigglytuff.8x6.pngbin639 -> 639 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/zapdos1.8x6.pngbin705 -> 705 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/zapdos2.8x6.pngbin662 -> 662 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/zapdos3.8x6.pngbin585 -> 585 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/cards/zubat.8x6.pngbin777 -> 777 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/companies.pngbin310 -> 310 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/0.pngbin186 -> 186 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/1.pngbin144 -> 144 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/10.pngbin1052 -> 1052 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/11.pngbin374 -> 374 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/12.pngbin206 -> 206 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/13.pngbin200 -> 200 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/14.pngbin378 -> 378 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/15.pngbin414 -> 414 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/16.pngbin184 -> 184 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/17.pngbin577 -> 577 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/18.pngbin332 -> 332 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/19.pngbin428 -> 428 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/2.pngbin187 -> 187 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/20.pngbin177 -> 177 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/21.pngbin222 -> 222 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/22.pngbin422 -> 422 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/23.pngbin201 -> 201 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/24.pngbin511 -> 511 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/25.pngbin542 -> 542 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/26.pngbin243 -> 243 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/27.pngbin764 -> 764 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/28.pngbin193 -> 193 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/29.pngbin212 -> 212 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/3.pngbin207 -> 207 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/30.pngbin368 -> 368 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/31.pngbin194 -> 194 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/32.pngbin479 -> 479 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/33.pngbin186 -> 186 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/34.pngbin183 -> 183 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/35.pngbin380 -> 380 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/36.pngbin164 -> 164 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/37.pngbin200 -> 200 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/38.pngbin272 -> 272 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/39.pngbin317 -> 317 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/4.pngbin277 -> 277 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/40.pngbin223 -> 223 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/41.pngbin293 -> 293 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/42.pngbin155 -> 155 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/43.pngbin191 -> 191 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/44.pngbin205 -> 205 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/45.pngbin123 -> 123 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/46.pngbin157 -> 157 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/47.pngbin277 -> 277 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/48.pngbin118 -> 118 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/49.pngbin111 -> 111 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/5.pngbin212 -> 212 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/50.pngbin364 -> 364 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/51.t10.pngbin552 -> 552 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/52.pngbin192 -> 192 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/53.pngbin149 -> 149 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/54.pngbin284 -> 284 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/55.png (renamed from src/gfx/unnamed/1.png)bin114 -> 114 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/56.png (renamed from src/gfx/unnamed/2.png)bin85 -> 85 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/57.png (renamed from src/gfx/unnamed/3.png)bin90 -> 90 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/58.png (renamed from src/gfx/duel/poison.png)bin94 -> 94 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/59.png (renamed from src/gfx/unnamed/4.png)bin120 -> 120 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/6.pngbin316 -> 316 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/60.png (renamed from src/gfx/unnamed/5.png)bin97 -> 97 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/61.png (renamed from src/gfx/unnamed/6.png)bin95 -> 95 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/62.png (renamed from src/gfx/unnamed/7.png)bin85 -> 85 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/63.png (renamed from src/gfx/unnamed/8.png)bin199 -> 199 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/64.png (renamed from src/gfx/unnamed/9.png)bin102 -> 102 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/65.png (renamed from src/gfx/unnamed/10.png)bin183 -> 183 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/66.png (renamed from src/gfx/unnamed/11.png)bin135 -> 135 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/7.pngbin609 -> 609 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/8.pngbin293 -> 293 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/9.pngbin462 -> 462 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/box_messages.png (renamed from src/gfx/duel/duel2.png)bin1081 -> 1081 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duel/duel_graphics.t5.png (renamed from src/gfx/duel/duel1.t5.png)bin3283 -> 3283 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/aaron.pngbin399 -> 399 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/adam.pngbin432 -> 432 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/amanda.pngbin442 -> 442 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/amy.pngbin555 -> 555 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/andrew.pngbin447 -> 447 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/brandon.pngbin451 -> 451 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/brittany.pngbin404 -> 404 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/chris.pngbin466 -> 466 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/courtney.pngbin540 -> 540 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/daniel.pngbin473 -> 473 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/david.pngbin491 -> 491 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/erik.pngbin435 -> 435 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/gene.pngbin562 -> 562 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/heather.pngbin400 -> 400 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/imakuni.pngbin454 -> 454 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/isaac.pngbin521 -> 521 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/jack.pngbin465 -> 465 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/jennifer.pngbin462 -> 462 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/jessica.pngbin524 -> 524 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/john.pngbin391 -> 391 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/jonathan.pngbin440 -> 440 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/joseph.pngbin397 -> 397 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/joshua.pngbin383 -> 383 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/ken.pngbin511 -> 511 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/kristin.pngbin437 -> 437 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/matthew.pngbin480 -> 480 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/michael.pngbin414 -> 414 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/mitch.pngbin510 -> 510 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/murray.pngbin488 -> 488 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/nicholas.pngbin438 -> 438 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/nikki.pngbin551 -> 551 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/player.pngbin444 -> 444 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/rick.pngbin512 -> 512 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/robert.pngbin408 -> 408 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/rod.pngbin586 -> 586 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/ronald.pngbin528 -> 528 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/ryan.pngbin403 -> 403 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/sam.pngbin412 -> 412 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/sara.pngbin428 -> 428 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/stephanie.pngbin412 -> 412 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/duelists/steve.pngbin536 -> 536 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/fonts.t3.pngbin7972 -> 7972 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/medals.pngbin699 -> 699 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_map.t15.pngbin2176 -> 2176 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_map_oam.png (renamed from src/gfx/ow_map_oam.png)bin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/0.png (renamed from src/gfx/ow/sprite0.png)bin282 -> 282 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/1.png (renamed from src/gfx/ow/sprite1.png)bin254 -> 254 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/10.png (renamed from src/gfx/ow/sprite10.png)bin303 -> 303 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/11.png (renamed from src/gfx/ow/sprite11.png)bin275 -> 275 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/12.png (renamed from src/gfx/ow/sprite12.png)bin294 -> 294 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/13.png (renamed from src/gfx/ow/sprite13.png)bin274 -> 274 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/14.png (renamed from src/gfx/ow/sprite14.png)bin271 -> 271 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/15.png (renamed from src/gfx/ow/sprite15.png)bin284 -> 284 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/16.png (renamed from src/gfx/ow/sprite16.png)bin267 -> 267 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/17.png (renamed from src/gfx/ow/sprite17.png)bin274 -> 274 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/18.png (renamed from src/gfx/ow/sprite18.png)bin271 -> 271 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/19.png (renamed from src/gfx/ow/sprite19.png)bin277 -> 277 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/2.png (renamed from src/gfx/ow/sprite2.png)bin276 -> 276 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/20.png (renamed from src/gfx/ow/sprite20.png)bin274 -> 274 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/21.png (renamed from src/gfx/ow/sprite21.png)bin272 -> 272 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/22.png (renamed from src/gfx/ow/sprite22.png)bin271 -> 271 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/23.png (renamed from src/gfx/ow/sprite23.png)bin281 -> 281 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/24.png (renamed from src/gfx/ow/sprite24.png)bin309 -> 309 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/25.png (renamed from src/gfx/ow/sprite25.png)bin270 -> 270 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/26.png (renamed from src/gfx/ow/sprite26.png)bin300 -> 300 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/27.png (renamed from src/gfx/ow/sprite27.png)bin280 -> 280 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/28.png (renamed from src/gfx/ow/sprite28.png)bin277 -> 277 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/29.png (renamed from src/gfx/ow/sprite29.png)bin292 -> 292 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/3.png (renamed from src/gfx/ow/sprite3.png)bin264 -> 264 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/30.png (renamed from src/gfx/ow/sprite30.png)bin263 -> 263 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/31.png (renamed from src/gfx/ow/sprite31.png)bin295 -> 295 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/32.png (renamed from src/gfx/ow/sprite32.png)bin332 -> 332 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/4.png (renamed from src/gfx/ow/sprite4.png)bin290 -> 290 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/5.png (renamed from src/gfx/ow/sprite5.png)bin375 -> 375 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/6.png (renamed from src/gfx/ow/sprite6.png)bin280 -> 280 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/7.png (renamed from src/gfx/ow/sprite7.png)bin273 -> 273 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/8.png (renamed from src/gfx/ow/sprite8.png)bin288 -> 288 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/9.png (renamed from src/gfx/ow/sprite9.png)bin270 -> 270 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/doctormason.png (renamed from src/gfx/ow/doctormason.png)bin288 -> 288 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/help_desk_lady.png (renamed from src/gfx/ow/help_desk_lady.png)bin184 -> 184 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/player.png (renamed from src/gfx/ow/player.png)bin323 -> 323 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/overworld_sprites/ronald.png (renamed from src/gfx/ow/ronald.png)bin272 -> 272 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/challengehall.t3.pngbin1736 -> 1736 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/clubentrance.t15.pngbin1573 -> 1573 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/clublobby.t8.pngbin1401 -> 1401 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/fightingclub.t13.pngbin1080 -> 1080 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/fireclub.t9.pngbin1066 -> 1066 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/grassclub.t9.pngbin1155 -> 1155 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/hallofhonor.t7.pngbin1369 -> 1369 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/ishihara.t3.pngbin926 -> 926 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/lightningclub.t13.pngbin1305 -> 1305 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/masonlaboratory.t9.pngbin1664 -> 1664 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/pokemondome.t1.pngbin2298 -> 2298 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/pokemondomeentrance.t2.pngbin941 -> 941 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/psychicclub.t6.pngbin690 -> 690 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/rockclub.t4.pngbin828 -> 828 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/scienceclub.t14.pngbin1051 -> 1051 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/tilesets/waterclub.t15.pngbin1825 -> 1825 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/booster_packs/aerodactylintro1.png (renamed from src/gfx/boosterpacks/aerodactylintro1.png)bin1260 -> 1260 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/booster_packs/aerodactylintro2.png (renamed from src/gfx/boosterpacks/aerodactylintro2.png)bin1259 -> 1259 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/booster_packs/charizardintro1.png (renamed from src/gfx/boosterpacks/charizardintro1.png)bin1465 -> 1465 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/booster_packs/charizardintro2.png (renamed from src/gfx/boosterpacks/charizardintro2.png)bin1482 -> 1482 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/booster_packs/scytherintro1.png (renamed from src/gfx/boosterpacks/scytherintro1.png)bin1377 -> 1377 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/booster_packs/scytherintro2.png (renamed from src/gfx/boosterpacks/scytherintro2.png)bin1375 -> 1375 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/colorless.png (renamed from src/gfx/titlescreen/colorless.png)bin123 -> 123 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/fighting.png (renamed from src/gfx/titlescreen/fighting.png)bin128 -> 128 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/fire.png (renamed from src/gfx/titlescreen/fire.png)bin135 -> 135 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/grass.png (renamed from src/gfx/titlescreen/grass.png)bin137 -> 137 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/lightning.png (renamed from src/gfx/titlescreen/lightning.png)bin131 -> 131 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/psychic.png (renamed from src/gfx/titlescreen/psychic.png)bin130 -> 130 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/energies/water.png (renamed from src/gfx/titlescreen/water.png)bin126 -> 126 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/press_start.pngbin212 -> 212 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/titlescreen1.t15.pngbin909 -> 909 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/titlescreen2.t15.pngbin950 -> 950 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/titlescreen3.t12.pngbin2572 -> 2572 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/titlescreen4.t5.pngbin3602 -> 3602 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/titlescreen5.t4.pngbin2007 -> 2007 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/titlescreen/titlescreen6.t12.pngbin2005 -> 2005 bytes
-rw-r--r--[-rwxr-xr-x]src/gfx/vwf.pngbin387 -> 387 bytes
-rw-r--r--src/hram.asm61
-rw-r--r--[-rwxr-xr-x]src/macros.asm0
-rw-r--r--src/macros/audio.asm8
-rw-r--r--src/macros/code.asm13
-rw-r--r--src/macros/data.asm2
-rw-r--r--src/macros/wram.asm88
-rw-r--r--[-rwxr-xr-x]src/main.asm0
-rw-r--r--[-rwxr-xr-x]src/sram.asm25
-rw-r--r--[-rwxr-xr-x]src/text.asm0
-rw-r--r--[-rwxr-xr-x]src/text/text1.asm154
-rw-r--r--src/text/text10.asm46
-rw-r--r--src/text/text11.asm20
-rw-r--r--src/text/text12.asm12
-rw-r--r--src/text/text13.asm4
-rw-r--r--src/text/text2.asm128
-rw-r--r--src/text/text3.asm92
-rw-r--r--src/text/text4.asm56
-rw-r--r--src/text/text5.asm40
-rw-r--r--src/text/text6.asm130
-rw-r--r--src/text/text7.asm72
-rw-r--r--src/text/text8.asm58
-rw-r--r--src/text/text9.asm70
-rw-r--r--[-rwxr-xr-x]src/text/text_offsets.asm5983
-rw-r--r--src/vram.asm25
-rw-r--r--[-rwxr-xr-x]src/wram.asm794
-rw-r--r--tcg.link10
503 files changed, 9355 insertions, 6488 deletions
diff --git a/.gitignore b/.gitignore
index f7006b3..f7006b3 100755..100644
--- a/.gitignore
+++ b/.gitignore
diff --git a/Makefile b/Makefile
index 09db89b..09db89b 100755..100644
--- a/Makefile
+++ b/Makefile
diff --git a/README.md b/README.md
index e1ddb74..e1ddb74 100755..100644
--- a/README.md
+++ b/README.md
diff --git a/src/audio.asm b/src/audio.asm
index 03bd5b1..03bd5b1 100755..100644
--- a/src/audio.asm
+++ b/src/audio.asm
diff --git a/src/audio/music1.asm b/src/audio/music1.asm
index 2db31c7..86d76f4 100755..100644
--- a/src/audio/music1.asm
+++ b/src/audio/music1.asm
@@ -25,10 +25,10 @@ Func_f4015:: ; f4015 (3d:4015)
Func_f4018:: ; f4018 (3d:4018)
jp Func_f406f
-Func_f401b:: ; f401b (3d:401b)
+_PauseSong:: ; f401b (3d:401b)
jp Music1_PauseSong
-Func_f401e:: ; f401e (3d:401e)
+_ResumeSong:: ; f401e (3d:401e)
jp Music1_ResumeSong
Music1_PlaySong: ; f4021 (3d:4021)
@@ -131,7 +131,7 @@ Music1_Init: ; f407d (3d:407d)
ld [wMusicDC], a
ld de, $0001
ld bc, $0000
-.zeroLoop1
+.zero_loop1
ld hl, wMusicIsPlaying
add hl, bc
ld [hl], d
@@ -150,16 +150,16 @@ Music1_Init: ; f407d (3d:407d)
inc c
ld a, c
cp $4
- jr nz, .zeroLoop1
+ jr nz, .zero_loop1
ld hl, Music1_ChannelLoopStacks
ld bc, wMusicChannelStackPointers
ld d, $8
-.zeroLoop2
+.zero_loop2
ld a, [hli]
ld [bc], a
inc bc
dec d
- jr nz, .zeroLoop2
+ jr nz, .zero_loop2
ret
Music1_Update: ; f40e9 (3d:40e9)
@@ -172,15 +172,15 @@ Music1_Update: ; f40e9 (3d:40e9)
ld [MBC3RomBank], a
ld a, [wddf2]
cp $0
- jr z, .updateChannels
+ jr z, .update_channels
call Func_f4980
- jr .skipChannelUpdates
-.updateChannels
+ jr .skip_channel_Updates
+.update_channels
call Music1_UpdateChannel1
call Music1_UpdateChannel2
call Music1_UpdateChannel3
call Music1_UpdateChannel4
-.skipChannelUpdates
+.skip_channel_Updates
call Func_f4866
call Music1_CheckForEndOfSong
ret
@@ -188,24 +188,24 @@ Music1_Update: ; f40e9 (3d:40e9)
Music1_CheckForNewSound: ; f411c (3d:411c)
ld a, [wCurSongID]
rla
- jr c, .checkForNewSfx
+ jr c, .check_for_new_sfx
call Music1_StopAllChannels
ld a, [wCurSongID]
call Music1_BeginSong
ld a, [wCurSongID]
or $80
ld [wCurSongID], a
-.checkForNewSfx
+.check_for_new_sfx
ld a, [wCurSfxID]
rla
- jr c, .noNewSound
+ jr c, .no_new_sound
ld a, [wCurSfxID]
ld hl, SFX_PlaySFX
call Bankswitch3dTo3f
ld a, [wCurSfxID]
or $80
ld [wCurSfxID], a
-.noNewSound
+.no_new_sound
ret
Music1_StopAllChannels: ; f414b (3d:414b)
@@ -214,30 +214,30 @@ Music1_StopAllChannels: ; f414b (3d:414b)
xor a
ld [wMusicIsPlaying], a
bit 0, d
- jr nz, .stopChannel2
+ jr nz, .stop_channel_2
ld a, $8
ld [rNR12], a
swap a
ld [rNR14], a
-.stopChannel2
+.stop_channel_2
xor a
ld [wMusicIsPlaying + 1], a
bit 1, d
- jr nz, .stopChannel4
+ jr nz, .stop_channel_4
ld a, $8
ld [rNR22], a
swap a
ld [rNR24], a
-.stopChannel4
+.stop_channel_4
xor a
ld [wMusicIsPlaying + 3], a
bit 3, d
- jr nz, .stopChannel3
+ jr nz, .stop_channel_3
ld a, $8
ld [rNR42], a
swap a
ld [rNR44], a
-.stopChannel3
+.stop_channel_3
xor a
ld [wMusicIsPlaying + 2], a
bit 2, d
@@ -273,7 +273,7 @@ Music1_BeginSong: ; f418c (3d:418c)
ld b, h
ld c, l
rr e
- jr nc, .noChannel1
+ jr nc, .no_channel_1
ld a, [bc]
inc bc
ld [wMusicChannelPointers], a
@@ -297,9 +297,9 @@ Music1_BeginSong: ; f418c (3d:418c)
ld [wMusicChannelStackPointers + 1], a
ld a, $8
ld [wMusicE9], a
-.noChannel1
+.no_channel_1
rr e
- jr nc, .noChannel2
+ jr nc, .no_channel_2
ld a, [bc]
inc bc
ld [wMusicChannelPointers + 2], a
@@ -323,9 +323,9 @@ Music1_BeginSong: ; f418c (3d:418c)
ld [wMusicChannelStackPointers + 3], a
ld a, $8
ld [wMusicE9 + 1], a
-.noChannel2
+.no_channel_2
rr e
- jr nc, .noChannel3
+ jr nc, .no_channel_3
ld a, [bc]
inc bc
ld [wMusicChannelPointers + 4], a
@@ -349,9 +349,9 @@ Music1_BeginSong: ; f418c (3d:418c)
ld [wMusicChannelStackPointers + 5], a
ld a, $40
ld [wMusicE9 + 2], a
-.noChannel3
+.no_channel_3
rr e
- jr nc, .noChannel4
+ jr nc, .no_channel_4
ld a, [bc]
inc bc
ld [wMusicChannelPointers + 6], a
@@ -374,7 +374,7 @@ Music1_BeginSong: ; f418c (3d:418c)
ld [wMusicChannelStackPointers + 7], a
ld a, $40
ld [wMusicE9 + 3], a
-.noChannel4
+.no_channel_4
xor a
ld [wddf2], a
ret
@@ -690,7 +690,7 @@ Music1_note: ; f448c (3d:448c)
add e
jr .asm_f44c1
.asm_f44c7
- ld hl, $ddbb
+ ld hl, wddbb
add hl, bc
ld [hl], a
pop de
@@ -935,9 +935,9 @@ Music1_Loop: ; f4609 (3d:4609)
inc de
push af
call Music1_GetChannelStackPointer
- ld [hl], e ;
+ ld [hl], e ;
inc hl ; store address of command at beginning of loop
- ld [hl], d ;
+ ld [hl], d ;
inc hl
pop af
ld [hl], a ; store loop count
@@ -951,16 +951,16 @@ Music1_EndLoop: ; f461e (3d:461e)
dec hl
ld a, [hl] ; get remaining loop count
dec a
- jr z, .loopDone
+ jr z, .loop_done
ld [hld], a
ld d, [hl]
dec hl
ld e, [hl]
pop hl
- ld h, d ;
+ ld h, d ;
ld l, e ; go to address of beginning of loop
jp Music1_PlayNextNote
-.loopDone
+.loop_done
dec hl
dec hl
call Music1_SetChannelStackPointer
@@ -977,9 +977,9 @@ Music1_call: ; f463f (3d:463f)
call Music1_GetChannelStackPointer
pop de
ld a, e
- ld [hli], a ;
+ ld [hli], a ;
ld a, d ; store address of command after call
- ld [hli], a ;
+ ld [hli], a ;
ld a, [de]
ld b, a
inc de
@@ -995,7 +995,7 @@ Music1_ret: ; f4656 (3d:4656)
pop de
call Music1_GetChannelStackPointer
dec hl
- ld a, [hld] ;
+ ld a, [hld] ;
ld e, [hl] ; retrieve address of caller of this sub branch
ld d, a
inc de
@@ -1237,12 +1237,12 @@ Func_f479c: ; f479c (3d:479c)
ld d, $0
ld a, [wMusicWaveChange]
or a
- jr z, .noWaveChange
+ jr z, .no_wave_change
xor a
ld [rNR30], a
call Music1_LoadWaveInstrument
ld d, $80
-.noWaveChange
+.no_wave_change
ld a, [wddb9]
cp $0
jr z, .asm_f47e1
@@ -1287,14 +1287,14 @@ Music1_LoadWaveInstrument: ; f479c (3d:47ea)
ld l, a
ld b, d
ld de, $ff30
-.copyWaveLoop
+.copy_wave_loop
ld a, [hli]
ld [de], a
inc de
inc b
ld a, b
cp $10
- jr nz, .copyWaveLoop
+ jr nz, .copy_wave_loop
xor a
ld [wMusicWaveChange], a
ret
@@ -1487,7 +1487,7 @@ Music1_UpdateVibrato: ; f4898 (3d:4898)
Func_f490b: ; f490b (3d:490b)
cp $0
- jr nz, .notChannel1
+ jr nz, .not_channel_1
ld a, [wMusicVibratoDelay]
cp $0
jr z, .done
@@ -1503,9 +1503,9 @@ Func_f490b: ; f490b (3d:490b)
and $3f
ld [rNR14], a
ret
-.notChannel1
+.not_channel_1
cp $1
- jr nz, .notChannel2
+ jr nz, .not_channel_2
ld a, [wMusicVibratoDelay + 1]
cp $0
jr z, .done
@@ -1520,7 +1520,7 @@ Func_f490b: ; f490b (3d:490b)
ld a, d
ld [rNR24], a
ret
-.notChannel2
+.not_channel_2
cp $2
jr nz, .done
ld a, [wMusicVibratoDelay + 2]
diff --git a/src/audio/music1_headers.asm b/src/audio/music1_headers.asm
index f5008fe..f5008fe 100755..100644
--- a/src/audio/music1_headers.asm
+++ b/src/audio/music1_headers.asm
diff --git a/src/audio/music2.asm b/src/audio/music2.asm
index ddae2bb..41d58f8 100755..100644
--- a/src/audio/music2.asm
+++ b/src/audio/music2.asm
@@ -131,7 +131,7 @@ Music2_Init: ; f807d (3e:407d)
ld [wMusicDC], a
ld de, $0001
ld bc, $0000
-.zeroLoop1
+.zero_loop1
ld hl, wMusicIsPlaying
add hl, bc
ld [hl], d
@@ -150,16 +150,16 @@ Music2_Init: ; f807d (3e:407d)
inc c
ld a, c
cp $4
- jr nz, .zeroLoop1
+ jr nz, .zero_loop1
ld hl, Music2_ChannelLoopStacks
ld bc, wMusicChannelStackPointers
ld d, $8
-.zeroLoop2
+.zero_loop2
ld a, [hli]
ld [bc], a
inc bc
dec d
- jr nz, .zeroLoop2
+ jr nz, .zero_loop2
ret
Music2_Update: ; f80e9 (3e:40e9)
@@ -172,15 +172,15 @@ Music2_Update: ; f80e9 (3e:40e9)
ld [MBC3RomBank], a
ld a, [wddf2]
cp $0
- jr z, .updateChannels
+ jr z, .update_channels
call Func_f8980
- jr .skipChannelUpdates
-.updateChannels
+ jr .skip_channel_Updates
+.update_channels
call Music2_UpdateChannel1
call Music2_UpdateChannel2
call Music2_UpdateChannel3
call Music2_UpdateChannel4
-.skipChannelUpdates
+.skip_channel_Updates
call Func_f8866
call Music2_CheckForEndOfSong
ret
@@ -188,24 +188,24 @@ Music2_Update: ; f80e9 (3e:40e9)
Music2_CheckForNewSound: ; f811c (3e:411c)
ld a, [wCurSongID]
rla
- jr c, .checkForNewSfx
+ jr c, .check_for_new_sfx
call Music2_StopAllChannels
ld a, [wCurSongID]
call Music2_BeginSong
ld a, [wCurSongID]
or $80
ld [wCurSongID], a
-.checkForNewSfx
+.check_for_new_sfx
ld a, [wCurSfxID]
rla
- jr c, .noNewSound
+ jr c, .no_new_sound
ld a, [wCurSfxID]
ld hl, SFX_PlaySFX
call Bankswitch3dTo3f
ld a, [wCurSfxID]
or $80
ld [wCurSfxID], a
-.noNewSound
+.no_new_sound
ret
Music2_StopAllChannels: ; f814b (3e:414b)
@@ -214,30 +214,30 @@ Music2_StopAllChannels: ; f814b (3e:414b)
xor a
ld [wMusicIsPlaying], a
bit 0, d
- jr nz, .stopChannel2
+ jr nz, .stop_channel_2
ld a, $8
ld [rNR12], a
swap a
ld [rNR14], a
-.stopChannel2
+.stop_channel_2
xor a
ld [wMusicIsPlaying + 1], a
bit 1, d
- jr nz, .stopChannel4
+ jr nz, .stop_channel_4
ld a, $8
ld [rNR22], a
swap a
ld [rNR24], a
-.stopChannel4
+.stop_channel_4
xor a
ld [wMusicIsPlaying + 3], a
bit 3, d
- jr nz, .stopChannel3
+ jr nz, .stop_channel_3
ld a, $8
ld [rNR42], a
swap a
ld [rNR44], a
-.stopChannel3
+.stop_channel_3
xor a
ld [wMusicIsPlaying + 2], a
bit 2, d
@@ -273,7 +273,7 @@ Music2_BeginSong: ; f818c (3e:418c)
ld b, h
ld c, l
rr e
- jr nc, .noChannel1
+ jr nc, .no_channel_1
ld a, [bc]
inc bc
ld [wMusicChannelPointers], a
@@ -297,9 +297,9 @@ Music2_BeginSong: ; f818c (3e:418c)
ld [wMusicChannelStackPointers + 1], a
ld a, $8
ld [wMusicE9], a
-.noChannel1
+.no_channel_1
rr e
- jr nc, .noChannel2
+ jr nc, .no_channel_2
ld a, [bc]
inc bc
ld [wMusicChannelPointers + 2], a
@@ -323,9 +323,9 @@ Music2_BeginSong: ; f818c (3e:418c)
ld [wMusicChannelStackPointers + 3], a
ld a, $8
ld [wMusicE9 + 1], a
-.noChannel2
+.no_channel_2
rr e
- jr nc, .noChannel3
+ jr nc, .no_channel_3
ld a, [bc]
inc bc
ld [wMusicChannelPointers + 4], a
@@ -349,9 +349,9 @@ Music2_BeginSong: ; f818c (3e:418c)
ld [wMusicChannelStackPointers + 5], a
ld a, $40
ld [wMusicE9 + 2], a
-.noChannel3
+.no_channel_3
rr e
- jr nc, .noChannel4
+ jr nc, .no_channel_4
ld a, [bc]
inc bc
ld [wMusicChannelPointers + 6], a
@@ -374,7 +374,7 @@ Music2_BeginSong: ; f818c (3e:418c)
ld [wMusicChannelStackPointers + 7], a
ld a, $40
ld [wMusicE9 + 3], a
-.noChannel4
+.no_channel_4
xor a
ld [wddf2], a
ret
@@ -690,7 +690,7 @@ Music2_note: ; f448c (3d:448c)
add e
jr .asm_f84c1
.asm_f84c7
- ld hl, $ddbb
+ ld hl, wddbb
add hl, bc
ld [hl], a
pop de
@@ -935,7 +935,7 @@ Music2_Loop: ; f8609 (3e:4609)
inc de
push af
call Music2_GetChannelStackPointer
- ld [hl], e ;
+ ld [hl], e ;
inc hl ; store address of command at beginning of loop
ld [hl], d ;
inc hl
@@ -951,16 +951,16 @@ Music2_EndLoop: ; f861e (3e:461e)
dec hl
ld a, [hl] ; get remaining loop count
dec a
- jr z, .loopDone
+ jr z, .loop_done
ld [hld], a
ld d, [hl]
dec hl
ld e, [hl]
pop hl
- ld h, d ;
+ ld h, d ;
ld l, e ; go to address of beginning of loop
jp Music2_PlayNextNote
-.loopDone
+.loop_done
dec hl
dec hl
call Music2_SetChannelStackPointer
@@ -977,9 +977,9 @@ Music2_call: ; f863f (3e:463f)
call Music2_GetChannelStackPointer
pop de
ld a, e
- ld [hli], a ;
+ ld [hli], a ;
ld a, d ; store address of command after call
- ld [hli], a ;
+ ld [hli], a ;
ld a, [de]
ld b, a
inc de
@@ -995,7 +995,7 @@ Music2_ret: ; f8656 (3e:4656)
pop de
call Music2_GetChannelStackPointer
dec hl
- ld a, [hld] ;
+ ld a, [hld] ;
ld e, [hl] ; retrieve address of caller of this sub branch
ld d, a
inc de
@@ -1237,12 +1237,12 @@ Func_f879c: ; f879c (3e:479c)
ld d, $0
ld a, [wMusicWaveChange]
or a
- jr z, .noWaveChange
+ jr z, .no_wave_change
xor a
ld [rNR30], a
call Music2_LoadWaveInstrument
ld d, $80
-.noWaveChange
+.no_wave_change
ld a, [wddb9]
cp $0
jr z, .asm_f87e1
@@ -1287,14 +1287,14 @@ Music2_LoadWaveInstrument: ; f879c (3e:47ea)
ld l, a
ld b, d
ld de, $ff30
-.copyWaveLoop
+.copy_wave_loop
ld a, [hli]
ld [de], a
inc de
inc b
ld a, b
cp $10
- jr nz, .copyWaveLoop
+ jr nz, .copy_wave_loop
xor a
ld [wMusicWaveChange], a
ret
@@ -1487,7 +1487,7 @@ Func_f8898: ; f8898 (3e:4898)
Func_f890b: ; f890b (3e:490b)
cp $0
- jr nz, .notChannel1
+ jr nz, .not_channel_1
ld a, [wMusicVibratoDelay]
cp $0
jr z, .done
@@ -1503,9 +1503,9 @@ Func_f890b: ; f890b (3e:490b)
and $3f
ld [rNR14], a
ret
-.notChannel1
+.not_channel_1
cp $1
- jr nz, .notChannel2
+ jr nz, .not_channel_2
ld a, [wMusicVibratoDelay + 1]
cp $0
jr z, .done
@@ -1520,7 +1520,7 @@ Func_f890b: ; f890b (3e:490b)
ld a, d
ld [rNR24], a
ret
-.notChannel2
+.not_channel_2
cp $2
jr nz, .done
ld a, [wMusicVibratoDelay + 2]
diff --git a/src/audio/music2_headers.asm b/src/audio/music2_headers.asm
index cafaa4f..cafaa4f 100755..100644
--- a/src/audio/music2_headers.asm
+++ b/src/audio/music2_headers.asm
diff --git a/src/audio/noise_instruments.asm b/src/audio/noise_instruments.asm
index 96433ab..96433ab 100755..100644
--- a/src/audio/noise_instruments.asm
+++ b/src/audio/noise_instruments.asm
diff --git a/src/audio/sfx.asm b/src/audio/sfx.asm
index 6b3e2bc..6b3e2bc 100755..100644
--- a/src/audio/sfx.asm
+++ b/src/audio/sfx.asm
diff --git a/src/audio/sfx_headers.asm b/src/audio/sfx_headers.asm
index 6485425..6485425 100755..100644
--- a/src/audio/sfx_headers.asm
+++ b/src/audio/sfx_headers.asm
diff --git a/src/audio/vibrato_types.asm b/src/audio/vibrato_types.asm
index d51546e..6d6b7e1 100755..100644
--- a/src/audio/vibrato_types.asm
+++ b/src/audio/vibrato_types.asm
@@ -1,44 +1,44 @@
- dw .vibratoType0
- dw .vibratoType1
- dw .vibratoType2
- dw .vibratoType3
- dw .vibratoType4
- dw .vibratoType5
- dw .vibratoType6
- dw .vibratoType7
- dw .vibratoType8
- dw .vibratoType9
- dw .vibratoTypeA
-
-.vibratoType0
+ dw .vibrato_type_0
+ dw .vibrato_type_1
+ dw .vibrato_type_2
+ dw .vibrato_type_3
+ dw .vibrato_type_4
+ dw .vibrato_type_5
+ dw .vibrato_type_6
+ dw .vibrato_type_7
+ dw .vibrato_type_8
+ dw .vibrato_type_9
+ dw .vibrato_type_A
+
+.vibrato_type_0
db $00,$80,$80
-.vibratoType1
+.vibrato_type_1
db $01,$02,$01,$00,$ff,$fe,$ff,$00,$80,$80
-.vibratoType2
+.vibrato_type_2
db $03,$fd,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$01
-.vibratoType3
+.vibrato_type_3
db $01,$01,$00,$00,$ff,$ff,$00,$00,$80,$80
-.vibratoType4
+.vibrato_type_4
db $01,$01,$01,$00,$00,$00,$ff,$ff,$ff,$00,$00,$00,$80,$80
-.vibratoType5
+.vibrato_type_5
db $02,$04,$06,$04,$02,$00,$fe,$fc,$fa,$fc,$fe,$00,$80,$80
-.vibratoType6
+.vibrato_type_6
db $04,$04,$08,$08,$04,$04,$00,$00,$fc,$fc,$f8,$f8,$fc,$fc,$00,$00,$80,$80
-.vibratoType7
+.vibrato_type_7
db $f8,$f8,$f9,$f9,$fa,$fa,$fb,$fb,$fc,$fc,$fd,$fd,$fe,$fe,$ff,$ff,$00,$00,$80,$05
-.vibratoType8
+.vibrato_type_8
db $02,$04,$02,$00,$fe,$fc,$fe,$00,$80,$80
-.vibratoType9
+.vibrato_type_9
db $01,$02,$04,$02,$01,$00,$ff,$fe,$fc,$fe,$ff,$00,$80,$08
-.vibratoTypeA
+.vibrato_type_A
db $01,$01,$01,$01,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$80,$80
diff --git a/src/audio/wave_instruments.asm b/src/audio/wave_instruments.asm
index 98197dc..98197dc 100755..100644
--- a/src/audio/wave_instruments.asm
+++ b/src/audio/wave_instruments.asm
diff --git a/src/constants.asm b/src/constants.asm
index 392c8ca..90c6a06 100755..100644
--- a/src/constants.asm
+++ b/src/constants.asm
@@ -1,13 +1,14 @@
-INCLUDE "constants/map_constants.asm"
-INCLUDE "constants/music_constants.asm"
-INCLUDE "constants/text_constants.asm"
-INCLUDE "constants/duel_constants.asm"
-INCLUDE "constants/npc_constants.asm"
+INCLUDE "constants/booster_constants.asm"
INCLUDE "constants/card_constants.asm"
-INCLUDE "constants/deck_constants.asm"
INCLUDE "constants/card_data_constants.asm"
-INCLUDE "constants/misc_constants.asm"
+INCLUDE "constants/deck_constants.asm"
+INCLUDE "constants/duel_constants.asm"
+INCLUDE "constants/gfx_constants.asm"
INCLUDE "constants/hardware_constants.asm"
-INCLUDE "constants/sgb_constants.asm"
+INCLUDE "constants/map_constants.asm"
+INCLUDE "constants/misc_constants.asm"
+INCLUDE "constants/music_constants.asm"
+INCLUDE "constants/npc_constants.asm"
INCLUDE "constants/overworld_script_constants.asm"
-INCLUDE "constants/booster_constants.asm"
+INCLUDE "constants/sgb_constants.asm"
+INCLUDE "constants/text_constants.asm"
diff --git a/src/constants/booster_constants.asm b/src/constants/booster_constants.asm
index f5efb9b..f5efb9b 100755..100644
--- a/src/constants/booster_constants.asm
+++ b/src/constants/booster_constants.asm
diff --git a/src/constants/card_constants.asm b/src/constants/card_constants.asm
index 30560c2..30560c2 100755..100644
--- a/src/constants/card_constants.asm
+++ b/src/constants/card_constants.asm
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm
index a98a0c7..6b6d299 100644
--- a/src/constants/card_data_constants.asm
+++ b/src/constants/card_data_constants.asm
@@ -1,11 +1,79 @@
NONE EQU $0
-PKMN_CARD_DATA_LENGTH EQU $41
+; sCardCollection constants
+CARD_COLLECTION_SIZE EQU $100 ; cards
+MAX_AMOUNT_OF_CARD EQU 99
+CARD_NOT_OWNED_F EQU 7
+CARD_NOT_OWNED EQU 1 << CARD_NOT_OWNED_F
+CARD_COUNT_MASK EQU $7f
+
+; sDeck* and generic deck constants
+NUM_DECKS EQU 4
+DECK_NAME_SIZE EQU 24
+DECK_SIZE EQU 60
+
+; card data offsets (data/cards.asm and card_data_struct)
+
+; all card types
+CARD_DATA_TYPE EQU $00
+CARD_DATA_GFX EQU $01
+CARD_DATA_NAME EQU $03
+CARD_DATA_RARITY EQU $05
+CARD_DATA_SET EQU $06
+CARD_DATA_ID EQU $07
+CARD_DATA_EFFECT_COMMANDS EQU $08 ; !TYPE_PKMN
+CARD_DATA_HP EQU $08 ; TYPE_PKMN
+CARD_DATA_STAGE EQU $09 ; TYPE_PKMN
+CARD_DATA_NONPKMN_DESCRIPTION EQU $0a ; !TYPE_PKMN
+CARD_DATA_PREEVO_NAME EQU $0a ; TYPE_PKMN
+
TRN_CARD_DATA_LENGTH EQU $0e
ENERGY_CARD_DATA_LENGTH EQU $0e
-;;; generic type constants
-; double up as Pokemon card types
+; TYPE_PKMN card only
+CARD_DATA_MOVE1 EQU $0c
+CARD_DATA_MOVE1_ENERGY EQU $0c
+CARD_DATA_MOVE1_NAME EQU $10
+CARD_DATA_MOVE1_DESCRIPTION EQU $12
+CARD_DATA_MOVE1_DAMAGE EQU $16
+CARD_DATA_MOVE1_CATEGORY EQU $17
+CARD_DATA_MOVE1_EFFECT_COMMANDS EQU $18
+CARD_DATA_MOVE1_FLAG1 EQU $1a
+CARD_DATA_MOVE1_FLAG2 EQU $1b
+CARD_DATA_MOVE1_FLAG3 EQU $1c
+CARD_DATA_MOVE1_UNKNOWN1 EQU $1d
+CARD_DATA_MOVE1_ANIMATION EQU $1e
+
+; TYPE_PKMN card only
+CARD_DATA_MOVE2 EQU $1f
+CARD_DATA_MOVE2_ENERGY EQU $1f
+CARD_DATA_MOVE2_NAME EQU $23
+CARD_DATA_MOVE2_DESCRIPTION EQU $25
+CARD_DATA_MOVE2_DAMAGE EQU $29
+CARD_DATA_MOVE2_CATEGORY EQU $2a
+CARD_DATA_MOVE2_EFFECT_COMMANDS EQU $2b
+CARD_DATA_MOVE2_FLAG1 EQU $2d
+CARD_DATA_MOVE2_FLAG2 EQU $2e
+CARD_DATA_MOVE2_FLAG3 EQU $2f
+CARD_DATA_MOVE2_UNKNOWN1 EQU $30
+CARD_DATA_MOVE2_ANIMATION EQU $31
+
+; TYPE_PKMN card only
+CARD_DATA_RETREAT_COST EQU $32
+CARD_DATA_WEAKNESS EQU $33
+CARD_DATA_RESISTANCE EQU $34
+CARD_DATA_KIND EQU $35
+CARD_DATA_POKEDEX_NUMBER EQU $37
+CARD_DATA_UNKNOWN1 EQU $38
+CARD_DATA_LEVEL EQU $39
+CARD_DATA_LENGTH EQU $3a
+CARD_DATA_WEIGHT EQU $3c
+CARD_DATA_PKMN_DESCRIPTION EQU $3e
+CARD_DATA_UNKNOWN2 EQU $40
+
+PKMN_CARD_DATA_LENGTH EQU $41
+
+; generic type (color) constants
const_def
const FIRE ; $0
const GRASS ; $1
@@ -13,41 +81,44 @@ ENERGY_CARD_DATA_LENGTH EQU $0e
const WATER ; $3
const FIGHTING ; $4
const PSYCHIC ; $5
+NUM_COLORED_TYPES EQU const_value
const COLORLESS ; $6
const UNUSED_TYPE ; $7
NUM_TYPES EQU const_value
-;;; card types
-TYPE_PKMN_FIRE EQUS "FIRE"
-TYPE_PKMN_GRASS EQUS "GRASS"
-TYPE_PKMN_LIGHTNING EQUS "LIGHTNING"
-TYPE_PKMN_WATER EQUS "WATER"
-TYPE_PKMN_FIGHTING EQUS "FIGHTING"
-TYPE_PKMN_PSYCHIC EQUS "PSYCHIC"
-TYPE_PKMN_COLORLESS EQUS "COLORLESS"
-TYPE_PKMN_UNUSED EQUS "UNUSED_TYPE"
+; CARD_DATA_TYPE constants
+TYPE_PKMN_FIRE EQU FIRE
+TYPE_PKMN_GRASS EQU GRASS
+TYPE_PKMN_LIGHTNING EQU LIGHTNING
+TYPE_PKMN_WATER EQU WATER
+TYPE_PKMN_FIGHTING EQU FIGHTING
+TYPE_PKMN_PSYCHIC EQU PSYCHIC
+TYPE_PKMN_COLORLESS EQU COLORLESS
+TYPE_PKMN_UNUSED EQU UNUSED_TYPE
const_def TYPE_PKMN_UNUSED + 1 - TYPE_PKMN_FIRE
- const TYPE_ENERGY_FIRE ; $8
- const TYPE_ENERGY_GRASS ; $9
- const TYPE_ENERGY_LIGHTNING ; $A
- const TYPE_ENERGY_WATER ; $B
- const TYPE_ENERGY_FIGHTING ; $C
- const TYPE_ENERGY_PSYCHIC ; $D
- const TYPE_ENERGY_DOUBLE_COLORLESS ; $E
- const TYPE_ENERGY_UNUSED ; $F
- const TYPE_TRAINER ; $10
- const TYPE_TRAINER_UNUSED ; $11
+ const TYPE_ENERGY_FIRE ; $08
+ const TYPE_ENERGY_GRASS ; $09
+ const TYPE_ENERGY_LIGHTNING ; $0a
+ const TYPE_ENERGY_WATER ; $0b
+ const TYPE_ENERGY_FIGHTING ; $0c
+ const TYPE_ENERGY_PSYCHIC ; $0d
+ const TYPE_ENERGY_DOUBLE_COLORLESS ; $0e
+ const TYPE_ENERGY_UNUSED ; $0f
+ const TYPE_TRAINER ; $10
+ const TYPE_TRAINER_UNUSED ; $11
NUM_CARD_TYPES EQU const_value + -1
-TYPE_ENERGY_F EQU 3
+TYPE_PKMN EQU %111
+TYPE_ENERGY_F EQU 3
+TYPE_TRAINER_F EQU 4
-;;; rarity
+; CARD_DATA_RARITY constants
CIRCLE EQU $0
DIAMOND EQU $1
STAR EQU $2
-PROMOSTAR EQU $FF
+PROMOSTAR EQU $ff
-;;; set 1
+; CARD_DATA_SET constants (set 1)
COLOSSEUM EQU $00
EVOLUTION EQU $10
MYSTERY EQU $20
@@ -55,18 +126,18 @@ LABORATORY EQU $30
PROMOTIONAL EQU $40
ENERGY EQU $50
-;;; set 2
+; CARD_DATA_SET constants (set 2)
JUNGLE EQU $1
FOSSIL EQU $2
GB EQU $7
PRO EQU $8
-;;; evolution stage
+; CARD_DATA_STAGE constants
BASIC EQU $0
STAGE1 EQU $1
STAGE2 EQU $2
-;;; weakness/resistance
+; CARD_DATA_WEAKNESS and CARD_DATA_RESISTANCE constants
WR_FIRE EQU $80
WR_GRASS EQU $40
WR_LIGHTNING EQU $20
@@ -74,7 +145,7 @@ WR_WATER EQU $10
WR_FIGHTING EQU $08
WR_PSYCHIC EQU $04
-;;; move category (6th param of Pokemon cards move data)
+; CARD_DATA_MOVE*_CATEGORY constants
DAMAGE_NORMAL EQU $0
DAMAGE_PLUS EQU $1
DAMAGE_MINUS EQU $2
@@ -83,7 +154,7 @@ POKEMON_POWER EQU $4
RESIDUAL_F EQU 7
RESIDUAL EQU 1 << RESIDUAL_F
-;;; flags 1 (8th param of Pokemon cards move data)
+; CARD_DATA_MOVE*_FLAG1 constants
INFLICT_POISON EQU %00000001
INFLICT_SLEEP EQU %00000010
INFLICT_PARALYSIS EQU %00000100
@@ -93,7 +164,7 @@ DAMAGE_TO_OPPONENT_BENCH EQU %00100000
HIGH_RECOIL EQU %01000000
DRAW_CARD EQU %10000000
-;;; flags 2 (9th param of Pokemon cards move data)
+; CARD_DATA_MOVE*_FLAG2 constants
; bits 5, 6 and 7 cover a wide variety of effects
SWITCH_OPPONENT_POKEMON EQU %00000001
HEAL_USER EQU %00000010
@@ -104,13 +175,11 @@ FLAG_2_BIT_5 EQU %00100000
FLAG_2_BIT_6 EQU %01000000
FLAG_2_BIT_7 EQU %10000000
-;;; flags 3 (10th param of Pokemon cards move data)
+; CARD_DATA_MOVE*_FLAG3 constants
; bit 1 covers a wide variety of effects
; bits 2-7 are unused
BOOST_IF_TAKEN_DAMAGE EQU %00000001
FLAG_3_BIT_1 EQU %00000010
-;;; special retreat values
+; special CARD_DATA_RETREAT_COST values
UNABLE_RETREAT EQU $64
-
-CARD_COLLECTION_SIZE EQU $100
diff --git a/src/constants/deck_constants.asm b/src/constants/deck_constants.asm
index d6e5b1a..d6e5b1a 100755..100644
--- a/src/constants/deck_constants.asm
+++ b/src/constants/deck_constants.asm
diff --git a/src/constants/duel_constants.asm b/src/constants/duel_constants.asm
index ee964b3..d033722 100644
--- a/src/constants/duel_constants.asm
+++ b/src/constants/duel_constants.asm
@@ -1,40 +1,64 @@
-DECK_NAME_SIZE EQU 24
-DECK_SIZE EQU 60
-BENCH_SIZE EQU 5
+MAX_BENCH_POKEMON EQU 5
+MAX_PLAY_AREA_POKEMON EQU 6 ; arena + bench
-PLAYER_TURN EQUS "wPlayerDuelVariables >> $8"
-OPPONENT_TURN EQUS "wOpponentDuelVariables >> $8"
+; hWhoseTurn constants
+PLAYER_TURN EQUS "HIGH(wPlayerDuelVariables)"
+OPPONENT_TURN EQUS "HIGH(wOpponentDuelVariables)"
+; wDuelFinished constants
DUEL_WON EQU $1
DUEL_LOST EQU $2
DUEL_DRAW EQU $3
-DUELVARS_CARD_LOCATIONS EQUS "wPlayerCardLocations & $ff" ; 00
-DUELVARS_HAND EQUS "wPlayerHand & $ff" ; 42
-DUELVARS_DECK_CARDS EQUS "wPlayerDeckCards & $ff" ; 7e
-DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "wPlayerNumberOfCardsNotInDeck & $ff" ; ba
-DUELVARS_ARENA_CARD EQUS "wPlayerArenaCard & $ff" ; bb
-DUELVARS_BENCH EQUS "wPlayerBench & $ff" ; bc
-DUELVARS_ARENA_CARD_HP EQUS "wPlayerArenaCardHP & $ff" ; c8
-DUELVARS_BENCH1_CARD_HP EQUS "wPlayerBench1CardHP & $ff" ; c9
-DUELVARS_BENCH2_CARD_HP EQUS "wPlayerBench2CardHP & $ff" ; ca
-DUELVARS_BENCH3_CARD_HP EQUS "wPlayerBench3CardHP & $ff" ; cb
-DUELVARS_BENCH4_CARD_HP EQUS "wPlayerBench4CardHP & $ff" ; cc
-DUELVARS_BENCH5_CARD_HP EQUS "wPlayerBench5CardHP & $ff" ; cd
-DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "wPlayerArenaCardSubstatus1 & $ff" ; e7
-DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "wPlayerArenaCardSubstatus2 & $ff" ; e8
-DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "wPlayerArenaCardSubstatus3 & $ff" ; e9
-DUELVARS_ARENA_CARD_SUBSTATUS4 EQUS "wPlayerArenaCardSubstatus4 & $ff" ; ea
-DUELVARS_ARENA_CARD_SUBSTATUS5 EQUS "wPlayerArenaCardSubstatus5 & $ff" ; eb
-DUELVARS_PRIZES EQUS "wPlayerPrizes & $ff" ; ec
-DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "wPlayerNumberOfCardsInDiscardPile & $ff" ; ed
-DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "wPlayerNumberOfCardsInHand & $ff" ; ee
-DUELVARS_NUMBER_OF_POKEMON_IN_PLAY EQUS "wPlayerNumberOfPokemonInPlay & $ff" ; ef
-DUELVARS_ARENA_CARD_STATUS EQUS "wPlayerArenaCardStatus & $ff" ; f0
-DUELVARS_DUELIST_TYPE EQUS "wPlayerDuelistType & $ff" ; f1
-DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX EQUS "wPlayerArenaCardDisabledMoveIndex & $ff" ; f2
+; Box message id's
+ const_def
+ const BOXMSG_PLAYERS_TURN
+ const BOXMSG_OPPONENTS_TURN
+ const BOXMSG_BETWEEN_TURNS
+ const BOXMSG_DECISION
+ const BOXMSG_BENCH_POKEMON
+ const BOXMSG_ARENA_POKEMON
+ const BOXMSG_COIN_TOSS
-;;; card locations
+; wPlayerDuelVariables or wOpponentDuelVariables constants
+DUELVARS_CARD_LOCATIONS EQUS "LOW(wPlayerCardLocations)" ; 00
+DUELVARS_HAND EQUS "LOW(wPlayerHand)" ; 42
+DUELVARS_DECK_CARDS EQUS "LOW(wPlayerDeckCards)" ; 7e
+DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba
+DUELVARS_ARENA_CARD EQUS "LOW(wPlayerArenaCard)" ; bb
+DUELVARS_BENCH EQUS "LOW(wPlayerBench)" ; bc
+DUELVARS_ARENA_CARD_HP EQUS "LOW(wPlayerArenaCardHP)" ; c8
+DUELVARS_BENCH1_CARD_HP EQUS "LOW(wPlayerBench1CardHP)" ; c9
+DUELVARS_BENCH2_CARD_HP EQUS "LOW(wPlayerBench2CardHP)" ; ca
+DUELVARS_BENCH3_CARD_HP EQUS "LOW(wPlayerBench3CardHP)" ; cb
+DUELVARS_BENCH4_CARD_HP EQUS "LOW(wPlayerBench4CardHP)" ; cc
+DUELVARS_BENCH5_CARD_HP EQUS "LOW(wPlayerBench5CardHP)" ; cd
+DUELVARS_ARENA_CARD_STAGE EQUS "LOW(wPlayerArenaCardStage)" ; ce
+DUELVARS_BENCH1_CARD_STAGE EQUS "LOW(wPlayerBench1CardStage)" ; cf
+DUELVARS_BENCH2_CARD_STAGE EQUS "LOW(wPlayerBench2CardStage)" ; d0
+DUELVARS_BENCH3_CARD_STAGE EQUS "LOW(wPlayerBench3CardStage)" ; d1
+DUELVARS_BENCH4_CARD_STAGE EQUS "LOW(wPlayerBench4CardStage)" ; d2
+DUELVARS_BENCH5_CARD_STAGE EQUS "LOW(wPlayerBench5CardStage)" ; d3
+DUELVARS_ARENA_CARD_CHANGED_TYPE EQUS "LOW(wPlayerArenaCardChangedType)" ; d4
+DUELVARS_BENCH1_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench1CardChangedType)" ; d5
+DUELVARS_BENCH2_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench2CardChangedType)" ; d6
+DUELVARS_BENCH3_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench3CardChangedType)" ; d7
+DUELVARS_BENCH4_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench4CardChangedType)" ; d8
+DUELVARS_BENCH5_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench5CardChangedType)" ; d9
+DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "LOW(wPlayerArenaCardSubstatus1)" ; e7
+DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardSubstatus2)" ; e8
+DUELVARS_ARENA_CARD_CHANGED_WEAKNESS EQUS "LOW(wPlayerArenaCardChangedWeakness)" ; e9
+DUELVARS_ARENA_CARD_CHANGED_RESISTANCE EQUS "LOW(wPlayerArenaCardChangedResistance)" ; ea
+DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "LOW(wPlayerArenaCardSubstatus3)" ; eb
+DUELVARS_PRIZES EQUS "LOW(wPlayerPrizes)" ; ec
+DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "LOW(wPlayerNumberOfCardsInDiscardPile)" ; ed
+DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "LOW(wPlayerNumberOfCardsInHand)" ; ee
+DUELVARS_NUMBER_OF_POKEMON_IN_PLAY EQUS "LOW(wPlayerNumberOfPokemonInPlay)" ; ef
+DUELVARS_ARENA_CARD_STATUS EQUS "LOW(wPlayerArenaCardStatus)" ; f0
+DUELVARS_DUELIST_TYPE EQUS "LOW(wPlayerDuelistType)" ; f1
+DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX EQUS "LOW(wPlayerArenaCardDisabledMoveIndex)" ; f2
+
+; card location constants (DUELVARS_CARD_LOCATIONS)
CARD_LOCATION_DECK EQU $00
CARD_LOCATION_HAND EQU $01
CARD_LOCATION_DISCARD_PILE EQU $02
@@ -45,17 +69,27 @@ CARD_LOCATION_BENCH_2 EQU $12
CARD_LOCATION_BENCH_3 EQU $13
CARD_LOCATION_BENCH_4 EQU $14
CARD_LOCATION_BENCH_5 EQU $15
-CARD_LOCATION_JUST_DRAWN EQU $40
-;;; duelist types
+; card location flags (DUELVARS_CARD_LOCATIONS)
+CARD_LOCATION_PLAY_AREA_F EQU 4 ; includes arena and bench
+CARD_LOCATION_PLAY_AREA EQU 1 << CARD_LOCATION_PLAY_AREA_F
+CARD_LOCATION_JUST_DRAWN_F EQU 6
+CARD_LOCATION_JUST_DRAWN EQU 1 << CARD_LOCATION_JUST_DRAWN_F
+
+; play area location offsets (CARD_LOCATION_* - CARD_LOCATION_PLAY_AREA)
+PLAY_AREA_ARENA EQU $0
+PLAY_AREA_BENCH_1 EQU $1
+PLAY_AREA_BENCH_2 EQU $2
+PLAY_AREA_BENCH_3 EQU $3
+PLAY_AREA_BENCH_4 EQU $4
+PLAY_AREA_BENCH_5 EQU $5
+
+; duelist types (DUELVARS_DUELIST_TYPE)
DUELIST_TYPE_PLAYER EQU $00
DUELIST_TYPE_LINK_OPP EQU $01
DUELIST_TYPE_AI_OPP EQU $80
-;;; constant values
-MAX_POKEMON_IN_PLAY EQU $06
-
-;;; status conditions
+; status conditions (DUELVARS_ARENA_CARD_STATUS)
; two statuses can be combined if they are identified by a different nybble
NO_STATUS EQU $00
CONFUSED EQU $01
@@ -64,9 +98,9 @@ PARALYZED EQU $03
POISONED EQU $80
DOUBLE_POISONED EQU $c0
-PASSIVE_STATUS_MASK EQU $f ; confused, asleep or paralyzed
+CNF_SLP_PRZ EQU $0f ; confused, asleep or paralyzed
-;;; substatus conditions
+; substatus conditions (DUELVARS_ARENA_CARD_SUBSTATUS*)
SUBSTATUS1_AGILITY EQU $0c
SUBSTATUS1_FLY EQU $0d
SUBSTATUS1_HARDEN EQU $0e
@@ -92,11 +126,16 @@ SUBSTATUS2_UNABLE_RETREAT EQU $09
SUBSTATUS2_BONE_ATTACK EQU $0b
SUBSTATUS2_GROWL EQU $12
-SUBSTATUS5_THIS_TURN_DOUBLE_DAMAGE EQU 0
+SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE EQU 0
+SUBSTATUS3_HEADACHE EQU 1
-;;; wNoDamageOrEffect constants
+; wNoDamageOrEffect constants
NO_DAMAGE_OR_EFFECT_AGILITY EQU $01
NO_DAMAGE_OR_EFFECT_BARRIER EQU $02
NO_DAMAGE_OR_EFFECT_FLY EQU $03
NO_DAMAGE_OR_EFFECT_TRANSPARENCY EQU $04
NO_DAMAGE_OR_EFFECT_NSHIELD EQU $05
+
+; wDamageEffectiveness constants
+WEAKNESS EQU 1
+RESISTANCE EQU 2
diff --git a/src/constants/gfx_constants.asm b/src/constants/gfx_constants.asm
new file mode 100644
index 0000000..2f5ca4a
--- /dev/null
+++ b/src/constants/gfx_constants.asm
@@ -0,0 +1,41 @@
+; screen size
+SCREEN_WIDTH EQU 20 ; tiles
+SCREEN_HEIGHT EQU 18 ; tiles
+
+; background map size
+BG_MAP_WIDTH EQU 32 ; tiles
+BG_MAP_HEIGHT EQU 32 ; tiles
+
+; cgb palette size
+CGB_PAL_SIZE EQU 8 ; bytes
+
+; tile size
+TILE_SIZE EQU 16 ; bytes
+
+; wFlushPaletteFlags constants
+FLUSH_ONE EQU %10000000
+FLUSH_ALL EQU %11000000
+FLUSH_ALL_F EQU 6
+
+; wSpriteAnimBuffer
+SPRITE_ANIM_BUFFER_CAPACITY EQU 16 ; sprites
+
+; sprite_anim_struct constants
+ const_def
+ const SPRITE_ANIM_FIELD_00
+ const SPRITE_ANIM_FIELD_01
+ const SPRITE_ANIM_COORD_X
+ const SPRITE_ANIM_COORD_Y
+ const SPRITE_ANIM_TILE_ID
+ const SPRITE_ANIM_FIELD_05
+ const SPRITE_ANIM_FIELD_06
+ const SPRITE_ANIM_FIELD_07
+ const SPRITE_ANIM_FIELD_08
+ const SPRITE_ANIM_FIELD_09
+ const SPRITE_ANIM_FIELD_0A
+ const SPRITE_ANIM_FIELD_0B
+ const SPRITE_ANIM_FIELD_0C
+ const SPRITE_ANIM_FIELD_0D
+ const SPRITE_ANIM_MOVEMENT_COUNTER
+ const SPRITE_ANIM_FIELD_0F
+SPRITE_ANIM_LENGTH EQU const_value \ No newline at end of file
diff --git a/src/constants/map_constants.asm b/src/constants/map_constants.asm
index 4b74a29..4b74a29 100755..100644
--- a/src/constants/map_constants.asm
+++ b/src/constants/map_constants.asm
diff --git a/src/constants/misc_constants.asm b/src/constants/misc_constants.asm
index 422fda4..a6511df 100644
--- a/src/constants/misc_constants.asm
+++ b/src/constants/misc_constants.asm
@@ -1,12 +1,4 @@
-; screen size
-SCREEN_WIDTH EQU 20 ; tiles
-SCREEN_HEIGHT EQU 18 ; tiles
-
-; background map size
-BG_MAP_WIDTH EQU 32 ; tiles
-BG_MAP_HEIGHT EQU 32 ; tiles
-
-; console types (for wConsole)
+; console types (wConsole)
CONSOLE_DMG EQU $00
CONSOLE_SGB EQU $01
CONSOLE_CGB EQU $02
@@ -32,3 +24,14 @@ D_DOWN EQU 1 << D_DOWN_F ; $80
BUTTONS EQU A_BUTTON | B_BUTTON | SELECT | START ; $0f
D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN ; $f0
+
+; Game event constants (wGameEvent)
+ const_def
+ const GAME_EVENT_OVERWORLD ; $0
+ const GAME_EVENT_DUEL ; $1
+ const GAME_EVENT_BATTLE_CENTER ; $2
+ const GAME_EVENT_GIFT_CENTER ; $3
+ const GAME_EVENT_CREDITS ; $4
+ const GAME_EVENT_CONTINUE_DUEL ; $5
+ const GAME_EVENT_CHALLENGE_MACHINE ; $6
+NUM_GAME_EVENTS EQU const_value
diff --git a/src/constants/music_constants.asm b/src/constants/music_constants.asm
index ebcd75f..996baf2 100755..100644
--- a/src/constants/music_constants.asm
+++ b/src/constants/music_constants.asm
@@ -1,32 +1,32 @@
const_def
- const MUSIC_STOP ; $00
- const MUSIC_TITLESCREEN ; $01
- const MUSIC_DUELTHEME1 ; $02
- const MUSIC_DUELTHEME2 ; $03
- const MUSIC_DUELTHEME3 ; $04
- const MUSIC_PAUSEMENU ; $05
- const MUSIC_PCMAINMENU ; $06
- const MUSIC_DECKMACHINE ; $07
- const MUSIC_CARDPOP ; $08
- const MUSIC_OVERWORLD ; $09
- const MUSIC_POKEMONDOME ; $0A
- const MUSIC_CHALLENGEHALL ; $0B
- const MUSIC_CLUB1 ; $0C
- const MUSIC_CLUB2 ; $0D
- const MUSIC_CLUB3 ; $0E
- const MUSIC_RONALD ; $0F
- const MUSIC_IMAKUNI ; $10
- const MUSIC_HALLOFHONOR ; $11
- const MUSIC_CREDITS ; $12
- const MUSIC_UNUSED_13 ; $13
- const MUSIC_UNUSED_14 ; $14
- const MUSIC_MATCHSTART1 ; $15
- const MUSIC_MATCHSTART2 ; $16
- const MUSIC_MATCHSTART3 ; $17
- const MUSIC_MATCHVICTORY ; $18
- const MUSIC_MATCHLOSS ; $19
- const MUSIC_DARKDIDDLY ; $1A
- const MUSIC_UNUSED_1B ; $1B
- const MUSIC_BOOSTERPACK ; $1C
- const MUSIC_MEDAL ; $1D
- const MUSIC_UNUSED_1E ; $1E
+ const MUSIC_STOP ; $00
+ const MUSIC_TITLESCREEN ; $01
+ const MUSIC_DUEL_THEME_1 ; $02
+ const MUSIC_DUEL_THEME_2 ; $03
+ const MUSIC_DUEL_THEME_3 ; $04
+ const MUSIC_PAUSE_MENU ; $05
+ const MUSIC_PC_MAIN_MENU ; $06
+ const MUSIC_DECK_MACHINE ; $07
+ const MUSIC_CARD_POP ; $08
+ const MUSIC_OVERWORLD ; $09
+ const MUSIC_POKEMON_DOME ; $0A
+ const MUSIC_CHALLENGE_HALL ; $0B
+ const MUSIC_CLUB_1 ; $0C
+ const MUSIC_CLUB_2 ; $0D
+ const MUSIC_CLUB_3 ; $0E
+ const MUSIC_RONALD ; $0F
+ const MUSIC_IMAKUNI ; $10
+ const MUSIC_HALL_OF_HONOR ; $11
+ const MUSIC_CREDITS ; $12
+ const MUSIC_UNUSED_13 ; $13
+ const MUSIC_UNUSED_14 ; $14
+ const MUSIC_MATCH_START_1 ; $15
+ const MUSIC_MATCH_START_2 ; $16
+ const MUSIC_MATCH_START_3 ; $17
+ const MUSIC_MATCH_VICTORY ; $18
+ const MUSIC_MATCH_LOSS ; $19
+ const MUSIC_DARK_DIDDLY ; $1A
+ const MUSIC_UNUSED_1B ; $1B
+ const MUSIC_BOOSTER_PACK ; $1C
+ const MUSIC_MEDAL ; $1D
+ const MUSIC_UNUSED_1E ; $1E
diff --git a/src/constants/npc_constants.asm b/src/constants/npc_constants.asm
index f4972dc..f4972dc 100755..100644
--- a/src/constants/npc_constants.asm
+++ b/src/constants/npc_constants.asm
diff --git a/src/constants/overworld_script_constants.asm b/src/constants/overworld_script_constants.asm
index 167537c..167537c 100755..100644
--- a/src/constants/overworld_script_constants.asm
+++ b/src/constants/overworld_script_constants.asm
diff --git a/src/constants/sgb_constants.asm b/src/constants/sgb_constants.asm
index e956881..6ba250e 100644
--- a/src/constants/sgb_constants.asm
+++ b/src/constants/sgb_constants.asm
@@ -23,3 +23,16 @@ ATTR_TRN EQU $15 ; Set Attribute from ATF
ATTR_SET EQU $16 ; Set Data to ATF
MASK_EN EQU $17 ; Game Boy Window Mask
OBJ_TRN EQU $18 ; Super NES OBJ Mode
+
+ATTR_BLK_CTRL_INSIDE EQU 1
+ATTR_BLK_CTRL_LINE EQU 2
+ATTR_BLK_CTRL_OUTSIDE EQU 4
+
+MLT_REQ_1_PLAYER EQU 0
+MLT_REQ_2_PLAYERS EQU 1
+MLT_REQ_4_PLAYERS EQU 3
+
+MASK_EN_CANCEL_MASK EQU 0
+MASK_EN_FREEZE_SCREEN EQU 1
+MASK_EN_BLANK_SCREEN_BLACK EQU 2
+MASK_EN_BLANK_SCREEN_COLOR_0 EQU 3
diff --git a/src/constants/text_constants.asm b/src/constants/text_constants.asm
index 674037e..062f5e4 100755..100644
--- a/src/constants/text_constants.asm
+++ b/src/constants/text_constants.asm
@@ -6,15 +6,15 @@ TX_RAM1 EQU $09
TX_RAM2 EQU $0B
TX_RAM3 EQU $0C
-text EQUS "db TX_START,"
-line EQUS "db TX_LINE,"
+text EQUS "db TX_START, "
+line EQUS "db TX_LINE, "
done EQUS "db TX_END"
-TX_FIRE EQUS "$05,$01"
-TX_GRASS EQUS "$05,$02"
-TX_LIGHTNING EQUS "$05,$03"
-TX_WATER EQUS "$05,$04"
-TX_FIGHTING EQUS "$05,$05"
-TX_PSYCHIC EQUS "$05,$06"
-TX_COLORLESS EQUS "$05,$07"
-TX_LVL EQUS "$05,$11"
+TX_FIRE EQUS "$05, $01"
+TX_GRASS EQUS "$05, $02"
+TX_LIGHTNING EQUS "$05, $03"
+TX_WATER EQUS "$05, $04"
+TX_FIGHTING EQUS "$05, $05"
+TX_PSYCHIC EQUS "$05, $06"
+TX_COLORLESS EQUS "$05, $07"
+TX_LVL EQUS "$05, $11"
diff --git a/src/data/booster_packs.asm b/src/data/booster_packs.asm
index 8f8d8c2..03b64ee 100644
--- a/src/data/booster_packs.asm
+++ b/src/data/booster_packs.asm
@@ -1,448 +1,456 @@
-BoosterSetRarityAmountTable: ; 1e4d4 (7::64d4)
+BoosterSetRarityAmountsTable: ; 1e4d4 (7::64d4)
; energies, commons, uncommons, rares
; commons + uncommons + rares needs to be equal to 10 minus the number of energy cards
; defined in the pack's data below; otherwise, the number of cards in the pack won't be 10.
- db $01, $05, $03, $01 ; COLOSSEUM >> 4
- db $01, $05, $03, $01 ; EVOLUTION >> 4
- db $00, $06, $03, $01 ; MYSTERY >> 4
- db $00, $06, $03, $01 ; LABORATORY >> 4
+ db 1, 5, 3, 1 ; COLOSSEUM
+ db 1, 5, 3, 1 ; EVOLUTION
+ db 0, 6, 3, 1 ; MYSTERY
+ db 0, 6, 3, 1 ; LABORATORY
+
+booster_set: MACRO
+ db \1 >> 4
+ENDM
; For the energy or energy generation function, there are three options:
; - Ponter to a function that generates energies (some generate one, some generate a full pack)
; - A single energy of a specific type
; - $0000 if no card in the pack is an energy
-PackColosseumNeutral:: ; 1e4e4 (7:64e4)
- db COLOSSEUM >> 4 ; booster pack set
- dw GenerateEndingEnergy ; energy or energy generation function
+; As for Card Type Chances, note that whenever one card of the 10 is drawn, the chances of
+; the type of that card are reduced by the original average of all 8 types (capping the result at 1).
+; This average always outputs 17 (except for the energy-only packs).
+
+BoosterPack_ColosseumNeutral:: ; 1e4e4 (7:64e4)
+ booster_set COLOSSEUM ; booster pack set
+ dw GenerateRandomEnergy ; energy or energy generation function
; Card Type Chances
- db $14 ; Grass Type Chance
- db $14 ; Fire Type Chance
- db $14 ; Water Type Chance
- db $14 ; Lightning Type Chance
- db $14 ; Fighting Type Chance
- db $14 ; Psychic Type Chance
- db $14 ; Colorless Type Chance
- db $14 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackColosseumGrass:: ; 1e4f0 (7:64f0)
- db COLOSSEUM >> 4 ; booster pack set
+ db 20 ; Grass Type Chance
+ db 20 ; Fire Type Chance
+ db 20 ; Water Type Chance
+ db 20 ; Lightning Type Chance
+ db 20 ; Fighting Type Chance
+ db 20 ; Psychic Type Chance
+ db 20 ; Colorless Type Chance
+ db 20 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_ColosseumGrass:: ; 1e4f0 (7:64f0)
+ booster_set COLOSSEUM ; booster pack set
dw GRASS_ENERGY ; energy or energy generation function
; Card Type Chances
- db $30 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackColosseumFire:: ; 1e4fc (7:64fc)
- db COLOSSEUM >> 4 ; booster pack set
+ db 48 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_ColosseumFire:: ; 1e4fc (7:64fc)
+ booster_set COLOSSEUM ; booster pack set
dw FIRE_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $30 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackColosseumWater:: ; 1e508 (7:6508)
- db COLOSSEUM >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 48 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_ColosseumWater:: ; 1e508 (7:6508)
+ booster_set COLOSSEUM ; booster pack set
dw WATER_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $30 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackColosseumLightning:: ; 1e514 (7:6514)
- db COLOSSEUM >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 48 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_ColosseumLightning:: ; 1e514 (7:6514)
+ booster_set COLOSSEUM ; booster pack set
dw LIGHTNING_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $30 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackColosseumFighting:: ; 1e520 (7:6520)
- db COLOSSEUM >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 48 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_ColosseumFighting:: ; 1e520 (7:6520)
+ booster_set COLOSSEUM ; booster pack set
dw FIGHTING_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $30 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackColosseumTrainer:: ; 1e52c (7:652c)
- db COLOSSEUM >> 4 ; booster pack set
- dw GenerateEndingEnergy ; energy or energy generation function
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 48 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_ColosseumTrainer:: ; 1e52c (7:652c)
+ booster_set COLOSSEUM ; booster pack set
+ dw GenerateRandomEnergy ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $30 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionNeutral:: ; 1e538 (7:6538)
- db EVOLUTION >> 4 ; booster pack set
- dw GenerateEndingEnergy ; energy or energy generation function
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 48 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionNeutral:: ; 1e538 (7:6538)
+ booster_set EVOLUTION ; booster pack set
+ dw GenerateRandomEnergy ; energy or energy generation function
; Card Type Chances
- db $14 ; Grass Type Chance
- db $14 ; Fire Type Chance
- db $14 ; Water Type Chance
- db $14 ; Lightning Type Chance
- db $14 ; Fighting Type Chance
- db $14 ; Psychic Type Chance
- db $14 ; Colorless Type Chance
- db $14 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionGrass:: ; 1e544 (7:6544)
- db EVOLUTION >> 4 ; booster pack set
+ db 20 ; Grass Type Chance
+ db 20 ; Fire Type Chance
+ db 20 ; Water Type Chance
+ db 20 ; Lightning Type Chance
+ db 20 ; Fighting Type Chance
+ db 20 ; Psychic Type Chance
+ db 20 ; Colorless Type Chance
+ db 20 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionGrass:: ; 1e544 (7:6544)
+ booster_set EVOLUTION ; booster pack set
dw GRASS_ENERGY ; energy or energy generation function
; Card Type Chances
- db $30 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionNeutralFireEnergy:: ; 1e550 (7:6550)
- db EVOLUTION >> 4 ; booster pack set
+ db 48 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionNeutralFireEnergy:: ; 1e550 (7:6550)
+ booster_set EVOLUTION ; booster pack set
dw FIRE_ENERGY ; energy or energy generation function
; Card Type Chances
- db $14 ; Grass Type Chance
- db $14 ; Fire Type Chance
- db $14 ; Water Type Chance
- db $14 ; Lightning Type Chance
- db $14 ; Fighting Type Chance
- db $14 ; Psychic Type Chance
- db $14 ; Colorless Type Chance
- db $14 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionWater:: ; 1e55c (7:655c)
- db EVOLUTION >> 4 ; booster pack set
+ db 20 ; Grass Type Chance
+ db 20 ; Fire Type Chance
+ db 20 ; Water Type Chance
+ db 20 ; Lightning Type Chance
+ db 20 ; Fighting Type Chance
+ db 20 ; Psychic Type Chance
+ db 20 ; Colorless Type Chance
+ db 20 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionWater:: ; 1e55c (7:655c)
+ booster_set EVOLUTION ; booster pack set
dw WATER_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $30 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionFighting:: ; 1e568 (7:6568)
- db EVOLUTION >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 48 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionFighting:: ; 1e568 (7:6568)
+ booster_set EVOLUTION ; booster pack set
dw FIGHTING_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $30 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionPsychic:: ; 1e574 (7:6574)
- db EVOLUTION >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 48 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionPsychic:: ; 1e574 (7:6574)
+ booster_set EVOLUTION ; booster pack set
dw PSYCHIC_ENERGY ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $30 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEvolutionTrainer:: ; 1e580 (7:6580)
- db EVOLUTION >> 4 ; booster pack set
- dw GenerateEndingEnergy ; energy or energy generation function
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 48 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EvolutionTrainer:: ; 1e580 (7:6580)
+ booster_set EVOLUTION ; booster pack set
+ dw GenerateRandomEnergy ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $30 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackMysteryNeutral:: ; 1e58c (7:658c)
- db MYSTERY >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 48 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_MysteryNeutral:: ; 1e58c (7:658c)
+ booster_set MYSTERY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $11 ; Grass Type Chance
- db $11 ; Fire Type Chance
- db $11 ; Water Type Chance
- db $11 ; Lightning Type Chance
- db $11 ; Fighting Type Chance
- db $11 ; Psychic Type Chance
- db $11 ; Colorless Type Chance
- db $11 ; Trainer Card Chance
- db $11 ; Energy Card Chance
-
-PackMysteryGrassColorless:: ; 1e598 (7:6598)
- db MYSTERY >> 4 ; booster pack set
+ db 17 ; Grass Type Chance
+ db 17 ; Fire Type Chance
+ db 17 ; Water Type Chance
+ db 17 ; Lightning Type Chance
+ db 17 ; Fighting Type Chance
+ db 17 ; Psychic Type Chance
+ db 17 ; Colorless Type Chance
+ db 17 ; Trainer Card Chance
+ db 17 ; Energy Card Chance
+
+BoosterPack_MysteryGrassColorless:: ; 1e598 (7:6598)
+ booster_set MYSTERY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $30 ; Grass Type Chance
- db $0C ; Fire Type Chance
- db $0C ; Water Type Chance
- db $0C ; Lightning Type Chance
- db $0C ; Fighting Type Chance
- db $0C ; Psychic Type Chance
- db $16 ; Colorless Type Chance
- db $0C ; Trainer Card Chance
- db $0C ; Energy Card Chance
-
-PackMysteryWaterColorless:: ; 1e5a4 (7:65a4)
- db MYSTERY >> 4 ; booster pack set
+ db 48 ; Grass Type Chance
+ db 12 ; Fire Type Chance
+ db 12 ; Water Type Chance
+ db 12 ; Lightning Type Chance
+ db 12 ; Fighting Type Chance
+ db 12 ; Psychic Type Chance
+ db 22 ; Colorless Type Chance
+ db 12 ; Trainer Card Chance
+ db 12 ; Energy Card Chance
+
+BoosterPack_MysteryWaterColorless:: ; 1e5a4 (7:65a4)
+ booster_set MYSTERY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $0C ; Grass Type Chance
- db $0C ; Fire Type Chance
- db $30 ; Water Type Chance
- db $0C ; Lightning Type Chance
- db $0C ; Fighting Type Chance
- db $0C ; Psychic Type Chance
- db $16 ; Colorless Type Chance
- db $0C ; Trainer Card Chance
- db $0C ; Energy Card Chance
-
-PackMysteryLightningColorless:: ; 1e5b0 (7:65b0)
- db MYSTERY >> 4 ; booster pack set
+ db 12 ; Grass Type Chance
+ db 12 ; Fire Type Chance
+ db 48 ; Water Type Chance
+ db 12 ; Lightning Type Chance
+ db 12 ; Fighting Type Chance
+ db 12 ; Psychic Type Chance
+ db 22 ; Colorless Type Chance
+ db 12 ; Trainer Card Chance
+ db 12 ; Energy Card Chance
+
+BoosterPack_MysteryLightningColorless:: ; 1e5b0 (7:65b0)
+ booster_set MYSTERY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $0C ; Grass Type Chance
- db $0C ; Fire Type Chance
- db $0C ; Water Type Chance
- db $30 ; Lightning Type Chance
- db $0C ; Fighting Type Chance
- db $0C ; Psychic Type Chance
- db $16 ; Colorless Type Chance
- db $0C ; Trainer Card Chance
- db $0C ; Energy Card Chance
-
-PackMysteryFightingColorless:: ; 1e5bc (7:65bc)
- db MYSTERY >> 4 ; booster pack set
+ db 12 ; Grass Type Chance
+ db 12 ; Fire Type Chance
+ db 12 ; Water Type Chance
+ db 48 ; Lightning Type Chance
+ db 12 ; Fighting Type Chance
+ db 12 ; Psychic Type Chance
+ db 22 ; Colorless Type Chance
+ db 12 ; Trainer Card Chance
+ db 12 ; Energy Card Chance
+
+BoosterPack_MysteryFightingColorless:: ; 1e5bc (7:65bc)
+ booster_set MYSTERY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $0C ; Grass Type Chance
- db $0C ; Fire Type Chance
- db $0C ; Water Type Chance
- db $0C ; Lightning Type Chance
- db $30 ; Fighting Type Chance
- db $0C ; Psychic Type Chance
- db $16 ; Colorless Type Chance
- db $0C ; Trainer Card Chance
- db $0C ; Energy Card Chance
-
-PackMysteryTrainerColorless:: ; 1e5c8 (7:65c8)
- db MYSTERY >> 4 ; booster pack set
+ db 12 ; Grass Type Chance
+ db 12 ; Fire Type Chance
+ db 12 ; Water Type Chance
+ db 12 ; Lightning Type Chance
+ db 48 ; Fighting Type Chance
+ db 12 ; Psychic Type Chance
+ db 22 ; Colorless Type Chance
+ db 12 ; Trainer Card Chance
+ db 12 ; Energy Card Chance
+
+BoosterPack_MysteryTrainerColorless:: ; 1e5c8 (7:65c8)
+ booster_set MYSTERY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $0C ; Grass Type Chance
- db $0C ; Fire Type Chance
- db $0C ; Water Type Chance
- db $0C ; Lightning Type Chance
- db $0C ; Fighting Type Chance
- db $0C ; Psychic Type Chance
- db $16 ; Colorless Type Chance
- db $30 ; Trainer Card Chance
- db $0C ; Energy Card Chance
-
-PackLaboratoryMostlyNeutral:: ; 1e5d4 (7:65d4)
- db LABORATORY >> 4 ; booster pack set
+ db 12 ; Grass Type Chance
+ db 12 ; Fire Type Chance
+ db 12 ; Water Type Chance
+ db 12 ; Lightning Type Chance
+ db 12 ; Fighting Type Chance
+ db 12 ; Psychic Type Chance
+ db 22 ; Colorless Type Chance
+ db 48 ; Trainer Card Chance
+ db 12 ; Energy Card Chance
+
+BoosterPack_LaboratoryMostlyNeutral:: ; 1e5d4 (7:65d4)
+ booster_set LABORATORY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $14 ; Grass Type Chance
- db $14 ; Fire Type Chance
- db $14 ; Water Type Chance
- db $14 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $14 ; Psychic Type Chance
- db $14 ; Colorless Type Chance
- db $18 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackLaboratoryGrass:: ; 1e5e0 (7:65e0)
- db LABORATORY >> 4 ; booster pack set
+ db 20 ; Grass Type Chance
+ db 20 ; Fire Type Chance
+ db 20 ; Water Type Chance
+ db 20 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 20 ; Psychic Type Chance
+ db 20 ; Colorless Type Chance
+ db 24 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_LaboratoryGrass:: ; 1e5e0 (7:65e0)
+ booster_set LABORATORY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $30 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackLaboratoryWater:: ; 1e5ec (7:65ec)
- db LABORATORY >> 4 ; booster pack set
+ db 48 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_LaboratoryWater:: ; 1e5ec (7:65ec)
+ booster_set LABORATORY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $30 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackLaboratoryPsychic:: ; 1e5f8 (7:65f8)
- db LABORATORY >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 48 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_LaboratoryPsychic:: ; 1e5f8 (7:65f8)
+ booster_set LABORATORY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $30 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $10 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackLaboratoryTrainer:: ; 1e604 (7:6604)
- db LABORATORY >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 48 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 16 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_LaboratoryTrainer:: ; 1e604 (7:6604)
+ booster_set LABORATORY ; booster pack set
dw $0000 ; energy or energy generation function
; Card Type Chances
- db $10 ; Grass Type Chance
- db $10 ; Fire Type Chance
- db $10 ; Water Type Chance
- db $10 ; Lightning Type Chance
- db $10 ; Fighting Type Chance
- db $10 ; Psychic Type Chance
- db $10 ; Colorless Type Chance
- db $30 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEnergyLightningFire:: ; 1e610 (7:6610)
- db COLOSSEUM >> 4 ; booster pack set
+ db 16 ; Grass Type Chance
+ db 16 ; Fire Type Chance
+ db 16 ; Water Type Chance
+ db 16 ; Lightning Type Chance
+ db 16 ; Fighting Type Chance
+ db 16 ; Psychic Type Chance
+ db 16 ; Colorless Type Chance
+ db 48 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EnergyLightningFire:: ; 1e610 (7:6610)
+ booster_set COLOSSEUM ; booster pack set
dw GenerateEnergyBoosterLightningFire ; energy or energy generation function
; Card Type Chances
- db $00 ; Grass Type Chance
- db $00 ; Fire Type Chance
- db $00 ; Water Type Chance
- db $00 ; Lightning Type Chance
- db $00 ; Fighting Type Chance
- db $00 ; Psychic Type Chance
- db $00 ; Colorless Type Chance
- db $00 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEnergyWaterFighting:: ; 1e61c (7:661c)
- db COLOSSEUM >> 4 ; booster pack set
+ db 0 ; Grass Type Chance
+ db 0 ; Fire Type Chance
+ db 0 ; Water Type Chance
+ db 0 ; Lightning Type Chance
+ db 0 ; Fighting Type Chance
+ db 0 ; Psychic Type Chance
+ db 0 ; Colorless Type Chance
+ db 0 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EnergyWaterFighting:: ; 1e61c (7:661c)
+ booster_set COLOSSEUM ; booster pack set
dw GenerateEnergyBoosterWaterFighting ; energy or energy generation function
; Card Type Chances
- db $00 ; Grass Type Chance
- db $00 ; Fire Type Chance
- db $00 ; Water Type Chance
- db $00 ; Lightning Type Chance
- db $00 ; Fighting Type Chance
- db $00 ; Psychic Type Chance
- db $00 ; Colorless Type Chance
- db $00 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackEnergyGrassPsychic:: ; 1e628 (7:6628)
- db COLOSSEUM >> 4 ; booster pack set
+ db 0 ; Grass Type Chance
+ db 0 ; Fire Type Chance
+ db 0 ; Water Type Chance
+ db 0 ; Lightning Type Chance
+ db 0 ; Fighting Type Chance
+ db 0 ; Psychic Type Chance
+ db 0 ; Colorless Type Chance
+ db 0 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_EnergyGrassPsychic:: ; 1e628 (7:6628)
+ booster_set COLOSSEUM ; booster pack set
dw GenerateEnergyBoosterGrassPsychic ; energy or energy generation function
; Card Type Chances
- db $00 ; Grass Type Chance
- db $00 ; Fire Type Chance
- db $00 ; Water Type Chance
- db $00 ; Lightning Type Chance
- db $00 ; Fighting Type Chance
- db $00 ; Psychic Type Chance
- db $00 ; Colorless Type Chance
- db $00 ; Trainer Card Chance
- db $00 ; Energy Card Chance
-
-PackRandomEnergies:: ; 1e634 (7:6634)
- db COLOSSEUM >> 4 ; booster pack set
+ db 0 ; Grass Type Chance
+ db 0 ; Fire Type Chance
+ db 0 ; Water Type Chance
+ db 0 ; Lightning Type Chance
+ db 0 ; Fighting Type Chance
+ db 0 ; Psychic Type Chance
+ db 0 ; Colorless Type Chance
+ db 0 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
+
+BoosterPack_RandomEnergies:: ; 1e634 (7:6634)
+ booster_set COLOSSEUM ; booster pack set
dw GenerateRandomEnergyBooster ; energy or energy generation function
; Card Type Chances
- db $00 ; Grass Type Chance
- db $00 ; Fire Type Chance
- db $00 ; Water Type Chance
- db $00 ; Lightning Type Chance
- db $00 ; Fighting Type Chance
- db $00 ; Psychic Type Chance
- db $00 ; Colorless Type Chance
- db $00 ; Trainer Card Chance
- db $00 ; Energy Card Chance
+ db 0 ; Grass Type Chance
+ db 0 ; Fire Type Chance
+ db 0 ; Water Type Chance
+ db 0 ; Lightning Type Chance
+ db 0 ; Fighting Type Chance
+ db 0 ; Psychic Type Chance
+ db 0 ; Colorless Type Chance
+ db 0 ; Trainer Card Chance
+ db 0 ; Energy Card Chance
diff --git a/src/data/cards.asm b/src/data/cards.asm
index b246f59..480607e 100755..100644
--- a/src/data/cards.asm
+++ b/src/data/cards.asm
@@ -221,7 +221,7 @@ CardPointers: ; 30c5c (c:4c5c)
dw PlusPowerCard
dw DefenderCard
dw ItemFinderCard
- dw GustofWindCard
+ dw GustOfWindCard
dw DevolutionSprayCard
dw PotionCard
dw SuperPotionCard
@@ -872,12 +872,12 @@ NidoranFCard: ; 31134 (c:5134)
; move 2
energy GRASS, 2 ; energies
- tx CallforFamilyName ; name
- tx NidoranFsCallforFamilyDescription ; description
+ tx CallForFamilyName ; name
+ tx NidoranFsCallForFamilyDescription ; description
dw NONE ; description (cont)
db 0 ; damage
db RESIDUAL ; category
- dw NidoranFCallforFamilyEffectCommands ; effect commands
+ dw NidoranFCallForFamilyEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db FLAG_3_BIT_1 ; flags 3
@@ -1637,12 +1637,12 @@ BellsproutCard: ; 31503 (c:5503)
; move 2
energy GRASS, 1 ; energies
- tx CallforFamilyName ; name
- tx BellsproutsCallforFamilyDescription ; description
+ tx CallForFamilyName ; name
+ tx BellsproutsCallForFamilyDescription ; description
dw NONE ; description (cont)
db 0 ; damage
db RESIDUAL ; category
- dw BellsproutCallforFamilyEffectCommands ; effect commands
+ dw BellsproutCallForFamilyEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db FLAG_3_BIT_1 ; flags 3
@@ -2657,12 +2657,12 @@ Arcanine1Card: ; 31a17 (c:5a17)
; move 2
energy FIRE, 2 ; energies
- tx FlamesofRageName ; name
- tx FlamesofRageDescription ; description
+ tx FlamesOfRageName ; name
+ tx FlamesOfRageDescription ; description
dw NONE ; description (cont)
db 40 ; damage
db DAMAGE_PLUS ; category
- dw ArcanineFlamesofRageEffectCommands ; effect commands
+ dw ArcanineFlamesOfRageEffectCommands ; effect commands
db NONE ; flags 1
db DISCARD_ENERGY ; flags 2
db BOOST_IF_TAKEN_DAMAGE ; flags 3
@@ -3779,12 +3779,12 @@ ShellderCard: ; 31fad (c:5fad)
; move 2
energy WATER, 1 ; energies
- tx HideinShellName ; name
- tx HideinShellDescription ; description
+ tx HideInShellName ; name
+ tx HideInShellDescription ; description
dw NONE ; description (cont)
db 0 ; damage
db RESIDUAL ; category
- dw ShellderHideinShellEffectCommands ; effect commands
+ dw ShellderHideInShellEffectCommands ; effect commands
db NONE ; flags 1
db NULLIFY_OR_WEAKEN_ATTACK ; flags 2
db NONE ; flags 3
@@ -3867,12 +3867,12 @@ KrabbyCard: ; 3202f (c:602f)
; move 1
energy WATER, 1 ; energies
- tx CallforFamilyName ; name
- tx KrabbysCallforFamilyDescription ; description
+ tx CallForFamilyName ; name
+ tx KrabbysCallForFamilyDescription ; description
dw NONE ; description (cont)
db 0 ; damage
db RESIDUAL ; category
- dw KrabbyCallforFamilyEffectCommands ; effect commands
+ dw KrabbyCallForFamilyEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db FLAG_3_BIT_1 ; flags 3
@@ -5856,12 +5856,12 @@ Zapdos3Card: ; 32a16 (c:6a16)
; move 1
energy 0 ; energies
- tx PealofThunderName ; name
- tx PealofThunderDescription ; description
+ tx PealOfThunderName ; name
+ tx PealOfThunderDescription ; description
dw NONE ; description (cont)
db 0 ; damage
db POKEMON_POWER ; category
- dw ZapdosPealofThunderEffectCommands ; effect commands
+ dw ZapdosPealOfThunderEffectCommands ; effect commands
db DAMAGE_TO_OPPONENT_BENCH ; flags 1
db NONE ; flags 2
db NONE ; flags 3
@@ -8828,12 +8828,12 @@ WigglytuffCard: ; 338d0 (c:78d0)
; move 2
energy COLORLESS, 3 ; energies
- tx DotheWaveName ; name
- tx DotheWaveDescription ; description
+ tx DoTheWaveName ; name
+ tx DoTheWaveDescription ; description
dw NONE ; description (cont)
db 10 ; damage
db DAMAGE_PLUS ; category
- dw WigglytuffDotheWaveEffectCommands ; effect commands
+ dw WigglytuffDoTheWaveEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db NONE ; flags 3
@@ -10111,15 +10111,15 @@ ItemFinderCard: ; 33f47 (c:7f47)
tx ItemFinderDescription ; description
dw NONE ; description (cont)
-GustofWindCard: ; 33f55 (c:7f55)
+GustOfWindCard: ; 33f55 (c:7f55)
db TYPE_TRAINER ; type
- gfx GustofWindCardGfx ; gfx
- tx GustofWindName ; name
+ gfx GustOfWindCardGfx ; gfx
+ tx GustOfWindName ; name
db CIRCLE ; rarity
db EVOLUTION | NONE ; sets
db GUST_OF_WIND
- dw GustofWindEffectCommands ; effect commands
- tx GustofWindDescription ; description
+ dw GustOfWindEffectCommands ; effect commands
+ tx GustOfWindDescription ; description
dw NONE ; description (cont)
DevolutionSprayCard: ; 33f63 (c:7f63)
diff --git a/src/data/decks.asm b/src/data/decks.asm
index 129b6d9..129b6d9 100755..100644
--- a/src/data/decks.asm
+++ b/src/data/decks.asm
diff --git a/src/data/effect_commands.asm b/src/data/effect_commands.asm
index 3dfdf9c..1df3d0d 100644
--- a/src/data/effect_commands.asm
+++ b/src/data/effect_commands.asm
@@ -182,7 +182,7 @@ NidoranFFurySweepesEffectCommands:
dbw $09, $49be
db $00
-NidoranFCallforFamilyEffectCommands:
+NidoranFCallForFamilyEffectCommands:
dbw $01, $49db
dbw $04, $4a6e
dbw $05, $49eb
@@ -264,7 +264,7 @@ MukSludgeEffectCommands:
dbw $09, $4c38
db $00
-BellsproutCallforFamilyEffectCommands:
+BellsproutCallForFamilyEffectCommands:
dbw $01, $4c40
dbw $04, $4cc2
dbw $05, $4c50
@@ -369,7 +369,7 @@ KinglerFlailEffectCommands:
dbw $09, $4f4e
db $00
-KrabbyCallforFamilyEffectCommands:
+KrabbyCallForFamilyEffectCommands:
dbw $01, $4f5d
dbw $04, $4fdf
dbw $05, $4f6d
@@ -413,7 +413,7 @@ ShellderSupersonicEffectCommands:
dbw $03, $509d
db $00
-ShellderHideinShellEffectCommands:
+ShellderHideInShellEffectCommands:
dbw $03, $50a4
db $00
@@ -555,7 +555,7 @@ ArcanineQuickAttackEffectCommands:
dbw $09, $5385
db $00
-ArcanineFlamesofRageEffectCommands:
+ArcanineFlamesOfRageEffectCommands:
dbw $01, $53a0
dbw $02, $53ae
dbw $03, $53ef
@@ -1114,7 +1114,7 @@ Magneton2SelfdestructEffectCommands:
dbw $04, $675f
db $00
-ZapdosPealofThunderEffectCommands:
+ZapdosPealOfThunderEffectCommands:
dbw $01, $677e
dbw $07, $6780
db $00
@@ -1289,7 +1289,7 @@ WigglytuffLullabyEffectCommands:
dbw $03, SleepEffect
db $00
-WigglytuffDotheWaveEffectCommands:
+WigglytuffDoTheWaveEffectCommands:
dbw $03, $6d87
dbw $09, $6d87
db $00
@@ -1599,7 +1599,7 @@ SuperEnergyRetrievalEffectCommands:
dbw $05, $7dba
db $00
-GustofWindEffectCommands:
+GustOfWindEffectCommands:
dbw $01, $7e6e
dbw $02, $7e79
dbw $03, $7e90
diff --git a/src/data/map_scripts.asm b/src/data/map_scripts.asm
index ae4e355..ae4e355 100755..100644
--- a/src/data/map_scripts.asm
+++ b/src/data/map_scripts.asm
diff --git a/src/data/map_songs.asm b/src/data/map_songs.asm
index afb54a8..4012452 100755..100644
--- a/src/data/map_songs.asm
+++ b/src/data/map_songs.asm
@@ -7,31 +7,31 @@ MapSongs: ; 1c374 (7:4374)
db $0A,$0B,$00,$03,$03,MUSIC_OVERWORLD ; ISHIHARAS_HOUSE
db $0C,$0D,$00,$03,$04,MUSIC_OVERWORLD ; FIGHTING_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; FIGHTING_CLUB_LOBBY
- db $20,$21,$00,$04,$0D,MUSIC_CLUB3 ; FIGHTING_CLUB
+ db $20,$21,$00,$04,$0D,MUSIC_CLUB_3 ; FIGHTING_CLUB
db $0E,$0F,$00,$03,$05,MUSIC_OVERWORLD ; ROCK_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; ROCK_CLUB_LOBBY
- db $22,$23,$00,$04,$0E,MUSIC_CLUB2 ; ROCK_CLUB
+ db $22,$23,$00,$04,$0E,MUSIC_CLUB_2 ; ROCK_CLUB
db $10,$11,$00,$03,$06,MUSIC_OVERWORLD ; WATER_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; WATER_CLUB_LOBBY
- db $24,$25,$00,$02,$0F,MUSIC_CLUB2 ; WATER_CLUB
+ db $24,$25,$00,$02,$0F,MUSIC_CLUB_2 ; WATER_CLUB
db $12,$13,$00,$03,$07,MUSIC_OVERWORLD ; LIGHTNING_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; LIGHTNING_CLUB_LOBBY
- db $26,$27,$00,$05,$10,MUSIC_CLUB1 ; LIGHTNING_CLUB
+ db $26,$27,$00,$05,$10,MUSIC_CLUB_1 ; LIGHTNING_CLUB
db $14,$15,$00,$03,$08,MUSIC_OVERWORLD ; GRASS_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; GRASS_CLUB_LOBBY
- db $28,$29,$00,$06,$11,MUSIC_CLUB1 ; GRASS_CLUB
+ db $28,$29,$00,$06,$11,MUSIC_CLUB_1 ; GRASS_CLUB
db $16,$17,$00,$03,$09,MUSIC_OVERWORLD ; PSYCHIC_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; PSYCHIC_CLUB_LOBBY
- db $2A,$2B,$00,$07,$12,MUSIC_CLUB2 ; PSYCHIC_CLUB
+ db $2A,$2B,$00,$07,$12,MUSIC_CLUB_2 ; PSYCHIC_CLUB
db $18,$19,$00,$03,$0A,MUSIC_OVERWORLD ; SCIENCE_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; SCIENCE_CLUB_LOBBY
- db $2C,$2D,$00,$06,$13,MUSIC_CLUB3 ; SCIENCE_CLUB
+ db $2C,$2D,$00,$06,$13,MUSIC_CLUB_3 ; SCIENCE_CLUB
db $1A,$1B,$00,$03,$0B,MUSIC_OVERWORLD ; FIRE_CLUB_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; FIRE_CLUB_LOBBY
- db $2E,$2F,$00,$08,$14,MUSIC_CLUB3 ; FIRE_CLUB
+ db $2E,$2F,$00,$08,$14,MUSIC_CLUB_3 ; FIRE_CLUB
db $1C,$1D,$00,$03,$04,MUSIC_OVERWORLD ; CHALLENGE_HALL_ENTRANCE
db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; CHALLENGE_HALL_LOBBY
db $30,$31,$00,$09,$15,MUSIC_OVERWORLD ; CHALLENGE_HALL
db $32,$33,$00,$0A,$16,MUSIC_OVERWORLD ; POKEMON_DOME_ENTRANCE
- db $36,$37,$00,$0A,$17,MUSIC_POKEMONDOME ; POKEMON_DOME
- db $3A,$3B,$00,$0A,$18,MUSIC_HALLOFHONOR ; HALL_OF_HONOR
+ db $36,$37,$00,$0A,$17,MUSIC_POKEMON_DOME ; POKEMON_DOME
+ db $3A,$3B,$00,$0A,$18,MUSIC_HALL_OF_HONOR ; HALL_OF_HONOR
diff --git a/src/data/overworld_indexes.asm b/src/data/overworld_indexes.asm
index 7df99de..7df99de 100755..100644
--- a/src/data/overworld_indexes.asm
+++ b/src/data/overworld_indexes.asm
diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm
index b5894d2..8852914 100755..100644
--- a/src/engine/bank1.asm
+++ b/src/engine/bank1.asm
@@ -1,15 +1,17 @@
-Func_4000: ; 4000 (1:4000)
+; continuation of Bank0 Start
+; supposed to be the main loop, but the game never returns from _GameLoop anyway
+GameLoop: ; 4000 (1:4000)
di
ld sp, $e000
call ResetSerial
call EnableInt_VBlank
call EnableInt_Timer
- call EnableExtRAM
- ld a, [$a006]
+ call EnableSRAM
+ ld a, [sa006]
ld [wTextSpeed], a
- ld a, [$a009]
+ ld a, [sa009]
ld [wccf2], a
- call DisableExtRAM
+ call DisableSRAM
ld a, $1
ld [wUppercaseFlag], a
ei
@@ -17,19 +19,19 @@ Func_4000: ; 4000 (1:4000)
ldh a, [hButtonsHeld]
cp A_BUTTON | B_BUTTON
jr z, .ask_erase_backup_ram
- farcall Func_126d1
- jr Func_4000
+ farcall _GameLoop
+ jr GameLoop
.ask_erase_backup_ram
call Func_405a
- call Func_04a2
+ call EmptyScreen
ldtx hl, ResetBackUpRamText
call YesOrNoMenuWithText
jr c, .reset_game
; erase sram
- call EnableExtRAM
+ call EnableSRAM
xor a
- ld [$a000], a
- call DisableExtRAM
+ ld [sa000], a
+ call DisableSRAM
.reset_game
jp Reset
@@ -40,29 +42,68 @@ Func_4050: ; 4050 (1:4050)
ret
Func_405a: ; 405a (1:405a)
- INCROM $405a, $406f
+ xor a
+ ld [wTileMapFill], a
+ call DisableLCD
+ call Func_2119
+ call Func_5aeb
+ ld de, $387f
+ call Func_2275
+ ret
+; 0x406e
+
+CommentedOut_406e: ; 406e (1:406e)
+ ret
+; 0x406f
+
+; try to resume a saved duel from the main menu
+TryContinueDuel: ; 406f (1:406f)
+ call Func_420b
+ call $66e9
+ ldtx hl, BackUpIsBrokenText
+ jr c, FailedToContinueDuel
+; fallthrough
+
+ContinueDuel: ; 407a (1:407a)
+ ld hl, sp+$00
+ ld a, l
+ ld [wcbe5], a
+ ld a, h
+ ld [wcbe5 + 1], a
+ call ClearJoypad
+ ld a, [wDuelTheme]
+ call PlaySong
+ xor a
+ ld [wDuelFinished], a
+ call DuelMainScene
+ jp StartDuel.asm_40fb
+; 0x4097
-Func_406f: ; 406f (1:406f)
- INCROM $406f, $409f
+FailedToContinueDuel: ; 4097 (1:4097)
+ call DrawWideTextBox_WaitForInput
+ call ResetSerial
+ scf
+ ret
+; 0x409f
; this function begins the duel after the opponent's
; graphics, name and deck have been introduced
StartDuel: ; 409f (1:409f)
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
- ld a, $0
+ ld a, DUELIST_TYPE_PLAYER
ld [wPlayerDuelistType], a
ld a, [wcc19]
- ld [wOpponentDeckId], a
+ ld [wOpponentDeckID], a
call LoadPlayerDeck
call SwapTurn
call LoadOpponentDeck
call SwapTurn
jr .asm_40ca
- ld a, MUSIC_DUELTHEME1
+ ld a, MUSIC_DUEL_THEME_1
ld [wDuelTheme], a
- ld hl, $cc16
+ ld hl, wOpponentName
xor a
ld [hli], a
ld [hl], a
@@ -73,10 +114,10 @@ StartDuel: ; 409f (1:409f)
ld a, l
ld [wcbe5], a
ld a, h
- ld [wcbe6], a
+ ld [wcbe5 + 1], a
xor a
ld [wCurrentDuelMenuItem], a
- call $420b
+ call Func_420b
ld a, [wcc18]
ld [wcc08], a
call $70aa
@@ -86,52 +127,54 @@ StartDuel: ; 409f (1:409f)
ret c
; the loop returns here after every turn switch
-.mainDuelLoop ; 40ee (1:40ee)
+.main_duel_loop ; 40ee (1:40ee)
xor a
ld [wCurrentDuelMenuItem], a
- call HandleSwordsDanceOrFocusEnergySubstatus
+ call UpdateSubstatusConditions_StartOfTurn
call $54c8
call HandleTurn
+
+.asm_40fb
call Func_0f58
ld a, [wDuelFinished]
or a
- jr nz, .duelFinished
- call UpdateSubstatusConditions
+ jr nz, .duel_finished
+ call UpdateSubstatusConditions_EndOfTurn
call $6baf
call Func_3b31
call Func_0f58
ld a, [wDuelFinished]
or a
- jr nz, .duelFinished
- ld hl, $cc06
+ jr nz, .duel_finished
+ ld hl, wDuelTurns
inc [hl]
ld a, [wcc09]
cp $80
jr z, .asm_4126
-.nextTurn
+.next_turn
call SwapTurn
- jr .mainDuelLoop
+ jr .main_duel_loop
.asm_4126
ld a, [wIsPracticeDuel]
or a
- jr z, .nextTurn
+ jr z, .next_turn
ld a, [hl]
cp $f
- jr c, .nextTurn
+ jr c, .next_turn
xor a
ld [wd0c3], a
ret
-.duelFinished
+.duel_finished
call $5990
- call Func_04a2
- ld a, $3
- call Func_2167
+ call EmptyScreen
+ ld a, BOXMSG_DECISION
+ call DrawDuelBoxMessage
ldtx hl, DecisionText
call DrawWideTextBox_WaitForInput
- call Func_04a2
+ call EmptyScreen
ldh a, [hWhoseTurn]
push af
ld a, PLAYER_TURN
@@ -143,38 +186,38 @@ StartDuel: ; 409f (1:409f)
call Func_3b21
ld a, [wDuelFinished]
cp DUEL_WON
- jr z, .activeDuelistWonBattle
+ jr z, .active_duelist_won_battle
cp DUEL_LOST
- jr z, .activeDuelistLostBattle
+ jr z, .active_duelist_lost_batte
ld a, $5f
- ld c, MUSIC_DARKDIDDLY
+ ld c, MUSIC_DARK_DIDDLY
ldtx hl, DuelWasDrawText
- jr .handleDuelFinished
+ jr .handle_duel_finished
-.activeDuelistWonBattle
+.active_duelist_won_battle
ldh a, [hWhoseTurn]
cp PLAYER_TURN
- jr nz, .opponentWonBattle
-.playerWonBattle
+ jr nz, .opponent_won_battle
+.player_won_battle
xor a
ld [wd0c3], a
ld a, $5d
- ld c, MUSIC_MATCHVICTORY
+ ld c, MUSIC_MATCH_VICTORY
ldtx hl, WonDuelText
- jr .handleDuelFinished
+ jr .handle_duel_finished
-.activeDuelistLostBattle
+.active_duelist_lost_batte
ldh a, [hWhoseTurn]
cp PLAYER_TURN
- jr nz, .playerWonBattle
-.opponentWonBattle
+ jr nz, .player_won_battle
+.opponent_won_battle
ld a, $1
ld [wd0c3], a
ld a, $5e
- ld c, MUSIC_MATCHLOSS
+ ld c, MUSIC_MATCH_LOSS
ldtx hl, LostDuelText
-.handleDuelFinished
+.handle_duel_finished
call Func_3b6a
ld a, c
call PlaySong
@@ -189,7 +232,7 @@ StartDuel: ; 409f (1:409f)
jr nz, .asm_41a7
ld a, [wDuelFinished]
cp DUEL_DRAW
- jr z, .tiedBattle
+ jr z, .tied_battle
call Func_39fc
call WaitForWideTextBoxInput
call Func_3b31
@@ -198,7 +241,7 @@ StartDuel: ; 409f (1:409f)
ldh [hWhoseTurn], a
ret
-.tiedBattle
+.tied_battle
call WaitForWideTextBoxInput
call Func_3b31
ld a, [wDuelTheme]
@@ -214,7 +257,7 @@ StartDuel: ; 409f (1:409f)
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
call Func_4b60
- jp $40ee
+ jp .main_duel_loop
.asm_41f3
call Func_0f58
@@ -228,41 +271,52 @@ StartDuel: ; 409f (1:409f)
ld a, h
ldh [hWhoseTurn], a
call Func_4b60
- jp nc, $40ee
+ jp nc, .main_duel_loop
ret
; 0x420b
- INCROM $420b, $4225
+Func_420b: ; 420b (1:420b)
+ xor a
+ ld [wTileMapFill], a
+ call $5990
+ call EmptyScreen
+ call Func_2119
+ call Func_5aeb
+ ld de, $389f
+ call Func_2275
+ call EnableLCD
+ ret
+; 0x4225
HandleTurn: ; 4225 (1:4225)
ld a, DUELVARS_DUELIST_TYPE
call GetTurnDuelistVariable
- ld [wcc0d], a
- ld a, [wcc06]
- cp a, $02
- jr c, .asm_4237
+ ld [wDuelistType], a
+ ld a, [wDuelTurns]
+ cp 2
+ jr c, .asm_4237 ; jump if it's the turn holder's first turn
call $70f6
.asm_4237
call $70e6
call $4933
call DrawCardFromDeck
- jr nc, .deckNotEmpty
+ jr nc, .deck_not_empty
ld a, DUEL_LOST
ld [wDuelFinished], a
ret
-.deckNotEmpty
- ldh [hTempCardNumber], a
+.deck_not_empty
+ ldh [hTempCardIndex_ff98], a
call AddCardToHand
- ld a, [wcc0d]
+ ld a, [wDuelistType]
cp DUELIST_TYPE_PLAYER
jr z, Func_4262
call SwapTurn
- call Func_34e2
+ call IsClairvoyanceActive
call SwapTurn
call c, $4b2c
- jr Func_426d
+ jr DuelMainScene
Func_4262:
call $4b2c
@@ -272,12 +326,12 @@ Func_4268:
ld a, $06
call $51e7
-Func_426d:
+DuelMainScene:
call $4f9d
- ld a, [wcc0d]
- cp a, DUELIST_TYPE_PLAYER
+ ld a, [wDuelistType]
+ cp DUELIST_TYPE_PLAYER
jr z, PrintDuelMenu
- cp a, DUELIST_TYPE_LINK_OPP
+ cp DUELIST_TYPE_LINK_OPP
jp z, $6911
; DUELIST_TYPE_AI_OPP
xor a
@@ -295,6 +349,7 @@ PrintDuelMenu:
call DrawWideTextBox
ld hl, $54e9
call Func_2c08
+.asm_429e
call $669d
ld a, [wDuelFinished]
or a
@@ -302,37 +357,37 @@ PrintDuelMenu:
ld a, [wCurrentDuelMenuItem]
call SetMenuItem
-Func_42ac:
+HandleDuelMenuInput:
call DoFrame
ldh a, [hButtonsHeld]
- and a, $02
- jr z, .asm_42cc
+ and B_BUTTON
+ jr z, .b_not_held
ldh a, [hButtonsPressed]
bit D_UP_F, a
- jr nz, Func_430b
+ jr nz, OpponentPlayAreaScreen
bit D_DOWN_F, a
- jr nz, Func_4311
+ jr nz, PlayerPlayAreaScreen
bit D_LEFT_F, a
- jr nz, Func_4320
+ jr nz, PlayerDiscardPileScreen
bit D_RIGHT_F, a
- jr nz, Func_4317
+ jr nz, OpponentDiscardPileScreen
bit START_F, a
- jp nz, $4364
+ jp nz, OpponentActivePokemonScreen
-.asm_42cc
+.b_not_held
ldh a, [hButtonsPressed]
- and a, START
- jp nz, $4370
+ and START
+ jp nz, PlayerActivePokemonScreen
ldh a, [hButtonsPressed]
bit SELECT_F, a
jp nz, $458e
ld a, [wcbe7]
or a
- jr nz, Func_42ac
+ jr nz, HandleDuelMenuInput
call Func_271a
ld a, e
ld [wCurrentDuelMenuItem], a
- jr nc, Func_42ac
+ jr nc, HandleDuelMenuInput
ldh a, [hCurrentMenuItem]
ld hl, DuelMenuFunctionTable
jp JumpToFunctionInTable
@@ -345,67 +400,116 @@ DuelMenuFunctionTable: ; 42f1 (1:42f1)
dw DuelMenu_Retreat
dw DuelMenu_Done
- INCROM $42fd, $430b
-
-Func_430b: ; 430b (1:430b)
- call Func_4329
- jp Func_426d
-
-Func_4311: ; 4311 (1:4311)
- call Func_4333
- jp Func_426d
-
-Func_4317: ; 4317 (1:4317)
- call Func_4339
+Func_42fd: ; 42fd (1:42fd)
+ call DrawCardFromDeck
+ call nc, AddCardToHand
+ ld a, $0b
+ call SetDuelAIAction
+ jp PrintDuelMenu.asm_429e
+; 0x430b
+
+OpponentPlayAreaScreen: ; 430b (1:430b)
+ call DrawOpponentPlayAreaScreen
+ jp DuelMainScene
+
+PlayerPlayAreaScreen: ; 4311 (1:4311)
+ call DrawPlayerPlayAreaScreen
+ jp DuelMainScene
+
+OpponentDiscardPileScreen: ; 4317 (1:4317)
+ call DrawOpponentDiscardPileScreen
jp c, PrintDuelMenu
- jp Func_426d
+ jp DuelMainScene
-Func_4320: ; 4320 (1:4320)
- call Func_4342
+PlayerDiscardPileScreen: ; 4320 (1:4320)
+ call DrawPlayerDiscardPileScreen
jp c, PrintDuelMenu
- jp Func_426d
+ jp DuelMainScene
-Func_4329: ; 4329 (1:4329)
+DrawOpponentPlayAreaScreen: ; 4329 (1:4329)
call SwapTurn
- call Func_4333
+ call DrawPlayerPlayAreaScreen
call SwapTurn
ret
-Func_4333: ; 4333 (1:4333)
+DrawPlayerPlayAreaScreen: ; 4333 (1:4333)
call $5fdd
jp $6008
-Func_4339: ; 4339 (1:4339)
+DrawOpponentDiscardPileScreen: ; 4339 (1:4339)
call SwapTurn
call $5550
jp SwapTurn
-Func_4342: ; 4342 (1:4342)
+DrawPlayerDiscardPileScreen: ; 4342 (1:4342)
jp $5550
- INCROM $4345, $438e
+Func_4345: ; 4345 (1:4345)
+ call SwapTurn
+ call Func_434e
+ jp SwapTurn
+; 0x434e
+
+Func_434e: ; 434e (1:434e)
+ call CreateHandCardList
+ jr c, .no_cards_in_hand
+ call $559a
+ ld a, $09
+ ld [wcbd6], a
+ jp $55f0
+.no_cards_in_hand
+ ldtx hl, NoCardsInHandText
+ jp DrawWideTextBox_WaitForInput
+; 0x4364
+
+OpponentActivePokemonScreen: ; 4364 (1:4364)
+ call SwapTurn
+ call Func_4376
+ call SwapTurn
+ jp DuelMainScene
+; 0x4370
+
+PlayerActivePokemonScreen: ; 4370 (1:4370)
+ call Func_4376
+ jp DuelMainScene
+; 0x4376
+
+Func_4376: ; 4376 (1:4376)
+ ld a, DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ cp -1
+ ret z
+ call GetCardIDFromDeckIndex
+ call LoadCardDataToBuffer1_FromCardID
+ ld hl, wcbc9
+ xor a
+ ld [hli], a
+ ld [hl], a
+ call $576a
+ ret
+; 0x438e
DuelMenu_PkmnPower: ; 438e (1:438e)
call $6431
- jp c, Func_426d
+ jp c, DuelMainScene
call Func_1730
- jp Func_426d
+ jp DuelMainScene
DuelMenu_Done: ; 439a (1:439a)
ld a, $08
call $51e7
jp c, Func_4268
ld a, $05
- call Func_0f7f
+ call SetDuelAIAction
call $717a
ret
DuelMenu_Retreat: ; 43ab (1:43ab)
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
- and a,PASSIVE_STATUS_MASK
- cp a, $01
- ldh [$ffa0], a
+ and CNF_SLP_PRZ
+ cp CONFUSED
+ ldh [hffa0], a
jr nz, Func_43f1
ld a, [wcc0c]
or a
@@ -414,15 +518,15 @@ DuelMenu_Retreat: ; 43ab (1:43ab)
jr c, Func_441f
call $4611
jr c, Func_441c
- ldtx hl, SelectMonOnBenchToSwitchWithActiveText
+ ldtx hl, SelectPkmnOnBenchToSwitchWithActiveText
call DrawWideTextBox_WaitForInput
call $600c
jr c, Func_441c
ld [wBenchSelectedPokemon], a
ld a, [wBenchSelectedPokemon]
- ldh [$ffa1], a
+ ldh [hTempPlayAreaLocationOffset_ffa1], a
ld a, $04
- call Func_0f7f
+ call SetDuelAIAction
call $657a
jr nc, Func_441c
call $4f9d
@@ -438,21 +542,21 @@ Func_43f1: ; 43f1 (1:43f1)
call $4611
jr c, Func_441c
call $6558
- ldtx hl, SelectMonOnBenchToSwitchWithActiveText
+ ldtx hl, SelectPkmnOnBenchToSwitchWithActiveText
call DrawWideTextBox_WaitForInput
call $600c
ld [wBenchSelectedPokemon], a
- ldh [$ffa1], a
+ ldh [hTempPlayAreaLocationOffset_ffa1], a
push af
call $6564
pop af
- jp c, Func_426d
+ jp c, DuelMainScene
ld a, $04
- call Func_0f7f
+ call SetDuelAIAction
call $657a
Func_441c: ; 441c (1:441c)
- jp Func_426d
+ jp DuelMainScene
Func_441f: ; 441f (1:441f)
call DrawWideTextBox_WaitForInput
@@ -473,51 +577,51 @@ Func_4436: ; 4436 (1:4436)
; c contains the type of energy card being played
PlayerUseEnergyCard: ; 4477 (1:4477)
ld a, c
- cp TYPE_ENERGY_WATER ; XXX why treat water energy card differently?
- jr nz, .notWaterEnergy
- call $3615
- jr c, .waterEnergy
+ cp TYPE_ENERGY_WATER
+ jr nz, .not_water_energy
+ call IsRainDanceActive
+ jr c, .rain_dance_active
-.notWaterEnergy
+.not_water_energy
ld a, [wAlreadyPlayedEnergy]
or a
- jr nz, .alreadyPlayedEnergy
+ jr nz, .already_played_energy
call $5fdd
call $600c ; choose card to play energy card on
- jp c, Func_426d ; exit if no card was chosen
-.asm_4490
+ jp c, DuelMainScene ; exit if no card was chosen
+.play_energy_set_played
ld a, $1
ld [wAlreadyPlayedEnergy], a
-.asm_4495
- ld a, [$ff9d]
- ld [$ffa1], a
+.play_energy
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ldh [hTempPlayAreaLocationOffset_ffa1], a
ld e, a
- ld a, [$ff98]
- ld [$ffa0], a
- call $14d2
+ ldh a, [hTempCardIndex_ff98]
+ ldh [hffa0], a
+ call PutHandCardInPlayArea
call $61b8
ld a, $3
- call Func_0f7f
+ call SetDuelAIAction
call $68e4
- jp Func_426d
+ jp DuelMainScene
-.waterEnergy
+.rain_dance_active
call $5fdd
call $600c ; choose card to play energy card on
- jp c, Func_426d ; exit if no card was chosen
- call $3622
- jr c, .asm_4495
+ jp c, DuelMainScene ; exit if no card was chosen
+ call CheckRainDanceScenario
+ jr c, .play_energy
ld a, [wAlreadyPlayedEnergy]
or a
- jr z, .asm_4490
+ jr z, .play_energy_set_played
ldtx hl, OnlyOneEnergyCardText
call DrawWideTextBox_WaitForInput
jp Func_4436
-.alreadyPlayedEnergy
+.already_played_energy
ldtx hl, OnlyOneEnergyCardText
call DrawWideTextBox_WaitForInput
- call CreateHandCardBuffer
+ call CreateHandCardList
call $55be
jp $4447
; 0x44db
@@ -527,33 +631,33 @@ PlayerUseEnergyCard: ; 4477 (1:4477)
DuelMenu_Check: ; 4585 (1:4585)
call Func_3b31
call Func_3096
- jp Func_426d
+ jp DuelMainScene
INCROM $458e, $46fc
DuelMenu_Attack: ; 46fc (1:46fc)
call HandleCantAttackSubstatus
- jr c, .alertCantAttackAndCancelMenu
+ jr c, .alert_cant_attack_and_cancel_menu
call CheckIfActiveCardParalyzedOrAsleep
- jr nc, .clearSubMenuSelection
+ jr nc, .clear_sub_menu_selection
-.alertCantAttackAndCancelMenu
+.alert_cant_attack_and_cancel_menu
call DrawWideTextBox_WaitForInput
jp PrintDuelMenu
-.clearSubMenuSelection
+.clear_sub_menu_selection
xor a
ld [wSelectedDuelSubMenuItem], a
-.tryOpenAttackMenu
- call LoadPokemonMovesToDuelCardOrAttackList
+.try_open_attack_menu
+ call LoadPokemonMovesToDuelTempList
or a
- jr nz, .openAttackMenu
+ jr nz, .open_attack_menu
ldtx hl, NoSelectableAttackText
call DrawWideTextBox_WaitForInput
jp PrintDuelMenu
-.openAttackMenu
+.open_attack_menu
push af
ld a, [wSelectedDuelSubMenuItem]
ld hl, AttackMenuCursorData
@@ -564,59 +668,59 @@ DuelMenu_Attack: ; 46fc (1:46fc)
ld h, a
ld l, DUELVARS_ARENA_CARD
ld a, [hl]
- call LoadDeckCardToBuffer1
+ call LoadCardDataToBuffer1_FromDeckIndex
-.waitForInput
+.wait_for_input
call DoFrame
ldh a, [hButtonsPressed]
and START
- jr nz, .displaySelectedMoveInfo
+ jr nz, .display_selected_move_info
call HandleMenuInput
- jr nc, .waitForInput
+ jr nc, .wait_for_input
cp $ff ; was B pressed?
jp z, PrintDuelMenu
ld [wSelectedDuelSubMenuItem], a
call CheckIfEnoughEnergies
- jr nc, .enoughEnergy
+ jr nc, .enough_energy
ldtx hl, NotEnoughEnergyCardsText
call DrawWideTextBox_WaitForInput
- jr .tryOpenAttackMenu
+ jr .try_open_attack_menu
-.enoughEnergy
+.enough_energy
ldh a, [hCurrentMenuItem]
add a
ld e, a
ld d, $00
- ld hl, wDuelCardOrAttackList
+ ld hl, wDuelTempList
add hl, de
ld d, [hl] ; card number within the deck (0 to 59)
inc hl
ld e, [hl] ; attack index (0 or 1)
- call CopyMoveDataAndDamageToBuffer
+ call CopyMoveDataAndDamage_FromDeckIndex
call HandleAmnesiaSubstatus
- jr c, .cannotUseDueToAmnesia
+ jr c, .cannot_use_due_to_amnesia
ld a, $07
call $51e7
jp c, Func_4268
call Func_1730
- jp c, Func_426d
+ jp c, DuelMainScene
ret
-.cannotUseDueToAmnesia ; 477d (1:477d)
+.cannot_use_due_to_amnesia ; 477d (1:477d)
call DrawWideTextBox_WaitForInput
- jr .tryOpenAttackMenu
+ jr .try_open_attack_menu
-.displaySelectedMoveInfo ; 4782 (1:4782)
+.display_selected_move_info ; 4782 (1:4782)
call Func_478b
call $4f9d
- jp .tryOpenAttackMenu
+ jp .try_open_attack_menu
Func_478b: ; 478b (1:478b)
ld a, $01
ld [wCardPageNumber], a
xor a
ld [wcbc9], a
- call Func_04a2
+ call EmptyScreen
call Func_3b31
ld de, $8a00
call $59ca
@@ -632,7 +736,7 @@ Func_478b: ; 478b (1:478b)
add a
ld e, a
ld d, $00
- ld hl, $c511
+ ld hl, wDuelTempList + 1
add hl, de
ld a, [hl]
or a
@@ -653,10 +757,10 @@ Func_478b: ; 478b (1:478b)
.asm_47d4
call DoFrame
ldh a, [hButtonsPressed2]
- and a, D_RIGHT | D_LEFT
+ and D_RIGHT | D_LEFT
jr nz, .asm_47ce
ldh a, [hButtonsPressed]
- and a, A_BUTTON | B_BUTTON
+ and A_BUTTON | B_BUTTON
jr z, .asm_47d4
ret
@@ -684,7 +788,7 @@ Func_47fd: ; $47fd (1:47fd)
jr Func_481b
Func_4802: ; $4802 (1:4802)
- ld hl, $cc38
+ ld hl, wLoadedCard1Move1Description + 2
ld a, [hli]
or [hl]
ret z
@@ -696,37 +800,37 @@ Func_480d: ; $480d (1:480d)
jr Func_481b
Func_4812: ; $4812 (1:4812)
- ld hl, $cc4b
+ ld hl, wLoadedCard1Move2Description + 2
ld a, [hli]
or [hl]
ret z
call $5d37
Func_481b: ; $481b (1:481b)
- ld hl, $cc04
+ ld hl, wcc04
ld a, $01
xor [hl]
ld [hl], a
ret
-; copies the following to the c510 buffer:
+; copies the following to the wDuelTempList buffer:
; if pokemon's second moveslot is empty: <card_no>, 0
; else: <card_no>, 0, <card_no>, 1
-LoadPokemonMovesToDuelCardOrAttackList: ; 4823 (1:4823)
+LoadPokemonMovesToDuelTempList: ; 4823 (1:4823)
call DrawWideTextBox
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- ldh [hTempCardNumber], a
- call LoadDeckCardToBuffer1
+ ldh [hTempCardIndex_ff98], a
+ call LoadCardDataToBuffer1_FromDeckIndex
ld c, $00
ld b, $0d
- ld hl, wDuelCardOrAttackList
+ ld hl, wDuelTempList
xor a
ld [wCardPageNumber], a
ld de, wLoadedCard1Move1Name
call CheckIfMoveExists
- jr c, .checkForSecondAttackSlot
- ldh a, [hTempCardNumber]
+ jr c, .check_for_second_attack_slot
+ ldh a, [hTempCardIndex_ff98]
ld [hli], a
xor a
ld [hli], a
@@ -741,11 +845,11 @@ LoadPokemonMovesToDuelCardOrAttackList: ; 4823 (1:4823)
inc b
inc b
-.checkForSecondAttackSlot
+.check_for_second_attack_slot
ld de, wLoadedCard1Move2Name
call CheckIfMoveExists
- jr c, .finishLoadingAttacks
- ldh a, [hTempCardNumber]
+ jr c, .finish_loading_attacks
+ ldh a, [hTempCardIndex_ff98]
ld [hli], a
ld a, $01
ld [hli], a
@@ -758,7 +862,7 @@ LoadPokemonMovesToDuelCardOrAttackList: ; 4823 (1:4823)
pop bc
pop hl
-.finishLoadingAttacks
+.finish_loading_attacks
ld a, c
ret
@@ -771,13 +875,13 @@ CheckIfMoveExists: ; 4872 (1:4872)
inc de
ld a, [de]
or c
- jr z, .returnNoMoveFound
- ld hl, wLoadedCard1Move1Category - (wLoadedCard1Move1Name + 1)
+ jr z, .return_no_move_found
+ ld hl, CARD_DATA_MOVE1_CATEGORY - (CARD_DATA_MOVE1_NAME + 1)
add hl, de
ld a, [hl]
- and $ff - RESIDUAL
+ and $ff ^ RESIDUAL
cp POKEMON_POWER
- jr z, .returnNoMoveFound
+ jr z, .return_no_move_found
or a
.return
@@ -786,7 +890,7 @@ CheckIfMoveExists: ; 4872 (1:4872)
pop hl
ret
-.returnNoMoveFound
+.return_no_move_found
scf
jr .return
@@ -797,13 +901,13 @@ CheckIfEnoughEnergies: ; 488f (1:488f)
push hl
push bc
ld e, $0
- call GetAttachedEnergies
+ call GetPlayAreaCardAttachedEnergies
call HandleEnergyBurn
ldh a, [hCurrentMenuItem]
add a
ld e, a
ld d, $0
- ld hl, wDuelCardOrAttackList
+ ld hl, wDuelTempList
add hl, de
ld d, [hl] ; card number within the deck (0 to 59)
inc hl
@@ -823,41 +927,42 @@ CheckIfEnoughEnergies: ; 488f (1:488f)
_CheckIfEnoughEnergies: ; 48ac (1:48ac)
push de
ld a, d
- call LoadDeckCardToBuffer1
+ call LoadCardDataToBuffer1_FromDeckIndex
pop bc
push bc
ld de, wLoadedCard1Move1Energy
ld a, c
or a
- jr z, .gotMove
+ jr z, .got_move
ld de, wLoadedCard1Move2Energy
-.gotMove
- ld hl, wLoadedCard1Move1Name - wLoadedCard1Move1Energy
+.got_move
+ ld hl, CARD_DATA_MOVE1_NAME - CARD_DATA_MOVE1_ENERGY
add hl, de
ld a, [hli]
or [hl]
- jr z, .notUsable
- ld hl, wLoadedCard1Move1Category - wLoadedCard1Move1Energy
+ jr z, .not_usable
+ ld hl, CARD_DATA_MOVE1_CATEGORY - CARD_DATA_MOVE1_ENERGY
add hl, de
ld a, [hl]
cp POKEMON_POWER
- jr z, .notUsable
+ jr z, .not_usable
xor a
ld [wAttachedEnergiesAccum], a
ld hl, wAttachedEnergies
- ld c, (COLORLESS - FIRE) / 2
-.nextEnergyTypePair
+ ld c, (NUM_COLORED_TYPES) / 2
+
+.next_energy_type_pair
ld a, [de]
swap a
call _CheckIfEnoughEnergiesOfType
- jr c, .notEnoughEnergies
+ jr c, .not_enough_energies
ld a, [de]
call _CheckIfEnoughEnergiesOfType
- jr c, .notEnoughEnergies
+ jr c, .not_enough_energies
inc de
dec c
- jr nz, .nextEnergyTypePair
+ jr nz, .next_energy_type_pair
ld a, [de] ; colorless energy
swap a
and $f
@@ -867,16 +972,16 @@ _CheckIfEnoughEnergies: ; 48ac (1:48ac)
ld a, [wTotalAttachedEnergies]
sub c
cp b
- jr c, .notEnoughEnergies
+ jr c, .not_enough_energies
or a
-.asm_48fb
+.done
pop de
ret
-.notUsable
-.notEnoughEnergies
+.not_usable
+.not_enough_energies
scf
- jr .asm_48fb
+ jr .done
; 0x4900
; given the amount of energies of a specific type required for an attack in the
@@ -891,16 +996,16 @@ _CheckIfEnoughEnergiesOfType: ; 4900 (1:4900)
ld [hl], a ; accumulate the amount of energies required
pop hl
pop af
- jr z, .enoughEnergies ; jump if no energies of this type are required
+ jr z, .enough_energies ; jump if no energies of this type are required
cp [hl]
; jump if the energies required of this type are not more than the amount attached
- jr z, .enoughEnergies
- jr c, .enoughEnergies
+ jr z, .enough_energies
+ jr c, .enough_energies
inc hl
scf
ret
-.enoughEnergies
+.enough_energies
inc hl
or a
ret
@@ -909,7 +1014,7 @@ _CheckIfEnoughEnergiesOfType: ; 4900 (1:4900)
CheckIfActiveCardParalyzedOrAsleep: ; 4918 (1:4918)
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
- and PASSIVE_STATUS_MASK
+ and CNF_SLP_PRZ
cp PARALYZED
jr z, .paralyzed
cp ASLEEP
@@ -919,12 +1024,12 @@ CheckIfActiveCardParalyzedOrAsleep: ; 4918 (1:4918)
.paralyzed
ldtx hl, UnableDueToParalysisText
- jr .returnWithStatusCondition
+ jr .return_with_status_condition
.asleep
ldtx hl, UnableDueToSleepText
-.returnWithStatusCondition:
+.return_with_status_condition
scf
ret
@@ -937,12 +1042,12 @@ Func_4b60: ; 4b60 (1:4b60)
call SwapTurn
call $4e84
call $4d97
- ld [$ffa0], a
+ ldh [hffa0], a
call SwapTurn
call $4d97
call SwapTurn
ld c, a
- ld a, [$ffa0]
+ ldh a, [hffa0]
ld b, a
and c
jr nz, .asm_4bd0
@@ -972,7 +1077,7 @@ Func_4b60: ; 4b60 (1:4b60)
jr .asm_4bd0
.asm_4bb2
- ld hl, $006b
+ ldtx hl, NeitherPlayerHasBasicPkmnText
call DrawWideTextBox_WaitForInput
call $4e06
call $7107
@@ -984,52 +1089,52 @@ Func_4b60: ; 4b60 (1:4b60)
jp Func_4b60
.asm_4bd0
- ld a, [$ff97]
+ ldh a, [hWhoseTurn]
push af
- ld a, $c2
- ld [$ff97], a
+ ld a, PLAYER_TURN
+ ldh [hWhoseTurn], a
call Func_4cd5
call SwapTurn
call Func_4cd5
call SwapTurn
jp c, $4c77
call Func_311d
- ld hl, $0072
+ ldtx hl, PlacingThePrizesText
call DrawWideTextBox_WaitForInput
call Func_0f58
ld a, [wcc08]
ld l, a
- ld h, $0
- call Func_2ec4
- ld hl, $0073
+ ld h, 0
+ call LoadTxRam3
+ ldtx hl, PleasePlacePrizesText
call DrawWideTextBox_PrintText
call EnableLCD
call $4c7c
call WaitForWideTextBoxInput
pop af
- ld [$ff97], a
+ ldh [hWhoseTurn], a
call $7133
call SwapTurn
call $7133
call SwapTurn
- call Func_04a2
- ld a, $6
- call Func_2167
- ld hl, $0075
+ call EmptyScreen
+ ld a, BOXMSG_COIN_TOSS
+ call DrawDuelBoxMessage
+ ldtx hl, CoinTossToDetermineWhoFirstText
call DrawWideTextBox_WaitForInput
- ld a, [$ff97]
- cp $c2
+ ldh a, [hWhoseTurn]
+ cp PLAYER_TURN
jr nz, .asm_4c52
- ld de, wc590
- call PrintPlayerName
+ ld de, wDefaultText
+ call CopyPlayerName
ld hl, $0000
- call Func_2ebb
- ld hl, $0053
- ld de, $0074
+ call LoadTxRam2
+ ldtx hl, YouPlayFirstText
+ ldtx de, IfHeadPlayerPlaysFirstText
call TossCoin
jr c, .asm_4c4a
call SwapTurn
- ld hl, $0054
+ ldtx hl, YouPlaySecondText
.asm_4c4a
call DrawWideTextBox_WaitForInput
@@ -1038,16 +1143,16 @@ Func_4b60: ; 4b60 (1:4b60)
ret
.asm_4c52
- ld de, wc590
- call PrintOpponentName
+ ld de, wDefaultText
+ call CopyOpponentName
ld hl, $0000
- call Func_2ebb
- ld hl, $0054
- ld de, $0074
+ call LoadTxRam2
+ ldtx hl, YouPlaySecondText
+ ldtx de, IfHeadPlayerPlaysFirstText
call TossCoin
jr c, .asm_4c6f
call SwapTurn
- ld hl, $0053
+ ldtx hl, YouPlayFirstText
.asm_4c6f
call DrawWideTextBox_WaitForInput
@@ -1061,11 +1166,11 @@ Func_4b60: ; 4b60 (1:4b60)
; Select Basic Pokemon From Hand
Func_4cd5: ; 4cd5 (1:4cd5)
- ld a, $f1
+ ld a, DUELVARS_DUELIST_TYPE
call GetTurnDuelistVariable
- cp $0
+ cp DUELIST_TYPE_PLAYER
jr z, .asm_4d15
- cp $1
+ cp DUELIST_TYPE_LINK_OPP
jr z, .asm_4cec
push af
push hl
@@ -1077,7 +1182,7 @@ Func_4cd5: ; 4cd5 (1:4cd5)
ret
.asm_4cec
- ld hl, $0057
+ ldtx hl, TransmitingDataText
call DrawWideTextBox_PrintText
call Func_0f58
ld hl, wPlayerCardLocations
@@ -1088,20 +1193,20 @@ Func_4cd5: ; 4cd5 (1:4cd5)
ld c, $80
call Func_0e63
jr c, .asm_4d12
- ld a, $f1
+ ld a, DUELVARS_DUELIST_TYPE
call GetTurnDuelistVariable
- ld [hl], $1
+ ld [hl], DUELIST_TYPE_LINK_OPP
or a
ret
.asm_4d12
- jp Func_0f35
+ jp DuelTransmissionError
.asm_4d15
- call Func_04a2
- ld a, $5
- call Func_2167
- ld hl, $0069
+ call EmptyScreen
+ ld a, BOXMSG_ARENA_POKEMON
+ call DrawDuelBoxMessage
+ ldtx hl, ChooseBasicPkmnToPlaceInArenaText
call DrawWideTextBox_WaitForInput
ld a, $1
call $51e7
@@ -1110,23 +1215,23 @@ Func_4cd5: ; 4cd5 (1:4cd5)
ld hl, $006e
call $5502
jr c, .asm_4d28
- ld a, [$ff98]
- call LoadDeckCardToBuffer1
+ ldh a, [hTempCardIndex_ff98]
+ call LoadCardDataToBuffer1_FromDeckIndex
ld a, $2
call $51e7
jr c, .asm_4d28
- ld a, [$ff98]
- call Func_1485
- ld a, [$ff98]
+ ldh a, [hTempCardIndex_ff98]
+ call PutHandPokemonCardInPlayArea
+ ldh a, [hTempCardIndex_ff98]
ld hl, $0062
call $4b31
jr .asm_4d4c
.asm_4d4c
- call Func_04a2
- ld a, $4
- call Func_2167
- ld hl, $006d
+ call EmptyScreen
+ ld a, BOXMSG_BENCH_POKEMON
+ call DrawDuelBoxMessage
+ ldtx hl, ChooseUpTo5BasicPkmnToPlaceOnBenchText
call Func_2c73
ld a, $3
call $51e7
@@ -1135,13 +1240,13 @@ Func_4cd5: ; 4cd5 (1:4cd5)
ld hl, $006f
call $5502
jr c, .asm_4d8e
- ld a, $ef
+ ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY
call GetTurnDuelistVariable
- cp $6
+ cp MAX_PLAY_AREA_POKEMON
jr nc, .asm_4d86
- ld a, [$ff98]
- call Func_1485
- ld a, [$ff98]
+ ldh a, [hTempCardIndex_ff98]
+ call PutHandPokemonCardInPlayArea
+ ldh a, [hTempCardIndex_ff98]
ld hl, $0061
call $4b31
ld a, $5
@@ -1149,7 +1254,7 @@ Func_4cd5: ; 4cd5 (1:4cd5)
jr .asm_4d5f
.asm_4d86
- ld hl, $00b2
+ ldtx hl, NoSpaceOnTheBenchText
call DrawWideTextBox_WaitForInput
jr .asm_4d5f
@@ -1168,26 +1273,34 @@ Func_5aeb: ; 5aeb (1:5aeb)
INCROM $5aeb, $6785
Func_6785: ; 6785 (1:6785)
- INCROM $6785, $6793
+ call EnableSRAM
+ ld hl, $bc00
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ call DisableSRAM
+ ret
+; 0x6793
; loads player deck from SRAM to wPlayerDeck
LoadPlayerDeck: ; 6793 (1:6793)
- call EnableExtRAM
+ call EnableSRAM
ld a, [$b700]
ld l, a
ld h, $54
call HtimesL
- ld de, $a218
+ ld de, sDeck1Cards
add hl, de
ld de, wPlayerDeck
ld c, DECK_SIZE
-.nextCardLoop
+.next_card_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .nextCardLoop
- call DisableExtRAM
+ jr nz, .next_card_loop
+ call DisableSRAM
ret
; 0x67b2
@@ -1196,46 +1309,46 @@ LoadPlayerDeck: ; 6793 (1:6793)
; related to ai taking their turn in a duel
; called multiple times during one ai turn
AIMakeDecision: ; 67be (1:67be)
- ld [$ff9e], a
- ld hl, $cbf9
+ ldh [hAIActionTableIndex], a
+ ld hl, wcbf9
ld a, [hl]
ld [hl], $0
or a
- jr nz, .skipDelay
-.delayLoop
+ jr nz, .skip_delay
+.delay_loop
call DoFrame
ld a, [wVBlankCtr]
cp $3c
- jr c, .delayLoop
+ jr c, .delay_loop
-.skipDelay
- ld a, [$ff9e]
- ld hl, $cbe1
+.skip_delay
+ ldh a, [hAIActionTableIndex]
+ ld hl, wcbe1
ld [hl], $0
- ld hl, AIMoveTable
+ ld hl, AIActionTable
call JumpToFunctionInTable
ld a, [wDuelFinished]
- ld hl, $cbe1
+ ld hl, wcbe1
or [hl]
- jr nz, .turnEnded
+ jr nz, .turn_ended
ld a, [wcbf9]
or a
ret nz
ld [wVBlankCtr], a
- ld hl, $0088
+ ldtx hl, DuelistIsThinkingText
call DrawWideTextBox_PrintTextNoDelay
or a
ret
-.turnEnded
+.turn_ended
scf
ret
; 0x67fb
INCROM $67fb, $695e
-AIMoveTable: ; 695e (1:695e)
- dw Func_0f35
+AIActionTable: ; 695e (1:695e)
+ dw DuelTransmissionError
dw $69e0
dw $69c5
dw AIUseEnergyCard
@@ -1262,14 +1375,14 @@ AIMoveTable: ; 695e (1:695e)
INCROM $698c, $69a5
AIUseEnergyCard: ; 69a5 (1:69a5)
- ld a, [$ffa1]
- ld [$ff9d], a
+ ldh a, [hTempPlayAreaLocationOffset_ffa1]
+ ldh [hTempPlayAreaLocationOffset_ff9d], a
ld e, a
- ld a, [$ffa0]
- ld [$ff98], a
- call $14d2
- ld a, [$ffa0]
- call LoadDeckCardToBuffer1
+ ldh a, [hffa0]
+ ldh [hTempCardIndex_ff98], a
+ call PutHandCardInPlayArea
+ ldh a, [hffa0]
+ call LoadCardDataToBuffer1_FromDeckIndex
call $5e75
call $68e4
ld a, $1
@@ -1296,24 +1409,24 @@ ConvertTrainerCardToPokemon:
ret z
ld a, e
cp MYSTERIOUS_FOSSIL
- jr nz, .checkForClefairyDoll
+ jr nz, .check_for_clefairy_doll
ld a, d
cp $00
- jr z, .startRamDataOverwrite
+ jr z, .start_ram_data_overwrite
ret
-.checkForClefairyDoll
+.check_for_clefairy_doll
cp CLEFAIRY_DOLL
ret nz
ld a, d
cp $00
ret nz
-.startRamDataOverwrite
+.start_ram_data_overwrite
push de
ld [hl], COLORLESS
- ld bc, wLoadedCard1HP - wLoadedCard1
+ ld bc, CARD_DATA_HP
add hl, bc
- ld de, .dataToOverwrite
- ld c, wLoadedCard1Unknown2 - wLoadedCard1HP
+ ld de, .data_to_overwrite
+ ld c, CARD_DATA_UNKNOWN2 - CARD_DATA_HP
.loop
ld a, [de]
inc de
@@ -1323,17 +1436,17 @@ ConvertTrainerCardToPokemon:
pop de
ret
-.dataToOverwrite
- db 10 ; hp
- ds $07 ; wLoadedCard1Move1Name - (wLoadedCard1HP + 1)
- tx DiscardName ; move1 name
- tx DiscardDescription ; move1 description
- ds $03 ; wLoadedCard1Move1Category - (wLoadedCard1Move1Description + 2)
- db POKEMON_POWER ; move1 category
- dw TrainerCardAsPokemonEffectCommands ; move1 effect commands
- ds $18 ; wLoadedCard1RetreatCost - (wLoadedCard1Move1EffectCommands + 2)
- db UNABLE_RETREAT ; retreat cost
- ds $0d ; PKMN_CARD_DATA_LENGTH - (wLoadedCard1RetreatCost + 1 - wLoadedCard1)
+.data_to_overwrite
+ db 10 ; CARD_DATA_HP
+ ds $07 ; CARD_DATA_MOVE1_NAME - (CARD_DATA_HP + 1)
+ tx DiscardName ; CARD_DATA_MOVE1_NAME
+ tx DiscardDescription ; CARD_DATA_MOVE1_DESCRIPTION
+ ds $03 ; CARD_DATA_MOVE1_CATEGORY - (CARD_DATA_MOVE1_DESCRIPTION + 2)
+ db POKEMON_POWER ; CARD_DATA_MOVE1_CATEGORY
+ dw TrainerCardAsPokemonEffectCommands ; CARD_DATA_MOVE1_EFFECT_COMMANDS
+ ds $18 ; CARD_DATA_RETREAT_COST - (CARD_DATA_MOVE1_EFFECT_COMMANDS + 2)
+ db UNABLE_RETREAT ; CARD_DATA_RETREAT_COST
+ ds $0d ; PKMN_CARD_DATA_LENGTH - (CARD_DATA_RETREAT_COST + 1)
INCROM $6df1, $7107
@@ -1349,16 +1462,16 @@ InitializeDuelVariables: ; 7107 (1:7107)
push af
xor a
ld l, a
-.zeroDuelVariablesLoop
+.zero_duel_variables_loop
ld [hl], a
inc l
- jr nz, .zeroDuelVariablesLoop
+ jr nz, .zero_duel_variables_loop
pop af
pop hl
ld [hl], a
lb bc, DUELVARS_CARD_LOCATIONS, DECK_SIZE
ld l, DUELVARS_DECK_CARDS
-.initDuelVariablesLoop
+.init_duel_variables_loop
; zero card locations and cards in hand, and init order of cards in deck
push hl
ld [hl], b
@@ -1368,15 +1481,15 @@ InitializeDuelVariables: ; 7107 (1:7107)
inc l
inc b
dec c
- jr nz, .initDuelVariablesLoop
+ jr nz, .init_duel_variables_loop
ld l, DUELVARS_ARENA_CARD
- ld c, 1 + BENCH_SIZE + 1
-.initPlayArea
-; initialize to $ff card in arena as well as cards in bench (plus a terminator?)
+ ld c, 1 + MAX_BENCH_POKEMON + 1
+.init_play_area
+; initialize to $ff card in arena as well as cards in bench (plus a terminator)
ld [hl], $ff
inc l
dec c
- jr nz, .initPlayArea
+ jr nz, .init_play_area
ret
; 0x7133
@@ -1389,7 +1502,7 @@ _TossCoin: ; 71ad (1:71ad)
jr z, .asm_71c1
xor a
ld [wcd9f], a
- call Func_04a2
+ call EmptyScreen
call Func_210f
.asm_71c1
@@ -1406,19 +1519,19 @@ _TossCoin: ; 71ad (1:71ad)
ld de, $010e
ld a, $13
call Func_22a6
- ld hl, wCoinTossScreenTextId
+ ld hl, wCoinTossScreenTextID
ld a, [hli]
ld h, [hl]
ld l, a
call PrintText
.asm_71ec
- ld hl, wCoinTossScreenTextId
+ ld hl, wCoinTossScreenTextID
xor a
ld [hli], a
ld [hl], a
call EnableLCD
- ld a, $f1
+ ld a, DUELVARS_DUELIST_TYPE
call GetTurnDuelistVariable
ld [wcd9e], a
call Func_0f58
@@ -1492,7 +1605,7 @@ _TossCoin: ; 71ad (1:71ad)
jr z, .asm_727c
ld b, $5b
ld c, $30
- ld hl, $cd9d
+ ld hl, wcd9d
inc [hl]
.asm_727c
@@ -1533,24 +1646,24 @@ _TossCoin: ; 71ad (1:71ad)
.asm_72ad
add a
ld d, a
- ld bc, $0202
- ld hl, $0102
+ lb bc, 2, 2
+ lb hl, 1, 2
pop af
- call Func_1f5f
+ call FillRectangle
.asm_72b9
- ld hl, $cd9f
+ ld hl, wcd9f
inc [hl]
ld a, [wcd9e]
or a
jr z, .asm_72dc
ld a, [hl]
- ld hl, $cd9c
+ ld hl, wcd9c
cp [hl]
call z, WaitForWideTextBoxInput
call $7324
ld a, [wcd9c]
- ld hl, $cd9d
+ ld hl, wcd9d
or [hl]
jr nz, .asm_72e2
call z, WaitForWideTextBoxInput
@@ -1563,7 +1676,7 @@ _TossCoin: ; 71ad (1:71ad)
.asm_72e2
call Func_3b31
ld a, [wcd9f]
- ld hl, $cd9c
+ ld hl, wcd9c
cp [hl]
jp c, .asm_7204
call Func_0f58
@@ -1587,7 +1700,7 @@ Func_7571: ; 7571 (1:7571)
INCROM $7571, $7576
Func_7576: ; 7576 (1:7576)
- farcallx $6, $591f
+ farcall $6, $591f
ret
; 0x757b
@@ -1597,7 +1710,7 @@ Func_758f: ; 758f (1:758f)
INCROM $758f, $7594
Func_7594: ; 7594 (1:7594)
- farcallx $6, $661f
+ farcall $6, $661f
ret
; 0x7599
diff --git a/src/engine/bank1c.asm b/src/engine/bank1c.asm
index c7ae122..005eb3f 100755..100644
--- a/src/engine/bank1c.asm
+++ b/src/engine/bank1c.asm
@@ -22,7 +22,16 @@ Func_70018: ; 70018 (1c:4018)
ret
; 0x70024
- INCROM $70024, $70044
+AtrcEnPacket_Disable: ; 70024 (1c:4024)
+ sgb ATRC_EN, 1 ; sgb_command, length
+ db 1
+ ds $0e
+
+; disable Controller Set-up Screen
+IconEnPacket: ; 70034 (1c:4034)
+ sgb ICON_EN, 3 ; sgb_command, length
+ db $01
+ ds $0e
Func_70044: ; 70044 (1c:4044)
push hl
@@ -80,10 +89,10 @@ Func_700a3: ; 700a3 (1c:40a3)
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, vTiles1
+ ld de, v0Tiles1
call Func_701e9
call Func_701fe
- ld hl, SGB_700de
+ ld hl, ChrTrnPacket_BGTiles1
call Func_70177
pop hl
ld de, $0002
@@ -96,9 +105,9 @@ Func_700a3: ; 700a3 (1c:40a3)
jr z, .asm_700da
call Func_70136
dec hl
- ld de, vTiles1
+ ld de, v0Tiles1
call Func_701e9
- ld hl, SGB_700ee
+ ld hl, ChrTrnPacket_BGTiles2
call Func_70177
.asm_700da
pop de
@@ -107,12 +116,16 @@ Func_700a3: ; 700a3 (1c:40a3)
ret
; CHR_TRN: tiles $00-$7F, BG (border) tiles (from SNES $000-$FFF)
-SGB_700de: ; 700de (1c:40de)
- INCROM $700de, $700ee
+ChrTrnPacket_BGTiles1: ; 700de (1c:40de)
+ sgb CHR_TRN, 1 ; sgb_command, length
+ db 0
+ ds $0e
; CHR_TRN: tiles $80-$FF, BG (border) tiles (from SNES $000-$FFF)
-SGB_700ee: ; 700ee (1c:40ee)
- INCROM $700ee, $700fe
+ChrTrnPacket_BGTiles2: ; 700ee (1c:40ee)
+ sgb CHR_TRN, 1 ; sgb_command, length
+ db 1
+ ds $0e
Func_700fe: ; 700fe (1c:40fe)
push hl
@@ -123,15 +136,15 @@ Func_700fe: ; 700fe (1c:40fe)
push hl
call Func_70136
pop hl
- ld de, vTiles1
+ ld de, v0Tiles1
call Func_701e9
pop hl
- ld de, vTiles2
+ ld de, v0Tiles2
call Func_701e9
call Func_701fe
pop hl
call Func_70214
- ld hl, SGB_70126
+ ld hl, PctTrnPacket
call Func_70177
pop de
pop bc
@@ -139,8 +152,9 @@ Func_700fe: ; 700fe (1c:40fe)
ret
; PCT_TRN: read tile map & palette data into VRAM (from SNES $000-$87F)
-SGB_70126: ; 70126 (1c:4126)
- INCROM $70126, $70136
+PctTrnPacket: ; 70126 (1c:4126)
+ sgb PCT_TRN, 1 ; sgb_command, length
+ ds $0f
Func_70136: ; 70136 (1c:4136)
push hl
@@ -155,7 +169,7 @@ Func_70136: ; 70136 (1c:4136)
ld a, [wLCDC]
ld [wd420], a
di
- ld hl, SGB_MASK_EN_ON_701a0
+ ld hl, MaskEnPacket_Freeze_Bank1c
call SendSGB
call DisableLCD
ld a, [wLCDC]
@@ -164,7 +178,7 @@ Func_70136: ; 70136 (1c:4136)
ld [wLCDC], a
ld a, $e4
ld [rBGP], a
- call Func_040c
+ call SetBGP
xor a
ldh [hSCX], a
ld [rSCX], a
@@ -188,7 +202,7 @@ Func_70177: ; 70177 (1c:4177)
ld a, [wd41e]
ldh [hSCY], a
ld a, [wd41f]
- call Func_040c
+ call SetBGP
ld a, [wd420]
ld [wLCDC], a
call DisableLCD
@@ -199,12 +213,16 @@ Func_70177: ; 70177 (1c:4177)
ret
; MASK_EN on
-SGB_MASK_EN_ON_701a0: ; 701a0 (1c:41a0)
- INCROM $701a0, $701b0
+MaskEnPacket_Freeze_Bank1c: ; 701a0 (1c:41a0)
+ sgb MASK_EN, 1 ; sgb_command, length
+ db MASK_EN_FREEZE_SCREEN
+ ds $0e
; MASK_EN off
-SGB_MASK_EN_OFF_701b0: ; 701b0 (1c:41b0)
- INCROM $701b0, $701c0
+MaskEnPacket_Cancel_Bank1c: ; 701b0 (1c:41b0)
+ sgb MASK_EN, 1 ; sgb_command, length
+ db MASK_EN_CANCEL_MASK
+ ds $0e
Func_701c0: ; 701c0 (1c:41c0)
push hl
@@ -212,7 +230,7 @@ Func_701c0: ; 701c0 (1c:41c0)
call DisableLCD
xor a
ld c, $10
- ld hl, vTiles2
+ ld hl, v0Tiles2
.asm_701cb
ld [hli], a
dec c
@@ -221,11 +239,11 @@ Func_701c0: ; 701c0 (1c:41c0)
push af
xor a
ld [wTileMapFill], a
- call Func_04a2
+ call EmptyScreen
pop af
ld [wTileMapFill], a
di
- ld hl, SGB_MASK_EN_OFF_701b0
+ ld hl, MaskEnPacket_Cancel_Bank1c
call SendSGB
ei
pop bc
@@ -251,7 +269,7 @@ Func_701e9: ; 701e9 (1c:41e9)
ret
Func_701fe: ; 701fe (1c:41fe)
- ld hl, vBGMapTiles
+ ld hl, v0BGMapTiles1
ld de, $000c
ld a, $80
ld c, $d
diff --git a/src/engine/bank2.asm b/src/engine/bank2.asm
index fea3d9b..22435ee 100755..100644
--- a/src/engine/bank2.asm
+++ b/src/engine/bank2.asm
@@ -2,7 +2,7 @@
Func_8cd4: ; 8cd4 (2:4cd4)
push bc
- call EnableExtRAM
+ call EnableSRAM
ld b, $3c
.asm_8cda
ld a, [de]
@@ -12,7 +12,7 @@ Func_8cd4: ; 8cd4 (2:4cd4)
jr nz, .asm_8cda
xor a
ld [hl], a
- call DisableExtRAM
+ call DisableSRAM
pop bc
ret
; 0x8ce7
@@ -20,7 +20,7 @@ Func_8cd4: ; 8cd4 (2:4cd4)
INCROM $8ce7, $8cf9
Func_8cf9: ; 8cf9 (2:4cf9)
- call EnableExtRAM
+ call EnableSRAM
xor a
ld hl, $b703
ld [hli], a
@@ -29,7 +29,7 @@ Func_8cf9: ; 8cf9 (2:4cf9)
ld [hli], a
ld [hl], a
ld [$b701], a
- call DisableExtRAM
+ call DisableSRAM
Func_8d0b: ; 8d0b (2:4d0b)
ld hl, Unknown_8d15
ld de, $9380
@@ -42,8 +42,8 @@ Unknown_8d15: ; 8d15 (2:4d15)
Func_8d56: ; 8d56 (2:4d56)
xor a
ld [wTileMapFill], a
- call Func_04a2
- call Func_099c
+ call EmptyScreen
+ call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
call Func_2119
@@ -58,7 +58,7 @@ Func_8d56: ; 8d56 (2:4d56)
INCROM $8d78, $8d9d
Func_8d9d: ; 8d9d (2:4d9d)
- ld de, $cfd1
+ ld de, wcfd1
ld b, $7
.asm_8da2
ld a, [hli]
@@ -116,9 +116,9 @@ Func_8dea: ; 8dea (2:4dea)
Func_8e05: ; 8e05 (2:4e05)
ld a, $1
call Func_90fb
- call Func_9048
+ call GetPointerToDeckCards
push hl
- call Func_9038
+ call GetPointerToDeckName
pop de
call Func_8e1f
ld a, $ff
@@ -129,17 +129,17 @@ Func_8e05: ; 8e05 (2:4e05)
Func_8e1f: ; 8e1f (2:4e1f)
push de
- ld de, $cfb9
+ ld de, wcfb9
call Func_92b4
pop de
- ld hl, $cf17
+ ld hl, wcf17
call Func_8cd4
ld a, $9
- ld hl, $cebb
+ ld hl, wcebb
call Func_9843
ld a, $3c
ld [wcecc], a
- ld hl, $cebb
+ ld hl, wcebb
ld [hl], a
call Func_9e41
ret
@@ -165,27 +165,27 @@ Func_8e42: ; 8e42 (2:4e42)
ld a, [wceb0]
or a
jp nz, .asm_8ecf
- call Func_9048
+ call GetPointerToDeckCards
ld e, l
ld d, h
- ld hl, $cf17
+ ld hl, wcf17
call Func_8cd4
ld a, $14
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_9843
- ld de, $cfb9
- call Func_9038
+ ld de, wcfb9
+ call GetPointerToDeckName
call Func_92b4
call Func_9345
jr nc, .asm_8ec4
- call EnableExtRAM
- ld hl, $cf17
+ call EnableSRAM
+ ld hl, wcf17
call Func_910a
- call Func_9048
+ call GetPointerToDeckCards
call Func_9152
ld e, l
ld d, h
- ld hl, $cf17
+ ld hl, wcf17
ld b, $3c
.asm_8ea9
ld a, [hli]
@@ -193,14 +193,14 @@ Func_8e42: ; 8e42 (2:4e42)
inc de
dec b
jr nz, .asm_8ea9
- call Func_9038
+ call GetPointerToDeckName
ld d, h
ld e, l
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_92ad
- call Func_9038
+ call GetPointerToDeckName
ld a, [hl]
- call DisableExtRAM
+ call DisableSRAM
or a
jr z, .asm_8edb
.asm_8ec4
@@ -215,16 +215,16 @@ Func_8e42: ; 8e42 (2:4e42)
jp Func_8dbc
.asm_8edb
ld a, $14
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_9843
- ld de, $cfb9
- call Func_9038
+ ld de, wcfb9
+ call GetPointerToDeckName
call Func_92b4
call Func_8f05
- call Func_9038
+ call GetPointerToDeckName
ld d, h
ld e, l
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_92b4
ld a, $ff
call Func_9168
@@ -252,7 +252,7 @@ Func_8f05: ; 8f05 (2:4f05)
.asm_8f23
ld a, $14
ld bc, $0401
- ld de, $cfb9
+ ld de, wcfb9
farcall Func_1ad89
ld a, [wcfb9]
or a
@@ -262,14 +262,14 @@ Func_8f05: ; 8f05 (2:4f05)
Func_8f38: ; 8f38 (2:4f38)
ld hl, $b701
- call EnableExtRAM
+ call EnableSRAM
ld a, [hli]
ld h, [hl]
- call DisableExtRAM
+ call DisableSRAM
ld l, a
- ld de, wc590
+ ld de, wDefaultText
call Func_0663
- ld hl, $cfb9
+ ld hl, wcfb9
ld [hl], $6
inc hl
ld [hl], $44
@@ -294,7 +294,7 @@ Func_8f38: ; 8f38 (2:4f38)
xor a
ld [hl], a
ld hl, $b701
- call EnableExtRAM
+ call EnableSRAM
ld e, [hl]
inc hl
ld d, [hl]
@@ -310,7 +310,7 @@ Func_8f38: ; 8f38 (2:4f38)
ld [hl], d
dec hl
ld [hl], e
- call DisableExtRAM
+ call DisableSRAM
ret
Func_8f8a: ; 8f8a (2:4f8a)
@@ -323,31 +323,31 @@ Func_8f8a: ; 8f8a (2:4f8a)
jp Func_8dbc
Func_8f9d: ; 8f9d (2:4f9d)
- call EnableExtRAM
+ call EnableSRAM
ld a, [$b700]
- call DisableExtRAM
+ call DisableSRAM
ld h, $3
ld l, a
call HtimesL
ld e, l
inc e
- ld d, $2
+ ld d, 2
xor a
- ld hl, $0000
- ld bc, $0202
- call Func_1f5f
+ lb hl, 0, 0
+ lb bc, 2, 2
+ call FillRectangle
ld a, [wceb1]
- call EnableExtRAM
+ call EnableSRAM
ld [$b700], a
- call DisableExtRAM
+ call DisableSRAM
call Func_9326
- call Func_9038
- call EnableExtRAM
+ call GetPointerToDeckName
+ call EnableSRAM
call Func_9253
- call DisableExtRAM
+ call DisableSRAM
xor a
- ld [wce3f], a
- ld [wce40], a
+ ld [wTxRam2], a
+ ld [wTxRam2 + 1], a
ldtx hl, ChosenAsDuelingDeckText
call DrawWideTextBox_WaitForInput
ld a, [wceb1]
@@ -361,7 +361,7 @@ Func_8fe8: ; 8fe8 (2:4fe8)
Func_8ff2: ; 8ff2 (2:4ff2)
ld a, [wceb1]
- ld hl, $ceb2
+ ld hl, wceb2
ld b, $0
ld c, a
add hl, bc
@@ -380,25 +380,27 @@ Func_9026: ; 9026 (2:5026)
Unknown_9027: ; 9027 (2:5027)
INCROM $9027, $9038
-Func_9038: ; 9038 (2:5038)
+; return, in hl, the pointer to sDeckXName where X is [wceb1] + 1
+GetPointerToDeckName: ; 9038 (2:5038)
ld a, [wceb1]
ld h, a
- ld l, $54
+ ld l, sDeck2Name - sDeck1Name
call HtimesL
push de
- ld de, $a200
+ ld de, sDeck1Name
add hl, de
pop de
ret
-Func_9048: ; 9048 (2:5048)
+; return, in hl, the pointer to sDeckXCards where X is [wceb1] + 1
+GetPointerToDeckCards: ; 9048 (2:5048)
push af
ld a, [wceb1]
ld h, a
- ld l, $54
+ ld l, sDeck2Cards - sDeck1Cards
call HtimesL
push de
- ld de, $a218
+ ld de, sDeck1Cards
add hl, de
pop de
pop af
@@ -473,7 +475,7 @@ Func_9065: ; 9065 (2:5065)
jr z, .asm_90ca
call PlaySFX
.asm_90ca
- ld hl, $cea3
+ ld hl, wcea3
ld a, [hl]
inc [hl]
and $f
@@ -529,7 +531,7 @@ Func_910a: ; 910a (2:510a)
jr z, .asm_911e
ld c, a
push hl
- ld hl, $a100
+ ld hl, sCardCollection
add hl, bc
dec [hl]
pop hl
@@ -552,7 +554,7 @@ Func_9152: ; 9152 (2:5152)
jr z, .asm_9166
ld c, a
push hl
- ld hl, $a100
+ ld hl, sCardCollection
add hl, bc
inc [hl]
pop hl
@@ -580,16 +582,16 @@ Func_9168: ; 9168 (2:5168)
ld hl, Unknown_9242
call Func_2c08
ld a, $4
- ld hl, $ceb2
+ ld hl, wceb2
call Func_9843
ld a, [hffb5]
bit 0, a
jr z, .asm_91b0
- ld hl, $a200
+ ld hl, sDeck1Name
ld de, $0602
call Func_926e
.asm_91b0
- ld hl, $a218
+ ld hl, sDeck1Cards
call Func_9314
jr c, .asm_91bd
ld a, $1
@@ -598,11 +600,11 @@ Func_9168: ; 9168 (2:5168)
ld a, [hffb5]
bit 1, a
jr z, .asm_91cd
- ld hl, $a254
+ ld hl, sDeck2Name
ld de, $0605
call Func_926e
.asm_91cd
- ld hl, $a26c
+ ld hl, sDeck2Cards
call Func_9314
jr c, .asm_91da
ld a, $1
@@ -611,11 +613,11 @@ Func_9168: ; 9168 (2:5168)
ld a, [hffb5]
bit 2, a
jr z, .asm_91ea
- ld hl, $a2a8
+ ld hl, sDeck3Name
ld de, $0608
call Func_926e
.asm_91ea
- ld hl, $a2c0
+ ld hl, sDeck3Cards
call Func_9314
jr c, .asm_91f7
ld a, $1
@@ -624,23 +626,23 @@ Func_9168: ; 9168 (2:5168)
ld a, [hffb5]
bit 3, a
jr z, .asm_9207
- ld hl, $a2fc
+ ld hl, sDeck4Name
ld de, $060b
call Func_926e
.asm_9207
- ld hl, $a314
+ ld hl, sDeck4Cards
call Func_9314
jr c, .asm_9214
ld a, $1
ld [wceb5], a
.asm_9214
- call EnableExtRAM
+ call EnableSRAM
ld a, [$b700]
ld c, a
ld b, $0
ld d, $2
.asm_921f
- ld hl, $ceb2
+ ld hl, wceb2
add hl, bc
ld a, [hl]
or a
@@ -656,7 +658,7 @@ Func_9168: ; 9168 (2:5168)
.asm_9234
ld a, c
ld [$b700], a
- call DisableExtRAM
+ call DisableSRAM
call Func_9326
call EnableLCD
ret
@@ -665,12 +667,12 @@ Unknown_9242: ; 9242 (2:5242)
INCROM $9242, $9253
Func_9253: ; 9253 (2:5253)
- ld de, wc590
+ ld de, wDefaultText
call Func_92ad
- ld hl, wc590
+ ld hl, wDefaultText
call Func_23c1
ld b, $0
- ld hl, wc590
+ ld hl, wDefaultText
add hl, bc
ld d, h
ld e, l
@@ -684,19 +686,19 @@ Func_926e: ; 926e (2:526e)
pop hl
jr c, .asm_929c
push de
- ld de, wc590
+ ld de, wDefaultText
call Func_92b4
- ld hl, wc590
+ ld hl, wDefaultText
call Func_23c1
ld b, $0
- ld hl, wc590
+ ld hl, wDefaultText
add hl, bc
ld d, h
ld e, l
ld hl, Unknown_92a7
call Func_92ad
pop de
- ld hl, wc590
+ ld hl, wDefaultText
call Func_22ae
call Func_21c5
or a
@@ -720,9 +722,9 @@ Func_92ad: ; 92ad (2:52ad)
jr Func_92ad
Func_92b4: ; 92b4 (2:52b4)
- call EnableExtRAM
+ call EnableSRAM
call Func_92ad
- call DisableExtRAM
+ call DisableSRAM
ret
; 0x92be
@@ -731,9 +733,9 @@ Func_92b4: ; 92b4 (2:52b4)
Func_9314: ; 9314 (2:5314)
ld bc, $0018
add hl, bc
- call EnableExtRAM
+ call EnableSRAM
ld a, [hl]
- call DisableExtRAM
+ call DisableSRAM
or a
jr nz, .asm_9324
scf
@@ -743,19 +745,19 @@ Func_9314: ; 9314 (2:5314)
ret
Func_9326: ; 9326 (2:5326)
- call EnableExtRAM
+ call EnableSRAM
ld a, [$b700]
- call DisableExtRAM
- ld h, $3
+ call DisableSRAM
+ ld h, 3
ld l, a
call HtimesL
ld e, l
inc e
- ld d, $2
+ ld d, 2
ld a, $38
- ld hl, $0102
- ld bc, $0202
- call Func_1f5f
+ lb hl, 1, 2
+ lb bc, 2, 2
+ call FillRectangle
ret
Func_9345: ; 9345 (2:5345)
@@ -787,33 +789,33 @@ Func_b177: ; b177 (2:7177)
Func_b19d: ; b19d (2:719d)
xor a
- ld [$cea1], a
+ ld [wcea1], a
ld de, CheckForCGB
- ld hl, $d0a2
+ ld hl, wd0a2
ld [hl], e
inc hl
ld [hl], d
call $7379
ld a, $3c
- ld [$d0a5], a
+ ld [wd0a5], a
xor a
.asm_b1b3
ld hl, $76fb
call $5a6d
call $7704
call $7545
- ld hl, $0224
+ ldtx hl, PleaseSelectDeckText
call DrawWideTextBox_PrintText
- ld de, $0224
+ ld de, $0224 ; PleaseSelectDeckText?
call $7285
call $729f
jr c, .asm_b1b3
cp $ff
ret z
ld b, a
- ld a, [$cea1]
+ ld a, [wcea1]
add b
- ld [$d088], a
+ ld [wd088], a
call Func_905a
call DrawWideTextBox
ld hl, $7274
@@ -823,7 +825,7 @@ Func_b19d: ; b19d (2:719d)
jp nc, $71e7
cp $ff
jr nz, .asm_b1fa
- ld a, [$d086]
+ ld a, [wd086]
jp $71b3
.asm_b1fa
@@ -836,17 +838,17 @@ Func_b19d: ; b19d (2:719d)
call $735b
jr nc, .asm_b216
call $7592
- ld a, [$d086]
+ ld a, [wd086]
jp c, $71b3
jr .asm_b25e
.asm_b216
ld hl, $0272
call YesOrNoMenuWithText
- ld a, [$d086]
+ ld a, [wd086]
jr c, .asm_b1b3
call $7592
- ld a, [$d086]
+ ld a, [wd086]
jp c, $71b3
jr .asm_b25e
@@ -856,14 +858,14 @@ Func_b19d: ; b19d (2:719d)
call $735b
jr c, .asm_b240
call $76ca
- ld a, [$d086]
+ ld a, [wd086]
jp c, $71b3
jr .asm_b25e
.asm_b240
ld hl, WaitForVBlank
call DrawWideTextBox_WaitForInput
- ld a, [$d086]
+ ld a, [wd086]
jp $71b3
.asm_b24c
@@ -872,16 +874,16 @@ Func_b19d: ; b19d (2:719d)
call $735b
jr c, .asm_b240
call $77c6
- ld a, [$d086]
+ ld a, [wd086]
jp nc, $71b3
.asm_b25e
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7379
call $7704
call $7545
- ld a, [$d086]
+ ld a, [wd086]
jp $71b3
.asm_b273
@@ -897,47 +899,47 @@ Func_ba04: ; ba04 (2:7a04)
ld c, a
ld b, $0
add hl, bc
- ld de, $d0a2
+ ld de, wd0a2
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
xor a
- ld [$cea1], a
+ ld [wcea1], a
call $7b97
ld a, $5
- ld [$d0a5], a
+ ld [wd0a5], a
xor a
ld hl, $7b6e
call InitializeCursorParameters
- ld hl, $0224
+ ldtx hl, PleaseSelectDeckText
call DrawWideTextBox_PrintText
ld a, $5
- ld [$cea9], a
+ ld [wcea9], a
ld hl, $73fe
ld d, h
ld a, l
- ld hl, $cece
+ ld hl, wcece
ld [hli], a
ld [hl], d
.asm_ba40
call DoFrame
call HandleMenuInput
jr c, .asm_baa3
- ld a, [$ff8f]
- and $c0
+ ldh a, [hButtonsPressed2]
+ and D_UP | D_DOWN
jr z, .asm_ba4e
.asm_ba4e
- ld a, [$ff8f]
- and $8
+ ldh a, [hButtonsPressed2]
+ and START
jr z, .asm_ba40
- ld a, [$cea1]
- ld [$d087], a
+ ld a, [wcea1]
+ ld [wd087], a
ld b, a
ld a, [wCurMenuItem]
- ld [$d086], a
+ ld [wd086], a
add b
ld c, a
inc a
@@ -945,7 +947,7 @@ Func_ba04: ; ba04 (2:7a04)
ld [wceb1], a
sla c
ld b, $0
- ld hl, $d00d
+ ld hl, wd00d
add hl, bc
call $7653
ld a, [hli]
@@ -966,25 +968,25 @@ Func_ba04: ; ba04 (2:7a04)
call $7653
call Func_8e1f
call $7644
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7b97
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
.asm_baa3
call DrawCursor2
- ld a, [$cea1]
- ld [$d087], a
+ ld a, [wcea1]
+ ld [wd087], a
ld a, [wCurMenuItem]
- ld [$d086], a
- ld a, [$ffb1]
+ ld [wd086], a
+ ldh a, [hCurrentMenuItem]
cp $ff
jp z, $7b0d
- ld [$d088], a
+ ld [wd088], a
call Func_905a
xor a
- ld [$ce5e], a
+ ld [wce5e], a
call DrawWideTextBox
ld hl, $7b76
call Func_2c08
@@ -993,7 +995,7 @@ Func_ba04: ; ba04 (2:7a04)
jp nc, $7acc
cp $ff
jr nz, .asm_badf
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
.asm_badf
@@ -1006,38 +1008,38 @@ Func_ba04: ; ba04 (2:7a04)
call $7653
call $77c6
call $7644
- ld a, [$d086]
+ ld a, [wd086]
jp nc, $7a25
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7b97
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
.asm_bb09
cp $1
jr nz, .asm_bb12
xor a
- ld [$d0a4], a
+ ld [wd0a4], a
ret
.asm_bb12
- ld a, [$cea1]
- ld [$d087], a
+ ld a, [wcea1]
+ ld [wd087], a
ld b, a
ld a, [wCurMenuItem]
- ld [$d086], a
+ ld [wd086], a
add b
ld c, a
ld [wceb1], a
sla c
ld b, $0
- ld hl, $d00d
+ ld hl, wd00d
add hl, bc
push hl
- ld hl, $d0aa
+ ld hl, wd0aa
add hl, bc
- ld bc, $cfda
+ ld bc, wcfda
ld a, [hli]
ld [bc], a
inc bc
@@ -1064,10 +1066,10 @@ Func_ba04: ; ba04 (2:7a04)
xor a
call $6dfe
call $7644
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7b97
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
; 0xbb6e
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm
index b551e73..5a0367c 100755..100644
--- a/src/engine/bank20.asm
+++ b/src/engine/bank20.asm
@@ -5,9 +5,9 @@ Func_80028: ; 80028 (20:4028)
call Func_801f1
ld bc, $0000
call Func_80077
- farcallx $3, $49c7
+ farcall $3, $49c7
call $41a1
- farcallx $3, $43ee
+ farcall $3, $43ee
ret
; 0x8003d
@@ -15,11 +15,11 @@ Func_80028: ; 80028 (20:4028)
Func_80077: ; 80077 (20:4077)
ld a, $1
- ld [$d292], a
+ ld [wd292], a
jr .asm_80082
xor a
- ld [$d292], a
+ ld [wd292], a
.asm_80082
push hl
@@ -32,22 +32,22 @@ Func_80077: ; 80077 (20:4077)
ld [hl], d
call $43b9
ld a, [wd4c6]
- ld [$d23d], a
- ld de, $d23e
+ ld [wd23d], a
+ ld de, wd23e
ld bc, $0006
call Func_3bf5
ld l, e
ld h, d
ld a, [hli]
- ld [$d12f], a
+ ld [wd12f], a
ld a, [hli]
- ld [$d130], a
+ ld [wd130], a
ld a, [hli]
- ld [$d23a], a
+ ld [wd23a], a
ld a, [hli]
- ld [$d23b], a
+ ld [wd23b], a
ld a, [hli]
- ld [$d23c], a
+ ld [wd23c], a
call $40bd
pop de
pop bc
@@ -61,12 +61,12 @@ Func_801a1: ; 801a1 (20:41a1)
push hl
push bc
push de
- ld a, [$ff81]
+ ldh a, [hBankSRAM]
push af
ld a, $1
- call BankswitchRAM
- ld hl, vEnd
- ld de, vBGMapTiles
+ call BankswitchSRAM
+ ld hl, v0End
+ ld de, v0BGMapTiles1
ld c, $20
.asm_801b4
push bc
@@ -83,10 +83,10 @@ Func_801a1: ; 801a1 (20:41a1)
push de
ld bc, $0400
add hl, bc
- call BankswitchVRAM_1
+ call BankswitchVRAM1
ld b, $20
call SafeCopyDataHLtoDE
- call BankswitchVRAM_0
+ call BankswitchVRAM0
.asm_801d6
pop hl
@@ -101,8 +101,8 @@ Func_801a1: ; 801a1 (20:41a1)
dec c
jr nz, .asm_801b4
pop af
- call BankswitchRAM
- call DisableExtRAM
+ call BankswitchSRAM
+ call DisableSRAM
pop de
pop bc
pop hl
@@ -111,17 +111,17 @@ Func_801a1: ; 801a1 (20:41a1)
Func_801f1: ; 801f1 (20:41f1)
push hl
push bc
- ld a, [$ff81]
+ ldh a, [hBankSRAM]
push af
ld a, $1
- call BankswitchRAM
+ call BankswitchSRAM
ld hl, $a000
ld bc, $0800
xor a
call $3c10
pop af
- call BankswitchRAM
- call DisableExtRAM
+ call BankswitchSRAM
+ call DisableSRAM
pop bc
pop hl
ret
@@ -188,18 +188,18 @@ asm_8027c
ld b, a
ld a, [wd4c7]
ld c, a
- ld hl, $d4c2
+ ld hl, wd4c2
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, $d4c4
+ ld hl, wd4c4
ld a, [hli]
ld h, [hl]
ld l, a
inc hl
inc hl
call Func_395a
- call BankswitchVRAM_0
+ call BankswitchVRAM0
pop de
pop bc
pop hl
@@ -251,7 +251,7 @@ Func_80b7a: ; 80b7a (20:4b7a)
Func_80ba4: ; 80ba4 (20:4ba4)
push af
xor a
- ld [$d292], a
+ ld [wd292], a
pop af
push hl
push bc
@@ -259,15 +259,15 @@ Func_80ba4: ; 80ba4 (20:4ba4)
ld c, a
ld a, [wd131]
push af
- ld a, [$d23d]
+ ld a, [wd23d]
push af
- ld a, [$d12f]
+ ld a, [wd12f]
push af
- ld a, [$d130]
+ ld a, [wd130]
push af
- ld a, [$d23a]
+ ld a, [wd23a]
push af
- ld a, [$d23b]
+ ld a, [wd23b]
push af
ld b, $0
ld hl, wd323
@@ -296,7 +296,7 @@ Func_80ba4: ; 80ba4 (20:4ba4)
ld a, [hl]
ld [wd131], a
push bc
- farcallx $20, $4082
+ farcall $20, $4082
pop bc
srl b
ld a, c
@@ -308,17 +308,17 @@ Func_80ba4: ; 80ba4 (20:4ba4)
ld b, $0
ld hl, wBoosterViableCardList
add hl, bc
- farcallx $3, $438f
+ farcall $3, $438f
pop af
- ld [$d23b], a
+ ld [wd23b], a
pop af
- ld [$d23a], a
+ ld [wd23a], a
pop af
- ld [$d130], a
+ ld [wd130], a
pop af
- ld [$d12f], a
+ ld [wd12f], a
pop af
- ld [$d23d], a
+ ld [wd23d], a
pop af
ld [wd131], a
pop de
diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm
index 563a667..1fc8f11 100755..100644
--- a/src/engine/bank3.asm
+++ b/src/engine/bank3.asm
@@ -1,17 +1,17 @@
LoadMap: ; c000 (3:4000)
call DisableLCD
- call EnableExtRAM
+ call EnableSRAM
bank1call Func_6785
- call DisableExtRAM
- ld a, $0
- ld [wd0b5], a
+ call DisableSRAM
+ ld a, GAME_EVENT_OVERWORLD
+ ld [wGameEvent], a
xor a
ld [wd10f], a
ld [wd110], a
ld [wMatchStartTheme], a
farcall Func_10a9b
call Func_c1a4
- call Func_099c
+ call InitSpritePositions
xor a
ld [wTileMapFill], a
call Func_2119
@@ -24,7 +24,7 @@ LoadMap: ; c000 (3:4000)
farcall Func_10ab4
call Func_c1a4
call Func_c241
- call Func_04a2
+ call EmptyScreen
call Func_3ca0
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
@@ -55,12 +55,12 @@ LoadMap: ; c000 (3:4000)
call DoFrameIfLCDEnabled
call SetScreenScroll
call Func_c0ce
- ld hl, $d0b4
+ ld hl, wd0b4
ld a, [hl]
and $d0
jr z, .asm_c092
call DoFrameIfLCDEnabled
- ld hl, $d0b4
+ ld hl, wd0b4
ld a, [hl]
bit 4, [hl]
jr z, .asm_c0b6
@@ -83,9 +83,9 @@ Func_c0ce: ; c0ce (3:40ce)
ld a, [wd0bf]
res 7, a
rlca
- add PointerTable_c0e0 & $ff
+ add LOW(PointerTable_c0e0)
ld l, a
- ld a, PointerTable_c0e0 >> $8
+ ld a, HIGH(PointerTable_c0e0)
adc $0
ld h, a
ld a, [hli]
@@ -120,7 +120,7 @@ Func_c0f1: ; c0f1 (3:40f1)
jr Func_c10a
Func_c10a: ; c10a (3:410a)
- ld hl, $d0c6
+ ld hl, wd0c6
ld a, [hli]
ld h, [hl]
ld l, a
@@ -147,13 +147,13 @@ CloseDialogueBox: ; c111 (3:4111)
Func_c135: ; c135 (3:4135)
push hl
farcall Func_80028
- ld hl, $d0c1
+ ld hl, wd0c1
res 0, [hl]
pop hl
ret
Func_c141: ; c141 (3:4141)
- ld hl, $d0c2
+ ld hl, wd0c2
ld a, [hl]
or a
ret z
@@ -219,11 +219,11 @@ Func_c1a0: ; c1a0 (3:41a0)
Func_c1a4: ; c1a4 (3:41a4)
xor a
- call Func_040c
+ call SetBGP
xor a
- call Set_OBP0
+ call SetOBP0
xor a
- call Set_OBP1
+ call SetOBP1
ret
Func_c1b1: ; c1b1 (3:41b1)
@@ -266,12 +266,12 @@ Func_c1f8: ; c1f8 (3:41f8)
ld [wd111], a
ld [wd112], a
ld [wd3b8], a
- call EnableExtRAM
- ld a, [$a007]
+ call EnableSRAM
+ ld a, [sa007]
ld [wd421], a
- ld a, [$a006]
+ ld a, [sa006]
ld [wTextSpeed], a
- call DisableExtRAM
+ call DisableSRAM
farcall Func_10756
ret
@@ -299,22 +299,22 @@ Func_c241: ; c241 (3:4241)
ret
Func_c251: ; c251 (3:4251)
- ldh a, [$ffb0]
+ ldh a, [hffb0]
push af
ld a, $1
jr asm_c25d
Func_c258: ; c258 (3:4258)
- ldh a, [$ffb0]
+ ldh a, [hffb0]
push af
ld a, $2
asm_c25d
- ldh [$ffb0], a
+ ldh [hffb0], a
push hl
call Func_c268
pop hl
pop af
- ldh [$ffb0], a
+ ldh [hffb0], a
ret
Func_c268: ; c268 (3:4268)
@@ -341,7 +341,7 @@ Unknown_c27c: ; c27c (3:427c)
Func_c280: ; c280 (3:4280)
call Func_c228
call Func_3ca0
- call Func_099c
+ call InitSpritePositions
ld hl, wVBlankOAMCopyToggle
inc [hl]
call EnableLCD
@@ -352,7 +352,7 @@ Func_c280: ; c280 (3:4280)
Func_c29b: ; c29b (3:429b)
push hl
- ld hl, $d0c1
+ ld hl, wd0c1
or [hl]
ld [hl], a
pop hl
@@ -370,7 +370,7 @@ Func_c2a3: ; c2a3 (3:42a3)
call Func_2275
farcall Func_12ba7
call Func_3ca0
- call Func_099c
+ call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
call EnableLCD
@@ -397,20 +397,20 @@ Func_c2db: ; c2db (3:42db)
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
call Func_c241
- call Func_04a2
+ call EmptyScreen
ld a, [wd111]
push af
farcall Func_80000
pop af
ld [wd111], a
- ld hl, $d0c1
+ ld hl, wd0c1
res 0, [hl]
call Func_c34e
farcall Func_12c5e
farcall Func_1c6f8
- ld hl, $d0c1
+ ld hl, wd0c1
res 7, [hl]
- ld hl, $d10f
+ ld hl, wd10f
ld a, [hli]
or [hl]
jr z, .asm_c323
@@ -437,9 +437,9 @@ Func_c335: ; c335 (3:4335)
ld [wd10c], a
ld a, [wOBP1]
ld [wd10d], a
- ld hl, $cb30
- ld de, $d0cc
- ld bc, $0040
+ ld hl, wObjectPalettesCGB
+ ld de, wd0cc
+ ld bc, 8 * CGB_PAL_SIZE
call CopyDataHLtoDE_SaveRegisters
ret
@@ -448,11 +448,11 @@ Func_c34e: ; c34e (3:434e)
ld [wOBP0], a
ld a, [wd10d]
ld [wOBP1], a
- ld hl, $d0cc
- ld de, $cb30
- ld bc, $0040
+ ld hl, wd0cc
+ ld de, wObjectPalettesCGB
+ ld bc, 8 * CGB_PAL_SIZE
call CopyDataHLtoDE_SaveRegisters
- call Func_0404
+ call SetFlushAllPalettes
ret
Func_c36a: ; c36a (3:436a)
@@ -580,7 +580,7 @@ Func_c4b9: ; c4b9 (3:44b9)
ld [wd337], a
ld a, $0
farcall Func_1299f
- ld a, [wd4cf]
+ ld a, [wWhichSprite]
ld [wd336], a
ld b, $2
ld a, [wCurMap]
@@ -607,7 +607,7 @@ Func_c4b9: ; c4b9 (3:44b9)
Func_c510: ; c510 (3:4510)
ld a, [wd336]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wd335]
bit 4, a
ret nz
@@ -630,7 +630,7 @@ Func_c510: ; c510 (3:4510)
Func_c53d: ; c53d (3:453d)
ld a, [wd336]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wd335]
bit 0, a
call nz, Func_c687
@@ -641,7 +641,7 @@ Func_c53d: ; c53d (3:453d)
Func_c554: ; c554 (3:4554)
ld a, [wd336]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wCurMap]
cp OVERWORLD_MAP
jr nz, .asm_c566
@@ -656,8 +656,8 @@ Func_c554: ; c554 (3:4554)
ld d, a
ld a, [wSCYBuffer]
ld e, a
- ld c, $2
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_COORD_X
+ call GetSpriteAnimBufferProperty
ld a, [wd332]
sub d
add $8
@@ -680,8 +680,8 @@ Func_c58b: ; c58b (3:458b)
call GetFloorObjectFromPos
and $10
push af
- ld c, $f
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_FIELD_0F
+ call GetSpriteAnimBufferProperty
pop af
ld a, [hl]
jr z, .asm_c5a7
@@ -740,7 +740,7 @@ Unknown_c5e5: ; c5e5 (3:45e5)
Func_c5e9: ; c5e9 (3:45e9)
push bc
ld a, [wd336]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wd337]
ld b, a
ld a, [wd334]
@@ -759,8 +759,8 @@ Func_c5fe: ; c5fe (3:45fe)
StartScriptedMovement: ; c607 (3:4607)
push bc
ld a, [wd336]
- ld [wd4cf], a
- ld a, [$d339]
+ ld [wWhichSprite], a
+ ld a, [wd339]
call FindScriptedMovementWithOffset
call AttemptScriptedMovement
pop bc
@@ -772,13 +772,13 @@ AttemptScriptedMovement: ; c619 (3:4619)
push bc
ld a, b
cp $1f
- jr nc, .quitMovement
+ jr nc, .quit_movement
ld a, c
cp $1f
- jr nc, .quitMovement
+ jr nc, .quit_movement
call GetFloorObjectFromPos
and $40 | $80 ; the two impassable objects found in the floor map
- jr nz, .quitMovement
+ jr nz, .quit_movement
ld a, b
ld [wPlayerXCoord], a
ld a, c
@@ -788,14 +788,14 @@ AttemptScriptedMovement: ; c619 (3:4619)
ld [wd335], a
ld a, $10
ld [wd338], a
- ld c, $f
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_FIELD_0F
+ call GetSpriteAnimBufferProperty
set 2, [hl]
- ld c, $e
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_MOVEMENT_COUNTER
+ call GetSpriteAnimBufferProperty
ld a, $4
ld [hl], a
-.quitMovement
+.quit_movement
pop bc
pop hl
ret
@@ -840,9 +840,9 @@ Func_c66c: ; c66c (3:466c)
Func_c687: ; c687 (3:4687)
push bc
- ld a, [$d33a]
+ ld a, [wd33a]
ld c, a
- ld a, [$d339]
+ ld a, [wd339]
call Func_c694
pop bc
ret
@@ -887,7 +887,7 @@ Func_c694: ; c694 (3:4694)
Func_c6cc: ; c6cc (3:46cc)
push hl
- ld hl, $d332
+ ld hl, wd332
add [hl]
ld [hl], a
pop hl
@@ -895,7 +895,7 @@ Func_c6cc: ; c6cc (3:46cc)
Func_c6d4: ; c6d4 (3:46d4)
push hl
- ld hl, $d333
+ ld hl, wd333
add [hl]
ld [hl], a
pop hl
@@ -917,23 +917,23 @@ Func_c6dc: ; c6dc (3:46dc)
Func_c6f7: ; c6f7 (3:46f7)
ld a, [wd336]
- ld [wd4cf], a
- ld c, $f
- call ModifyUnknownOAMBufferProperty
+ ld [wWhichSprite], a
+ ld c, SPRITE_ANIM_FIELD_0F
+ call GetSpriteAnimBufferProperty
res 2, [hl]
- ld c, $e
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_MOVEMENT_COUNTER
+ call GetSpriteAnimBufferProperty
ld a, $ff
ld [hl], a
ret
Func_c70d: ; c70d (3:470d)
push hl
- ld hl, $d0bb
+ ld hl, wd0bb
ld a, [wCurMap]
cp [hl]
jr z, .asm_c71c
- ld hl, $d0b4
+ ld hl, wd0b4
set 4, [hl]
.asm_c71c
pop hl
@@ -977,8 +977,8 @@ Func_c74d: ; c74d (3:474d)
ret
MainMenu_c75a: ; c75a (3:475a)
- call Func_379b
- ld a, MUSIC_PAUSEMENU
+ call PauseSong
+ ld a, MUSIC_PAUSE_MENU
call PlaySong
call Func_c797
.asm_c765
@@ -1003,7 +1003,7 @@ MainMenu_c75a: ; c75a (3:475a)
call Func_c32b
jr .asm_c765
.asm_c793
- call Func_37a0
+ call ResumeSong
ret
Func_c797: ; c797 (3:4797)
@@ -1057,7 +1057,7 @@ Func_c7e5: ; c7e5 (3:47e5)
ret
PC_c7ea: ; c7ea (3:47ea)
- ld a, MUSIC_PCMAINMENU
+ ld a, MUSIC_PC_MAIN_MENU
call PlaySong
call Func_c241
call $4915
@@ -1105,14 +1105,14 @@ Func_c891: ; c891 (3:4891)
ld a, [wd0c1]
bit 0, a
jr z, .asm_c8a1
- ld hl, $d3b9
+ ld hl, wd3b9
ld a, [hli]
or [hl]
call nz, Func_c135
.asm_c8a1
xor a
- ld hl, $d3b9
+ ld hl, wd3b9
ld [hli], a
ld [hl], a
pop hl
@@ -1132,7 +1132,7 @@ Func_c8ba: ; c8ba (3:48ba)
ld a, [wd0c1]
bit 0, a
jr z, .asm_c8d4
- ld hl, $d3b9
+ ld hl, wd3b9
ld a, [hli]
cp e
jr nz, .asm_c8d1
@@ -1144,7 +1144,7 @@ Func_c8ba: ; c8ba (3:48ba)
call Func_c135
.asm_c8d4
- ld hl, $d3b9
+ ld hl, wd3b9
ld [hl], e
inc hl
ld [hl], d
@@ -1173,7 +1173,7 @@ Func_c8ed: ; c8ed (3:c8ed)
jr z, .asm_c90e
push hl
xor a
- ld hl, $d3b9
+ ld hl, wd3b9
ld [hli], a
ld [hl], a
pop hl
@@ -1210,7 +1210,7 @@ Func_c926: ; c926 (3:4926)
Func_c935: ; c935 (3:4935)
push hl
- ld hl, $d0c6
+ ld hl, wd0c6
ld [hl], c
inc hl
ld [hl], b
@@ -1233,7 +1233,7 @@ Func_c943: ; c943 (3:4943)
ld [wd4c5], a
ld a, $4
ld [wd4c6], a
- ld de, $d3ab
+ ld de, wd3ab
ld bc, $0006
call Func_3bf5
ld a, [wd3ab]
@@ -1524,15 +1524,15 @@ Func_cad8: ; cad8 (3:4ad8)
.asm_caff
ld a, $c
- farcallx $4, $4a70
+ farcall $4, $4a70
.asm_cb05
ld a, $b
- farcallx $4, $4a70
+ farcall $4, $4a70
.asm_cb0b
ld a, $a
- farcallx $4, $4a70
+ farcall $4, $4a70
.asm_cb11
pop af
@@ -1627,7 +1627,7 @@ IncreaseOWScriptPointer: ; cc7a (3:4c7a)
add c
ld [wOWScriptPointer], a
ld a, [wOWScriptPointer+1]
- adc a, 00
+ adc 0
ld [wOWScriptPointer+1], a
ret
@@ -1669,12 +1669,12 @@ GetOWSArgsAfterPointer: ; cca0 (3:4ca0)
Func_ccb3: ; ccb3 (3:4cb3)
ld a, $ff
- ld [$d415], a
+ ld [wd415], a
ret
Func_ccb9: ; ccb9 (3:4cb9)
xor a
- ld [$d415], a
+ ld [wd415], a
ret
OWScript_EndScriptLoop1: ; ccbe (3:4cbe)
@@ -1724,7 +1724,7 @@ OWScript_AskQuestionJump: ; cce9 (3:4ce9)
ld h, b
call Func_c8ed
ld a, [hCurrentMenuItem]
- ld [$d415], a
+ ld [wd415], a
jr c, .asm_ccfe
call GetOWSArgs3AfterPointer
jr z, .asm_ccfe
@@ -1745,7 +1745,7 @@ OWScript_StartBattle: ; cd01 (3:4d01)
ld a, [wcc19]
cp $ff
jr nz, .asm_cd26
- ld a, [$d695]
+ ld a, [wd695]
ld c, a
ld b, $0
ld hl, $4d63
@@ -1759,25 +1759,25 @@ OWScript_StartBattle: ; cd01 (3:4d01)
ld a, [hl]
asm_cd2f
ld [wd0c4], a
- ld [$cc14], a
+ ld [wcc14], a
push af
farcall Func_1c557
ld [wd0c5], a
pop af
farcall Func_118a7
- ld a, $1
- ld [wd0b5], a
+ ld a, GAME_EVENT_DUEL
+ ld [wGameEvent], a
ld hl, wd0b4
set 6, [hl]
jp IncreaseOWScriptPointerBy4
Func_cd4f: ; cd4f (3:4d4f)
call Func_cd66
- ld a, [$d696]
+ ld a, [wd696]
farcall Func_118bf
ld a, $16
ld [wMatchStartTheme], a
- ld a, [$d696]
+ ld a, [wd696]
jr asm_cd2f
Unknown_dd63: ; cd4f (3:4d4f)
@@ -1794,14 +1794,14 @@ Func_cd66: ; cd66 (3:4d66)
ret
Func_cd76: ; cd76 (3:4d76)
- ld a, $2
- ld [wd0b5], a
+ ld a, GAME_EVENT_BATTLE_CENTER
+ ld [wGameEvent], a
ld hl, wd0b4
set 6, [hl]
jp IncreaseOWScriptPointerBy1
Func_cd83: ; cd83 (3:4d83)
- ld a, [$d415]
+ ld a, [wd415]
or a
jr nz, .asm_cd8c
call GetOWSArgs3AfterPointer
@@ -1826,7 +1826,7 @@ Unknown_cd98:
jp IncreaseOWScriptPointerBy7
Func_cda8: ; cda8 (3:4da8)
- ld a, [$d415]
+ ld a, [wd415]
or a
jr nz, .asm_cdb1
call GetOWSArgs3AfterPointer
@@ -1859,7 +1859,7 @@ Func_cdd8: ; cdd8 (3:4dd8)
push af
ld a, [wd3ab]
push af
- ld a, [$d696]
+ ld a, [wd696]
ld [wd3ab], a
call Func_39c3
call Func_4dd1
@@ -1874,14 +1874,14 @@ Func_cdf5: ; cdf5 (3:4df5)
push af
ld a, [wd3ab]
push af
- ld a, [$d696]
+ ld a, [wd696]
ld [wd3ab], a
ld a, c
- ld [$d3ac], a
+ ld [wd3ac], a
ld a, b
- ld [$d3ad], a
+ ld [wd3ad], a
ld a, $2
- ld [$d3ae], a
+ ld [wd3ae], a
ld a, [wd3ab]
farcall Func_11857
farcall Func_1c485
@@ -1923,7 +1923,7 @@ Func_ce52: ; ce52 (3:4e52)
push af
ld a, [wd3ab]
push af
- ld a, [$d696]
+ ld a, [wd696]
asm_ce5d
ld [wd3ab], a
call Func_39c3
@@ -1952,7 +1952,7 @@ Func_ce84: ; ce84 (3:4e84)
call Func_c135
jp IncreaseOWScriptPointerBy1
-; args: booster pack index, booster pack index, boosterpack index
+; args: booster pack index, booster pack index, booster pack index
OWScript_GiveBoosterPacks: ; ce8a (3:4e8a)
xor a
ld [wd117], a
@@ -2008,7 +2008,7 @@ Func_cee2: ; cee2 (3:4ee2)
jr z, .asm_cf09
or a
jr nz, .asm_cef0
- ld a, [$d697]
+ ld a, [wd697]
.asm_cef0
push af
@@ -2027,12 +2027,12 @@ Func_cee2: ; cee2 (3:4ee2)
Func_cf0c: ; cf0c (3:4f0c)
ld a, c
- call Func_1ce1
+ call GetCardCountInCollectionAndDecks
jr asm_cf16
Func_cf12: ; cf12 (3:4f12)
ld a, c
- call Func_1d1d
+ call GetCardCountInCollection
asm_cf16
or a
@@ -2055,7 +2055,7 @@ Func_cf2d: ; cf2d (3:4f2d)
push bc
call IncreaseOWScriptPointerBy1
pop bc
- call Func_1caa
+ call GetRawAmountOfCardsOwned
ld a, h
cp b
jr nz, .asm_cf3b
@@ -2070,7 +2070,7 @@ Func_cf3f: ; cf3f (3:4f3f)
ld a, c
or a
jr nz, .asm_cf46
- ld a, [$d697]
+ ld a, [wd697]
.asm_cf46
call AddCardToCollection
@@ -2078,7 +2078,7 @@ Func_cf3f: ; cf3f (3:4f3f)
Func_cf4c: ; cf4c (3:4f4c)
ld a, c
- call Func_1d91
+ call RemoveCardFromCollection
jp IncreaseOWScriptPointerBy2
Func_cf53: ; cf53 (3:4f53)
@@ -2086,7 +2086,7 @@ Func_cf53: ; cf53 (3:4f53)
ld b, $0
.asm_cf57
ld a, c
- call Func_1d1d
+ call GetCardCountInCollection
add b
ld b, a
inc c
@@ -2114,12 +2114,12 @@ Func_cf7b: ; cf7b (3:4f7b)
.asm_cf7d
push bc
ld a, c
- call Func_1d1d
+ call GetCardCountInCollection
jr c, .asm_cf8c
ld b, a
.asm_cf85
ld a, c
- call Func_1d91
+ call RemoveCardFromCollection
dec b
jr nz, .asm_cf85
@@ -2212,14 +2212,14 @@ Func_cfd4: ; cfd4 (3:4fd4)
Func_d00b: ; d00b (3:500b)
sla c
ld b, $0
- ld hl, wce3f
+ ld hl, wTxRam2
add hl, bc
push hl
call Func_ca69
dec hl
ld e, a
ld d, $0
- call Func_2f45
+ call GetCardName
pop hl
ld [hl], e
inc hl
@@ -2229,21 +2229,21 @@ Func_d00b: ; d00b (3:500b)
Func_d025: ; d025 (3:5025)
call Func_ca69
dec hl
- call Func_1ce1
+ call GetCardCountInCollectionAndDecks
jp c, Func_cf67
jp Func_cf6d
Func_d032: ; d032 (3:5032)
call Func_ca69
dec hl
- call Func_1d1d
+ call GetCardCountInCollection
jp c, Func_cf67
jp Func_cf6d
Func_d03f: ; d03f (3:503f)
call Func_ca69
dec hl
- call Func_1d91
+ call RemoveCardFromCollection
jp IncreaseOWScriptPointerBy1
OWScript_ScriptJump: ; d049 (3:5049)
@@ -2262,9 +2262,9 @@ Func_d055: ; d055 (3:5055)
OWScript_MovePlayer: ; 505c (3:505c)
ld a, c
- ld [$d339], a
+ ld [wd339], a
ld a, b
- ld [$d33a], a
+ ld [wd33a], a
call StartScriptedMovement
.asm_d067
call DoFrameIfLCDEnabled
@@ -2387,7 +2387,7 @@ Func_d125: ; d125 (3:5125)
Func_d135: ; d135 (3:5135)
sla c
ld b, $0
- ld hl, wce3f
+ ld hl, wTxRam2
add hl, bc
push hl
ld a, [wd32e]
@@ -2415,10 +2415,10 @@ Func_d16b: ; d16b (3:516b)
push de
sla c
ld b, $0
- ld hl, wce3f
+ ld hl, wTxRam2
add hl, bc
push hl
- ld a, [$d696]
+ ld a, [wd696]
farcall Func_11893
pop hl
ld a, [wd0c8]
@@ -2470,11 +2470,11 @@ asm_d1c6
ld d, $0
add hl, de
ld a, [hli]
- ld [$d697], a
+ ld [wd697], a
ld a, [hli]
- ld [wce3f], a
+ ld [wTxRam2], a
ld a, [hl]
- ld [wce40], a
+ ld [wTxRam2 + 1], a
jp IncreaseOWScriptPointerBy1
INCROM $d1dc, $d209
@@ -2521,7 +2521,7 @@ Func_d24c: ; d24c (3:524c)
ld hl, $525e
xor a
call Func_d28c
- ld a, [$d695]
+ ld a, [wd695]
ld c, a
call Func_ca8f
halt
@@ -2539,7 +2539,7 @@ Func_d271: ; d271 (3:5271)
INCROM $d27b, $d28c
Func_d28c: ; d28c (3:528c)
- ld [$d416], a
+ ld [wd416], a
push hl
call Func_c241
call Func_c915
@@ -2566,12 +2566,12 @@ Func_d28c: ; d28c (3:528c)
push hl
ld h, [hl]
ld l, a
- ld a, [$d416]
+ ld a, [wd416]
farcall Func_111e9
pop hl
inc hl
ld a, [hli]
- ld [$d417], a
+ ld [wd417], a
push hl
.asm_d2c1
@@ -2581,7 +2581,7 @@ Func_d28c: ; d28c (3:528c)
ld a, [hCurrentMenuItem]
cp e
jr z, .asm_d2d9
- ld a, [$d417]
+ ld a, [wd417]
or a
jr z, .asm_d2c1
ld e, a
@@ -2607,9 +2607,9 @@ Func_d28c: ; d28c (3:528c)
jr z, .asm_d2f5
add hl, bc
ld a, [hli]
- ld [wce3f], a
+ ld [wTxRam2], a
ld a, [hl]
- ld [wce40], a
+ ld [wTxRam2 + 1], a
.asm_d2f5
ret
@@ -2618,12 +2618,12 @@ Func_d2f6: ; d2f6 (3:52f6)
ld hl, $530c
xor a
call Func_d28c
- ld a, [$d694]
+ ld a, [wd694]
ld c, a
call Func_ca8f
ld [hl], l
xor a
- ld [$d694], a
+ ld [wd694], a
jp IncreaseOWScriptPointerBy1
; 0xd30c
@@ -2631,9 +2631,9 @@ Func_d2f6: ; d2f6 (3:52f6)
Func_d317: ; d317 (3:5317)
ld hl, $532b
- ld a, [$d694]
+ ld a, [wd694]
call Func_d28c
- ld a, [$d694]
+ ld a, [wd694]
ld c, a
call Func_ca8f
ld [hl], l
@@ -2645,10 +2645,10 @@ Func_d317: ; d317 (3:5317)
DeckMachine_d336: ; d336 (3:5336)
push bc
call Func_c2a3
- call Func_379b
- ld a, MUSIC_DECKMACHINE
+ call PauseSong
+ ld a, MUSIC_DECK_MACHINE
call PlaySong
- call Func_04a2
+ call EmptyScreen
xor a
ldh [hSCX], a
ldh [hSCY], a
@@ -2665,7 +2665,7 @@ DeckMachine_d336: ; d336 (3:5336)
.asm_d360
farcall Func_b19d
.asm_d364
- call Func_37a0
+ call ResumeSong
call Func_c2d4
jp IncreaseOWScriptPointerBy2
@@ -2707,8 +2707,8 @@ Func_d39d: ; d39d (3:539d)
jr .asm_d3b6
.asm_d3ac
- ld a, $3
- ld [wd0b5], a
+ ld a, GAME_EVENT_GIFT_CENTER
+ ld [wGameEvent], a
ld hl, wd0b4
set 6, [hl]
@@ -2717,8 +2717,8 @@ Func_d39d: ; d39d (3:539d)
Func_d3b9: ; d3b9 (3:53b9)
call Func_3917
- ld a, $4
- ld [wd0b5], a
+ ld a, GAME_EVENT_CREDITS
+ ld [wGameEvent], a
ld hl, wd0b4
set 6, [hl]
jp IncreaseOWScriptPointerBy1
@@ -2732,7 +2732,7 @@ Func_d3d1: ; d3d1 (3:53d1)
jp IncreaseOWScriptPointerBy1
Func_d3d4: ; d3d4 (3:53d4)
- ld a, [$d693]
+ ld a, [wd693]
bank1call Func_7576
jp IncreaseOWScriptPointerBy1
@@ -2777,11 +2777,11 @@ Func_d41d: ; d41d (3:541d)
jp IncreaseOWScriptPointerBy1
Func_d423: ; d423 (3:5423)
- call Func_379b
+ call PauseSong
jp IncreaseOWScriptPointerBy1
Func_d429: ; d429 (3:5429)
- call Func_37a0
+ call ResumeSong
jp IncreaseOWScriptPointerBy1
Func_d42f: ; d42f (3:542f)
@@ -2794,8 +2794,8 @@ Func_d435: ; d435 (3:5435)
jp IncreaseOWScriptPointerBy2
Func_d43d: ; d43d (3:543d)
- ld a, $6
- ld [wd0b5], a
+ ld a, GAME_EVENT_CHALLENGE_MACHINE
+ ld [wGameEvent], a
ld hl, wd0b4
set 6, [hl]
jp IncreaseOWScriptPointerBy1
@@ -2981,11 +2981,11 @@ WaterClubMovePlayer: ; e13f (3:613f)
jp Func_c926
WaterClubAfterDuel: ;e157 (3:6157)
- ld hl, .afterDuelTable
+ ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-.afterDuelTable
+.after_duel_table
dw $1f1f
dw OWSequence_BeatSara
dw OWSequence_LostToSara
@@ -3009,17 +3009,17 @@ OWSequence_Sara: ; e177 (3:6177)
tx Text042c
run_script OWScript_AskQuestionJump
tx Text042d
- dw .yesDuel
+ dw .yes_duel
run_script OWScript_PrintTextString
tx Text042e
run_script OWScript_EndScriptCloseText
-.yesDuel
+.yes_duel
run_script OWScript_PrintTextString
tx Text042f
run_script OWScript_StartBattle
db 2
db WATERFRONT_POKEMON_DECK - 2 ; 6189
- db MUSIC_DUELTHEME1
+ db MUSIC_DUEL_THEME_1
run_script OWScript_EndScriptCloseText
OWSequence_BeatSara: ; e18c (3:618c)
@@ -3047,17 +3047,17 @@ OWSequence_Amanda: ; e19e (03:619e)
tx Text0433
run_script OWScript_AskQuestionJump
tx Text0434
- dw .yesDuel
+ dw .yes_duel
run_script OWScript_PrintTextString
tx Text0435
run_script OWScript_EndScriptCloseText
-.yesDuel
+.yes_duel
run_script OWScript_PrintTextString
tx Text0436
run_script OWScript_StartBattle
db 03
db LONELY_FRIENDS_DECK - 2
- db MUSIC_DUELTHEME1
+ db MUSIC_DUEL_THEME_1
run_script OWScript_EndScriptCloseText
OWSequence_BeatAmanda: ; e1b3 (03:61b3)
@@ -3086,20 +3086,20 @@ OWSequence_Joshua:
start_script
run_script OWScript_JumpIfFlagNotSet
db FLAG_BEAT_AMANDA
- dw .saraAndAmandaNotBeaten
+ dw .sara_and_amanda_not_beaten
run_script OWScript_JumpIfFlagNotSet
db FLAG_BEAT_SARA
- dw .saraAndAmandaNotBeaten
+ dw .sara_and_amanda_not_beaten
run_script OWScript_ScriptJump
- dw .beatSaraAndAmanda
-.saraAndAmandaNotBeaten
+ dw .beat_sara_and_amanda
+.sara_and_amanda_not_beaten
run_script OWScript_CustomModifyEventFlags
db $33 ; offset on flagmod table
db $01 ; the control bit
run_script OWScript_PrintTextString
tx Text043b
run_script OWScript_EndScriptCloseText
-.beatSaraAndAmanda
+.beat_sara_and_amanda
run_script OWScript_JumpIfFlagSet
db $33
dw $623c
@@ -3120,23 +3120,23 @@ FindEndOfBattleScript: ; e52c (3:652c)
ld c, $0
ld a, [wd0c3]
or a
- jr z, .playerWon
+ jr z, .player_won
ld c, $2
-.playerWon
+.player_won
ld a, [wd0c4]
ld b, a
ld de, $0005
-.checkEnemyByteLoop
+.check_enemy_byte_loop
ld a, [hli]
or a
ret z
cp b
- jr z, .foundEnemy
+ jr z, .found_enemy
add hl, de
- jr .checkEnemyByteLoop
+ jr .check_enemy_byte_loop
-.foundEnemy
+.found_enemy
ld a, [hli]
ld [wd3ab], a
ld b, $0
@@ -3179,7 +3179,7 @@ Func_f580: ; f580 (3:7580)
.asm_f5ac
ld [wd3ab], a
- ld [$d696], a
+ ld [wd696], a
ret
; 0xf5b3
diff --git a/src/engine/bank4.asm b/src/engine/bank4.asm
index 29d96fc..883065a 100755..100644
--- a/src/engine/bank4.asm
+++ b/src/engine/bank4.asm
@@ -1,14 +1,14 @@
Func_10000: ; 10000 (4:4000)
ld a, $0
ld [wTileMapFill], a
- call Func_04a2
+ call EmptyScreen
call Func_2119
ld de, $307f
call Func_2275
call Set_OBJ_8x8
xor a
- ld [$ff92], a
- ld [$ff93], a
+ ldh [hSCX], a
+ ldh [hSCY], a
ld a, [wLCDC]
bit 7, a
jr nz, .asm_10025
@@ -18,27 +18,27 @@ Func_10000: ; 10000 (4:4000)
.asm_10025
call Func_1288c
- call Func_099c
+ call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
ret
Func_10031: ; 10031 (4:4031)
- ld a, [$ff81]
+ ldh a, [hBankSRAM]
push af
ld a, $1
- call BankswitchRAM
+ call BankswitchSRAM
call $4cbb
- call DisableExtRAM
+ call DisableSRAM
call $4b28
- call Func_0404
+ call SetFlushAllPalettes
call EnableLCD
call DoFrameIfLCDEnabled
call $4cea
- call Func_0404
+ call SetFlushAllPalettes
pop af
- call BankswitchRAM
- call DisableExtRAM
+ call BankswitchSRAM
+ call DisableSRAM
ret
Func_10059: ; 10059 (4:4059)
@@ -54,7 +54,7 @@ Medal_1029e: ; 1029e (4:429e)
ld a, [wd291]
push af
push bc
- call Func_379b
+ call PauseSong
ld a, MUSIC_STOP
call PlaySong
farcall Func_70000
@@ -71,9 +71,9 @@ Medal_1029e: ; 1029e (4:429e)
ld hl, Unknown_1030b
add hl, bc
ld a, [hli]
- ld [wce3f], a
+ ld [wTxRam2], a
ld a, [hl]
- ld [wce40], a
+ ld [wTxRam2 + 1], a
call $4031
ld a, MUSIC_MEDAL
call PlaySong
@@ -93,7 +93,7 @@ Medal_1029e: ; 1029e (4:429e)
ldtx hl, WonTheMedalText
call Func_2c73
call Func_3c96
- call Func_37a0
+ call ResumeSong
pop af
ld [wd291], a
ret
@@ -109,7 +109,7 @@ BoosterPack_1031b: ; 1031b (4:431b)
call DisableLCD
call $4000
xor a
- ld [wFrameType], a
+ ld [wTextBoxFrameType], a
pop bc
push bc
ld b, $0
@@ -128,16 +128,16 @@ BoosterPack_1031b: ; 1031b (4:431b)
call $70ca
pop hl
ld a, [hli]
- ld [wce43], a
+ ld [wTxRam3], a
xor a
- ld [wce44], a
+ ld [wTxRam3 + 1], a
ld a, [hli]
- ld [wce3f], a
+ ld [wTxRam2], a
ld a, [hl]
- ld [wce40], a
+ ld [wTxRam2 + 1], a
call $4031
- call Func_379b
- ld a, MUSIC_BOOSTERPACK
+ call PauseSong
+ ld a, MUSIC_BOOSTER_PACK
call PlaySong
pop bc
ld a, c
@@ -150,17 +150,17 @@ BoosterPack_1031b: ; 1031b (4:431b)
.asm_10373
call Func_2c73
call Func_3c96
- call Func_37a0
+ call ResumeSong
ldtx hl, CheckedCardsInBoosterPackText
call Func_2c73
call DisableLCD
call Func_1288c
- call Func_099c
+ call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
ld a, $4
- ld [wFrameType], a
- farcallx $1, $7599
+ ld [wTextBoxFrameType], a
+ farcall $1, $7599
farcall Func_c1a4
call DoFrameIfLCDEnabled
pop af
@@ -179,9 +179,9 @@ Duel_Init: ; 103d3 (4:43d3)
call DisableLCD
call $4000
ld a, $4
- ld [wFrameType], a
- ld de, $000c
- ld bc, $1406
+ ld [wTextBoxFrameType], a
+ lb de, 0, 12
+ lb bc, 20, 6
call DrawRegularTextBox
ld a, [wcc19]
add a
@@ -191,22 +191,22 @@ Duel_Init: ; 103d3 (4:43d3)
ld hl, $445b
add hl, bc
ld a, [hli]
- ld [wce3f], a
+ ld [wTxRam2], a
ld a, [hli]
- ld [wce40], a
+ ld [wTxRam2 + 1], a
push hl
- ld a, [wcc16]
- ld [wce41], a
- ld a, [wcc17]
- ld [wce42], a
+ ld a, [wOpponentName]
+ ld [wTxRam2_b], a
+ ld a, [wOpponentName + 1]
+ ld [wTxRam2_b + 1], a
ld hl, $4451
call $51b3 ; LoadDuelistName
pop hl
ld a, [hli]
- ld [wce3f], a
+ ld [wTxRam2], a
ld c, a
ld a, [hli]
- ld [wce40], a
+ ld [wTxRam2 + 1], a
or c
jr z, .asm_10425
ld hl, $4456
@@ -214,7 +214,7 @@ Duel_Init: ; 103d3 (4:43d3)
.asm_10425
ld bc, $0703
- ld a, [wcc15]
+ ld a, [wOpponentPortrait]
call Func_3e2a ; LoadDuelistPortrait
ld a, [wMatchStartTheme]
call PlaySong
@@ -262,7 +262,7 @@ Func_10a70: ; 10a70 (4:4a70)
inc hl
dec c
jr nz, .asm_10a87
- rst $38
+ debug_ret
jr .asm_10a97
.asm_10a93
@@ -286,11 +286,11 @@ Func_10af9: ; 10af9 (4:4af9)
INCROM $10af9, $10c96
Func_10c96: ; 10c96 (4:4c96)
- ld a, [$ff81]
+ ldh a, [hBankSRAM]
push af
push bc
ld a, $1
- call BankswitchRAM
+ call BankswitchSRAM
call $4cbb
call Func_10ab4
pop bc
@@ -303,8 +303,8 @@ Func_10c96: ; 10c96 (4:4c96)
.asm_10cb0
call EnableLCD
pop af
- call BankswitchRAM
- call DisableExtRAM
+ call BankswitchSRAM
+ call DisableSRAM
ret
; 0x10cbb
@@ -322,7 +322,7 @@ Func_10dba: ; 10dba (4:4dba)
jr nc, .asm_10dca
ld a, e
ld [wd0ba], a
- ld a, [$ffb1]
+ ldh a, [hCurrentMenuItem]
cp e
jr z, .asm_10ddd
ld a, $4
@@ -345,7 +345,7 @@ Func_10e28: ; 10e28 (4:4e28)
Func_10e55: ; 10e55 (4:4e55)
ld a, [wd336]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wd33e]
or a
jr nz, .asm_10e65
@@ -484,7 +484,7 @@ LoadOverworldMapSelection: ; 10f61 (4:4f61)
ld [wd0bd], a
ld a, $0
ld [wd0be], a
- ld hl, $d0b4
+ ld hl, wd0b4
set 4, [hl]
pop bc
pop hl
@@ -495,15 +495,15 @@ INCLUDE "data/overworld_indexes.asm"
Func_10fbc: ; 10fbc (4:4fbc)
ld a, $25
farcall Func_1299f
- ld c, $2
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_COORD_X
+ call GetSpriteAnimBufferProperty
ld a, $80
ld [hli], a
ld a, $10
ld [hl], a
ld b, $34
ld a, [wConsole]
- cp $2
+ cp CONSOLE_CGB
jr nz, .asm_10fd8
ld b, $37
.asm_10fd8
@@ -518,7 +518,7 @@ Func_10fde: ; 10fde (4:4fde)
ld [wd33e], a
ld a, $25
call Func_1299f
- ld a, [wd4cf]
+ ld a, [wWhichSprite]
ld [wd33b], a
ld b, $35
ld a, [wConsole]
@@ -533,15 +533,15 @@ Func_10fde: ; 10fde (4:4fde)
farcall CheckIfEventFlagSet
or a
jr nz, .asm_11015
- ld c, $f
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_FIELD_0F
+ call GetSpriteAnimBufferProperty
set 7, [hl]
.asm_11015
ret
Func_11016: ; 11016 (4:5016)
ld a, [wd33b]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wd33c]
inc a
call Func_12ab5
@@ -551,9 +551,9 @@ Func_11024: ; 11024 (4:5024)
ld a, $57
call PlaySFX
ld a, [wd336]
- ld [wd4cf], a
- ld c, $f
- call ModifyUnknownOAMBufferProperty
+ ld [wWhichSprite], a
+ ld c, SPRITE_ANIM_FIELD_0F
+ call GetSpriteAnimBufferProperty
set 2, [hl]
ld hl, Unknown_1229f
ld a, [wd33d]
@@ -583,7 +583,7 @@ Func_11024: ; 11024 (4:5024)
Func_11060: ; 11060 (4:5060)
ld a, [wd336]
- ld [wd4cf], a
+ ld [wWhichSprite], a
ld a, [wd341]
or a
jp nz, Func_11184
@@ -625,8 +625,8 @@ Func_11060: ; 11060 (4:5060)
Func_110a6: ; 110a6 (4:50a6)
push hl
push bc
- ld c, $2
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_COORD_X
+ call GetSpriteAnimBufferProperty
pop bc
ld a, b
sub [hl]
@@ -681,7 +681,7 @@ Func_11102: ; 11102 (4:5102)
ld [wd341], a
ld e, a
ld d, $0
- ld hl, $d343
+ ld hl, wd343
xor a
ld [hli], a
bit 7, [hl]
@@ -704,7 +704,7 @@ Func_11102: ; 11102 (4:5102)
ld [wd345], a
ld a, b
ld [wd346], a
- ld hl, $d344
+ ld hl, wd344
ld a, $1
bit 7, [hl]
jr z, .asm_1113a
@@ -718,7 +718,7 @@ Func_1113e: ; 1113e (4:513e)
ld [wd341], a
ld e, a
ld d, $0
- ld hl, $d345
+ ld hl, wd345
xor a
ld [hli], a
bit 7, [hl]
@@ -740,7 +740,7 @@ Func_1113e: ; 1113e (4:513e)
ld [wd343], a
ld a, b
ld [wd344], a
- ld hl, $d346
+ ld hl, wd346
ld a, $2
bit 7, [hl]
jr z, .asm_11175
@@ -765,8 +765,8 @@ Func_11184: ; 11184 (4:5184)
ld d, a
ld a, [wd348]
ld e, a
- ld c, $2
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_COORD_X
+ call GetSpriteAnimBufferProperty
ld a, [wd343]
add d
ld d, a
@@ -784,7 +784,7 @@ Func_11184: ; 11184 (4:5184)
ld [wd347], a
ld a, e
ld [wd348], a
- ld hl, $d341
+ ld hl, wd341
dec [hl]
ret
; 0x111b3
@@ -798,7 +798,10 @@ Func_1124d: ; 1124d (4:524d)
INCROM $1124d, $11320
Func_11320: ; 11320 (4:5320)
- INCROM $11320, $11416
+ INCROM $11320, $11343
+
+Func_11343: ; 11343 (4:5343)
+ INCROM $11343, $11416
Func_11416: ; 11416 (4:5416)
INCROM $11416, $11430
@@ -830,7 +833,7 @@ Func_1157c: ; 1157c (4:557c)
ret
; 0x115a3
-
+Func_115a3: ; 115a3 (4:55a3)
INCROM $115a3, $1162a
INCLUDE "data/map_scripts.asm"
@@ -839,9 +842,9 @@ INCLUDE "data/map_scripts.asm"
Func_1184a: ; 1184a (4:584a)
; this may have been a macro
rlca
- add (PointerTable_118f5 & $ff)
+ add LOW(PointerTable_118f5)
ld l, a
- ld a, PointerTable_118f5 >> 8
+ ld a, HIGH(PointerTable_118f5)
adc $00
ld h, a
ld a, [hli]
@@ -856,7 +859,7 @@ Func_11857: ; 11857 (4:5857)
ld a, [hli]
ld [wd3ab], a
ld a, [hli]
- ld [$d3b3], a
+ ld [wd3b3], a
ld a, [hli]
ld [wd3b1], a
ld a, [hli]
@@ -912,11 +915,11 @@ Func_118a7: ; 118a7 (4:58a7)
ld bc, $0007
add hl, bc
ld a, [hli]
- ld [wcc16], a
+ ld [wOpponentName], a
ld a, [hli]
- ld [wcc17], a
+ ld [wOpponentName + 1], a
ld a, [hli]
- ld [wcc15], a
+ ld [wOpponentPortrait], a
pop bc
pop hl
ret
@@ -960,6 +963,7 @@ Func_118d3: ; 118d3 (4:58d3)
INCLUDE "data/npcs.asm"
+Func_11f4e: ; 11f4e (4:5f4e)
INCROM $11f4e, $1217b
OverworldScriptTable: ; 1217b (4:617b)
@@ -1073,43 +1077,47 @@ OverworldScriptTable: ; 1217b (4:617b)
Unknown_1229f: ; 1229f (4:629f)
INCROM $1229f, $126d1
-Func_126d1: ; 126d1 (4:66d1)
- call Func_099c
+; usually, the game doesn't loop here at all, since as soon as a main menu option
+; is selected, there is no need to come back to the menu.
+; the only exception is after returning from Card Pop!
+_GameLoop: ; 126d1 (4:66d1)
+ call InitSpritePositions
ld hl, wVBlankOAMCopyToggle
inc [hl]
farcall Func_70018
ld a, $ff
ld [wd627], a
-.asm_126e1
+.main_menu_loop
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
farcall Func_c1f8
farcall Func_1d078
ld a, [wd628]
- ld hl, PointerTable_126fc
+ ld hl, MainMenuFunctionTable
call JumpToFunctionInTable
- jr c, .asm_126e1
- jr Func_126d1
+ jr c, .main_menu_loop ; return to main menu
+ jr _GameLoop ; virtually restart game
+; this is never reached
scf
ret
-PointerTable_126fc
- dw CardPop_12768
- dw Func_12741
- dw Func_12704
- dw Func_1277e
+MainMenuFunctionTable:
+ dw MainMenu_CardPop
+ dw MainMenu_ContinueFromDiary
+ dw MainMenu_NewGame
+ dw MainMenu_ContinueDuel
-Func_12704: ; 12704 (4:6704)
+MainMenu_NewGame: ; 12704 (4:6704)
farcall Func_c1b1
call Func_128a9
farcall Func_1996e
- call EnableExtRAM
- ld a, [$a007]
+ call EnableSRAM
+ ld a, [sa007]
ld [wd421], a
- ld a, [$a006]
+ ld a, [sa006]
ld [wTextSpeed], a
- call DisableExtRAM
+ call DisableSRAM
ld a, MUSIC_STOP
call PlaySong
farcall Func_70000
@@ -1117,31 +1125,31 @@ Func_12704: ; 12704 (4:6704)
ld [wd111], a
call Func_39fc
farcall Func_1d306
- ld a, $0
- ld [wd0b5], a
- farcallx $03, Func_383d
+ ld a, GAME_EVENT_OVERWORLD
+ ld [wGameEvent], a
+ farcall $03, ExecuteGameEvent
or a
ret
-Func_12741: ; 12741 (4:6741)
+MainMenu_ContinueFromDiary: ; 12741 (4:6741)
ld a, MUSIC_STOP
call PlaySong
call Func_11320
- jr nc, Func_12704
+ jr nc, MainMenu_NewGame
farcall Func_c1ed
farcall Func_70000
- call EnableExtRAM
+ call EnableSRAM
xor a
ld [$ba44], a
- call DisableExtRAM
- ld a, $0
- ld [wd0b5], a
- farcallx $03, Func_383d
+ call DisableSRAM
+ ld a, GAME_EVENT_OVERWORLD
+ ld [wGameEvent], a
+ farcall $03, ExecuteGameEvent
or a
ret
-CardPop_12768: ; 12768 (4:6768)
- ld a, MUSIC_CARDPOP
+MainMenu_CardPop: ; 12768 (4:6768)
+ ld a, MUSIC_CARD_POP
call PlaySong
bank1call Func_7571
farcall Func_c1a4
@@ -1151,15 +1159,15 @@ CardPop_12768: ; 12768 (4:6768)
scf
ret
-Func_1277e: ; 1277e (4:677e)
+MainMenu_ContinueDuel: ; 1277e (4:677e)
ld a, MUSIC_STOP
call PlaySong
farcall Func_c9cb
- farcallx $04, Func_3a40
+ farcall $04, Func_3a40
farcall Func_70000
- ld a, $5
- ld [wd0b5], a
- farcallx $03, Func_383d
+ ld a, GAME_EVENT_CONTINUE_DUEL
+ ld [wGameEvent], a
+ farcall $03, ExecuteGameEvent
or a
ret
; 0x1279a
@@ -1192,7 +1200,7 @@ Func_1299f: ; 1299f (4:699f)
call Func_12c05
ld [wd5d3], a
xor a
- ld [wd4cf], a
+ ld [wWhichSprite], a
call Func_3db7
ld bc, $0010
.asm_129bb
@@ -1200,12 +1208,12 @@ Func_1299f: ; 1299f (4:699f)
or a
jr z, .asm_129cf
add hl, bc
- ld a, [wd4cf]
+ ld a, [wWhichSprite]
inc a
- ld [wd4cf], a
+ ld [wWhichSprite], a
cp $10
jr nz, .asm_129bb
- rst $38
+ debug_ret
scf
jr .asm_129d6
.asm_129cf
@@ -1253,8 +1261,8 @@ Func_12a21: ; 12a21 (4:6a21)
Func_12ab5: ; 12ab5 (4:6ab5)
push hl
push af
- ld c, $5
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_FIELD_05
+ call GetSpriteAnimBufferProperty
pop af
cp [hl]
pop hl
@@ -1320,11 +1328,11 @@ Func_12b13: ; 12b13 (4:6b13)
ld [wd4c5], a
adc $0
ld [hl], a
- ld de, $d23e
+ ld de, wd23e
ld bc, $0004
call Func_3bf5
pop hl
- ld de, $d23e
+ ld de, wd23e
ld a, [de]
call Func_12b6a
inc de
@@ -1422,7 +1430,7 @@ Func_12c05: ; 12c05 (4:6c05)
ld d, $0
ld a, [wd618]
ld c, a
- ld hl, $d5d8
+ ld hl, wd5d8
or a
jr z, .asm_12c22
.asm_12c15
@@ -1467,7 +1475,7 @@ Func_12c05: ; 12c05 (4:6c05)
or a
jr .asm_12c4b
.asm_12c48
- rst $38
+ debug_ret
xor a
scf
.asm_12c4b
@@ -1499,35 +1507,35 @@ Func_131d3: ; 131d3 (4:71d3)
INCROM $131d3, $1344d
Func_1344d: ; 1344d (4:744d)
- call Func_379b
+ call PauseSong
ld a, MUSIC_MEDAL
call PlaySong
ldtx hl, DefeatedFiveOpponentsText
call Func_2c73
call Func_3c96
- call Func_37a0
+ call ResumeSong
ret
; 0x13462
INCROM $13462, $13485
Func_13485: ; 13485 (4:7485)
- call EnableExtRAM
+ call EnableSRAM
ld a, [$ba68]
or a
ret z
ld a, [$ba56]
- ld [wce43], a
+ ld [wTxRam3], a
ld a, [$ba57]
- ld [wce44], a
- call DisableExtRAM
- call Func_379b
+ ld [wTxRam3 + 1], a
+ call DisableSRAM
+ call PauseSong
ld a, MUSIC_MEDAL
call PlaySong
ldtx hl, ConsecutiveWinRecordIncreasedText
call Func_2c73
call Func_3c96
- call Func_37a0
+ call ResumeSong
ret
; 0x134b1
diff --git a/src/engine/bank5.asm b/src/engine/bank5.asm
index 3f0e5a2..5820a24 100755..100644
--- a/src/engine/bank5.asm
+++ b/src/engine/bank5.asm
@@ -57,25 +57,25 @@ PointerTable_14000: ; 14000 (05:4000)
INCROM $1406a, $14226
Func_14226: ; 14226 (5:4226)
- call CreateHandCardBuffer
- ld hl, wDuelCardOrAttackList
-.checkForNextPokemon
+ call CreateHandCardList
+ ld hl, wDuelTempList
+.check_for_next_pokemon
ld a, [hli]
- ld [$ff98], a
+ ldh [hTempCardIndex_ff98], a
cp $ff
ret z
- call LoadDeckCardToBuffer1
+ call LoadCardDataToBuffer1_FromDeckIndex
ld a, [wLoadedCard1Type]
cp TYPE_ENERGY_FIRE
- jr nc, .checkForNextPokemon
+ jr nc, .check_for_next_pokemon
ld a, [wLoadedCard1Stage]
or a
- jr nz, .checkForNextPokemon
+ jr nz, .check_for_next_pokemon
push hl
- ld a, [$ff98]
- call Func_1485
+ ldh a, [hTempCardIndex_ff98]
+ call PutHandPokemonCardInPlayArea
pop hl
- jr .checkForNextPokemon
+ jr .check_for_next_pokemon
; 0x1424b
INCROM $1424b, $14663
@@ -121,13 +121,13 @@ Func_1468b: ; 1468b (5:468b)
call Func_15649
ld a, $1
call Func_14663
- farcallx $8, $67d3
+ farcall $8, $67d3
jp nc, $4776
- farcallx $8, $6790
- farcallx $8, $66a3
- farcallx $8, $637f
+ farcall $8, $6790
+ farcall $8, $66a3
+ farcall $8, $637f
ret c
- farcallx $8, $662d
+ farcall $8, $662d
ld a, $2
call Func_14663
ld a, $3
@@ -158,17 +158,17 @@ Func_1468b: ; 1468b (5:468b)
.asm_146ed
call $5eae
- farcallx $8, $66a3
- farcallx $8, $637f
+ farcall $8, $66a3
+ farcall $8, $637f
ret c
- farcallx $8, $6790
+ farcall $8, $6790
ld a, $d
- farcallx $8, $619b
+ farcall $8, $619b
ld a, $d
call Func_14663
ld a, $f
call Func_14663
- ld a, [$ce20]
+ ld a, [wce20]
and $4
jr z, .asm_14776
ld a, $1
@@ -203,18 +203,18 @@ Func_1468b: ; 1468b (5:468b)
.asm_1475b
call $5eae
- farcallx $8, $66a3
- farcallx $8, $637f
+ farcall $8, $66a3
+ farcall $8, $637f
ret c
- farcallx $8, $6790
+ farcall $8, $6790
ld a, $d
- farcallx $8, $619b
+ farcall $8, $619b
ld a, $d
call Func_14663
.asm_14776
ld a, $e
- farcallx $8, $619b
+ farcall $8, $619b
call $69f8
ret c
ld a, $5
@@ -226,23 +226,23 @@ Func_1468b: ; 1468b (5:468b)
INCROM $14786, $15636
Func_15636: ; 15636 (5:5636)
ld a, $10
- ld hl, $cda5
+ ld hl, wcda5
call ZeroData
ld a, $5
- ld [$cda6], a
+ ld [wcda6], a
ld a, $ff
- ld [$cda5], a
+ ld [wcda5], a
ret
Func_15649: ; 15649 (5:5649)
- ld a, [$cda6]
+ ld a, [wcda6]
inc a
- ld [$cda6], a
+ ld [wcda6], a
xor a
- ld [$ce20], a
- ld [$cddb], a
- ld [$cddc], a
- ld [$ce03], a
+ ld [wce20], a
+ ld [wcddb], a
+ ld [wcddc], a
+ ld [wce03], a
ld a, [wcc10]
cp $ff
jr z, .asm_156b1
@@ -252,50 +252,50 @@ Func_15649: ; 15649 (5:5649)
cp $ff
jr z, .asm_156b1
call SwapTurn
- call GetCardInDeckPosition
+ call GetCardIDFromDeckIndex
call SwapTurn
ld a, e
cp MEWTWO1 ; I believe this is a check for Mewtwo1's Barrier move
jr nz, .asm_156b1
- ld a, [$cda7]
+ ld a, [wcda7]
bit 7, a
jr nz, .asm_156aa
inc a
- ld [$cda7], a
+ ld [wcda7], a
cp $3
jr c, .asm_156c2
- ld a, (wPlayerArenaCard & $FF)
+ ld a, DUELVARS_ARENA_CARD
call GetNonTurnDuelistVariable
call SwapTurn
- call GetCardInDeckPosition
+ call GetCardIDFromDeckIndex
call SwapTurn
ld a, e
cp MEWTWO1
jr nz, .asm_156a4
- farcallx $8, $67a9
+ farcall $8, $67a9
jr nc, .asm_156aa
.asm_156a4
xor a
- ld [$cda7], a
+ ld [wcda7], a
jr .asm_156c2
.asm_156aa
ld a, $80
- ld [$cda7], a
+ ld [wcda7], a
jr .asm_156c2
.asm_156b1
- ld a, [$cda7]
+ ld a, [wcda7]
bit 7, a
jr z, .asm_156be
inc a
- ld [$cda7], a
+ ld [wcda7], a
jr .asm_156c2
.asm_156be
xor a
- ld [$cda7], a
+ ld [wcda7], a
.asm_156c2
ret
@@ -310,10 +310,10 @@ ZeroData: ; 1575e (5:575e)
push hl
ld b, a
xor a
-.clearLoop
+.clear_loop
ld [hli], a
dec b
- jr nz, .clearLoop
+ jr nz, .clear_loop
pop hl
pop bc
pop af
diff --git a/src/engine/bank6.asm b/src/engine/bank6.asm
index 6428c3f..18e8b98 100755..100644
--- a/src/engine/bank6.asm
+++ b/src/engine/bank6.asm
@@ -5,10 +5,10 @@ INCLUDE "data/effect_commands.asm"
INCROM $18f9c, $1996e
Func_1996e: ; 1996e (6:596e)
- call EnableExtRAM
+ call EnableSRAM
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
- ld hl, $a100
+ ld hl, sCardCollection
ld bc, $1607
.asm_1997b
xor a
@@ -18,17 +18,17 @@ Func_1996e: ; 1996e (6:596e)
or b
jr nz, .asm_1997b
ld a, $5
- ld hl, $a350
+ ld hl, sa350
call Func_199e0
ld a, $7
- ld hl, $a3a4
+ ld hl, sa3a4
call Func_199e0
ld a, $9
- ld hl, $a3f8
+ ld hl, sa3f8
call Func_199e0
- call EnableExtRAM
- ld hl, $a100
- ld a, $80
+ call EnableSRAM
+ ld hl, sCardCollection
+ ld a, CARD_NOT_OWNED
.asm_199a2
ld [hl], a
inc l
@@ -47,18 +47,18 @@ Func_1996e: ; 1996e (6:596e)
dec c
jr nz, .asm_199b2
ld a, $2
- ld [$a003], a
+ ld [sa003], a
ld a, $2
- ld [$a006], a
+ ld [sa006], a
ld [wTextSpeed], a
xor a
- ld [$a007], a
- ld [$a009], a
- ld [$a004], a
- ld [$a005], a
- ld [$a00a], a
+ ld [sa007], a
+ ld [sa009], a
+ ld [sa004], a
+ ld [sa005], a
+ ld [sa00a], a
farcall Func_8cf9
- call DisableExtRAM
+ call DisableSRAM
ret
Func_199e0: ; 199e0 (6:59e0)
@@ -69,9 +69,9 @@ Func_199e0: ; 199e0 (6:59e0)
jr c, .asm_19a0e
call Func_19a12
pop hl
- call EnableExtRAM
+ call EnableSRAM
push hl
- ld de, wc590
+ ld de, wDefaultText
.asm_199f3
ld a, [de]
inc de
@@ -90,7 +90,7 @@ Func_199e0: ; 199e0 (6:59e0)
ld [hli], a
dec c
jr nz, .asm_19a04
- call DisableExtRAM
+ call DisableSRAM
or a
.asm_19a0e
pop hl
@@ -99,11 +99,11 @@ Func_199e0: ; 199e0 (6:59e0)
ret
Func_19a12: ; 19a12 (6:5a12)
- ld hl, $cce9
+ ld hl, wcce9
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, wc590
+ ld de, wDefaultText
call PrintTextBoxBorderLabel
ret
; 0x19a1f
@@ -145,15 +145,15 @@ Func_1a61f: ; 1a61f (6:661f)
push hl
ld e, a
ld d, $0
- call LoadCardDataToBuffer1
- call Func_379b
+ call LoadCardDataToBuffer1_FromCardID
+ call PauseSong
ld a, MUSIC_MEDAL
call PlaySong
- ld hl, $cc27
+ ld hl, wLoadedCard1Name
ld a, [hli]
ld h, [hl]
ld l, a
- bank1call Func_2ebb ; switch to bank 1, but call a home func
+ bank1call LoadTxRam2 ; switch to bank 1, but call a home func
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
pop hl
@@ -162,7 +162,7 @@ Func_1a61f: ; 1a61f (6:661f)
call Func_378a
or a
jr nz, .asm_1a680
- call Func_37a0
+ call ResumeSong
bank1call $5773
ret
; 0x1a68d
diff --git a/src/engine/bank7.asm b/src/engine/bank7.asm
index 9d2d603..156d421 100755..100644
--- a/src/engine/bank7.asm
+++ b/src/engine/bank7.asm
@@ -148,8 +148,8 @@ Func_1c50a: ; 1c50a (7:450a)
xor a
ld [hli], a
ld a, [hl]
- farcallx $4, $69fd
- ld hl, $d349
+ farcall $4, $69fd
+ ld hl, wd349
dec [hl]
.asm_1c52c
@@ -329,7 +329,7 @@ Func_1c78d: ; 1c78d (7:478d)
ret
Func_1c7de: ; 1c7de (7:47de)
- ld a, [$d3b7]
+ ld a, [wc3b7]
and $20
ret
; 0x1c7e4
@@ -344,7 +344,7 @@ Func_1c83d: ; 1c83d (7:483d)
push bc
ld b, a
ld c, $a
- ld hl, $d3bb
+ ld hl, wd3bb
.asm_1c845
ld a, [hl]
or a
@@ -354,7 +354,7 @@ Func_1c83d: ; 1c83d (7:483d)
inc hl
dec c
jr nz, .asm_1c845
- rst $38
+ debug_ret
jr .asm_1c855
.asm_1c853
@@ -387,7 +387,7 @@ Func_1d078: ; 1d078 (7:5078)
call DoFrameIfLCDEnabled
call UpdateRNGSources
call $5614
- ld hl, $d635
+ ld hl, wd635
inc [hl]
call Func_378a
or a
@@ -395,7 +395,7 @@ Func_1d078: ; 1d078 (7:5078)
farcall Func_10ab4
jr .asm_1d07e
.asm_1d0ae
- ld hl, $d626
+ ld hl, wd626
ld a, [hl]
or a
jr z, .asm_1d0b8
@@ -439,10 +439,10 @@ Func_1d078: ; 1d078 (7:5078)
INCROM $1d0fa, $1d11c
Func_1d11c: ; 1d11c (7:511c)
- ld a, MUSIC_PCMAINMENU
+ ld a, MUSIC_PC_MAIN_MENU
call PlaySong
call DisableLCD
- farcallx $4, $4000
+ farcall $4, $4000
ld de, $308f
call Func_2275
call Func_3ca0
@@ -460,9 +460,9 @@ Func_1d11c: ; 1d11c (7:511c)
jr z, .asm_1d14f
ld a, $1
.asm_1d14f
- ld hl, $d636
+ ld hl, wd636
farcall Func_111e9
- farcallx $4, $4031
+ farcall $4, $4031
.asm_1d15a
call DoFrameIfLCDEnabled
call UpdateRNGSources
@@ -536,7 +536,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad)
ld [wd324], a
ld a, MUSIC_CREDITS
call PlaySong
- farcallx $4, $4031
+ farcall $4, $4031
call $57fc
.asm_1d6c8
call DoFrameIfLCDEnabled
@@ -547,7 +547,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad)
jr nz, .asm_1d6c8
call Func_3c96
ld a, $8
- farcallx $4, $6863
+ farcall $4, $6863
ld a, MUSIC_STOP
call PlaySong
farcall Func_10ab4
diff --git a/src/engine/bank8.asm b/src/engine/bank8.asm
index aa47756..ca52ca5 100755..100644
--- a/src/engine/bank8.asm
+++ b/src/engine/bank8.asm
@@ -3,56 +3,56 @@
; 0 - e4 is a big set of data, seems to be one entry for each card
Func_200e5: ; 200e5 (8:40e5)
- ld [$ce18], a
- call CreateHandCardBuffer
- ld hl, wDuelCardOrAttackList
- ld de, wHandCardBuffer
+ ld [wce18], a
+ call CreateHandCardList
+ ld hl, wDuelTempList
+ ld de, wTempHandCardList
call CopyBuffer
- ld hl, wHandCardBuffer
+ ld hl, wTempHandCardList
ld a, [hli]
- ld [$ce16], a
+ ld [wce16], a
cp $ff
ret z
push hl
- ld a, [$ce18]
+ ld a, [wce18]
ld d, a
ld hl, $4000
.asm_4106
xor a
- ld [$ce21], a
+ ld [wce21], a
ld a, [hli]
cp $ff
jp z, $41b1
cp d
jp nz, .incHL5
ld a, [hli]
- ld [$ce17], a
- ld a, [$ce16]
- call LoadDeckCardToBuffer1
+ ld [wce17], a
+ ld a, [wce16]
+ call LoadCardDataToBuffer1_FromDeckIndex
cp $d2
jr nz, .asm_2012b
ld b, a
- ld a, [$ce20]
+ ld a, [wce20]
and $2
jr nz, .incHL4
ld a, b
.asm_2012b
ld b, a
- ld a, [$ce17]
+ ld a, [wce17]
cp b
jr nz, .incHL4
push hl
push de
- ld a, [$ce16]
- ld [$ff9f], a
- bank1call $35a9
+ ld a, [wce16]
+ ldh [hTempCardIndex_ff9f], a
+ bank1call CheckCantUseTrainerDueToHeadache
jp c, $41a8
- call Func_1944
+ call LoadNonPokemonCardEffectCommands
ld a, $1
call TryExecuteEffectCommandFunction
jp c, $41a8
- farcallx $5, $743b
+ farcall $5, $743b
jr c, .asm_201a8
pop de
pop hl
@@ -62,11 +62,11 @@ Func_200e5: ; 200e5 (8:40e5)
jr nc, .incHL4
inc hl
inc hl
- ld [$ce19], a
+ ld [wce19], a
push de
push hl
- ld a, [$ce16]
- ld [$ff9f], a
+ ld a, [wce16]
+ ldh [hTempCardIndex_ff9f], a
ld a, $6
bank1call $67be
pop hl
@@ -77,22 +77,22 @@ Func_200e5: ; 200e5 (8:40e5)
pop hl
inc hl
inc hl
- ld a, [$ce20]
+ ld a, [wce20]
ld b, a
- ld a, [$ce21]
+ ld a, [wce21]
or b
- ld [$ce20], a
+ ld [wce20], a
pop hl
and $8
jp z, $40f7
- call CreateHandCardBuffer
- ld hl, wDuelCardOrAttackList
- ld de, $cf68
+ call CreateHandCardList
+ ld hl, wDuelTempList
+ ld de, wTempHandCardList
call $697b
- ld hl, $cf68
- ld a, [$ce20]
+ ld hl, wTempHandCardList
+ ld a, [wce20]
and $f7
- ld [$ce20], a
+ ld [wce20], a
jp $40f7
.incHL5
diff --git a/src/engine/booster_packs.asm b/src/engine/booster_packs.asm
index e3180fe..98692d8 100644
--- a/src/engine/booster_packs.asm
+++ b/src/engine/booster_packs.asm
@@ -1,13 +1,15 @@
+; generate a booster pack identified by a,
+; and add the drawn cards to the player's collection (sCardCollection).
GenerateBoosterPack: ; 1e1c4 (7:61c4)
push hl
push bc
push de
- ld [wBoosterIndex], a
-.noCardsFoundLoop
+ ld [wBoosterPackID], a
+.no_cards_found_loop
call InitBoosterData
call GenerateBoosterEnergies
call GenerateBoosterNonEnergies
- jr c, .noCardsFoundLoop
+ jr c, .no_cards_found_loop
call PutEnergiesAndNonEnergiesTogether
call AddBoosterCardsToCollection
pop de
@@ -18,70 +20,74 @@ GenerateBoosterPack: ; 1e1c4 (7:61c4)
; generate all Pokemon or Trainer cards (if any) for the current booster pack
GenerateBoosterNonEnergies: ; 1e1df (7:61df)
ld a, STAR
- ld [wBoosterCurRarity], a
-.generateCardLoop
- call FindCurRarityChance
+ ld [wBoosterCurrentRarity], a
+.generate_card_loop
+ call FindCurrentRarityChance
ld a, [hl]
or a
- jr z, .noMoreOfCurrentRarity
+ jr z, .no_more_of_current_rarity
call FindCardsInSetAndRarity
- call FindTotalTypeChances
+ call CalculateTypeChances
or a
- jr z, .noValidCards
+ jr z, .no_valid_cards
call Random
call DetermineBoosterCardType
- call FindBoosterCard
+ call DetermineBoosterCard
call UpdateBoosterCardTypesChanceByte
call AddBoosterCardToDrawnNonEnergies
- call FindCurRarityChance
+ call FindCurrentRarityChance
dec [hl]
- jr .generateCardLoop
-.noMoreOfCurrentRarity
- ld a, [wBoosterCurRarity]
+ jr .generate_card_loop
+.no_more_of_current_rarity
+ ld a, [wBoosterCurrentRarity]
dec a
- ld [wBoosterCurRarity], a
+ ld [wBoosterCurrentRarity], a
bit 7, a ; any rarity left to check?
- jr z, .generateCardLoop
+ jr z, .generate_card_loop
or a
ret
-.noValidCards
- rst $38
+.no_valid_cards
+ debug_ret
scf
ret
-; return hl pointing to wBoosterData<Rarity>Amount[wBoosterCurRarity]
-FindCurRarityChance: ; 1e219 (7:6219)
+; return hl pointing to wBoosterData<Rarity>Amount[wBoosterCurrentRarity]
+FindCurrentRarityChance: ; 1e219 (7:6219)
push bc
ld hl, wBoosterDataCommonAmount
- ld a, [wBoosterCurRarity]
+ ld a, [wBoosterCurrentRarity]
ld c, a
ld b, $0
add hl, bc
pop bc
ret
+; loop through all existing cards to see which ones belong to the current set and rarity,
+; and add them wBoosterViableCardList. Also fill wBoosterAmountOfCardTypeTable with the amount of
+; available cards of each type, for the current set and rarity.
+; Skip any card already drawn in the current pack.
FindCardsInSetAndRarity: ; 1e226 (7:6226)
ld c, NUM_BOOSTER_CARD_TYPES
ld hl, wBoosterAmountOfCardTypeTable
xor a
-.deleteTypeTableLoop
+.delete_type_table_loop
ld [hli], a
dec c
- jr nz, .deleteTypeTableLoop
+ jr nz, .delete_type_table_loop
xor a
ld hl, wBoosterViableCardList
ld [hl], a
- ld de, $1
-.checkCardViableLoop
+ ld de, 1 ; GRASS_ENERGY
+.check_card_viable_loop
push de
ld a, e
- ld [wBoosterTempCard], a
- call IsByteInTempCardCollectionZero
- jr c, .finishedWithCurrentCard
- call CheckCardViable
- jr c, .finishedWithCurrentCard
+ ld [wBoosterCurrentCard], a
+ call CheckCardAlreadyDrawn
+ jr c, .finished_with_current_card
+ call CheckCardInSetAndRarity
+ jr c, .finished_with_current_card
ld a, [wBoosterCurrentCardType]
- call GetCardType
+ call GetBoosterCardType
push af
push hl
ld c, a
@@ -90,24 +96,25 @@ FindCardsInSetAndRarity: ; 1e226 (7:6226)
add hl, bc
inc [hl]
pop hl
- ld a, [wBoosterTempCard]
+ ld a, [wBoosterCurrentCard]
ld [hli], a
pop af
ld [hli], a
xor a
ld [hl], a
-.finishedWithCurrentCard
+.finished_with_current_card
pop de
inc e
ld a, e
cp NUM_CARDS + 1
- jr c, .checkCardViableLoop
+ jr c, .check_card_viable_loop
ret
-CheckCardViable: ; 1e268 (7:6268)
+; return nc if card e belongs to the current set and rarity
+CheckCardInSetAndRarity: ; 1e268 (7:6268)
push bc
ld a, e
- call GetCardHeader
+ call GetCardTypeRarityAndSet
ld [wBoosterCurrentCardType], a
ld a, b
ld [wBoosterCurrentCardRarity], a
@@ -115,40 +122,40 @@ CheckCardViable: ; 1e268 (7:6268)
ld [wBoosterCurrentCardSet], a
ld a, [wBoosterCurrentCardRarity]
ld c, a
- ld a, [wBoosterCurRarity]
+ ld a, [wBoosterCurrentRarity]
cp c
- jr nz, .invalidCard
+ jr nz, .invalid_card
ld a, [wBoosterCurrentCardType]
- call GetCardType
+ call GetBoosterCardType
cp BOOSTER_CARD_TYPE_ENERGY
- jr z, .returnValidCard
+ jr z, .return_valid_card
ld a, [wBoosterCurrentCardSet]
swap a
and $0f
ld c, a
ld a, [wBoosterDataSet]
cp c
- jr nz, .invalidCard
-.returnValidCard
+ jr nz, .invalid_card
+.return_valid_card
or a
jr .return
-.invalidCard
+.invalid_card
scf
.return
pop bc
ret
-; Map a card's TYPE_* constant given in a to its BOOSTER_CARD_TYPE_* constant
-GetCardType: ; 1e2a0 (7:62a0)
+; Return a card's TYPE_* constant given in a to its BOOSTER_CARD_TYPE_* constant
+GetBoosterCardType: ; 1e2a0 (7:62a0)
push hl
push bc
ld hl, CardTypeTable
cp NUM_CARD_TYPES
- jr nc, .loadType
+ jr nc, .load_type
ld c, a
ld b, $00
add hl, bc
-.loadType
+.load_type
ld a, [hl]
pop bc
pop hl
@@ -173,69 +180,74 @@ CardTypeTable: ; 1e2b1 (7:62b1)
db BOOSTER_CARD_TYPE_TRAINER ; TYPE_ENERGY_UNUSED
db BOOSTER_CARD_TYPE_TRAINER ; TYPE_TRAINER
-FindTotalTypeChances: ; 1e2c2 (7:62c2)
+; calculate the chance of each type for the next card
+; return [wd4ca] = sum of all chances
+CalculateTypeChances: ; 1e2c2 (7:62c2)
ld c, NUM_BOOSTER_CARD_TYPES
xor a
- ld hl, wBoosterTempTypeChanceTable
-.deleteTempTypeChanceTableLoop
+ ld hl, wBoosterTempTypeChancesTable
+.delete_temp_type_chance_table_loop
ld [hli], a
dec c
- jr nz, .deleteTempTypeChanceTableLoop
+ jr nz, .delete_temp_type_chance_table_loop
ld [wd4ca], a
ld bc, $00
-.checkIfTypeIsValid
+.check_if_type_is_valid
push bc
ld hl, wBoosterAmountOfCardTypeTable
add hl, bc
ld a, [hl]
or a
- jr z, .amountOfTypeOrChanceZero
+ jr z, .amount_of_type_or_chance_zero
ld hl, wBoosterDataTypeChances
add hl, bc
ld a, [hl]
or a
- jr z, .amountOfTypeOrChanceZero
- ld hl, wBoosterTempTypeChanceTable
+ jr z, .amount_of_type_or_chance_zero
+ ld hl, wBoosterTempTypeChancesTable
add hl, bc
ld [hl], a
ld a, [wd4ca]
add [hl]
ld [wd4ca], a
-.amountOfTypeOrChanceZero
+.amount_of_type_or_chance_zero
pop bc
inc c
ld a, c
cp NUM_BOOSTER_CARD_TYPES
- jr c, .checkIfTypeIsValid
+ jr c, .check_if_type_is_valid
ld a, [wd4ca]
ret
+; input: a = random number (between 0 and the sum of all chances)
+; store the randomly generated booster card type in [wBoosterJustDrawnCardType]
DetermineBoosterCardType: ; 1e2fa (7:62fa)
ld [wd4ca], a
ld c, $00
- ld hl, wBoosterTempTypeChanceTable
-.loopThroughCardTypes
+ ld hl, wBoosterTempTypeChancesTable
+.loop_through_card_types
ld a, [hl]
or a
- jr z, .skipNoChanceType
+ jr z, .skip_no_chance_type
ld a, [wd4ca]
sub [hl]
ld [wd4ca], a
- jr c, .foundCardType
-.skipNoChanceType
+ jr c, .found_card_type
+.skip_no_chance_type
inc hl
inc c
ld a, c
- cp a, NUM_BOOSTER_CARD_TYPES
- jr c, .loopThroughCardTypes
+ cp NUM_BOOSTER_CARD_TYPES
+ jr c, .loop_through_card_types
ld a, BOOSTER_CARD_TYPE_ENERGY
-.foundCardType
+.found_card_type
ld a, c
- ld [wBoosterSelectedCardType], a
+ ld [wBoosterJustDrawnCardType], a
ret
-FindBoosterCard: ; 1e31d (7:631d)
- ld a, [wBoosterSelectedCardType]
+; generate a random available card of the booster card type at [wBoosterJustDrawnCardType]
+DetermineBoosterCard: ; 1e31d (7:631d)
+ ld a, [wBoosterJustDrawnCardType]
ld c, a
ld b, $00
ld hl, wBoosterAmountOfCardTypeTable
@@ -244,52 +256,52 @@ FindBoosterCard: ; 1e31d (7:631d)
call Random
ld [wd4ca], a
ld hl, wBoosterViableCardList
-.findMatchingCardLoop
+.find_matching_card_loop
ld a, [hli]
or a
- jr z, .noValidCardFound
- ld [wBoosterTempCard], a
- ld a, [wBoosterSelectedCardType]
+ jr z, .no_valid_card_found
+ ld [wBoosterCurrentCard], a
+ ld a, [wBoosterJustDrawnCardType]
cp [hl]
- jr nz, .cardIncorrectType
+ jr nz, .card_incorrect_type
ld a, [wd4ca]
or a
- jr z, .returnWithCurrentCard
+ jr z, .return_with_current_card
dec a
ld [wd4ca], a
-.cardIncorrectType
+.card_incorrect_type
inc hl
- jr .findMatchingCardLoop
-.returnWithCurrentCard
+ jr .find_matching_card_loop
+.return_with_current_card
or a
ret
-.noValidCardFound
- rst $38
+.no_valid_card_found
+ debug_ret
scf
ret
-; lowers the chance of getting the same type multiple times.
+; lowers the chance of getting the same type of card multiple times.
; more specifically, when a card of type T is drawn, T's new chances become
-; min (1, wBoosterDataTypeChances[T] - wBoosterAveragedTypeChances).
+; min (1, [wBoosterDataTypeChances[T]] - [wBoosterAveragedTypeChances]).
UpdateBoosterCardTypesChanceByte: ; 1e350 (7:6350)
push hl
push bc
- ld a, [wBoosterSelectedCardType]
+ ld a, [wBoosterJustDrawnCardType]
ld c, a
ld b, $00
ld hl, wBoosterDataTypeChances
add hl, bc
- ld a,[wBoosterAveragedTypeChances]
+ ld a, [wBoosterAveragedTypeChances]
ld c, a
ld a, [hl]
sub c
ld [hl], a
- jr z, .chanceLessThanOne
- jr nc, .stillSomeChanceLeft
-.chanceLessThanOne
- ld a, $01
+ jr z, .chance_less_than_one
+ jr nc, .still_some_chance_left
+.chance_less_than_one
+ ld a, 1
ld [hl], a
-.stillSomeChanceLeft
+.still_some_chance_left
pop bc
pop hl
ret
@@ -300,11 +312,11 @@ GenerateBoosterEnergies: ; 1e3db (7:63db)
ld hl, wBoosterDataEnergyFunctionPointer + 1
ld a, [hld]
or a
- jr z, .noFunctionPointer
+ jr z, .no_function_pointer
ld l, [hl]
ld h, a
jp hl
-.noFunctionPointer
+.no_function_pointer
ld a, [hl]
or a
ret z ; return if no hardcoded energy either
@@ -313,37 +325,41 @@ GenerateBoosterEnergies: ; 1e3db (7:63db)
pop af
ret
+; add the (energy) card at a to wBoosterTempNonEnergiesDrawn and wTempCardCollection
AddBoosterEnergyToDrawnEnergies: ; 1e380 (7:6380)
- ld [wBoosterTempCard], a
+ ld [wBoosterCurrentCard], a
call AddBoosterCardToDrawnEnergies
ret
; generates a random energy card
-GenerateEndingEnergy: ; 1e387 (7:6387)
- ld a, COLORLESS - FIRE
+GenerateRandomEnergy: ; 1e387 (7:6387)
+ ld a, NUM_COLORED_TYPES
call Random
- add a, $01
+ add $01
jr AddBoosterEnergyToDrawnEnergies
; generates a booster with 10 random energies
GenerateRandomEnergyBooster: ; 1e390 (7:6390)
ld a, NUM_CARDS_IN_BOOSTER
-.generateEnergyLoop
+.generate_energy_loop
push af
- call GenerateEndingEnergy
+ call GenerateRandomEnergy
pop af
dec a
- jr nz, .generateEnergyLoop
+ jr nz, .generate_energy_loop
jr ZeroBoosterRarityData
+; generates a booster with 5 Lightning energies and 5 Fire energies
GenerateEnergyBoosterLightningFire: ; 1e39c (7:639c)
ld hl, EnergyBoosterLightningFireData
jr GenerateTwoTypesEnergyBooster
+; generates a booster with 5 Water energies and 5 Fighting energies
GenerateEnergyBoosterWaterFighting: ; 1e3a1 (7:63a1)
ld hl, EnergyBoosterWaterFightingData
jr GenerateTwoTypesEnergyBooster
+; generates a booster with 5 Grass energies and 5 Psychic energies
GenerateEnergyBoosterGrassPsychic: ; 1e3a6 (7:63a6)
ld hl, EnergyBoosterGrassPsychicData
jr GenerateTwoTypesEnergyBooster
@@ -351,9 +367,9 @@ GenerateEnergyBoosterGrassPsychic: ; 1e3a6 (7:63a6)
; generates a booster with 5 energies of 2 different types each
GenerateTwoTypesEnergyBooster: ; 1e3ab (7:63ab)
ld b, $02
-.addTwoEnergiesToBoosterLoop
+.add_two_energies_to_booster_loop
ld c, NUM_CARDS_IN_BOOSTER / 2
-.addEnergyToBoosterLoop
+.add_energy_to_booster_loop
push hl
push bc
ld a, [hl]
@@ -361,10 +377,12 @@ GenerateTwoTypesEnergyBooster: ; 1e3ab (7:63ab)
pop bc
pop hl
dec c
- jr nz, .addEnergyToBoosterLoop
+ jr nz, .add_energy_to_booster_loop
inc hl
dec b
- jr nz, .addTwoEnergiesToBoosterLoop
+ jr nz, .add_two_energies_to_booster_loop
+; fallthrough
+
ZeroBoosterRarityData:
xor a
ld [wBoosterDataCommonAmount], a
@@ -374,33 +392,37 @@ ZeroBoosterRarityData:
EnergyBoosterLightningFireData:
db LIGHTNING_ENERGY, FIRE_ENERGY
+
EnergyBoosterWaterFightingData:
db WATER_ENERGY, FIGHTING_ENERGY
+
EnergyBoosterGrassPsychicData:
db GRASS_ENERGY, PSYCHIC_ENERGY
+; add the (energy) card at [wBoosterCurrentCard] to wBoosterTempNonEnergiesDrawn and wTempCardCollection
AddBoosterCardToDrawnEnergies: ; 1e3cf (7:63cf)
push hl
ld hl, wBoosterTempEnergiesDrawn
- call CopyToFirstEmptyByte
+ call AppendCardToHL
call AddBoosterCardToTempCardCollection
pop hl
ret
+; add the (non-energy) card at [wBoosterCurrentCard] to wBoosterTempNonEnergiesDrawn and wTempCardCollection
AddBoosterCardToDrawnNonEnergies: ; 1e3db (7:63db)
push hl
ld hl, wBoosterTempNonEnergiesDrawn
- call CopyToFirstEmptyByte
+ call AppendCardToHL
call AddBoosterCardToTempCardCollection
pop hl
ret
-CopyToFirstEmptyByte: ; 1e3e7 (7:63e7)
+AppendCardToHL: ; 1e3e7 (7:63e7)
ld a, [hli]
or a
- jr nz, CopyToFirstEmptyByte
+ jr nz, AppendCardToHL
dec hl
- ld a, [wBoosterTempCard]
+ ld a, [wBoosterCurrentCard]
ld [hli], a
xor a
ld [hl], a
@@ -410,46 +432,49 @@ CopyToFirstEmptyByte: ; 1e3e7 (7:63e7)
PutEnergiesAndNonEnergiesTogether: ; 1e3f3 (7:63f3)
push hl
ld hl, wBoosterTempEnergiesDrawn
-.loopThroughExtraCards
+.loop_through_extra_cards
ld a, [hli]
or a
- jr z, .endOfCards
- ld [wBoosterTempCard], a
+ jr z, .end_of_cards
+ ld [wBoosterCurrentCard], a
push hl
ld hl, wBoosterTempNonEnergiesDrawn
- call CopyToFirstEmptyByte
+ call AppendCardToHL
pop hl
- jr .loopThroughExtraCards
-.endOfCards
+ jr .loop_through_extra_cards
+.end_of_cards
pop hl
ret
+; add the final cards drawn from the booster pack to the player's colection (sCardCollection)
AddBoosterCardsToCollection:; 1e40a (7:640a)
push hl
ld hl, wBoosterCardsDrawn
-.addCardsLoop
+.add_cards_loop
ld a, [hli]
or a
- jr z, .noCardsLeft
+ jr z, .no_cards_left
call AddCardToCollection
- jr .addCardsLoop
-.noCardsLeft
+ jr .add_cards_loop
+.no_cards_left
pop hl
ret
+; add the card at [wBoosterCurrentCard] to wTempCardCollection
AddBoosterCardToTempCardCollection: ; 1e419 (7:6419)
push hl
- ld h, wTempCardCollection >> 8
- ld a, [wBoosterTempCard]
+ ld h, HIGH(wTempCardCollection)
+ ld a, [wBoosterCurrentCard]
ld l, a
inc [hl]
pop hl
ret
-IsByteInTempCardCollectionZero: ; 1e423 (7:6423)
+; check if the card at [wBoosterCurrentCard] has already been added to wTempCardCollection
+CheckCardAlreadyDrawn: ; 1e423 (7:6423)
push hl
- ld h, wTempCardCollection >> 8
- ld a, [wBoosterTempCard]
+ ld h, HIGH(wTempCardCollection)
+ ld a, [wBoosterCurrentCard]
ld l, a
ld a, [hl]
pop hl
@@ -457,24 +482,24 @@ IsByteInTempCardCollectionZero: ; 1e423 (7:6423)
ccf
ret
-; clears wBoosterCardsDrawn and wTempCardCollection
-; copies booster data to wBoosterData* *CurSet, *EnergyFunctionPointer, and *TypeChances
-; copies rarity amounts to wBoosterData*Amount and averages them into wBoosterAveragedTypeChances
+; clears wBoosterCardsDrawn and wTempCardCollection.
+; copies booster data to wBoosterDataCurSet, wBoosterDataEnergyFunctionPointer, and wBoosterDataTypeChances.
+; copies rarity amounts to wBoosterData*Amount and averages them into wBoosterAveragedTypeChances.
InitBoosterData: ; 1e430 (7:6430)
ld c, wBoosterCardsDrawnEnd - wBoosterCardsDrawn
ld hl, wBoosterCardsDrawn
xor a
-.clearPlayerDeckLoop
+.clear_player_deck_loop
ld [hli], a
dec c
- jr nz, .clearPlayerDeckLoop
+ jr nz, .clear_player_deck_loop
ld c, $00 ; $100
ld hl, wTempCardCollection
xor a
-.clearTempCardCollectionLoop
+.clear_temp_card_collection_loop
ld [hli], a
dec c
- jr nz, .clearTempCardCollectionLoop
+ jr nz, .clear_temp_card_collection_loop
call FindBoosterDataPointer
ld de, wBoosterDataSet
ld bc, wBoosterDataTypeChances - wBoosterDataSet + NUM_BOOSTER_CARD_TYPES ; Pack2 - Pack1
@@ -484,24 +509,25 @@ InitBoosterData: ; 1e430 (7:6430)
ld d, NUM_BOOSTER_CARD_TYPES
ld e, $0
ld hl, wBoosterDataTypeChances
-.addChanceBytesLoop
+.add_chance_bytes_loop
ld a, [hli]
or a
- jr z, .skipChanceByte
+ jr z, .skip_chance_byte
add c
ld c, a
inc e
-.skipChanceByte
+.skip_chance_byte
dec d
- jr nz, .addChanceBytesLoop
+ jr nz, .add_chance_bytes_loop
call DivideBCbyDE
ld a, c
ld [wBoosterAveragedTypeChances], a
ret
+; get the pointer to the data of the booster pack at [wBoosterPackID]
FindBoosterDataPointer: ; 1e46f (7:646f)
push bc
- ld a, [wBoosterIndex]
+ ld a, [wBoosterPackID]
add a
ld c, a
ld b, $0
@@ -514,43 +540,44 @@ FindBoosterDataPointer: ; 1e46f (7:646f)
ret
BoosterDataJumptable: ; 1e480 (7:6480)
- dw PackColosseumNeutral
- dw PackColosseumGrass
- dw PackColosseumFire
- dw PackColosseumWater
- dw PackColosseumLightning
- dw PackColosseumFighting
- dw PackColosseumTrainer
- dw PackEvolutionNeutral
- dw PackEvolutionGrass
- dw PackEvolutionNeutralFireEnergy
- dw PackEvolutionWater
- dw PackEvolutionFighting
- dw PackEvolutionPsychic
- dw PackEvolutionTrainer
- dw PackMysteryNeutral
- dw PackMysteryGrassColorless
- dw PackMysteryWaterColorless
- dw PackMysteryLightningColorless
- dw PackMysteryFightingColorless
- dw PackMysteryTrainerColorless
- dw PackLaboratoryMostlyNeutral
- dw PackLaboratoryGrass
- dw PackLaboratoryWater
- dw PackLaboratoryPsychic
- dw PackLaboratoryTrainer
- dw PackEnergyLightningFire
- dw PackEnergyWaterFighting
- dw PackEnergyGrassPsychic
- dw PackRandomEnergies
-
+ dw BoosterPack_ColosseumNeutral
+ dw BoosterPack_ColosseumGrass
+ dw BoosterPack_ColosseumFire
+ dw BoosterPack_ColosseumWater
+ dw BoosterPack_ColosseumLightning
+ dw BoosterPack_ColosseumFighting
+ dw BoosterPack_ColosseumTrainer
+ dw BoosterPack_EvolutionNeutral
+ dw BoosterPack_EvolutionGrass
+ dw BoosterPack_EvolutionNeutralFireEnergy
+ dw BoosterPack_EvolutionWater
+ dw BoosterPack_EvolutionFighting
+ dw BoosterPack_EvolutionPsychic
+ dw BoosterPack_EvolutionTrainer
+ dw BoosterPack_MysteryNeutral
+ dw BoosterPack_MysteryGrassColorless
+ dw BoosterPack_MysteryWaterColorless
+ dw BoosterPack_MysteryLightningColorless
+ dw BoosterPack_MysteryFightingColorless
+ dw BoosterPack_MysteryTrainerColorless
+ dw BoosterPack_LaboratoryMostlyNeutral
+ dw BoosterPack_LaboratoryGrass
+ dw BoosterPack_LaboratoryWater
+ dw BoosterPack_LaboratoryPsychic
+ dw BoosterPack_LaboratoryTrainer
+ dw BoosterPack_EnergyLightningFire
+ dw BoosterPack_EnergyWaterFighting
+ dw BoosterPack_EnergyGrassPsychic
+ dw BoosterPack_RandomEnergies
+
+; load rarity amounts of the booster pack set at [wBoosterDataSet] to wBoosterData*Amount
LoadRarityAmountsToWram: ; 1e4ba (7:64ba)
ld a, [wBoosterDataSet]
add a
add a
ld c, a
ld b, $00
- ld hl, BoosterSetRarityAmountTable
+ ld hl, BoosterSetRarityAmountsTable
add hl, bc
inc hl
ld a, [hli]
diff --git a/src/engine/effect_functions.asm b/src/engine/effect_functions.asm
index dc05043..0d7a910 100644
--- a/src/engine/effect_functions.asm
+++ b/src/engine/effect_functions.asm
@@ -5,17 +5,17 @@ Poison50PercentEffect: ; 2c000 (b:4000)
PoisonEffect: ; 2c007 (b:4007)
lb bc, $0f, POISONED
- jr applyEffect
+ jr ApplyStatusEffect
lb bc, $0f, DOUBLE_POISONED
- jr applyEffect
+ jr ApplyStatusEffect
Paralysis50PercentEffect: ; 2c011 (b:4011)
ldtx de, ParalysisCheckText
call TossCoin_BankB
ret nc
lb bc, $f0, PARALYZED
- jr applyEffect
+ jr ApplyStatusEffect
Confusion50PercentEffect: ; 2c01d (b:401d)
ldtx de, ConfusionCheckText
@@ -24,7 +24,7 @@ Confusion50PercentEffect: ; 2c01d (b:401d)
ConfusionEffect: ; 2c024 (b:4024)
lb bc, $f0, CONFUSED
- jr applyEffect
+ jr ApplyStatusEffect
ldtx de, SleepCheckText
call TossCoin_BankB
@@ -32,36 +32,36 @@ ConfusionEffect: ; 2c024 (b:4024)
SleepEffect: ; 2c030 (b:4030)
lb bc, $f0, ASLEEP
- jr applyEffect
+ jr ApplyStatusEffect
-applyEffect
+ApplyStatusEffect:
ldh a, [hWhoseTurn]
ld hl, wcc05
cp [hl]
- jr nz, .canInduceStatus
- ld a, [wTempNonTurnDuelistCardId]
+ jr nz, .can_induce_status
+ ld a, [wTempNonTurnDuelistCardID]
cp CLEFAIRY_DOLL
- jr z, .cantInduceStatus
+ jr z, .cant_induce_status
cp MYSTERIOUS_FOSSIL
- jr z, .cantInduceStatus
- ; snorlax's thick skinned prevents it from being statused...
+ jr z, .cant_induce_status
+ ; Snorlax's Thick Skinned prevents it from being statused...
cp SNORLAX
- jr nz, .canInduceStatus
+ jr nz, .can_induce_status
call SwapTurn
xor a
- ; ...unless already so, or if affected by muk's toxic gas
- call CheckIfUnderAnyCannotUseStatus2
+ ; ...unless already so, or if affected by Muk's Toxic Gas
+ call CheckCannotUseDueToStatus_OnlyToxicGasIfANon0
call SwapTurn
- jr c, .canInduceStatus
+ jr c, .can_induce_status
-.cantInduceStatus
+.cant_induce_status
ld a, c
ld [wccf1], a
call Func_2c09c
or a
ret
-.canInduceStatus
+.can_induce_status
ld hl, wcccd
push hl
ld e, [hl]
@@ -99,16 +99,16 @@ CommentedOut_2c086: ; 2c086 (b:4086)
Func_2c087: ; 2c087 (b:4087)
xor a
- jr asm_2c08c
+ jr Func_2c08c
-Func_2c08a: ; 2c08a (b:408a)
+Func_2c08a: ; 2c08a (b:408a)
ld a, $1
-asm_2c08c
+Func_2c08c:
push de
push af
ld a, $11
- call Func_0f7f
+ call SetDuelAIAction
pop af
pop de
call Func_0fac
@@ -143,7 +143,7 @@ Func_2c0d4: ; 2c0d4 (b:40d4)
ld a, DUELVARS_ARENA_CARD_STATUS
call GetNonTurnDuelistVariable
and DOUBLE_POISONED
- jr z, .notDoublePoisoned
+ jr z, .not_double_poisoned
pop af
ld a, [wDamage]
ld [wccbb], a
@@ -152,7 +152,7 @@ Func_2c0d4: ; 2c0d4 (b:40d4)
push af
-.notDoublePoisoned
+.not_double_poisoned
ld hl, wDamage
ld a, [hl]
add d
@@ -198,7 +198,7 @@ ApplySubstatus1ToDefendingCard: ; 2c140 (b:4140)
ApplySubstatus2ToDefendingCard: ; 2c149 (b:4149)
push af
call CheckNoDamageOrEffect
- jr c, .noDamageOrEffect
+ jr c, .no_damage_orEffect
ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
call GetNonTurnDuelistVariable
pop af
@@ -207,7 +207,7 @@ ApplySubstatus2ToDefendingCard: ; 2c149 (b:4149)
ld [hl], a
ret
-.noDamageOrEffect
+.no_damage_orEffect
pop af
push hl
bank1call $4f9d
@@ -296,7 +296,7 @@ KakunaPoisonPowder_AIEffect: ; 2c7b4 (b:47b4)
INCROM $2c7bc, $2c7d0
SwordsDanceEffect: ; 2c7d0 (b:47d0)
- ld a, [wTempTurnDuelistCardId]
+ ld a, [wTempTurnDuelistCardID]
cp SCYTHER
ret nz
ld a, SUBSTATUS1_NEXT_TURN_DOUBLE_DAMAGE
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 2f57dce..4c5ecfa 100755..100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -45,8 +45,8 @@ Start: ; 0150 (0:0150)
ld a, $1
call BankswitchHome
xor a
- call BankswitchRAM
- call BankswitchVRAM_0
+ call BankswitchSRAM
+ call BankswitchVRAM0
call DisableLCD
pop af
ld [wInitialA], a
@@ -61,10 +61,10 @@ Start: ; 0150 (0:0150)
call ResetSerial
call CopyDMAFunction
call SetupExtRAM
- ld a, BANK(Func_4000)
+ ld a, BANK(GameLoop)
call BankswitchHome
ld sp, $e000
- jp Func_4000
+ jp GameLoop
VBlankHandler: ; 019b (0:019b)
push af
@@ -80,7 +80,7 @@ VBlankHandler: ; 019b (0:019b)
ld a, [wVBlankOAMCopyToggle]
or a
jr z, .no_oam_copy
- call hDMAFunction ; DMA-copy $ca00-$ca9f to OAM memory
+ call hDMAFunction ; DMA-copy $ca00-$ca9f to OAM memory
xor a
ld [wVBlankOAMCopyToggle], a
.no_oam_copy
@@ -181,15 +181,14 @@ IncrementPlayTimeCounter: ; 021c (0:021c)
; setup timer to 16384/68 ≈ 240.94 Hz
SetupTimer: ; 0241 (0:0241)
- ld b, $100 - 68
- ; ld b, $bc
+ ld b, -68 ; Value for Normal Speed
call CheckForCGB
- jr c, .asm_250
+ jr c, .set_timer
ld a, [rKEY1]
and $80
- jr z, .asm_250
- ld b, $100 - 2*68
-.asm_250
+ jr z, .set_timer
+ ld b, $100 - 2 * 68 ; Value for CGB Double Speed
+.set_timer
ld a, b
ld [rTMA], a
ld a, rTAC_16384_HZ
@@ -198,7 +197,7 @@ SetupTimer: ; 0241 (0:0241)
ld [rTAC], a
ret
-; carry flag: 0 if CGB
+; return carry if not CGB
CheckForCGB: ; 025c (0:025c)
ld a, [wConsole]
cp CONSOLE_CGB
@@ -231,7 +230,7 @@ EnableLCD: ; 0277 (0:0277)
or rLCDC_ENABLE_MASK ;
ld [wLCDC], a ;
ld [rLCDC], a ; turn LCD on
- ld a, %11000000
+ ld a, FLUSH_ALL
ld [wFlushPaletteFlags], a
ret
@@ -343,9 +342,9 @@ SetupLCD: ; 030b (0:030b)
ld [wLCDCFunctiontrampoline], a
ld [wVBlankFunctionTrampoline], a
ld hl, wVBlankFunctionTrampoline + 1
- ld [hl], NopF & $ff ;
+ ld [hl], LOW(NopF) ;
inc hl ; load `jp NopF`
- ld [hl], NopF >> $8 ;
+ ld [hl], HIGH(NopF) ;
ld a, $47
ld [wLCDC], a
ld a, $1
@@ -379,30 +378,30 @@ SetupPalettes: ; 036a (0:036a)
ld hl, wBGP
ld a, %11100100
ld [rBGP], a
- ld [hli], a
+ ld [hli], a ; wBGP
ld [rOBP0], a
ld [rOBP1], a
- ld [hli], a
- ld [hl], a
+ ld [hli], a ; wOBP0
+ ld [hl], a ; wOBP1
xor a
ld [wFlushPaletteFlags], a
ld a, [wConsole]
cp CONSOLE_CGB
ret nz
- ld de, wBufPalette
- ld c, $10
-.asm_387
+ ld de, wBackgroundPalettesCGB
+ ld c, 16
+.copy_pals_loop
ld hl, InitialPalette
- ld b, $8
-.asm_38c
+ ld b, CGB_PAL_SIZE
+.copy_bytes_loop
ld a, [hli]
ld [de], a
inc de
dec b
- jr nz, .asm_38c
+ jr nz, .copy_bytes_loop
dec c
- jr nz, .asm_387
- call FlushBothCGBPalettes
+ jr nz, .copy_pals_loop
+ call FlushAllCGBPalettes
ret
InitialPalette: ; 0399 (0:0399)
@@ -411,51 +410,52 @@ InitialPalette: ; 0399 (0:0399)
rgb 10,10,08
rgb 00,00,00
+; clear VRAM tile data
SetupVRAM: ; 03a1 (0:03a1)
call FillTileMap
call CheckForCGB
- jr c, .asm_3b2
- call BankswitchVRAM_1
- call .asm_3b2
- call BankswitchVRAM_0
-.asm_3b2
- ld hl, vTiles0
- ld bc, vBGMapTiles - vTiles0
-.asm_3b8
+ jr c, .vram0
+ call BankswitchVRAM1
+ call .vram0
+ call BankswitchVRAM0
+.vram0
+ ld hl, v0Tiles0
+ ld bc, v0BGMapTiles1 - v0Tiles0
+.loop
xor a
ld [hli], a
dec bc
ld a, b
or c
- jr nz, .asm_3b8
+ jr nz, .loop
ret
-; fill VARM tile map banks with [wTileMapFill]
+; fill VRAM0 BG maps with [wTileMapFill] and VRAM1 BG Maps with 0
FillTileMap: ; 03c0 (0:03c0)
- call BankswitchVRAM_0
- ld hl, vBGMapTiles
- ld bc, vBGMapAttrs - vBGMapTiles
-.asm_3c9
+ call BankswitchVRAM0
+ ld hl, v0BGMapTiles1
+ ld bc, v0BGMapTiles2 - v0BGMapTiles1
+.vram0_loop
ld a, [wTileMapFill]
ld [hli], a
dec bc
ld a, c
or b
- jr nz, .asm_3c9
+ jr nz, .vram0_loop
ld a, [wConsole]
cp CONSOLE_CGB
ret nz
- call BankswitchVRAM_1
- ld hl, vBGMapTiles
- ld bc, vBGMapAttrs - vBGMapTiles
-.asm_3e1
+ call BankswitchVRAM1
+ ld hl, v1BGMapTiles1
+ ld bc, v1BGMapTiles2 - v1BGMapTiles1
+.vram1_loop
xor a
ld [hli], a
dec bc
ld a, c
or b
- jr nz, .asm_3e1
- call BankswitchVRAM_0
+ jr nz, .vram1_loop
+ call BankswitchVRAM0
ret
; zero work RAM, stack area & high RAM ($C000-$DFFF, $FF80-$FFEF)
@@ -479,19 +479,25 @@ ZeroRAM: ; 03ec (0:03ec)
jr nz, .zero_hram_loop
ret
-Func_0404: ; 0404 (0:0404)
- ld a, $c0
- jr asm_411
+; Flush all non-CGB and CGB palettes
+SetFlushAllPalettes: ; 0404 (0:0404)
+ ld a, FLUSH_ALL
+ jr SetFlushPalettes
-Func_0408: ; 0408 (0:0408)
- or $80
- jr asm_411
+; Flush non-CGB palettes and a single CGB palette,
+; provided in a as an index between 0-7 (BGP) or 8-15 (OBP)
+SetFlushPalette: ; 0408 (0:0408)
+ or FLUSH_ONE
+ jr SetFlushPalettes
-Func_040c: ; 040c (0:040c)
+; Set wBGP to the specified value, flush non-CGB palettes, and the first CGB palette.
+SetBGP: ; 040c (0:040c)
ld [wBGP], a
-asm_40f
- ld a, $80
-asm_411
+
+SetFlushPalette0:
+ ld a, FLUSH_ONE
+
+SetFlushPalettes:
ld [wFlushPaletteFlags], a
ld a, [wLCDC]
rla
@@ -505,19 +511,21 @@ asm_411
pop hl
ret
-Set_OBP0: ; 0423 (0:0423)
+; Set wOBP0 to the specified value, flush non-CGB palettes, and the first CGB palette.
+SetOBP0: ; 0423 (0:0423)
ld [wOBP0], a
- jr asm_40f
+ jr SetFlushPalette0
-Set_OBP1: ; 0428 (0:0428)
+; Set wOBP1 to the specified value, flush non-CGB palettes, and the first CGB palette.
+SetOBP1: ; 0428 (0:0428)
ld [wOBP1], a
- jr asm_40f
+ jr SetFlushPalette0
-; flushes non-CGB palettes from [wBGP], [wOBP0], [wOBP1] as well as CGB
-; palettes from [wBufPalette..wBufPalette+$1f] (BG palette) and
-; [wBufPalette+$20..wBufPalette+$3f] (sprite palette).
-; only flushes if [wFlushPaletteFlags] is nonzero, and only flushes sprite
-; palette if bit6 of that location is set.
+; Flushes non-CGB palettes from [wBGP], [wOBP0], [wOBP1] as well as CGB
+; palettes from [wBackgroundPalettesCGB..wBackgroundPalettesCGB+$3f] (BG palette)
+; and [wObjectPalettesCGB+$00..wObjectPalettesCGB+$3f] (sprite palette).
+; Only flushes if [wFlushPaletteFlags] is nonzero, and only flushes
+; a single CGB palette if bit6 of that location is reset.
FlushPalettes: ; 042d (0:042d)
ld a, [wFlushPaletteFlags]
or a
@@ -532,65 +540,67 @@ FlushPalettes: ; 042d (0:042d)
ld [rOBP1], a
ld a, [wConsole]
cp CONSOLE_CGB
- jr z, flushPaletteCGB
-flushPaletteDone
+ jr z, .CGB
+.done
xor a
ld [wFlushPaletteFlags], a
ret
-flushPaletteCGB
- ; flush BG palette (BGP)
- ; if bit6 of [wFlushPaletteFlags] is set, flush OBP too
+.CGB
+ ; flush a single CGB BG or OB palette
+ ; if bit6 (FLUSH_ALL_F) of [wFlushPaletteFlags] is set, flush all 16 of them
ld a, [wFlushPaletteFlags]
- bit 6, a
- jr nz, FlushBothCGBPalettes
- ld b, $8
- call CopyPalette
- jr flushPaletteDone
-
-FlushBothCGBPalettes: ; 0458 (0:0458)
+ bit FLUSH_ALL_F, a
+ jr nz, FlushAllCGBPalettes
+ ld b, CGB_PAL_SIZE
+ call CopyCGBPalettes
+ jr .done
+
+FlushAllCGBPalettes: ; 0458 (0:0458)
+ ; flush 8 BGP palettes
xor a
- ld b, $40
- ; flush BGP $00-$1f
- call CopyPalette
- ld a, $8
- ld b, $40
- ; flush OBP $00-$1f
- call CopyPalette
- jr flushPaletteDone
-
-CopyPalette: ; 0467 (0:0467)
+ ld b, 8 * CGB_PAL_SIZE
+ call CopyCGBPalettes
+ ; flush 8 OBP palettes
+ ld a, CGB_PAL_SIZE
+ ld b, 8 * CGB_PAL_SIZE
+ call CopyCGBPalettes
+ jr FlushPalettes.done
+
+; copy b bytes of CGB palette data starting at
+; wBackgroundPalettesCGB + a * CGB_PAL_SIZE into rBGPD or rOGPD.
+CopyCGBPalettes: ; 0467 (0:0467)
add a
add a
add a
ld e, a
ld d, $0
- ld hl, wBufPalette
+ ld hl, wBackgroundPalettesCGB
add hl, de
- ld c, $68
- bit 6, a
- jr z, .asm_479
- ld c, $6a
-.asm_479
- and $bf
+ ld c, LOW(rBGPI)
+ bit 6, a ; was a between 0-7 (BGP), or between 8-15 (OBP)?
+ jr z, .copy
+ ld c, LOW(rOBPI)
+.copy
+ and %10111111
ld e, a
-.asm_47c
+.next_byte
ld a, e
ld [$ff00+c], a
inc c
-.asm_47f
+.wait
ld a, [rSTAT]
and $2
- jr nz, .asm_47f
+ jr nz, .wait
ld a, [hl]
ld [$ff00+c], a
ld a, [$ff00+c]
cp [hl]
- jr nz, .asm_47f
+ jr nz, .wait
inc hl
dec c
inc e
dec b
- jr nz, .asm_47c
+ jr nz, .next_byte
ret
Func_0492: ; 0492 (0:0492)
@@ -609,7 +619,7 @@ Func_0492: ; 0492 (0:0492)
jr nz, .asm_49b
ret
-Func_04a2: ; 04a2 (0:04a2)
+EmptyScreen: ; 04a2 (0:04a2)
call DisableLCD
call FillTileMap
xor a
@@ -617,17 +627,21 @@ Func_04a2: ; 04a2 (0:04a2)
ld a, [wConsole]
cp CONSOLE_SGB
ret nz
- call EnableLCD ;
- ld hl, SGB_ATTR_BLK_04bf ; send SGB data
- call SendSGB ;
- call DisableLCD ;
+ call EnableLCD
+ ld hl, AttrBlkPacket_04bf
+ call SendSGB
+ call DisableLCD
ret
-SGB_ATTR_BLK_04bf: ; 04bf (0:04bf)
+AttrBlkPacket_04bf: ; 04bf (0:04bf)
sgb ATTR_BLK, 1 ; sgb_command, length
- db $01,$03,$00,$00,$00,$13,$11,$00,$00,$00,$00,$00,$00,$00,$00
+ db 1 ; number of data sets
+ ; Control Code, Color Palette Designation, X1, Y1, X2, Y2
+ db ATTR_BLK_CTRL_INSIDE + ATTR_BLK_CTRL_LINE, 0 << 0 + 0 << 2, 0, 0, 19, 17 ; data set 1
+ ds 6 ; data set 2
+ ds 2 ; data set 3
-; returns vBGMapTiles + BG_MAP_WIDTH * c + b in de.
+; returns v*BGMapTiles1 + BG_MAP_WIDTH * c + b in de.
; used to map coordinates at bc to a BGMap0 address.
BCCoordToBGMap0Address: ; 04cf (0:04cf)
ld l, c
@@ -638,13 +652,12 @@ BCCoordToBGMap0Address: ; 04cf (0:04cf)
add hl, hl
add hl, hl
ld c, b
- ld b, HIGH(vBGMapTiles)
+ ld b, HIGH(v0BGMapTiles1)
add hl, bc
ld e, l
ld d, h
ret
-; read joypad
ReadJoypad: ; 04de (0:04de)
ld a, $20
ld [rJOYP], a
@@ -665,7 +678,7 @@ ReadJoypad: ; 04de (0:04de)
cpl
and $f
or b
- ld c, a ; joypad data
+ ld c, a ; joypad data
cpl
ld b, a
ldh a, [hButtonsHeld]
@@ -680,13 +693,17 @@ ReadJoypad: ; 04de (0:04de)
ldh a, [hButtonsHeld]
and BUTTONS
cp BUTTONS
- jr nz, asm_522 ; handle reset
+ jr nz, ReadJoypad_SaveButtonsHeld
+ ; A + B + Start + Select: reset game
call ResetSerial
+; fallthrough
+
Reset: ; 051b (0:051b)
ld a, [wInitialA]
di
jp Start
-asm_522
+
+ReadJoypad_SaveButtonsHeld:
ld a, c
ldh [hButtonsHeld], a
ld a, $30
@@ -772,25 +789,25 @@ HandleDPadRepeat: ; 0572 (0:0572)
ret
CopyDMAFunction: ; 0593 (0:0593)
- ld c, $83
+ ld c, LOW(hDMAFunction)
ld b, JumpToFunctionInTable - DMA
ld hl, DMA
-.asm_59a
+.loop
ld a, [hli]
ld [$ff00+c], a
inc c
dec b
- jr nz, .asm_59a
+ jr nz, .loop
ret
; CopyDMAFunction copies this function to hDMAFunction ($ff83)
DMA: ; 05a1 (0:05a1)
- ld a, $ca
+ ld a, HIGH(wOAM)
ld [rDMA], a
ld a, $28
-.asm_5a7
+.wait
dec a
- jr nz, .asm_5a7
+ jr nz, .wait
ret
; jumps to index a in pointer table hl
@@ -811,15 +828,15 @@ CallIndirect: ; 05b6 (0:05b6)
push af
ld a, [hli]
or [hl]
- jr nz, .asm_5bd
+ jr nz, .call_hl
pop af
ret
-.asm_5bd
+.call_hl
ld a, [hld]
ld l, [hl]
ld h, a
pop af
- ; fallthrough
+; fallthrough
CallHL: ; 05c1 (0:05c1)
jp hl
; 0x5c2
@@ -1030,7 +1047,7 @@ Func_06ee: ; 06ee (0:06ee)
ret
; 0x6fc
-; memcpy(DE, HL, B)
+; copy b bytes of data from hl to de
; if LCD on, copy during h-blank only
SafeCopyDataHLtoDE: ; 6fc (0:6fc)
ld a, [wLCDC]
@@ -1047,11 +1064,13 @@ JumpToHblankCopyDataHLtoDE: ; 0709 (0:0709)
jp HblankCopyDataHLtoDE
; 0x70c
+; copy c bytes of data from hl to de, b times.
+; used to copy gfx data.
CopyGfxData: ; 070c (0:070c)
ld a, [wLCDC]
rla
- jr nc, .asm_726
-.asm_712
+ jr nc, .next_tile
+.hblank_copy
push bc
push hl
push de
@@ -1066,19 +1085,19 @@ CopyGfxData: ; 070c (0:070c)
add hl, bc
pop bc
dec b
- jr nz, .asm_712
+ jr nz, .hblank_copy
ret
-.asm_726
+.next_tile
push bc
-.asm_727
+.copy_tile
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_727
+ jr nz, .copy_tile
pop bc
dec b
- jr nz, .asm_726
+ jr nz, .next_tile
ret
CopyDataHLtoDE_SaveRegisters: ; 0732 (0:0732)
@@ -1103,7 +1122,7 @@ CopyDataHLtoDE: ; 073c (0:073c)
ret
; switch to rombank (A + top2 of H shifted down),
-; set top2 of H to 01,
+; set top2 of H to 01 (switchable ROM bank area),
; return old rombank id on top-of-stack
BankpushHome: ; 0745 (0:0745)
push hl
@@ -1130,7 +1149,7 @@ BankpushHome: ; 0745 (0:0745)
and $3
ld b, a
res 7, d
- set 6, d
+ set 6, d ; $4000 ≤ de ≤ $7fff
ld l, e
ld h, d
pop de
@@ -1198,10 +1217,10 @@ BankswitchHome: ; 07a3 (0:07a3)
ld [MBC3RomBank], a
ret
-; switch RAM bank
-BankswitchRAM: ; 07a9 (0:07a9)
+; switch SRAM bank
+BankswitchSRAM: ; 07a9 (0:07a9)
push af
- ldh [hBankRAM], a
+ ldh [hBankSRAM], a
ld [MBC3SRamBank], a
ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
@@ -1209,7 +1228,7 @@ BankswitchRAM: ; 07a9 (0:07a9)
ret
; enable external RAM
-EnableExtRAM: ; 07b6 (0:07b6)
+EnableSRAM: ; 07b6 (0:07b6)
push af
ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
@@ -1217,7 +1236,7 @@ EnableExtRAM: ; 07b6 (0:07b6)
ret
; disable external RAM
-DisableExtRAM: ; 07be (0:07be)
+DisableSRAM: ; 07be (0:07be)
push af
xor a ; SRAM_DISABLE
ld [MBC3SRamEnable], a
@@ -1225,7 +1244,7 @@ DisableExtRAM: ; 07be (0:07be)
ret
; set current dest VRAM bank to 0
-BankswitchVRAM_0: ; 07c5 (0:07c5)
+BankswitchVRAM0: ; 07c5 (0:07c5)
push af
xor a
ldh [hBankVRAM], a
@@ -1234,7 +1253,7 @@ BankswitchVRAM_0: ; 07c5 (0:07c5)
ret
; set current dest VRAM bank to 1
-BankswitchVRAM_1: ; 07cd (0:07cd)
+BankswitchVRAM1: ; 07cd (0:07cd)
push af
ld a, $1
ldh [hBankVRAM], a
@@ -1265,6 +1284,7 @@ SwitchToCGBDoubleSpeed: ; 07e7 (0:07e7)
bit 7, [hl]
ret nz
; fallthrough
+
CGBSpeedSwitch: ; 07f1 (0:07f1)
ld a, [rIE]
push af
@@ -1284,8 +1304,8 @@ CGBSpeedSwitch: ; 07f1 (0:07f1)
SetupExtRAM: ; 080b (0:080b)
xor a
- call BankswitchRAM
- ld hl, $a000
+ call BankswitchSRAM
+ ld hl, sa000
ld bc, $1000
.asm_815
ld a, [hli]
@@ -1301,10 +1321,10 @@ SetupExtRAM: ; 080b (0:080b)
call Func_084d
scf
call Func_4050
- call DisableExtRAM
+ call DisableSRAM
ret
.asm_82f
- ld hl, $a000
+ ld hl, sa000
ld a, [hli]
cp $4
jr nz, .asm_842
@@ -1319,17 +1339,17 @@ SetupExtRAM: ; 080b (0:080b)
call Func_084d
or a
call Func_4050
- call DisableExtRAM
+ call DisableSRAM
ret
Func_084d: ; 084d (0:084d)
- ld a, $3
-.asm_84f
+ ld a, 3
+.clear_loop
call ClearExtRAMBank
dec a
- cp $ff
- jr nz, .asm_84f
- ld hl, $a000
+ cp -1
+ jr nz, .clear_loop
+ ld hl, sa000
ld [hl], $4
inc hl
ld [hl], $21
@@ -1339,8 +1359,8 @@ Func_084d: ; 084d (0:084d)
ClearExtRAMBank: ; 0863 (0:0863)
push af
- call BankswitchRAM
- call EnableExtRAM
+ call BankswitchSRAM
+ call EnableSRAM
ld hl, $a000
ld bc, $2000
.asm_870
@@ -1422,11 +1442,11 @@ UpdateRNGSources: ; 089b (0:089b)
ret
Func_08bf: ; 08bf (0:08bf)
- ld hl, $cad6
+ ld hl, wcad6
ld [hl], e
inc hl
ld [hl], d
- ld hl, $cad8
+ ld hl, wcad8
ld [hl], $1
inc hl
xor a
@@ -1465,7 +1485,7 @@ Func_08de: ; 08de (0:08de)
ret
Func_08ef: ; 08ef (0:08ef)
- ld hl, $cadc
+ ld hl, wcadc
ld a, [hl]
or a
jr z, .asm_902
@@ -1483,7 +1503,7 @@ Func_08ef: ; 08ef (0:08ef)
ld [bc], a
ret
.asm_902
- ld hl, $cad6
+ ld hl, wcad6
ld c, [hl]
inc hl
ld b, [hl]
@@ -1502,11 +1522,11 @@ Func_08ef: ; 08ef (0:08ef)
ld a, [bc]
inc bc
jr nc, .asm_92a
- ld hl, $cad6
+ ld hl, wcad6
ld [hl], c
inc hl
ld [hl], b
- ld hl, $cadd
+ ld hl, wcadd
ld b, [hl]
inc hl
inc hl
@@ -1516,7 +1536,7 @@ Func_08ef: ; 08ef (0:08ef)
ret
.asm_92a
ld [wcade], a
- ld hl, $cada
+ ld hl, wcada
bit 0, [hl]
jr nz, .asm_94a
set 0, [hl]
@@ -1530,7 +1550,7 @@ Func_08ef: ; 08ef (0:08ef)
inc a
ld [hli], a
push hl
- ld hl, $cad6
+ ld hl, wcad6
ld [hl], c
inc hl
ld [hl], b
@@ -1545,19 +1565,20 @@ Func_08ef: ; 08ef (0:08ef)
INCROM $0950, $099c
-Func_099c: ; 099c (0:099c)
+; set the Y Position and X Position of all sprites in wOAM to $00
+InitSpritePositions: ; 099c (0:099c)
xor a
ld [wcab5], a
- ld hl, $ca00
- ld c, $28
+ ld hl, wOAM
+ ld c, 40
xor a
-.asm_9a6
+.loop
ld [hli], a
ld [hli], a
inc hl
inc hl
dec c
- jr nz, .asm_9a6
+ jr nz, .loop
ret
; this function affects the stack so that it returns
@@ -1590,7 +1611,7 @@ RST18: ; 09ae (0:09ae)
ld a, [de]
ld [hl], a
ld a, $1
- ; fallthrough
+; fallthrough
Func_09ce: ; 09ce (0:09ce)
call BankswitchHome
ld hl, sp+$d
@@ -1654,81 +1675,101 @@ RST28: ; 09e9 (0:09e9)
; setup SNES memory $810-$867 and palette
InitSGB: ; 0a0d (0:0a0d)
- ld hl, SGB_MASK_EN_ON
+ ld hl, MaskEnPacket_Freeze
call SendSGB
- ld hl, SGB_DATA_SND_0a50
+ ld hl, DataSndPacket_0a50
call SendSGB
- ld hl, SGB_DATA_SND_0a60
+ ld hl, DataSndPacket_0a60
call SendSGB
- ld hl, SGB_DATA_SND_0a70
+ ld hl, DataSndPacket_0a70
call SendSGB
- ld hl, SGB_DATA_SND_0a80
+ ld hl, DataSndPacket_0a80
call SendSGB
- ld hl, SGB_DATA_SND_0a90
+ ld hl, DataSndPacket_0a90
call SendSGB
- ld hl, SGB_DATA_SND_0aa0
+ ld hl, DataSndPacket_0aa0
call SendSGB
- ld hl, SGB_DATA_SND_0ab0
+ ld hl, DataSndPacket_0ab0
call SendSGB
- ld hl, SGB_DATA_SND_0ac0
+ ld hl, DataSndPacket_0ac0
call SendSGB
- ld hl, SGB_PAL01
+ ld hl, Pal01Packet
call SendSGB
- ld hl, SGB_MASK_EN_OFF
+ ld hl, MaskEnPacket_Cancel
call SendSGB
ret
-SGB_DATA_SND_0a50: ; 0a50 (0:0a50)
+DataSndPacket_0a50: ; 0a50 (0:0a50)
sgb DATA_SND, 1 ; sgb_command, length
db $5d,$08,$00,$0b,$8c,$d0,$f4,$60,$00,$00,$00,$00,$00,$00,$00
-SGB_DATA_SND_0a60: ; 0a60 (0:0a60)
+DataSndPacket_0a60: ; 0a60 (0:0a60)
sgb DATA_SND, 1 ; sgb_command, length
db $52,$08,$00,$0b,$a9,$e7,$9f,$01,$c0,$7e,$e8,$e8,$e8,$e8,$e0
-SGB_DATA_SND_0a70: ; 0a70 (0:0a70)
+DataSndPacket_0a70: ; 0a70 (0:0a70)
sgb DATA_SND, 1 ; sgb_command, length
db $47,$08,$00,$0b,$c4,$d0,$16,$a5,$cb,$c9,$05,$d0,$10,$a2,$28
-SGB_DATA_SND_0a80: ; 0a80 (0:0a80)
+DataSndPacket_0a80: ; 0a80 (0:0a80)
sgb DATA_SND, 1 ; sgb_command, length
db $3c,$08,$00,$0b,$f0,$12,$a5,$c9,$c9,$c8,$d0,$1c,$a5,$ca,$c9
-SGB_DATA_SND_0a90: ; 0a90 (0:0a90)
+DataSndPacket_0a90: ; 0a90 (0:0a90)
sgb DATA_SND, 1 ; sgb_command, length
db $31,$08,$00,$0b,$0c,$a5,$ca,$c9,$7e,$d0,$06,$a5,$cb,$c9,$7e
-SGB_DATA_SND_0aa0: ; 0aa0 (0:0aa0)
+DataSndPacket_0aa0: ; 0aa0 (0:0aa0)
sgb DATA_SND, 1 ; sgb_command, length
db $26,$08,$00,$0b,$39,$cd,$48,$0c,$d0,$34,$a5,$c9,$c9,$80,$d0
-SGB_DATA_SND_0ab0: ; 0ab0 (0:0ab0)
+DataSndPacket_0ab0: ; 0ab0 (0:0ab0)
sgb DATA_SND, 1 ; sgb_command, length
db $1b,$08,$00,$0b,$ea,$ea,$ea,$ea,$ea,$a9,$01,$cd,$4f,$0c,$d0
-SGB_DATA_SND_0ac0: ; 0ac0 (0:0ac0)
+DataSndPacket_0ac0: ; 0ac0 (0:0ac0)
sgb DATA_SND, 1 ; sgb_command, length
db $10,$08,$00,$0b,$4c,$20,$08,$ea,$ea,$ea,$ea,$ea,$60,$ea,$ea
-SGB_MASK_EN_ON: ; 0ad0 (0:0ad0)
+MaskEnPacket_Freeze: ; 0ad0 (0:0ad0)
sgb MASK_EN, 1 ; sgb_command, length
- db $01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+ db MASK_EN_FREEZE_SCREEN
+ ds $0e
-SGB_MASK_EN_OFF: ; 0ae0 (0:0ae0)
+MaskEnPacket_Cancel: ; 0ae0 (0:0ae0)
sgb MASK_EN, 1 ; sgb_command, length
- db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+ db MASK_EN_CANCEL_MASK
+ ds $0e
-SGB_PAL01: ; 0af0 (0:0af0)
+Pal01Packet: ; 0af0 (0:0af0)
sgb PAL01, 1 ; sgb_command, length
- db $9c,$63,$94,$42,$08,$21,$00,$00,$1f,$00,$0f,$00,$07,$00,$00
-
-SGB_PAL23: ; 0b00 (0:0b00)
+ rgb 28, 28, 24
+ rgb 20, 20, 16
+ rgb 8, 8, 8
+ rgb 0, 0, 0
+ rgb 31, 0, 0
+ rgb 15, 0, 0
+ rgb 7, 0, 0
+ db $00
+
+Pal23Packet: ; 0b00 (0:0b00)
sgb PAL23, 1 ; sgb_command, length
- db $e0,$03,$e0,$01,$e0,$00,$00,$00,$00,$7c,$00,$3c,$00,$1c,$00
-
-SGB_ATTR_BLK_0b10: ; 0b10 (0:0b10)
+ rgb 0, 31, 0
+ rgb 0, 15, 0
+ rgb 0, 7, 0
+ rgb 0, 0, 0
+ rgb 0, 0, 31
+ rgb 0, 0, 15
+ rgb 0, 0, 7
+ db $00
+
+AttrBlkPacket_0b10: ; 0b10 (0:0b10)
sgb ATTR_BLK, 1 ; sgb_command, length
- db $01,$03,$09,$05,$05,$0a,$0a,$00,$00,$00,$00,$00,$00,$00,$00
+ db 1 ; number of data sets
+ ; Control Code, Color Palette Designation, X1, Y1, X2, Y2
+ db ATTR_BLK_CTRL_INSIDE + ATTR_BLK_CTRL_LINE, 1 << 0 + 2 << 2, 5, 5, 10, 10 ; data set 1
+ ds 6 ; data set 2
+ ds 2 ; data set 3
; send SGB command
SendSGB: ; 0b20 (0:0b20)
@@ -1776,12 +1817,12 @@ SendSGB: ; 0b20 (0:0b20)
DetectSGB: ; 0b59 (0:0b59)
ld bc, 60
call Wait
- ld hl, SGB_MLT_REQ_2
+ ld hl, MltReq2Packet
call SendSGB
ld a, [rJOYP]
and $3
cp $3
- jr nz, .asm_ba3
+ jr nz, .sgb
ld a, $20
ld [rJOYP], a
ld a, [rJOYP]
@@ -1804,24 +1845,26 @@ DetectSGB: ; 0b59 (0:0b59)
ld a, [rJOYP]
and $3
cp $3
- jr nz, .asm_ba3
- ld hl, SGB_MLT_REQ_1
+ jr nz, .sgb
+ ld hl, MltReq1Packet
call SendSGB
or a
ret
-.asm_ba3
- ld hl, SGB_MLT_REQ_1
+.sgb
+ ld hl, MltReq1Packet
call SendSGB
scf
ret
-SGB_MLT_REQ_1: ; 0bab (0:0bab)
+MltReq1Packet: ; 0bab (0:0bab)
sgb MLT_REQ, 1 ; sgb_command, length
- db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+ db MLT_REQ_1_PLAYER
+ ds $0e
-SGB_MLT_REQ_2: ; 0bbb (0:0bbb)
+MltReq2Packet: ; 0bbb (0:0bbb)
sgb MLT_REQ, 1 ; sgb_command, length
- db $01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+ db MLT_REQ_2_PLAYERS
+ ds $0e
Func_0bcb: ; 0bcb (0:0bcb)
di
@@ -1834,8 +1877,8 @@ Func_0bcb: ; 0bcb (0:0bcb)
ld [rLCDC], a
ld a, %11100100
ld [rBGP], a
- ld de, vTiles1
- ld bc, vBGMapTiles - vTiles1
+ ld de, v0Tiles1
+ ld bc, v0BGMapTiles1 - v0Tiles1
.loop
ld a, [hli]
ld [de], a
@@ -1844,7 +1887,7 @@ Func_0bcb: ; 0bcb (0:0bcb)
ld a, b
or c
jr nz, .loop
- ld hl, vBGMapTiles
+ ld hl, v0BGMapTiles1
ld de, $000c
ld a, $80
ld c, $d
@@ -1883,7 +1926,7 @@ Wait: ; 0c08 (0:0c08)
jr nz, Wait
ret
-; memcpy(DE, HL, B), but only during hblank
+; copy b bytes of data from hl to de, but only during hblank
HblankCopyDataHLtoDE: ; 0c19 (0:0c19)
push bc
.loop
@@ -1905,7 +1948,7 @@ HblankCopyDataHLtoDE: ; 0c19 (0:0c19)
pop bc
ret
-; memcpy(HL, DE, C), but only during hblank
+; copy c bytes of data from de to hl, but only during hblank
HblankCopyDataDEtoHL: ; 0c32 (0:0c32)
push bc
.loop
@@ -1928,7 +1971,34 @@ HblankCopyDataDEtoHL: ; 0c32 (0:0c32)
ret
; 0xc4b
- INCROM $0c4b, $0c91
+; returns a *= 10
+Func_0c4b: ; 0c4b (0:0c4b)
+ push de
+ ld e, a
+ add a
+ add a
+ add e
+ add a
+ pop de
+ ret
+; 0xc53
+
+; returns hl *= 10
+Func_0c53: ; 0c53 (0:0c53)
+ push de
+ ld l, a
+ ld e, a
+ ld h, $00
+ ld d, h
+ add hl, hl
+ add hl, hl
+ add hl, de
+ add hl, hl
+ pop de
+ ret
+; 0xc5f
+
+ INCROM $0c5f, $0c91
; called at roughly 240Hz by TimerHandler
SerialTimerHandler: ; 0c91 (0:0c91)
@@ -1968,7 +2038,65 @@ SerialTimerHandler: ; 0c91 (0:0c91)
ret
; 0xcc5
- INCROM $0cc5, $0d26
+Func_0cc5: ; 0cc5 (0:0cc5)
+ ld hl, wSerialRecvCounter
+ or a
+ jr nz, .asm_cdc
+ ld a, [hl]
+ or a
+ ret z
+ ld [hl], $00
+ ld a, [wSerialRecvBuf]
+ ld e, $12
+ cp $29
+ jr z, .asm_cfa
+ xor a
+ scf
+ ret
+.asm_cdc
+ ld a, $29
+ ld [rSB], a
+ ld a, $01
+ ld [rSC], a
+ ld a, $81
+ ld [rSC], a
+.asm_ce8
+ ld a, [hl]
+ or a
+ jr z, .asm_ce8
+ ld [hl], $00
+ ld a, [wSerialRecvBuf]
+ ld e, $29
+ cp $12
+ jr z, .asm_cfa
+ xor a
+ scf
+ ret
+.asm_cfa
+ xor a
+ ld [wSerialSendBufIndex], a
+ ld [wcb80], a
+ ld [wSerialSendBufToggle], a
+ ld [wSerialSendSave], a
+ ld [wcba3], a
+ ld [wSerialRecvIndex], a
+ ld [wSerialRecvCounter], a
+ ld [wSerialLastReadCA], a
+ ld a, e
+ cp $29
+ jr nz, .asm_d21
+ ld bc, $800
+.asm_d1b
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_d1b
+ ld a, e
+.asm_d21
+ ld [wSerialOp], a
+ scf
+ ret
+; 0xd26
SerialHandler: ; 0d26 (0:0d26)
push af
@@ -2030,7 +2158,7 @@ SerialHandleRecv: ; 0d77 (0:0d77)
dec e
jr z, .last_was_ca
cp $ac
- ret z ; return if read_data == $ac
+ ret z ; return if read_data == $ac
cp $ca
jr z, .read_ca
or a
@@ -2042,7 +2170,7 @@ SerialHandleRecv: ; 0d77 (0:0d77)
set 6, [hl]
ret
.read_ca
- inc [hl] ; inc [wSerialLastReadCA]
+ inc [hl] ; inc [wSerialLastReadCA]
ret
.last_was_ca
; if last byte read was $ca, flip all bits of data received
@@ -2263,7 +2391,7 @@ ResetSerial: ; 0ea6 (0:0ea6)
xor a
ld [rSB], a
ld [rSC], a
- ; fallthrough
+; fallthrough
ClearSerialData: ; 0eb1 (0:0eb1)
ld hl, wSerialOp
ld bc, $0051
@@ -2325,16 +2453,16 @@ Func_0ed5: ; 0ed5 (0:0ed5)
INCROM $0ef1, $0f35
-Func_0f35: ; 0f35 (0:0f35)
+DuelTransmissionError: ; 0f35 (0:0f35)
ld a, [wSerialFlags]
ld l, a
- ld h, $0
- call Func_2ec4
+ ld h, 0
+ call LoadTxRam3
ldtx hl, TransmissionErrorText
call DrawWideTextBox_WaitForInput
ld a, $ff
ld [wd0c3], a
- ld hl, $cbe5
+ ld hl, wcbe5
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2354,27 +2482,29 @@ Func_0f58: ; 0f58 (0:0f58)
call GetTurnDuelistVariable
or a ; cp DUELIST_TYPE_PLAYER
jr z, .asm_f70
- ld hl, $cbe2
+ ld hl, wcbe2
ld de, wRNG1
jr .asm_f76
.asm_f70
ld hl, wRNG1
- ld de, $cbe2
+ ld de, wcbe2
.asm_f76
ld c, $3
call Func_0e63
- jp c, Func_0f35
+ jp c, DuelTransmissionError
ret
-Func_0f7f: ; 0f7f (0:0f7f)
+; sets hAIActionTableIndex to an AI action specified in register a
+; also appears to handle sending data in a link duel
+SetDuelAIAction: ; 0f7f (0:0f7f)
push hl
push bc
- ld [$ff9e], a
+ ldh [hAIActionTableIndex], a
ld a, DUELVARS_DUELIST_TYPE
call GetNonTurnDuelistVariable
cp DUELIST_TYPE_LINK_OPP
jr nz, .not_link
- ld hl, $ff9e
+ ld hl, hAIActionTableIndex
ld bc, $000a
call Func_0ebf
call Func_0f58
@@ -2387,7 +2517,7 @@ Func_0f7f: ; 0f7f (0:0f7f)
Func_0f9b: ; 0f9b (0:0f9b)
push hl
push bc
- ld hl, $ff9e
+ ld hl, hAIActionTableIndex
ld bc, $000a
call Func_0ed5
call Func_0f58
@@ -2439,7 +2569,7 @@ Func_0fac: ; 0fac (0:0fac)
ld hl, wcbed
ld bc, $0008
call Func_0ebf
- jp c, Func_0f35
+ jp c, DuelTransmissionError
pop bc
pop de
pop hl
@@ -2452,7 +2582,7 @@ Func_0fe9: ; 0fe9 (0:0fe9)
ld bc, $0008
push hl
call Func_0ed5
- jp c, Func_0f35
+ jp c, DuelTransmissionError
pop hl
ld e, [hl]
inc hl
@@ -2478,15 +2608,15 @@ Func_0fe9: ; 0fe9 (0:0fe9)
Func_100b: ; 100b (0:100b)
ld a, $2
- call BankswitchRAM
+ call BankswitchSRAM
call $669d
xor a
- call BankswitchRAM
- call EnableExtRAM
- ld hl, $a008
+ call BankswitchSRAM
+ call EnableSRAM
+ ld hl, sa008
ld a, [hl]
inc [hl]
- call DisableExtRAM
+ call DisableSRAM
and $3
add $28
ld l, $0
@@ -2494,38 +2624,38 @@ Func_100b: ; 100b (0:100b)
add hl, hl
add hl, hl
ld a, $3
- call BankswitchRAM
+ call BankswitchSRAM
push hl
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call GetCardInDeckPosition
+ call GetCardIDFromDeckIndex
ld a, e
- ld [wTempTurnDuelistCardId], a
+ ld [wTempTurnDuelistCardID], a
call SwapTurn
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call GetCardInDeckPosition
+ call GetCardIDFromDeckIndex
ld a, e
- ld [wTempNonTurnDuelistCardId], a
+ ld [wTempNonTurnDuelistCardID], a
call SwapTurn
pop hl
push hl
- call EnableExtRAM
- ld a, [wcc06]
+ call EnableSRAM
+ ld a, [wDuelTurns]
ld [hli], a
- ld a, [wTempNonTurnDuelistCardId]
+ ld a, [wTempNonTurnDuelistCardID]
ld [hli], a
- ld a, [wTempTurnDuelistCardId]
+ ld a, [wTempTurnDuelistCardID]
ld [hli], a
pop hl
ld de, $0010
add hl, de
ld e, l
ld d, h
- call DisableExtRAM
+ call DisableSRAM
bank1call $66a4
xor a
- call BankswitchRAM
+ call BankswitchSRAM
ret
; copies the deck pointed to by de to wPlayerDeck or wOpponentDeck
@@ -2559,7 +2689,7 @@ CopyDeckData: ; 1072 (0:1072)
jr nz, .card_quantity_loop
jr .next_card
.done
- ld hl, $cce9
+ ld hl, wcce9
ld a, [de]
inc de
ld [hli], a
@@ -2571,28 +2701,29 @@ CopyDeckData: ; 1072 (0:1072)
ld a, [hl]
or a
ret nz
- rst $38
+ debug_ret
scf
ret
; 0x10aa
-Func_10aa: ; 10aa (0:10aa)
+; return, in register a, the amount of unclaimed prizes that the turn holder has left
+CountPrizes: ; 10aa (0:10aa)
push hl
ld a, DUELVARS_PRIZES
call GetTurnDuelistVariable
ld l, a
xor a
-.asm_10b2
+.count_loop
rr l
adc $00
inc l
dec l
- jr nz, .asm_10b2
+ jr nz, .count_loop
pop hl
ret
; 0x10bc
-; shuffles the deck specified by hWhoseTurn
+; shuffles the turn holder's deck
; if less than 60 cards remain in the deck, make sure the rest are ignored
ShuffleDeck: ; 10bc (0:10bc)
ldh a, [hWhoseTurn]
@@ -2604,12 +2735,12 @@ ShuffleDeck: ; 10bc (0:10bc)
ld b, a
ld a, DUELVARS_DECK_CARDS
add [hl]
- ld l, a ; hl = position of the first (top) deck card in the wPlayerDeckCards or wOpponentDeckCards array
+ ld l, a ; hl = DUELVARS_DECK_CARDS + [DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK]
ld a, b ; a = number of cards in the deck
call ShuffleCards
ret
-; draw a card from the deck, saving its location as CARD_LOCATION_JUST_DRAWN
+; draw a card from the turn holder's deck, saving its location as CARD_LOCATION_JUST_DRAWN
; returns c if deck is empty, nc if a card was succesfully drawn
DrawCardFromDeck: ; 10cf (0:10cf)
push hl
@@ -2627,16 +2758,70 @@ DrawCardFromDeck: ; 10cf (0:10cf)
pop hl
or a
ret
-
.empty_deck
pop hl
scf
ret
; 0x10e8
- INCROM $10e8, $1123
+; add a card to the top of the turn holder's deck
+; the card is identified by register a, which contains the card number within the deck (0-59)
+ReturnCardToDeck: ; 10e8 (0:10e8)
+ push hl
+ push af
+ ld a, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK
+ call GetTurnDuelistVariable
+ dec a
+ ld [hl], a ; decrement number of cards not in deck
+ add DUELVARS_DECK_CARDS
+ ld l, a ; point to top deck card
+ pop af
+ ld [hl], a ; set top deck card
+ ld l, a
+ ld [hl], CARD_LOCATION_DECK
+ ld a, l
+ pop hl
+ ret
+; 0x10fc
-; adds a card to the hand and increments the number of cards in the hand
+; search a card in the turn holder's deck, extract it, and add it to the hand
+; the card is identified by register a, which contains the card number within the deck (0-59)
+SearchCardInDeckAndAddToHand: ; 10fc (0:10fc)
+ push af
+ push hl
+ push de
+ push bc
+ ld c, a
+ ld a, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK
+ call GetTurnDuelistVariable
+ ld a, DECK_SIZE
+ sub [hl]
+ inc [hl] ; increment number of cards not in deck
+ ld b, a ; DECK_SIZE - [DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK] (number of cards in deck)
+ ld l, c
+ set CARD_LOCATION_JUST_DRAWN_F, [hl]
+ ld l, DUELVARS_DECK_CARDS + DECK_SIZE - 1
+ ld e, l
+ ld d, h ; hl = de = DUELVARS_DECK_CARDS + DECK_SIZE - 1 (last card)
+ inc b
+ jr .match
+.loop
+ ld a, [hld]
+ cp c
+ jr z, .match
+ ld [de], a
+ dec de
+.match
+ dec b
+ jr nz, .loop
+ pop bc
+ pop de
+ pop hl
+ pop af
+ ret
+; 0x1123
+
+; adds a card to the turn holder's hand and increments the number of cards in the hand
; the card is identified by register a, which contains the card number within the deck (0-59)
AddCardToHand: ; 1123 (0:1123)
push af
@@ -2646,7 +2831,7 @@ AddCardToHand: ; 1123 (0:1123)
ld l, a
ldh a, [hWhoseTurn]
ld h, a
- ; write $1 (CARD_LOCATION_HAND) into the location of this card
+ ; write CARD_LOCATION_HAND into the location of this card
ld [hl], CARD_LOCATION_HAND
; increment number of cards in hand
ld l, DUELVARS_NUMBER_OF_CARDS_IN_HAND
@@ -2662,9 +2847,242 @@ AddCardToHand: ; 1123 (0:1123)
ret
; 0x1139
- INCROM $1139, $123b
+; removes a card from the turn holder's hand and decrements the number of cards in the hand
+; the card is identified by register a, which contains the card number within the deck (0-59)
+RemoveCardFromHand: ; 1139 (0:1139)
+ push af
+ push hl
+ push bc
+ push de
+ ld c, a
+ ld a, DUELVARS_NUMBER_OF_CARDS_IN_HAND
+ call GetTurnDuelistVariable
+ or a
+ jr z, .done ; done if no cards in hand
+ ld b, a ; number of cards in hand
+ ld l, DUELVARS_HAND
+ ld e, l
+ ld d, h
+.next_card
+ ld a, [hli]
+ cp c
+ jr nz, .no_match
+ push hl
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_HAND
+ dec [hl]
+ pop hl
+ jr .done_card
+.no_match
+ ld [de], a ; keep card in hand
+ inc de
+.done_card
+ dec b
+ jr nz, .next_card
+.done
+ pop de
+ pop bc
+ pop hl
+ pop af
+ ret
+; 0x1160
+
+; moves a card to the turn holder's discard pile, as long as it is in the hand
+; the card is identified by register a, which contains the card number within the deck (0-59)
+MoveHandCardToDiscardPile: ; 1160 (0:1160)
+ call GetTurnDuelistVariable
+ ld a, [hl]
+ and $ff ^ CARD_LOCATION_JUST_DRAWN
+ cp CARD_LOCATION_HAND
+ ret nz ; return if card not in hand
+ ld a, l
+ call RemoveCardFromHand
+; fallthrough
+
+; puts the card with the deck index (0-59) given in a into the discard pile
+PutCardInDiscardPile: ; 116a (0:116a)
+ push af
+ push hl
+ push de
+ call GetTurnDuelistVariable
+ ld [hl], CARD_LOCATION_DISCARD_PILE
+ ld e, l
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE
+ inc [hl]
+ ld a, DUELVARS_DECK_CARDS - 1
+ add [hl]
+ ld l, a
+ ld [hl], e ; save card to DUELVARS_DECK_CARDS + [DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE]
+ pop de
+ pop hl
+ pop af
+ ret
+; 0x1182
+
+; search a card in the turn holder's discard pile, extract it, and add it to the hand
+; the card is identified by register a, which contains the card number within the deck (0-59)
+MoveDiscardPileCardToHand: ; 1182 (0:1182)
+ push hl
+ push de
+ push bc
+ call GetTurnDuelistVariable
+ set CARD_LOCATION_JUST_DRAWN_F, [hl]
+ ld b, l
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE
+ ld a, [hl]
+ or a
+ jr z, .done ; done if no cards in discard pile
+ ld c, a
+ dec [hl] ; decrement number of cards in discard pile
+ ld l, DUELVARS_DECK_CARDS
+ ld e, l
+ ld d, h ; de = hl = DUELVARS_DECK_CARDS
+.next_card
+ ld a, [hli]
+ cp b
+ jr z, .match
+ ld [de], a
+ inc de
+.match
+ dec c
+ jr nz, .next_card
+ ld a, b
+.done
+ pop bc
+ pop de
+ pop hl
+ ret
+; 0x11a5
+
+; return in the z flag whether turn holder's prize a (0-7) has been taken or not
+; z: taken, nz: not taken
+CheckPrizeTaken: ; 11a5 (0:11a5)
+ ld e, a
+ ld d, 0
+ ld hl, PowersOf2
+ add hl, de
+ ld a, [hl]
+ ld e, a
+ cpl
+ ld d, a
+ ld a, DUELVARS_PRIZES
+ call GetTurnDuelistVariable
+ and e
+ ret
-CreateHandCardBuffer: ; 123b (0:123b)
+PowersOf2:
+ db $01, $02, $04, $08, $10, $20, $40, $80
+; 0x11bf
+
+; fill wDuelTempList with the turn holder's discard pile cards (their 0-59 deck index)
+; return carry if the turn holder has no cards in the discard pile
+CreateDiscardPileCardList: ; 11bf (0:11bf)
+ ldh a, [hWhoseTurn]
+ ld h, a
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE
+ ld b, [hl]
+ ld a, DUELVARS_DECK_CARDS - 1
+ add [hl] ; point to last card in discard pile
+ ld l, a
+ ld de, wDuelTempList
+ inc b
+ jr .begin_loop
+.next_card_loop
+ ld a, [hld]
+ ld [de], a
+ inc de
+.begin_loop
+ dec b
+ jr nz, .next_card_loop
+ ld a, $ff ; $ff-terminated
+ ld [de], a
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE
+ ld a, [hl]
+ or a
+ ret nz
+ scf
+ ret
+; 0x11df
+
+; fill wDuelTempList with the turn holder's remaining deck cards (their 0-59 deck index)
+; return carry if the turn holder has no cards left in the deck
+CreateDeckCardList: ; 11df (0:11df)
+ ld a, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK
+ call GetTurnDuelistVariable
+ cp DECK_SIZE
+ jr nc, .no_cards_left_in_deck
+ ld a, DECK_SIZE
+ sub [hl]
+ ld c, a
+ ld b, a ; c = b = DECK_SIZE - [DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK]
+ ld a, [hl]
+ add DUELVARS_DECK_CARDS
+ ld l, a ; l = DUELVARS_DECK_CARDS + [DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK]
+ inc b
+ ld de, wDuelTempList
+ jr .begin_loop
+.next_card
+ ld a, [hli]
+ ld [de], a
+ inc de
+.begin_loop
+ dec b
+ jr nz, .next_card
+ ld a, $ff ; $ff-terminated
+ ld [de], a
+ ld a, c
+ or a
+ ret
+.no_cards_left_in_deck
+ ld a, $ff
+ ld [wDuelTempList], a
+ scf
+ ret
+; 0x120a
+
+; fill wDuelTempList with the turn holder's energy cards
+; in the arena or in a bench slot (their 0-59 deck index).
+; if a == 0: search in CARD_LOCATION_ARENA
+; if a != 0: search in CARD_LOCATION_BENCH_[A]
+; return carry if no energy cards were found
+CreateArenaOrBenchEnergyCardList: ; 120a (0:120a)
+ or CARD_LOCATION_PLAY_AREA
+ ld c, a
+ ld de, wDuelTempList
+ ld a, DUELVARS_CARD_LOCATIONS
+ call GetTurnDuelistVariable
+.next_card_loop
+ ld a, [hl]
+ cp c
+ jr nz, .skip_card ; jump if not in specified play area location
+ ld a, l
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, [wLoadedCard2Type]
+ and 1 << TYPE_ENERGY_F
+ jr z, .skip_card ; jump if Pokemon or trainer card
+ ld a, l
+ ld [de], a ; add to wDuelTempList
+ inc de
+.skip_card
+ inc l
+ ld a, l
+ cp DECK_SIZE
+ jr c, .next_card_loop
+ ; all cards checked
+ ld a, $ff
+ ld [de], a
+ ld a, [wDuelTempList]
+ cp $ff
+ jr z, .no_energies_found
+ or a
+ ret
+.no_energies_found
+ scf
+ ret
+; 0x123b
+
+; fill wDuelTempList with the turn holder's hand cards (their 0-59 deck index)
+; return carry if the turn holder has no cards in hand
+CreateHandCardList: ; 123b (0:123b)
call FindLastCardInHand
inc b
jr .skip_card
@@ -2673,7 +3091,7 @@ CreateHandCardBuffer: ; 123b (0:123b)
ld a, [hld]
push hl
ld l, a
- bit 6, [hl]
+ bit CARD_LOCATION_JUST_DRAWN_F, [hl]
pop hl
jr nz, .skip_card
ld [de], a
@@ -2682,9 +3100,9 @@ CreateHandCardBuffer: ; 123b (0:123b)
.skip_card
dec b
jr nz, .check_next_card_loop
- ld a, $ff
+ ld a, $ff ; $ff-terminated
ld [de], a
- ld l, (wPlayerNumberOfCardsInHand & $ff)
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_HAND
ld a, [hl]
or a
ret nz
@@ -2692,24 +3110,48 @@ CreateHandCardBuffer: ; 123b (0:123b)
ret
; 0x1258
- INCROM $1258, $1271
+; sort the turn holder's hand cards by ID (highest to lowest ID)
+; makes use of wDuelTempList
+SortHandCardsByID: ; 1258 (0:1258)
+ call FindLastCardInHand
+.loop
+ ld a, [hld]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .loop
+ ld a, $ff
+ ld [de], a
+ call SortCardsInDuelTempListByID
+ call FindLastCardInHand
+.loop2
+ ld a, [de]
+ inc de
+ ld [hld], a
+ dec b
+ jr nz, .loop2
+ ret
+; 0x1271
-; puts an index to the last (newest) card in current player's hand into hl.
+; returns:
+; b = turn holder's number of cards in hand (DUELVARS_NUMBER_OF_CARDS_IN_HAND)
+; hl = pointer to turn holder's last (newest) card in DUELVARS_HAND
+; de = wDuelTempList
FindLastCardInHand: ; 1271 (0:1271)
ldh a, [hWhoseTurn]
ld h, a
- ld l, (wPlayerNumberOfCardsInHand & $ff)
+ ld l, DUELVARS_NUMBER_OF_CARDS_IN_HAND
ld b, [hl]
- ld a, (wPlayerHand & $ff) - 1
+ ld a, DUELVARS_HAND - 1
add [hl]
ld l, a
- ld de, wDuelCardOrAttackList
+ ld de, wDuelTempList
ret
; shuffles the deck by swapping the position of each card with the position of another random card
; input:
; - a = how many cards to shuffle
-; - hl = position of the first card within the wPlayerDeckCards or wOpponentDeckCards array
+; - hl = DUELVARS_DECK_CARDS + [DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK]
ShuffleCards: ; 127f (0:127f)
or a
ret z ; return if deck is empty
@@ -2746,32 +3188,146 @@ ShuffleCards: ; 127f (0:127f)
ret
; 0x12a3
- INCROM $12a3, $1312
+; sort a $ff-terminated list of deck index cards by ID (lowest to highest ID).
+; the list is wDuelTempList.
+SortCardsInDuelTempListByID: ; 12a3 (0:12a3)
+ ld hl, hTempListPtr_ff99
+ ld [hl], LOW(wDuelTempList)
+ inc hl
+ ld [hl], HIGH(wDuelTempList)
+ jr SortCardsInListByID_CheckForListTerminator
+
+; sort a $ff-terminated list of deck index cards by ID (lowest to highest ID).
+; the pointer to the list is given in hTempListPtr_ff99.
+; sorting by ID rather than deck index means that the order of equal (same ID) cards does not matter,
+; even if they have a different deck index.
+SortCardsInListByID: ; 12ad (0:12ad)
+ ; load [hTempListPtr_ff99] into hl and de
+ ld hl, hTempListPtr_ff99
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld e, l
+ ld d, h
+
+ ; get ID of card with deck index at [de]
+ ld a, [de]
+ call GetCardIDFromDeckIndex_bc
+ ld a, c
+ ldh [hTempCardID_ff9b], a
+ ld a, b
+ ldh [hTempCardID_ff9b + 1], a ; 0
+
+ ; hl = [hTempListPtr_ff99] + 1
+ inc hl
+ jr .check_list_end
+
+.next_card_in_list
+ ld a, [hl]
+ call GetCardIDFromDeckIndex_bc
+ ldh a, [hTempCardID_ff9b + 1]
+ cp b
+ jr nz, .go
+ ldh a, [hTempCardID_ff9b]
+ cp c
+
+.go
+ jr c, .not_lower_id
+
+ ; this card has the lowest ID of those checked so far
+ ld e, l
+ ld d, h
+ ld a, c
+ ldh [hTempCardID_ff9b], a
+ ld a, b
+ ldh [hTempCardID_ff9b + 1], a
+
+.not_lower_id
+ inc hl
+.check_list_end
+ bit 7, [hl] ; $ff is the list terminator
+ jr z, .next_card_in_list
-; given a position in wDuelCardOrAttackList (c510), return:
-; the id of the card in that position in register de
-; its index within the deck (0 - 59) in hTempCardNumber and in register a
-GetCardInC510: ; 1312 (0:1312)
+ ; reached list terminator
+ ld hl, hTempListPtr_ff99
push hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ; swap the lowest ID card found with the card in the current list position
+ ld c, [hl]
+ ld a, [de]
+ ld [hl], a
+ ld a, c
+ ld [de], a
+ pop hl
+ ; [hTempListPtr_ff99] += 1 (point hl to next card in list)
+ inc [hl]
+ jr nz, SortCardsInListByID_CheckForListTerminator
+ inc hl
+ inc [hl]
+; fallthrough
+
+SortCardsInListByID_CheckForListTerminator: ; 12ef (0:12ef)
+ ld hl, hTempListPtr_ff99
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ bit 7, [hl] ; $ff is the list terminator
+ jr z, SortCardsInListByID
+ ret
+; 0x12fa
+
+; returns, in register bc, the id of the card with the deck index specified in register a
+; preserves hl
+GetCardIDFromDeckIndex_bc: ; 12fa (0:12fa)
+ push hl
+ call _GetCardIDFromDeckIndex
+ ld c, a
+ ld b, $0
+ pop hl
+ ret
+; 0x1303
+
+; return [wDuelTempList + a] in a and in hTempCardIndex_ff98
+GetCardInDuelTempList_OnlyDeckIndex: ; 1303 (0:1303)
+ push hl
+ push de
ld e, a
ld d, $0
- ld hl, wDuelCardOrAttackList
+ ld hl, wDuelTempList
add hl, de
ld a, [hl]
- ldh [hTempCardNumber], a
- call GetCardInDeckPosition
+ ldh [hTempCardIndex_ff98], a
+ pop de
pop hl
- ldh a, [hTempCardNumber]
+ ret
+; 0x1312
+
+; given the deck index (0-59) of a card in [wDuelTempList + a], return:
+; - the id of the card with that deck index in register de
+; - [wDuelTempList + a] in hTempCardIndex_ff98 and in register a
+GetCardInDuelTempList: ; 1312 (0:1312)
+ push hl
+ ld e, a
+ ld d, $0
+ ld hl, wDuelTempList
+ add hl, de
+ ld a, [hl]
+ ldh [hTempCardIndex_ff98], a
+ call GetCardIDFromDeckIndex
+ pop hl
+ ldh a, [hTempCardIndex_ff98]
ret
; 0x1324
-; returns, in register de, the id of the card in the deck position specified in register a,
-; preserving af and hl
-GetCardInDeckPosition: ; 1324 (0:1324)
+; returns, in register de, the id of the card with the deck index (0-59) specified by register a
+; preserves af and hl
+GetCardIDFromDeckIndex: ; 1324 (0:1324)
push af
push hl
- call _GetCardInDeckPosition
+ call _GetCardIDFromDeckIndex
ld e, a
ld d, $0
pop hl
@@ -2779,10 +3335,59 @@ GetCardInDeckPosition: ; 1324 (0:1324)
ret
; 0x132f
- INCROM $132f, $1362
+; remove card c from wDuelTempList (it contains a $ff-terminated list of deck indexes)
+RemoveCardFromDuelTempList: ; 132f (0:132f)
+ push hl
+ push de
+ push bc
+ ld hl, wDuelTempList
+ ld e, l
+ ld d, h
+ ld c, a
+ ld b, $00
+.next
+ ld a, [hli]
+ cp $ff
+ jr z, .end_of_list
+ cp c
+ jr z, .match
+ ld [de], a
+ inc de
+ inc b
+.match
+ jr .next
+.end_of_list
+ ld [de], a
+ ld a, b
+ or a
+ jr nz, .done
+ scf
+.done
+ pop bc
+ pop de
+ pop hl
+ ret
+; 0x1351
-; returns, in register a, the id of the card in the deck position specified in register a
-_GetCardInDeckPosition: ; 1362 (0:1362)
+; return the number of cards in wDuelTempList in a
+CountCardsInDuelTempList: ; 1351 (0:1351)
+ push hl
+ push bc
+ ld hl, wDuelTempList
+ ld b, -1
+.loop
+ inc b
+ ld a, [hli]
+ cp $ff
+ jr nz, .loop
+ ld a, b
+ pop bc
+ pop hl
+ ret
+; 0x1362
+
+; returns, in register a, the id of the card with the deck index (0-59) specified in register a
+_GetCardIDFromDeckIndex: ; 1362 (0:1362)
push de
ld e, a
ld d, $0
@@ -2797,14 +3402,14 @@ _GetCardInDeckPosition: ; 1362 (0:1362)
pop de
ret
-; load data of card in position a to wLoadedCard1
-LoadDeckCardToBuffer1: ; 1376 (0:1376)
+; load data of card with deck index a (0-59) to wLoadedCard1
+LoadCardDataToBuffer1_FromDeckIndex: ; 1376 (0:1376)
push hl
push de
push bc
push af
- call GetCardInDeckPosition
- call LoadCardDataToBuffer1
+ call GetCardIDFromDeckIndex
+ call LoadCardDataToBuffer1_FromCardID
pop af
ld hl, wLoadedCard1
bank1call ConvertTrainerCardToPokemon
@@ -2814,14 +3419,14 @@ LoadDeckCardToBuffer1: ; 1376 (0:1376)
pop hl
ret
-; load data of card in position a to wLoadedCard2
-LoadDeckCardToBuffer2: ; 138c (0:138c)
+; load data of card with deck index a (0-59) to wLoadedCard2
+LoadCardDataToBuffer2_FromDeckIndex: ; 138c (0:138c)
push hl
push de
push bc
push af
- call GetCardInDeckPosition
- call LoadCardDataToBuffer2
+ call GetCardIDFromDeckIndex
+ call LoadCardDataToBuffer2_FromCardID
pop af
ld hl, wLoadedCard2
bank1call ConvertTrainerCardToPokemon
@@ -2832,35 +3437,197 @@ LoadDeckCardToBuffer2: ; 138c (0:138c)
ret
; 0x13a2
- INCROM $13a2, $1485
+Func_13a2: ; 13a2 (0:13a2)
+ ldh a, [hTempCardIndex_ff98]
+ ld d, a
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ld e, a
+ call Func_13f7
+ ret c
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ld e, a
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ ld [wccee], a
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ldh a, [hTempCardIndex_ff98]
+ ld [hl], a
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ldh a, [hTempCardIndex_ff98]
+ call PutHandCardInPlayArea
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ld a, e
+ add DUELVARS_ARENA_CARD_HP
+ call GetTurnDuelistVariable
+ ld a, [wLoadedCard2HP]
+ ld c, a
+ ld a, [wLoadedCard1HP]
+ sub c
+ add [hl]
+ ld [hl], a
+ ld a, e
+ add $c2
+ ld l, a
+ ld [hl], $00
+ ld a, e
+ add DUELVARS_ARENA_CARD_CHANGED_TYPE
+ ld l, a
+ ld [hl], $00
+ ld a, e
+ or a
+ call z, ResetStatusConditions
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ add DUELVARS_ARENA_CARD_STAGE
+ call GetTurnDuelistVariable
+ ld a, [wLoadedCard1Stage]
+ ld [hl], a
+ or a
+ ret ; !
+ scf
+ ret
+; 0x13f7
+
+Func_13f7: ; 13f7 (0:13f7)
+ push de
+ ld a, e
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, d
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld hl, wLoadedCard2Name
+ ld de, wLoadedCard1NonPokemonDescription
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_1427
+ inc de
+ inc hl
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_1427
+ pop de
+ ld a, e
+ add $c2
+ call GetTurnDuelistVariable
+ and $80
+ jr nz, .asm_1425
+ ld a, $01
+ or a
+ scf
+ ret
+.asm_1425
+ or a
+ ret
+.asm_1427
+ pop de
+ xor a
+ scf
+ ret
+; 0x142b
+
+Func_142b: ; 142b (0:142b)
+ ld a, e
+ add $c2
+ call GetTurnDuelistVariable
+ and $80
+ jr nz, .asm_1437
+ jr .asm_145e
+.asm_1437
+ ld a, e
+ add DUELVARS_ARENA_CARD
+ ld l, a
+ ld a, [hl]
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, d
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld hl, wLoadedCard1NonPokemonDescription
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ call $2ecd
+ ld hl, wLoadedCard2Name
+ ld de, wLoadedCard1NonPokemonDescription
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_145e
+ inc de
+ inc hl
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_145e
+ or a
+ ret
+.asm_145e
+ xor a
+ scf
+ ret
+; 0x1461
-Func_1485: ; 1485 (0:1485)
+; init the status and all substatuses of the turn holder's arena Pokemon.
+; called when sending a new Pokemon into the arena.
+; does not reset Headache, since it targets a player rather than a Pokemon.
+ResetStatusConditions: ; 1461 (0:1461)
+ push hl
+ ldh a, [hWhoseTurn]
+ ld h, a
+ xor a
+ ld l, DUELVARS_ARENA_CARD_STATUS
+ ld [hl], a
+ ld l, DUELVARS_ARENA_CARD_SUBSTATUS1
+ ld [hl], a
+ ld l, DUELVARS_ARENA_CARD_SUBSTATUS2
+ ld [hl], a
+ ld l, DUELVARS_ARENA_CARD_CHANGED_WEAKNESS
+ ld [hl], a
+ ld l, DUELVARS_ARENA_CARD_CHANGED_RESISTANCE
+ ld [hl], a
+ ld l, DUELVARS_ARENA_CARD_SUBSTATUS3
+ res SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE, [hl]
+ ld l, DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ pop hl
+ ret
+; 0x1485
+
+; Removes a Pokemon card from the hand and places it in the arena or first available bench slot.
+; If the Pokemon is placed in the arena, the status conditions of the player's arena card are zeroed.
+; input:
+; - a = deck index of the card
+; return carry if there is no room for more Pokemon
+PutHandPokemonCardInPlayArea: ; 1485 (0:1485)
push af
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY
call GetTurnDuelistVariable
- cp MAX_POKEMON_IN_PLAY
- jr nc, .too_many_pokemon_in_play
+ cp MAX_PLAY_AREA_POKEMON
+ jr nc, .already_max_pkmn_in_play
inc [hl]
- ld e, a
+ ld e, a ; play area offset to place card
pop af
push af
- call $14d2
+ call PutHandCardInPlayArea
ld a, e
- add $bb
+ add DUELVARS_ARENA_CARD
ld l, a
pop af
- ld [hl], a
- call LoadDeckCardToBuffer2
- ld a, $c8
+ ld [hl], a ; set card in arena or benchx
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, DUELVARS_ARENA_CARD_HP
add e
ld l, a
ld a, [wLoadedCard2HP]
- ld [hl], a
+ ld [hl], a ; set card's HP
ld a, $c2
add e
ld l, a
ld [hl], $0
- ld a, $d4
+ ld a, DUELVARS_ARENA_CARD_CHANGED_TYPE
add e
ld l, a
ld [hl], $0
@@ -2872,32 +3639,201 @@ Func_1485: ; 1485 (0:1485)
add e
ld l, a
ld [hl], $0
- ld a, $ce
+ ld a, DUELVARS_ARENA_CARD_STAGE
add e
ld l, a
ld a, [wLoadedCard2Stage]
- ld [hl], a
+ ld [hl], a ; set card's evolution stage
ld a, e
or a
- call z, $1461
+ call z, ResetStatusConditions ; only call if Pokemon is being place in the arena
ld a, e
or a
ret
-.too_many_pokemon_in_play
+.already_max_pkmn_in_play
pop af
scf
ret
; 0x14d2
- INCROM $14d2, $159f
+; Removes a card from the hand and changes its location to arena or bench. Given that
+; DUELVARS_ARENA_CARD or DUELVARS_BENCH aren't affected, this function is meant for energy and trainer cards.
+; input:
+; - a = deck index of the card
+; - e = play area location offset (PLAY_AREA_*)
+; returns
+; - a = CARD_LOCATION_PLAY_AREA + e
+PutHandCardInPlayArea: ; 14d2 (0:14d2)
+ call RemoveCardFromHand
+ call GetTurnDuelistVariable
+ ld a, e
+ or CARD_LOCATION_PLAY_AREA
+ ld [hl], a
+ ret
+; 0x14dd
+
+; move the play area Pokemon card of the turn holder at CARD_LOCATION_PLAY_AREA + a
+; to the discard pile
+MovePlayAreaCardToDiscardPile: ; 14dd (0:14dd)
+ call EmptyPlayAreaSlot
+ ld l, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY
+ dec [hl]
+ ld l, DUELVARS_CARD_LOCATIONS
+.next_card
+ ld a, e
+ or CARD_LOCATION_PLAY_AREA
+ cp [hl]
+ jr nz, .not_in_location
+ push de
+ ld a, l
+ call PutCardInDiscardPile
+ pop de
+.not_in_location
+ inc l
+ ld a, l
+ cp DECK_SIZE
+ jr c, .next_card
+ ret
+; 0x14f8
+
+; init a turn holder's play area slot to empty
+; which slot (arena or benchx) is determined by the play area location offset (PLAY_AREA_*) in e
+EmptyPlayAreaSlot: ; 14f8 (0:14f8)
+ ldh a, [hWhoseTurn]
+ ld h, a
+ ld d, -1
+ ld a, DUELVARS_ARENA_CARD
+ call .init_duelvar
+ ld d, 0
+ ld a, DUELVARS_ARENA_CARD_HP
+ call .init_duelvar
+ ld a, DUELVARS_ARENA_CARD_STAGE
+ call .init_duelvar
+ ld a, DUELVARS_ARENA_CARD_CHANGED_TYPE
+ call .init_duelvar
+ ld a, $da
+ call .init_duelvar
+ ld a, $e0
+.init_duelvar
+ add e
+ ld l, a
+ ld [hl], d
+ ret
+; 0x151e
+
+; shift play area Pokemon of both players to the first available play area (arena + benchx) slots
+ShiftAllPokemonToFirstPlayAreaSlots: ; 151e (0:151e)
+ call ShiftTurnPokemonToFirstPlayAreaSlots
+ call SwapTurn
+ call ShiftTurnPokemonToFirstPlayAreaSlots
+ call SwapTurn
+ ret
+; 0x152b
+
+; shift play area Pokemon of the turn holder to the first available play area (arena + benchx) slots
+ShiftTurnPokemonToFirstPlayAreaSlots: ; 152b (0:152b)
+ ld a, DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ lb de, PLAY_AREA_ARENA, PLAY_AREA_ARENA
+.next_play_area_slot
+ bit 7, [hl]
+ jr nz, .empty_slot
+ call SwapPlayAreaPokemon
+ inc e
+.empty_slot
+ inc hl
+ inc d
+ ld a, d
+ cp MAX_PLAY_AREA_POKEMON
+ jr nz, .next_play_area_slot
+ ret
+; 0x1543
+
+; swap the data of the turn holder's arena Pokemon card with the
+; data of the turn holder's Pokemon card in play area e.
+; reset the status and all substatuses of the arena Pokemon before swapping.
+; e is the play area location offset of the bench Pokemon (PLAY_AREA_*).
+SwapArenaWithBenchPokemon: ; 1543 (0:1543)
+ call ResetStatusConditions
+ ld d, PLAY_AREA_ARENA
+; fallthrough
+
+; swap the data of the turn holder's Pokemon card in play area d with the
+; data of the turn holder's Pokemon card in play area e.
+; d and e are play area location offsets (PLAY_AREA_*).
+SwapPlayAreaPokemon: ; 1548 (0:1548)
+ push bc
+ push de
+ push hl
+ ld a, e
+ cp d
+ jr z, .done
+ ldh a, [hWhoseTurn]
+ ld h, a
+ ld b, a
+ ld a, DUELVARS_ARENA_CARD
+ call .swap_duelvar
+ ld a, DUELVARS_ARENA_CARD_HP
+ call .swap_duelvar
+ ld a, $c2
+ call .swap_duelvar
+ ld a, DUELVARS_ARENA_CARD_STAGE
+ call .swap_duelvar
+ ld a, DUELVARS_ARENA_CARD_CHANGED_TYPE
+ call .swap_duelvar
+ ld a, $e0
+ call .swap_duelvar
+ ld a, $da
+ call .swap_duelvar
+ set CARD_LOCATION_PLAY_AREA_F, d
+ set CARD_LOCATION_PLAY_AREA_F, e
+ ld l, DUELVARS_CARD_LOCATIONS
+.update_card_locations_loop
+ ; update card locations of the two swapped cards
+ ld a, [hl]
+ cp e
+ jr nz, .next1
+ ld a, d
+ jr .update_location
+.next1
+ cp d
+ jr nz, .next2
+ ld a, e
+.update_location
+ ld [hl], a
+.next2
+ inc l
+ ld a, l
+ cp DECK_SIZE
+ jr c, .update_card_locations_loop
+.done
+ pop hl
+ pop de
+ pop bc
+ ret
+
+.swap_duelvar
+ ld c, a
+ add e ; play area location offset of card 1
+ ld l, a
+ ld a, c
+ add d ; play area location offset of card 2
+ ld c, a
+ ld a, [bc]
+ push af
+ ld a, [hl]
+ ld [bc], a
+ pop af
+ ld [hl], a
+ ret
+; 0x159f
-; This function iterates through the card locations array to find out which and how many
-; energy cards are in arena (i.e. attached to the active pokemon).
-; One or more location constants (so long as they don't clash with the arena location constant)
-; can be specified in register e; if so, energies found in that location will be counted too.
+; Find which and how many energy cards are attached to the turn holder's Pokemon card in the arena,
+; or a Pokemon card in the bench, depending on the value of register e.
+; input: e (location to check) = CARD_LOCATION_* - CARD_LOCATION_PLAY_AREA
; Feedback is returned in wAttachedEnergies and wTotalAttachedEnergies.
-GetAttachedEnergies: ; 159f (0:159f)
+GetPlayAreaCardAttachedEnergies: ; 159f (0:159f)
push hl
push de
push bc
@@ -2908,8 +3844,8 @@ GetAttachedEnergies: ; 159f (0:159f)
ld [hli], a
dec c
jr nz, .zero_energies_loop
- ld a, CARD_LOCATION_ARENA
- or e ; if e is non-0, arena is not the only location that counts
+ ld a, CARD_LOCATION_PLAY_AREA
+ or e ; if e is non-0, a bench location is checked instead
ld e, a
ldh a, [hWhoseTurn]
ld h, a
@@ -2924,11 +3860,11 @@ GetAttachedEnergies: ; 159f (0:159f)
push de
push bc
ld a, l
- call LoadDeckCardToBuffer2
+ call LoadCardDataToBuffer2_FromDeckIndex
ld a, [wLoadedCard2Type]
bit TYPE_ENERGY_F, a
jr z, .not_an_energy_card
- and $7 ; zero bit 3 to extract the type
+ and TYPE_PKMN ; zero bit 3 to extract the type
ld e, a
ld d, $0
ld hl, wAttachedEnergies
@@ -2951,11 +3887,11 @@ GetAttachedEnergies: ; 159f (0:159f)
ld hl, wAttachedEnergies
ld c, NUM_TYPES
xor a
-.sumAttachedEnergiesLoop
+.sum_attached_energies_loop
add [hl]
inc hl
dec c
- jr nz, .sumAttachedEnergiesLoop
+ jr nz, .sum_attached_energies_loop
ld [hl], a ; save to wTotalAttachedEnergies
pop bc
pop de
@@ -2965,24 +3901,24 @@ GetAttachedEnergies: ; 159f (0:159f)
; returns in a how many times card e can be found in location b
; e = card id to search
-; b = location to consider (deck, hand, arena...)
+; b = location to consider (CARD_LOCATION_*)
; h = PLAYER_TURN or OPPONENT_TURN
CountCardIDInLocation: ; 15ef (0:15ef)
push bc
- ld l, $0
+ ld l, DUELVARS_CARD_LOCATIONS
ld c, $0
.next_card
ld a, [hl]
cp b
- jr nz, .unmatching_card_location_orID
+ jr nz, .unmatching_card_location_or_ID
ld a, l
push hl
- call _GetCardInDeckPosition
+ call _GetCardIDFromDeckIndex
cp e
pop hl
- jr nz, .unmatching_card_location_orID
+ jr nz, .unmatching_card_location_or_ID
inc c
-.unmatching_card_location_orID
+.unmatching_card_location_or_ID
inc l
ld a, l
cp DECK_SIZE
@@ -3014,23 +3950,116 @@ GetNonTurnDuelistVariable: ; 1611 (0:1611)
ret
; 0x161e
- INCROM $161e, $16c0
+Func_161e: ; 161e (0:161e)
+ ldh a, [hTempCardIndex_ff98]
+ call ClearChangedTypesIfMuk
+ ldh a, [hTempCardIndex_ff98]
+ ld d, a
+ ld e, $00
+ call CopyMoveDataAndDamage_FromDeckIndex
+ call Func_16f6
+ ldh a, [hTempCardIndex_ff98]
+ ldh [hTempCardIndex_ff9f], a
+ call GetCardIDFromDeckIndex
+ ld a, e
+ ld [wTempTurnDuelistCardID], a
+ ld a, [wLoadedMoveCategory]
+ cp POKEMON_POWER
+ ret nz
+ call $6510
+ ldh a, [hTempCardIndex_ff98]
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld hl, wLoadedCard1Name
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call LoadTxRam2
+ ldtx hl, HavePokemonPowerText
+ call DrawWideTextBox_WaitForInput
+ call Func_0f58
+ ld a, [wLoadedCard1ID]
+ cp MUK
+ jr z, .use_pokemon_power
+ ld a, $01 ; check only Muk
+ call CheckCannotUseDueToStatus_OnlyToxicGasIfANon0
+ jr nc, .use_pokemon_power
+ call $6510
+ ldtx hl, UnableToUsePkmnPowerDueToToxicGasText
+ call DrawWideTextBox_WaitForInput
+ call Func_0f58
+ ret
-CopyMoveDataAndDamageToBuffer: ; 16c0 (0:16c0)
+.use_pokemon_power
+ ld hl, wLoadedMoveEffectCommands
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, $07
+ call CheckMatchingCommand
+ ret c ; return if command not found
+ bank1call $4f9d
+ ldh a, [hTempCardIndex_ff9f]
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld de, wLoadedCard1Name
+ ld hl, wTxRam2
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hli], a
+ ld de, wLoadedMoveName
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hl], a
+ ldtx hl, WillUseThePokemonPowerText
+ call DrawWideTextBox_WaitForInput
+ call Func_0f58
+ call $7415
+ ld a, $07
+ call TryExecuteEffectCommandFunction
+ ret
+; 0x16ad
+
+; copies, given a card identified by register a (card ID):
+; - e into wSelectedMoveIndex and d into hTempCardIndex_ff9f
+; - Move1 (if e == 0) or Move2 (if e == 1) data into wLoadedMove
+; - Also from that move, its Damage field into wDamage
+CopyMoveDataAndDamage_FromCardID: ; 16ad (0:16ad)
+ push de
+ push af
ld a, e
ld [wSelectedMoveIndex], a
ld a, d
- ld [$ff9f], a
- call LoadDeckCardToBuffer1
+ ldh [hTempCardIndex_ff9f], a
+ pop af
+ ld e, a
+ ld d, $00
+ call LoadCardDataToBuffer1_FromCardID
+ pop de
+ jr CopyMoveDataAndDamage_FromDeckIndex.card_loaded
+
+; copies, given a card identified by register d (0-59 deck index):
+; - e into wSelectedMoveIndex and d into hTempCardIndex_ff9f
+; - Move1 (if e == 0) or Move2 (if e == 1) data into wLoadedMove
+; - Also from that move, its Damage field into wDamage
+CopyMoveDataAndDamage_FromDeckIndex: ; 16c0 (0:16c0)
+ ld a, e
+ ld [wSelectedMoveIndex], a
+ ld a, d
+ ldh [hTempCardIndex_ff9f], a
+ call LoadCardDataToBuffer1_FromDeckIndex
+.card_loaded
ld a, [wLoadedCard1ID]
- ld [wTempCardId], a
+ ld [wTempCardID_ccc2], a
ld hl, wLoadedCard1Move1
dec e
jr nz, .got_move
ld hl, wLoadedCard1Move2
.got_move
ld de, wLoadedMove
- ld c, wLoadedCard1Move2 - wLoadedCard1Move1
+ ld c, CARD_DATA_MOVE2 - CARD_DATA_MOVE1
.copy_loop
ld a, [hli]
ld [de], a
@@ -3043,30 +4072,31 @@ CopyMoveDataAndDamageToBuffer: ; 16c0 (0:16c0)
xor a
ld [hl], a
ld [wNoDamageOrEffect], a
- ld hl, wccbf
+ ld hl, wTempDamage_ccbf
ld [hli], a
ld [hl], a
ret
+; inits hTempCardIndex_ff9f, wTempTurnDuelistCardID, wTempNonTurnDuelistCardID, and other temp variables
Func_16f6: ; 16f6 (0:16f6)
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- ld [$ff9f], a
- call GetCardInDeckPosition
+ ldh [hTempCardIndex_ff9f], a
+ call GetCardIDFromDeckIndex
ld a, e
- ld [wTempTurnDuelistCardId], a
+ ld [wTempTurnDuelistCardID], a
call SwapTurn
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call GetCardInDeckPosition
+ call GetCardIDFromDeckIndex
ld a, e
- ld [wTempNonTurnDuelistCardId], a
+ ld [wTempNonTurnDuelistCardID], a
call SwapTurn
xor a
ld [wccec], a
ld [wcccd], a
ld [wcced], a
- ld [wcce6], a
+ ld [wDamageToSelfMode], a
ld [wccef], a
ld [wccf0], a
ld [wccf1], a
@@ -3076,9 +4106,9 @@ Func_16f6: ; 16f6 (0:16f6)
Func_1730: ; 1730 (0:1730)
ld a, [wSelectedMoveIndex]
ld [wcc10], a
- ld a, [$ff9f]
+ ldh a, [hTempCardIndex_ff9f]
ld [wcc11], a
- ld a, [wTempCardId]
+ ld a, [wTempCardID_ccc2]
ld [wcc12], a
ld a, [wLoadedMoveCategory]
cp POKEMON_POWER
@@ -3103,7 +4133,7 @@ Func_1730: ; 1730 (0:1730)
jp c, Func_1821
.asm_1777
ld a, $9
- call Func_0f7f
+ call SetDuelAIAction
ld a, $6
call TryExecuteEffectCommandFunction
call CheckSelfConfusionDamage
@@ -3114,7 +4144,7 @@ Func_1730: ; 1730 (0:1730)
ld a, $5
call TryExecuteEffectCommandFunction
ld a, $a
- call Func_0f7f
+ call SetDuelAIAction
call $7415
ld a, [wLoadedMoveCategory]
and RESIDUAL
@@ -3124,17 +4154,17 @@ Func_1730: ; 1730 (0:1730)
call SwapTurn
.asm_17ad
xor a
- ld [$ff9d], a
+ ldh [hTempPlayAreaLocationOffset_ff9d], a
ld a, $3
call TryExecuteEffectCommandFunction
- call Func_1994
+ call ApplyDamageModifiers_DamageToTarget
call Func_189d
- ld hl, wccbf
+ ld hl, wTempDamage_ccbf
ld [hl], e
inc hl
ld [hl], d
ld b, $0
- ld a, [wccc1]
+ ld a, [wDamageEffectiveness]
ld c, a
ld a, DUELVARS_ARENA_CARD_HP
call GetNonTurnDuelistVariable
@@ -3153,7 +4183,7 @@ Func_1730: ; 1730 (0:1730)
bank1call $503a
pop hl
.asm_17e8
- call Func_1ad0
+ call PrintKnockedOutIfHLZero
jr Func_17fb
Func_17ed: ; 17ed (0:17ed)
@@ -3165,13 +4195,13 @@ Func_17ed: ; 17ed (0:17ed)
ld a, NO_DAMAGE_OR_EFFECT_AGILITY
ld [wNoDamageOrEffect], a
Func_17fb: ; 17fb (0:17fb)
- ld a, [wTempNonTurnDuelistCardId]
+ ld a, [wTempNonTurnDuelistCardID]
push af
ld a, $4
call TryExecuteEffectCommandFunction
pop af
- ld [wTempNonTurnDuelistCardId], a
- call HandleStrikesBack
+ ld [wTempNonTurnDuelistCardID], a
+ call HandleStrikesBack_AgainstResidualMove
bank1call $6df1
call Func_1bb4
bank1call $7195
@@ -3199,7 +4229,7 @@ Func_1823: ; 1823 (0:1823)
DealConfusionDamageToSelf: ; 1828 (0:1828)
bank1call $4f9d
ld a, $1
- ld [wcce6], a
+ ld [wDamageToSelfMode], a
ldtx hl, DamageToSelfDueToConfusionText
call DrawWideTextBox_PrintText
ld a, $75
@@ -3221,37 +4251,37 @@ Func_184b: ; 184b (0:184b)
call TryExecuteEffectCommandFunction
jr c, Func_1821
ld a, $c
- call Func_0f7f
+ call SetDuelAIAction
call Func_0f58
ld a, $d
- call Func_0f7f
+ call SetDuelAIAction
ld a, $3
call TryExecuteEffectCommandFunction
ld a, $16
- call Func_0f7f
+ call SetDuelAIAction
ret
Func_1874: ; 1874 (0:1874)
ld a, [wccec]
or a
ret nz
- ld a, [$ffa0]
+ ldh a, [hffa0]
push af
- ld a, [$ff9f]
+ ldh a, [hTempCardIndex_ff9f]
push af
ld a, $1
ld [wccec], a
ld a, [wcc11]
- ld [$ff9f], a
+ ldh [hTempCardIndex_ff9f], a
ld a, [wcc10]
- ld [$ffa0], a
+ ldh [hffa0], a
ld a, $8
- call Func_0f7f
+ call SetDuelAIAction
call Func_0f58
pop af
- ld [$ff9f], a
+ ldh [hTempCardIndex_ff9f], a
pop af
- ld [$ffa0], a
+ ldh [hffa0], a
ret
Func_189d: ; 189d (0:189d)
@@ -3275,7 +4305,7 @@ Func_189d: ; 189d (0:189d)
push de
call SwapTurn
xor a
- ld [wcceb], a
+ ld [wTempPlayAreaLocationOffset_cceb], a
call HandleTransparency
call SwapTurn
pop de
@@ -3284,7 +4314,7 @@ Func_189d: ; 189d (0:189d)
ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
call GetNonTurnDuelistVariable
ld [hl], $0
- ld de, $0000
+ ld de, 0
ret
; return carry and 1 into wccc9 if damage is dealt to oneself due to confusion
@@ -3293,7 +4323,7 @@ CheckSelfConfusionDamage: ; 18d7 (0:18d7)
ld [wccc9], a
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
- and PASSIVE_STATUS_MASK
+ and CNF_SLP_PRZ
cp CONFUSED
jr z, .confused
or a
@@ -3311,13 +4341,53 @@ CheckSelfConfusionDamage: ; 18d7 (0:18d7)
ret
; 0x18f9
- INCROM $18f9, $1944
+; use the trainer card with deck index at hTempCardIndex_ff98
+; a trainer card is like a move effect, with its own effect commands
+UseTrainerCard: ; 18f9 (0:18f9)
+ call CheckCantUseTrainerDueToHeadache
+ jr c, .cant_use
+ ldh a, [hWhoseTurn]
+ ld h, a
+ ldh a, [hTempCardIndex_ff98]
+ ldh [hTempCardIndex_ff9f], a
+ call LoadNonPokemonCardEffectCommands
+ ld a, $01
+ call TryExecuteEffectCommandFunction
+ jr nc, .can_use
+.cant_use
+ call DrawWideTextBox_WaitForInput
+ scf
+ ret
+.can_use
+ ld a, $02
+ call TryExecuteEffectCommandFunction
+ jr c, .done
+ ld a, $06
+ call SetDuelAIAction
+ call $666a
+ call Func_0f58
+ ld a, $06
+ call TryExecuteEffectCommandFunction
+ ld a, $05
+ call TryExecuteEffectCommandFunction
+ ld a, $07
+ call SetDuelAIAction
+ ld a, $03
+ call TryExecuteEffectCommandFunction
+ ldh a, [hTempCardIndex_ff9f]
+ call MoveHandCardToDiscardPile
+ call Func_0f58
+.done
+ or a
+ ret
+; 0x1944
-; this loads HP and Stage (1 byte each) of card with id at $ff9f into wLoadedMoveEffectCommands
-Func_1944: ; 1944 (0:1944)
- ld a, [$ff9f]
- call LoadDeckCardToBuffer1
- ld hl, wLoadedCard1HP
+; loads the effect commands of a (trainer or energy) card with deck index (0-59) at hTempCardIndex_ff9f
+; into wLoadedMoveEffectCommands
+LoadNonPokemonCardEffectCommands: ; 1944 (0:1944)
+ ldh a, [hTempCardIndex_ff9f]
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld hl, wLoadedCard1EffectCommands
ld de, wLoadedMoveEffectCommands
ld a, [hli]
ld [de], a
@@ -3332,7 +4402,7 @@ Func_1955: ; 1955 (0:1955)
ld a, $7a
ld [wLoadedMoveAnimation], a
pop af
-; this function appears to apply several damage modifiers
+; this function appears to handle dealing damage to self due to confusion
Func_195c: ; 195c (0:195c)
ld hl, wDamage
ld [hli], a
@@ -3342,36 +4412,41 @@ Func_195c: ; 195c (0:195c)
xor a
ld [wNoDamageOrEffect], a
bank1call $7415
- ld a, [wTempNonTurnDuelistCardId]
+ ld a, [wTempNonTurnDuelistCardID]
push af
- ld a, [wTempTurnDuelistCardId]
- ld [wTempNonTurnDuelistCardId], a
- bank1call Func_1a22 ; switch to bank 1, but call a home func
- ld a, [wccc1]
+ ld a, [wTempTurnDuelistCardID]
+ ld [wTempNonTurnDuelistCardID], a
+ bank1call ApplyDamageModifiers_DamageToSelf ; switch to bank 1, but call a home func
+ ld a, [wDamageEffectiveness]
ld c, a
ld b, $0
ld a, DUELVARS_ARENA_CARD_HP
call GetTurnDuelistVariable
bank1call $7469
- call Func_1ad0
+ call PrintKnockedOutIfHLZero
pop af
- ld [wTempNonTurnDuelistCardId], a
+ ld [wTempNonTurnDuelistCardID], a
pop af
ld [wNoDamageOrEffect], a
ret
-Func_1994: ; 1994 (0:1994)
+; given a damage value at wDamage:
+; - if the non-turn holder's arena card is weak to the turn holder's arena card color: double damage
+; - if the non-turn holder's arena card resists the turn holder's arena card color: reduce damage by 30
+; - also apply Pluspower, Defender, and other kinds of damage reduction accordingly
+; return resulting damage in de
+ApplyDamageModifiers_DamageToTarget: ; 1994 (0:1994)
xor a
- ld [wccc1], a
+ ld [wDamageEffectiveness], a
ld hl, wDamage
ld a, [hli]
or [hl]
jr nz, .non_zero_damage
- ld de, $0000
+ ld de, 0
ret
.non_zero_damage
- xor a
- ld [$ff9d], a
+ xor a ; PLAY_AREA_ARENA
+ ldh [hTempPlayAreaLocationOffset_ff9d], a
ld d, [hl]
dec hl
ld e, [hl]
@@ -3379,7 +4454,7 @@ Func_1994: ; 1994 (0:1994)
jr z, .safe
res 7, d ; cap at 2^15
xor a
- ld [wccc1], a
+ ld [wDamageEffectiveness], a
call HandleDoubleDamageSubstatus
jr .check_pluspower_and_defender
.safe
@@ -3387,31 +4462,31 @@ Func_1994: ; 1994 (0:1994)
ld a, e
or d
ret z
- ld a, [$ff9d]
- call Func_36f7
- call Func_1a0e
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ call GetPlayAreaCardColor
+ call TranslateColorToWR
ld b, a
call SwapTurn
- call Func_3730
+ call GetArenaCardWeakness
call SwapTurn
and b
- jr z, .asm_19dc
+ jr z, .not_weak
sla e
rl d
- ld hl, $ccc1
- set 1, [hl]
-.asm_19dc
+ ld hl, wDamageEffectiveness
+ set WEAKNESS, [hl]
+.not_weak
call SwapTurn
- call Func_374a
+ call GetArenaCardResistance
call SwapTurn
and b
- jr z, .check_pluspower_and_defender
- ld hl, $ffe2
+ jr z, .check_pluspower_and_defender ; jump if not resistant
+ ld hl, -30
add hl, de
ld e, l
ld d, h
- ld hl, $ccc1
- set 2, [hl]
+ ld hl, wDamageEffectiveness
+ set RESISTANCE, [hl]
.check_pluspower_and_defender
ld b, CARD_LOCATION_ARENA
call ApplyAttachedPluspower
@@ -3421,28 +4496,33 @@ Func_1994: ; 1994 (0:1994)
call HandleDamageReduction
bit 7, d
jr z, .no_underflow
- ld de, $0000
+ ld de, 0
.no_underflow
call SwapTurn
ret
-Func_1a0e: ; 1a0e (0:1a0e)
+; convert a color to its equivalent WR_* (weakness/resistance) value
+TranslateColorToWR: ; 1a0e (0:1a0e)
push hl
- add $1a
+ add LOW(InvertedPowersOf2)
ld l, a
- ld a, $1a
+ ld a, HIGH(InvertedPowersOf2)
adc $0
ld h, a
ld a, [hl]
pop hl
ret
-; 0x1a1a
- INCROM $1a1a, $1a22
+InvertedPowersOf2: ; 1a1a (0:1a1a)
+ db $80, $40, $20, $10, $08, $04, $02, $01
-Func_1a22: ; 1a22 (0:1a22)
+; given a damage value at wDamage:
+; - if the turn holder's arena card is weak to its own color: double damage
+; - if the turn holder's arena card resists its own color: reduce damage by 30
+; return resulting damage in de
+ApplyDamageModifiers_DamageToSelf: ; 1a22 (0:1a22)
xor a
- ld [wccc1], a
+ ld [wDamageEffectiveness], a
ld hl, wDamage
ld a, [hli]
or [hl]
@@ -3451,27 +4531,27 @@ Func_1a22: ; 1a22 (0:1a22)
ld d, [hl]
dec hl
ld e, [hl]
- call Func_36f6
- call Func_1a0e
+ call GetArenaCardColor
+ call TranslateColorToWR
ld b, a
- call Func_3730
+ call GetArenaCardWeakness
and b
- jr z, .asm_1a47
+ jr z, .not_weak
sla e
rl d
- ld hl, $ccc1
- set 1, [hl]
-.asm_1a47
- call Func_374a
+ ld hl, wDamageEffectiveness
+ set WEAKNESS, [hl]
+.not_weak
+ call GetArenaCardResistance
and b
- jr z, .asm_1a58
- ld hl, $ffe2
+ jr z, .not_resistant
+ ld hl, -30
add hl, de
ld e, l
ld d, h
- ld hl, $ccc1
- set 2, [hl]
-.asm_1a58
+ ld hl, wDamageEffectiveness
+ set RESISTANCE, [hl]
+.not_resistant
ld b, CARD_LOCATION_ARENA
call ApplyAttachedPluspower
ld b, CARD_LOCATION_ARENA
@@ -3479,7 +4559,7 @@ Func_1a22: ; 1a22 (0:1a22)
bit 7, d ; test for underflow
ret z
.no_damage
- ld de, $0000
+ ld de, 0
ret
; increases de by 10 points for each Pluspower found in location b
@@ -3528,7 +4608,7 @@ SubstractHP: ; 1a96 (0:1a96)
sbc d
and $80
jr z, .no_underflow
- ld [hl], $0
+ ld [hl], 0
.no_underflow
ld a, [hl]
or a
@@ -3539,66 +4619,162 @@ SubstractHP: ; 1a96 (0:1a96)
pop hl
ret
-Func_1aac: ; 1aac (0:1aac)
+; given a play area location offset in a, check if the turn holder's Pokemon card in
+; that location has no HP left, and, if so, print that it was knocked out.
+PrintPlayAreaCardKnockedOutIfNoHP: ; 1aac (0:1aac)
ld e, a
add DUELVARS_ARENA_CARD_HP
call GetTurnDuelistVariable
or a
- ret nz
- ld a, [wTempNonTurnDuelistCardId]
+ ret nz ; return if arena card has non-0 HP
+ ld a, [wTempNonTurnDuelistCardID]
push af
ld a, e
add DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call LoadDeckCardToBuffer1
+ call LoadCardDataToBuffer1_FromDeckIndex
ld a, [wLoadedCard1ID]
- ld [wTempNonTurnDuelistCardId], a
- call Func_1ad3
+ ld [wTempNonTurnDuelistCardID], a
+ call PrintKnockedOut
pop af
- ld [wTempNonTurnDuelistCardId], a
+ ld [wTempNonTurnDuelistCardID], a
scf
ret
-Func_1ad0: ; 1ad0 (0:1ad0)
- ld a, [hl]
+PrintKnockedOutIfHLZero: ; 1ad0 (0:1ad0)
+ ld a, [hl] ; this is supposed to point to a remaining HP value after some form of damage calculation
or a
ret nz
-Func_1ad3: ; 1ad3 (0:1ad3)
- ld a, [wTempNonTurnDuelistCardId]
+; fallthrough
+
+; print in a text box that the Pokemon card at wTempNonTurnDuelistCardID was knocked out and wait 40 frames
+PrintKnockedOut: ; 1ad3 (0:1ad3)
+ ld a, [wTempNonTurnDuelistCardID]
ld e, a
- call LoadCardDataToBuffer1
- ld hl, $cc27
+ call LoadCardDataToBuffer1_FromCardID
+ ld hl, wLoadedCard1Name
ld a, [hli]
ld h, [hl]
ld l, a
- call Func_2ebb
+ call LoadTxRam2
ldtx hl, WasKnockedOutText
call DrawWideTextBox_PrintText
- ld a, $28
-.asm_1aeb
+ ld a, 40
+.wait_frames
call DoFrame
dec a
- jr nz, .asm_1aeb
+ jr nz, .wait_frames
scf
ret
; 0x1af3
- INCROM $1af3, $1b8d
+; seems to be a function to deal damage to a card
+Func_1af3: ; 1af3 (0:1af3)
+ ld a, $78
+ ld [wLoadedMoveAnimation], a
+ ld a, b
+ ld [wTempPlayAreaLocationOffset_cceb], a
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .skip_no_damage_or_effect_check
+ ld a, [wNoDamageOrEffect]
+ or a
+ ret nz
+.skip_no_damage_or_effect_check
+ push hl
+ push de
+ push bc
+ xor a
+ ld [wNoDamageOrEffect], a
+ push de
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ call GetCardIDFromDeckIndex
+ ld a, e
+ ld [wTempNonTurnDuelistCardID], a
+ pop de
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .next
+ ld a, [wDamageToSelfMode]
+ or a
+ jr z, .turn_swapped
+ ld b, CARD_LOCATION_ARENA
+ call ApplyAttachedPluspower
+ jr .next
+.turn_swapped
+ call SwapTurn
+ ld b, CARD_LOCATION_ARENA
+ call ApplyAttachedPluspower
+ call SwapTurn
+.next
+ ld a, [wLoadedMoveCategory]
+ cp POKEMON_POWER
+ jr z, .skip_defender
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or CARD_LOCATION_PLAY_AREA
+ ld b, a
+ call ApplyAttachedDefender
+.skip_defender
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .in_bench
+ push de
+ call HandleNoDamageOrEffectSubstatus
+ pop de
+ call HandleDamageReduction
+.in_bench
+ bit 7, d
+ jr z, .no_underflow
+ ld de, 0
+.no_underflow
+ call HandleDamageReductionOrNoDamageFromPkmnPowerEffects
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ ld b, a
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .benched
+ ; add damage at de to [wTempDamage_ccbf]
+ ld hl, wTempDamage_ccbf
+ ld a, e
+ add [hl]
+ ld [hli], a
+ ld a, d
+ adc [hl]
+ ld [hl], a
+.benched
+ ld c, $00
+ add DUELVARS_ARENA_CARD_HP
+ call GetTurnDuelistVariable
+ push af
+ bank1call $7469
+ pop af
+ or a
+ jr z, .skip_knocked_out
+ push de
+ call PrintKnockedOutIfHLZero
+ pop de
+.skip_knocked_out
+ call HandleStrikesBack_AgainstDamagingMove
+ pop bc
+ pop de
+ pop hl
+ ret
+; 0x1b8d
Func_1b8d: ; 1b8d (0:1b8d)
bank1call $4f9d
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call LoadDeckCardToBuffer1
+ call LoadCardDataToBuffer1_FromDeckIndex
ld a, $12
call Func_29f5
ld [hl], $0
- ld hl, $ce3f
+ ld hl, wTxRam2
xor a
ld [hli], a
ld [hli], a
ld a, [wLoadedMoveName]
- ld [hli], a
+ ld [hli], a ; wTxRam2_b
ld a, [wLoadedMoveName + 1]
ld [hli], a
ldtx hl, PokemonsAttackText ; text when using an attack
@@ -3610,7 +4786,7 @@ Func_1bb4: ; 1bb4 (0:1bb4)
bank1call $4f9d
call $503a
xor a
- ld [$ff9d], a
+ ldh [hTempPlayAreaLocationOffset_ff9d], a
call Func_1bca
call WaitForWideTextBoxInput
call Func_0f58
@@ -3622,17 +4798,17 @@ Func_1bca: ; 1bca (0:1bca)
ret z
cp $1
jr z, .asm_1bfd
- ld a, [$ff9d]
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
add DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call LoadDeckCardToBuffer1
+ call LoadCardDataToBuffer1_FromDeckIndex
ld a, $12
call Func_29f5
ld [hl], $0
ld hl, $0000
- call Func_2ebb
- ld hl, $ccaa
- ld de, $ce41
+ call LoadTxRam2
+ ld hl, wLoadedMoveName
+ ld de, wTxRam2_b
ld a, [hli]
ld [de], a
inc de
@@ -3649,7 +4825,101 @@ Func_1bca: ; 1bca (0:1bca)
ret
; 0x1c05
- INCROM $1c05, $1c72
+; return in a the retreat cost of the turn holder's arena or benchx Pokemon
+; given the PLAY_AREA_* value in hTempPlayAreaLocationOffset_ff9d
+GetPlayAreaCardRetreatCost: ; 1c05 (0:1c05)
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ call LoadCardDataToBuffer1_FromDeckIndex
+ call GetLoadedCard1RetreatCost
+ ret
+; 0x1c13
+
+; move the turn holder's card with ID at de to the discard pile
+; if it's currently in the arena.
+MoveCardToDiscardPileIfInArena: ; 1c13 (0:1c13)
+ ld c, e
+ ld b, d
+ ld l, DUELVARS_CARD_LOCATIONS
+.next_card
+ ld a, [hl]
+ and CARD_LOCATION_ARENA
+ jr z, .skip ; jump if card not in arena
+ ld a, l
+ call GetCardIDFromDeckIndex
+ ld a, c
+ cp e
+ jr nz, .skip ; jump if not the card id provided in c
+ ld a, b
+ cp d ; card IDs are 8-bit so d is always 0
+ jr nz, .skip
+ ld a, l
+ push bc
+ call PutCardInDiscardPile
+ pop bc
+.skip
+ inc l
+ ld a, l
+ cp DECK_SIZE
+ jr c, .next_card
+ ret
+; 0x1c35
+
+; substract [hl] HP from the turn holder's card at CARD_LOCATION_PLAY_AREA + e
+; return the result in a
+SubstractHPFromCard: ; 1c35 (0:1c35)
+ push hl
+ push de
+ ld a, DUELVARS_ARENA_CARD
+ add e
+ call GetTurnDuelistVariable
+ call LoadCardDataToBuffer2_FromDeckIndex
+ pop de
+ push de
+ ld a, DUELVARS_ARENA_CARD_HP
+ add e
+ call GetTurnDuelistVariable
+ ld a, [wLoadedCard2HP]
+ ld c, a
+ sub [hl]
+ pop de
+ pop hl
+ ret
+; 0x1c50
+
+; check if a flag of wLoadedMove is set
+; input: a = %fffffbbb, where f = flag address counting from wLoadedMoveFlag1, and b = flag bit
+; return carry if the flag is set
+CheckLoadedMoveFlag: ; 1c50 (0:1c50)
+ push hl
+ push de
+ push bc
+ ld c, a ; %fffffbbb
+ and $07
+ ld e, a
+ ld d, $00
+ ld hl, PowersOf2
+ add hl, de
+ ld b, [hl]
+ ld a, c
+ rra
+ rra
+ rra
+ and $1f
+ ld e, a ; %000fffff
+ ld hl, wLoadedMoveFlag1
+ add hl, de
+ ld a, [hl]
+ and b
+ jr z, .done
+ scf ; set carry if the move has this flag set
+.done
+ pop bc
+ pop de
+ pop hl
+ ret
+; 0x1c72
; returns [hWhoseTurn] <-- ([hWhoseTurn] ^ $1)
; As a side effect, this also returns a duelist variable in a similar manner to
@@ -3665,21 +4935,23 @@ SwapTurn: ; 1c72 (0:1c72)
pop af
ret
-PrintPlayerName: ; 1c7d (0:1c7d)
- call EnableExtRAM
- ld hl, $a010
-printNameLoop
+; copy the $00-terminated player's name from sPlayerName to de
+CopyPlayerName: ; 1c7d (0:1c7d)
+ call EnableSRAM
+ ld hl, sPlayerName
+.loop
ld a, [hli]
ld [de], a
inc de
or a
- jr nz, printNameLoop
+ jr nz, .loop
dec de
- call DisableExtRAM
+ call DisableSRAM
ret
-PrintOpponentName: ; 1c8e (0:1c8e)
- ld hl, $cc16
+; copy the opponent's name to de (usually via PrintTextBoxBorderLabel)
+CopyOpponentName: ; 1c8e (0:1c8e)
+ ld hl, wOpponentName
ld a, [hli]
or [hl]
jr z, .special_name
@@ -3688,100 +4960,108 @@ PrintOpponentName: ; 1c8e (0:1c8e)
ld h, a
jp PrintTextBoxBorderLabel
.special_name
- ld hl, $c500
+ ld hl, wc500
ld a, [hl]
or a
jr z, .print_player2
- jr printNameLoop
+ jr CopyPlayerName.loop
.print_player2
ldtx hl, Player2Text
jp PrintTextBoxBorderLabel
-Func_1caa: ; 1caa (0:1caa)
+; return, in hl, the total amount of cards owned anywhere, including duplicates
+GetRawAmountOfCardsOwned: ; 1caa (0:1caa)
push de
push bc
- call EnableExtRAM
+ call EnableSRAM
ld hl, $0000
ld de, sDeck1Cards
- ld c, $4
-.asm_1cb7
+ ld c, NUM_DECKS
+.next_deck
ld a, [de]
or a
- jr z, .asm_1cc1
+ jr z, .skip_deck ; jump if deck empty
ld a, c
- ld bc, $003c
+ ld bc, DECK_SIZE
add hl, bc
ld c, a
-.asm_1cc1
- ld a, $54
+.skip_deck
+ ld a, sDeck2Cards - sDeck1Cards
add e
ld e, a
ld a, $0
adc d
- ld d, a
+ ld d, a ; de = sDeck*Cards[x]
dec c
- jr nz, .asm_1cb7
+ jr nz, .next_deck
+
+ ; hl = DECK_SIZE * (no. of non-empty decks)
ld de, sCardCollection
-.asm_1ccf
+.next_card
ld a, [de]
- bit 7, a
- jr nz, .asm_1cd8
- ld c, a
+ bit CARD_NOT_OWNED_F, a
+ jr nz, .skip_card
+ ld c, a ; card count in sCardCollection
ld b, $0
add hl, bc
-.asm_1cd8
+.skip_card
inc e
- jr nz, .asm_1ccf
- call DisableExtRAM
+ jr nz, .next_card ; assumes sCardCollection is $100 bytes long (CARD_COLLECTION_SIZE)
+ call DisableSRAM
pop bc
pop de
ret
-Func_1ce1: ; 1ce1 (0:1ce1)
+; return carry if the count in sCardCollection plus the count in each deck (sDeck*)
+; of the card with id given in a is 0 (if card not owned).
+; also return the count (total owned amount) in a.
+GetCardCountInCollectionAndDecks: ; 1ce1 (0:1ce1)
push hl
push de
push bc
- call EnableExtRAM
+ call EnableSRAM
ld c, a
ld b, $0
ld hl, sDeck1Cards
- ld d, $4
-.asm_1cef
+ ld d, NUM_DECKS
+.next_deck
ld a, [hl]
or a
- jr z, .asm_1cff
+ jr z, .deck_done ; jump if deck empty
push hl
- ld e, $3c
-.asm_1cf6
+ ld e, DECK_SIZE
+.next_card
ld a, [hli]
cp c
- jr nz, .asm_1cfb
- inc b
+ jr nz, .no_match
+ inc b ; this deck card matches card c
-.asm_1cfb
+.no_match
dec e
- jr nz, .asm_1cf6
+ jr nz, .next_card
pop hl
-.asm_1cff
+.deck_done
push de
- ld de, $0054
+ ld de, sDeck2Cards - sDeck1Cards
add hl, de
pop de
dec d
- jr nz, .asm_1cef
- ld h, $a1
+ jr nz, .next_deck
+
+ ; all decks done
+ ld h, HIGH(sCardCollection)
ld l, c
ld a, [hl]
- bit 7, a
- jr nz, .asm_1d11
- add b
+ bit CARD_NOT_OWNED_F, a
+ jr nz, .done
+ add b ; if card seen, add b to count
-.asm_1d11
- and $7f
- call DisableExtRAM
+.done
+ and CARD_COUNT_MASK
+ call DisableSRAM
pop bc
pop de
pop hl
@@ -3790,22 +5070,24 @@ Func_1ce1: ; 1ce1 (0:1ce1)
scf
ret
-Func_1d1d: ; 1d1d (0:1d1d)
+; return carry if the count in sCardCollection of the card with id given in a is 0.
+; also return the count (amount owned outside of decks) in a.
+GetCardCountInCollection: ; 1d1d (0:1d1d)
push hl
- call EnableExtRAM
- ld h, $a1
+ call EnableSRAM
+ ld h, HIGH(sCardCollection)
ld l, a
ld a, [hl]
- call DisableExtRAM
+ call DisableSRAM
pop hl
- and $7f
+ and CARD_COUNT_MASK
ret nz
scf
ret
-; creates a list at $c000 of every card the player owns and how many
+; creates a list at wTempCardCollection of every card the player owns and how many
CreateTempCardCollection: ; 1d2e (0:1d2e)
- call EnableExtRAM
+ call EnableSRAM
ld hl, sCardCollection
ld de, wTempCardCollection
ld bc, CARD_COLLECTION_SIZE
@@ -3818,29 +5100,31 @@ CreateTempCardCollection: ; 1d2e (0:1d2e)
call AddDeckCardsToTempCardCollection
ld de, sDeck4Name
call AddDeckCardsToTempCardCollection
- call DisableExtRAM
+ call DisableSRAM
ret
+; adds the cards from a deck to wTempCardCollection given de = sDeck*Name
AddDeckCardsToTempCardCollection: ; 1d59 (0:1d59)
ld a, [de]
or a
- ret z
+ ret z ; return if empty name (empty deck)
ld hl, sDeck1Cards - sDeck1Name
add hl, de
ld e, l
ld d, h
- ld h, wTempCardCollection >> 8
+ ld h, HIGH(wTempCardCollection)
ld c, DECK_SIZE
-.asm_1d66
- ld a, [de]
- inc de
+.next_card
+ ld a, [de] ; count of current card being added
+ inc de ; move to next card for next iteration
ld l, a
- inc [hl]
+ inc [hl] ; increment count
dec c
- jr nz, .asm_1d66
+ jr nz, .next_card
ret
-; adds card a to collection, provided the player has less than 99 of them
+; add card with id given in a to sCardCollection, provided that
+; the player has less than MAX_AMOUNT_OF_CARD (99) of them
AddCardToCollection: ; 1d6e (0:1d6e)
push hl
push de
@@ -3849,44 +5133,73 @@ AddCardToCollection: ; 1d6e (0:1d6e)
push hl
call CreateTempCardCollection
pop hl
- call EnableExtRAM
- ld h, wTempCardCollection >> 8
+ call EnableSRAM
+ ld h, HIGH(wTempCardCollection)
ld a, [hl]
- and $7f
- cp 99
- jr nc, .asm_1d8a
- ld h, sCardCollection >> 8
+ and CARD_COUNT_MASK
+ cp MAX_AMOUNT_OF_CARD
+ jr nc, .already_max
+ ld h, HIGH(sCardCollection)
ld a, [hl]
- and $7f
+ and CARD_COUNT_MASK
inc a
ld [hl], a
-.asm_1d8a
- call DisableExtRAM
+.already_max
+ call DisableSRAM
pop bc
pop de
pop hl
ret
-Func_1d91: ; 1d91 (0:1d91)
+; remove a card with id given in a from sCardCollection (decrement its count if non-0)
+RemoveCardFromCollection: ; 1d91 (0:1d91)
push hl
- call EnableExtRAM
- ld h, $a1
+ call EnableSRAM
+ ld h, HIGH(sCardCollection)
ld l, a
ld a, [hl]
- and $7f
- jr z, .asm_1d9f
+ and CARD_COUNT_MASK
+ jr z, .zero
dec a
ld [hl], a
-
-.asm_1d9f
- call DisableExtRAM
+.zero
+ call DisableSRAM
pop hl
ret
; 0x1da4
- INCROM $1da4, $1dca
+; return the amount of different cards that the player has collected in d
+; return NUM_CARDS in e, minus 1 if VENUSAUR1 or MEW2 has not been collected (minus 2 if neither)
+GetCardAlbumProgress: ; 1da4 (0:1da4)
+ push hl
+ call EnableSRAM
+ ld e, NUM_CARDS
+ ld h, HIGH(sCardCollection)
+ ld l, VENUSAUR1
+ bit CARD_NOT_OWNED_F, [hl]
+ jr z, .next1
+ dec e ; if VENUSAUR1 not owned
+.next1
+ ld l, MEW2
+ bit CARD_NOT_OWNED_F, [hl]
+ jr z, .next2
+ dec e ; if MEW2 not owned
+.next2
+ ld d, LOW(sCardCollection)
+ ld l, d
+.next_card
+ bit CARD_NOT_OWNED_F, [hl]
+ jr nz, .skip
+ inc d ; if this card owned
+.skip
+ inc l
+ jr nz, .next_card ; assumes sCardCollection is $100 bytes long (CARD_COLLECTION_SIZE)
+ call DisableSRAM
+ pop hl
+ ret
+; 0x1dca
-; memcpy(HL, DE, C)
+; copy c bytes of data from de to hl
; if LCD on, copy during h-blank only
SafeCopyDataDEtoHL: ; 1dca (0:1dca)
ld a, [wLCDC] ;
@@ -3902,7 +5215,7 @@ SafeCopyDataDEtoHL: ; 1dca (0:1dca)
.lcd_on
jp HblankCopyDataDEtoHL
-; returns vBGMapTiles + BG_MAP_WIDTH * e + d in hl.
+; returns v*BGMapTiles1 + BG_MAP_WIDTH * e + d in hl.
; used to map coordinates at de to a BGMap0 address.
DECoordToBGMap0Address: ; 1ddb (0:1ddb)
ld l, e
@@ -3916,7 +5229,7 @@ DECoordToBGMap0Address: ; 1ddb (0:1ddb)
add d
ld l, a
ld a, h
- adc HIGH(vBGMapTiles)
+ adc HIGH(v0BGMapTiles1)
ld h, a
ret
@@ -3947,7 +5260,7 @@ DrawLabeledTextBox: ; 1e00 (0:1e00)
ld a, [wConsole]
cp CONSOLE_SGB
jr nz, .draw_top_border
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
or a
jr z, .draw_top_border
; Console is SGB and frame type is != 0.
@@ -4043,13 +5356,16 @@ DrawRegularTextBox: ; 1e7c (0:1e7c)
cp CONSOLE_SGB
jp z, DrawRegularTextBoxSGB
; fallthrough
+
DrawRegularTextBoxDMG: ; 1e88 (0:1e88)
call DECoordToBGMap0Address
; top line (border) of the text box
ld a, $1c
lb de, $18, $19
call CopyLine
-ContinueDrawingTextBoxDMGorSGB
+; fallthrough
+
+ContinueDrawingTextBoxDMGorSGB:
dec c
dec c
.draw_text_box_body_loop
@@ -4063,7 +5379,7 @@ ContinueDrawingTextBoxDMGorSGB
lb de, $1a, $1b
; fallthrough
-; copies b bytes of data to sp+$1c and to hl, and returns hl += BG_MAP_WIDTH
+; copies b bytes of data to sp-$1f and to hl, and returns hl += BG_MAP_WIDTH
; d = value of byte 0
; e = value of byte b
; a = value of bytes [1, b-1]
@@ -4105,7 +5421,9 @@ DrawRegularTextBoxCGB:
ld a, $1c
lb de, $18, $19
call CopyCurrentLineTilesAndAttrCGB
-ContinueDrawingTextBoxCGB
+; fallthrough
+
+ContinueDrawingTextBoxCGB:
dec c
dec c
.draw_text_box_body_loop
@@ -4114,13 +5432,13 @@ ContinueDrawingTextBoxCGB
push hl
call CopyLine
pop hl
- call BankswitchVRAM_1
- ld a, [wFrameType]
+ call BankswitchVRAM1
+ ld a, [wTextBoxFrameType]
ld e, a
ld d, a
xor a
call CopyLine
- call BankswitchVRAM_0
+ call BankswitchVRAM0
dec c
jr nz, .draw_text_box_body_loop
; bottom line (border) of the text box
@@ -4137,13 +5455,14 @@ CopyCurrentLineTilesAndAttrCGB: ; 1efb (0:1efb)
push hl
call CopyLine
pop hl
-CopyCurrentLineAttrCGB
- call BankswitchVRAM_1
- ld a, [wFrameType] ; on CGB, wFrameType determines the palette and the other attributes
+; fallthrough
+CopyCurrentLineAttrCGB:
+ call BankswitchVRAM1
+ ld a, [wTextBoxFrameType] ; on CGB, wTextBoxFrameType determines the palette and the other attributes
ld e, a
ld d, a
call CopyLine
- call BankswitchVRAM_0
+ call BankswitchVRAM0
ret
DrawRegularTextBoxSGB: ; 1f0f (0:1f0f)
@@ -4152,14 +5471,14 @@ DrawRegularTextBoxSGB: ; 1f0f (0:1f0f)
call DrawRegularTextBoxDMG
pop de
pop bc
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
or a
ret z
-ColorizeTextBoxSGB
+ColorizeTextBoxSGB:
push bc
push de
- ld hl, $cae0
- ld de, SGB_ATTR_BLK_1f4f
+ ld hl, wTempSGBPacket
+ ld de, AttrBlkPacket_1f4f
ld c, $10
.copy_sgb_command_loop
ld a, [de]
@@ -4169,7 +5488,7 @@ ColorizeTextBoxSGB
jr nz, .copy_sgb_command_loop
pop de
pop bc
- ld hl, $cae4
+ ld hl, wTempSGBPacket + 4
ld [hl], d
inc hl
ld [hl], e
@@ -4182,27 +5501,36 @@ ColorizeTextBoxSGB
add c
dec a
ld [hli], a
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
and $80
jr z, .asm_1f48
ld a, $2
- ld [wcae2], a
+ ld [wTempSGBPacket + 2], a
.asm_1f48
- ld hl, $cae0
+ ld hl, wTempSGBPacket
call SendSGB
ret
-SGB_ATTR_BLK_1f4f: ; 1f4f (0:1f4f)
+AttrBlkPacket_1f4f: ; 1f4f (0:1f4f)
sgb ATTR_BLK, 1 ; sgb_command, length
- db $01,$03,$04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
-
-Func_1f5f: ; 1f5f (0:1f5f)
+ db 1 ; number of data sets
+ ; Control Code, Color Palette Designation, X1, Y1, X2, Y2
+ db ATTR_BLK_CTRL_INSIDE + ATTR_BLK_CTRL_LINE, 0 << 0 + 1 << 2, 0, 0, 0, 0 ; data set 1
+ ds 6 ; data set 2
+ ds 2 ; data set 3
+
+; Fill a bxc rectangle at de and at sp-$26,
+; using tile a and the subsequent ones in the following pattern:
+; | a+0*l+0*h | a+0*l+1*h | a+0*l+2*h |
+; | a+1*l+0*h | a+1*l+1*h | a+1*l+2*h |
+; | a+2*l+0*h | a+2*l+1*h | a+2*l+2*h |
+FillRectangle: ; 1f5f (0:1f5f)
push de
push af
push hl
- add sp, $e0
+ add sp, -BG_MAP_WIDTH
call DECoordToBGMap0Address
-.asm_1f67
+.next_row
push hl
push bc
ld hl, sp+$25
@@ -4211,18 +5539,18 @@ Func_1f5f: ; 1f5f (0:1f5f)
ld a, [hl]
ld hl, sp+$4
push hl
-.asm_1f72
+.next_tile
ld [hli], a
add d
dec b
- jr nz, .asm_1f72
+ jr nz, .next_tile
pop de
pop bc
pop hl
push hl
push bc
ld c, b
- ld b, $0
+ ld b, 0
call SafeCopyDataDEtoHL
ld hl, sp+$24
ld a, [hl]
@@ -4231,10 +5559,10 @@ Func_1f5f: ; 1f5f (0:1f5f)
ld [hl], a
pop bc
pop de
- ld hl, $0020
+ ld hl, BG_MAP_WIDTH
add hl, de
dec c
- jr nz, .asm_1f67
+ jr nz, .next_row
add sp, $24
pop de
ret
@@ -4243,95 +5571,129 @@ Func_1f5f: ; 1f5f (0:1f5f)
INCROM $1f96, $20b0
Func_20b0: ; 20b0 (0:20b0)
- ld hl, $2fe8
+ ld hl, DuelGraphics + $680 - $4000
ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_20bd
- ld hl, $37f8
+ ld hl, DuelGraphics + $e90 - $4000
.asm_20bd
- ld de, vTiles1 + $500
+ ld de, v0Tiles1 + $500
ld b, $30
- jr asm_2121
+ jr CopyFontsOrDuelGraphicsTiles
Func_20c4: ; 20c4 (0:20c4)
- ld hl, $3028
+ ld hl, DuelGraphics + $6c0 - $4000
ld a, [wConsole]
cp CONSOLE_CGB
- jr nz, .asm_20d1
- ld hl, $3838
-.asm_20d1
- ld de, vTiles1 + $540
+ jr nz, .copy
+ ld hl, DuelGraphics + $ed0 - $4000
+.copy
+ ld de, v0Tiles1 + $540
ld b, $c
- jr asm_2121
+ jr CopyFontsOrDuelGraphicsTiles
Func_20d8: ; 20d8 (0:20d8)
ld b, $10
- jr asm_20de
+ jr Func_20dc.asm_20de
Func_20dc: ; 20dc (0:20dc)
ld b, $24
-asm_20de
- ld hl, $32e8
+.asm_20de
+ ld hl, DuelGraphics + $980 - $4000
ld a, [wConsole]
cp CONSOLE_CGB
- jr nz, .asm_20eb
- ld hl, $3af8
-.asm_20eb
- ld de, vTiles1 + $500
- jr asm_2121
+ jr nz, .copy
+ ld hl, DuelGraphics + $1190 - $4000
+.copy
+ ld de, v0Tiles1 + $500
+ jr CopyFontsOrDuelGraphicsTiles
Func_20f0: ; 20f0 (0:20f0)
- ld hl, $4008
- ld de, vTiles1 + $200
+ ld hl, Fonts + $8
+ ld de, v0Tiles1 + $200
ld b, $d
- call asm_2121
- ld hl, $3528
+ call CopyFontsOrDuelGraphicsTiles
+ ld hl, DuelGraphics + $bc0 - $4000
ld a, [wConsole]
cp CONSOLE_CGB
- jr nz, .asm_2108
- ld hl, $3d38
-.asm_2108
- ld de, vTiles1 + $500
+ jr nz, .copy
+ ld hl, DuelGraphics + $13d0 - $4000
+.copy
+ ld de, v0Tiles1 + $500
ld b, $30
- jr asm_2121
+ jr CopyFontsOrDuelGraphicsTiles
Func_210f: ; 210f (0:210f)
- ld hl, $40d8
- ld de, vTiles2 + $300
+ ld hl, DuelGraphics + $1770 - $4000
+ ld de, v0Tiles2 + $300
ld b, $8
- jr asm_2121
+ jr CopyFontsOrDuelGraphicsTiles
Func_2119: ; 2119 (0:2119)
- ld hl, DuelGraphics - Fonts
- ld de, vTiles2 ; destination
+ ld hl, DuelGraphics - $4000
+ ld de, v0Tiles2 ; destination
ld b, $38 ; number of tiles
-asm_2121
- ld a, BANK(Fonts)
+; fallthrough
+
+; if hl ≤ $3fff
+; copy b tiles from Gfx1:(hl+$4000) to de
+; if $4000 ≤ hl ≤ $7fff
+; copy b tiles from Gfx2:hl to de
+CopyFontsOrDuelGraphicsTiles:
+ ld a, BANK(Fonts); BANK(DuelGraphics); BANK(VWF)
call BankpushHome
- ld c, $10
+ ld c, TILE_SIZE
call CopyGfxData
call BankpopHome
ret
; 0x212f
- INCROM $212f, $2167
+; this function appears to copy duel gfx data into sram
+Func_212f: ; 212f (0:212f)
+ ld hl, DuelGraphics - $4000
+ ld de, $a400
+ ld b, $30
+ call CopyFontsOrDuelGraphicsTiles
+ ld hl, DuelGraphics + $17f0 - $4000
+ ld de, $a700
+ ld b, $08
+ call CopyFontsOrDuelGraphicsTiles
+ call GetCardSymbolData
+ sub $d0
+ ld l, a
+ ld h, $00
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld de, DuelGraphics + $680 - $4000
+ add hl, de
+ ld de, $a780
+ ld b, $04
+ call CopyFontsOrDuelGraphicsTiles
+ ld hl, DuelGraphics + $680 - $4000
+ ld de, $b100
+ ld b, $30
+ jr CopyFontsOrDuelGraphicsTiles
+; 0x2167
-Func_2167: ; 2167 (0:2167)
+DrawDuelBoxMessage: ; 2167 (0:2167)
ld l, a
- ld h, $a0
+ ld h, (40 * TILE_SIZE) / 4 ; boxes are 10x4 tiles
call HtimesL
add hl, hl
add hl, hl
- ld de, $4318
+ ; hl = a * $280
+ ld de, DuelBoxMessages
add hl, de
- ld de, $8a00
+ ld de, v0Tiles1 + $200
ld b, $28
- call asm_2121
+ call CopyFontsOrDuelGraphicsTiles
ld a, $a0
- ld hl, $010a
- ld bc, $0a04
- ld de, $0504
- jp Func_1f5f
+ lb hl, 1, 10
+ lb bc, 10, 4
+ lb de, 5, 4
+ jp FillRectangle
; 0x2189
INCROM $2189, $21c5
@@ -4407,7 +5769,7 @@ Func_21f2: ; 21f2 (0:21f2)
call Func_230f
pop af
ld [wcd0a], a
- ldh a, [$ffb0]
+ ldh a, [hffb0]
or a
jr nz, .asm_2240
ld a, [hl]
@@ -4417,11 +5779,11 @@ Func_21f2: ; 21f2 (0:21f2)
.asm_2240
inc hl
.asm_2241
- ldh a, [$ffae]
+ ldh a, [hffae]
or a
ret z
ld b, a
- ldh a, [$ffac]
+ ldh a, [hffac]
cp b
jr z, .asm_224d
xor a
@@ -4433,17 +5795,17 @@ Func_21f2: ; 21f2 (0:21f2)
call z, .asm_2257
.asm_2257
xor a
- ldh [$ffac], a
- ldh a, [$ffad]
+ ldh [hffac], a
+ ldh a, [hffad]
add $20
ld b, a
- ldh a, [$ffaa]
+ ldh a, [hffaa]
and $e0
add b
- ldh [$ffaa], a
- ldh a, [$ffab]
+ ldh [hffaa], a
+ ldh a, [hffab]
adc $0
- ldh [$ffab], a
+ ldh [hffab], a
ld a, [wcd09]
inc a
ld [wcd09], a
@@ -4455,11 +5817,11 @@ Func_2275: ; 2275 (0:2275)
dec a
ld [wcd04], a
ld a, e
- ldh [$ffa8], a
+ ldh [hffa8], a
call Func_2298
xor a
- ldh [$ffb0], a
- ldh [$ffa9], a
+ ldh [hffb0], a
+ ldh [hffa9], a
ld a, $88
ld [wcd06], a
ld a, $80
@@ -4475,7 +5837,7 @@ Func_2275: ; 2275 (0:2275)
Func_2298: ; 2298 (0:2298)
xor a
ld [wcd0a], a
- ldh [$ffac], a
+ ldh [hffac], a
ld [wcd0b], a
ld a, $f
ldh [hffaf], a
@@ -4485,21 +5847,21 @@ Func_22a6: ; 22a6 (0:22a6)
push af
call Func_22ae
pop af
- ldh [$ffae], a
+ ldh [hffae], a
ret
Func_22ae: ; 22ae (0:22ae)
push hl
ld a, d
- ldh [$ffad], a
+ ldh [hffad], a
xor a
- ldh [$ffae], a
+ ldh [hffae], a
ld [wcd09], a
call DECoordToBGMap0Address
ld a, l
- ldh [$ffaa], a
+ ldh [hffaa], a
ld a, h
- ldh [$ffab], a
+ ldh [hffab], a
call Func_2298
xor a
ld [wcd0b], a
@@ -4510,7 +5872,7 @@ Func_22ca: ; 22ca (0:22ca)
push hl
push de
push bc
- ldh a, [$ffb0]
+ ldh a, [hffb0]
and $1
jr nz, .asm_22ed
call Func_2325
@@ -4519,10 +5881,10 @@ Func_22ca: ; 22ca (0:22ca)
jr nz, .asm_22e9
call Func_24ac
.asm_22de
- ldh a, [$ffb0]
+ ldh a, [hffb0]
and $2
jr nz, .asm_22e9
- ldh a, [$ffa9]
+ ldh a, [hffa9]
call Func_22f2
.asm_22e9
pop bc
@@ -4535,7 +5897,7 @@ Func_22ca: ; 22ca (0:22ca)
Func_22f2: ; 22f2 (0:22f2)
ld [wcd05], a
- ld hl, $ffaa
+ ld hl, hffaa
ld e, [hl]
inc hl
ld d, [hl]
@@ -4546,10 +5908,10 @@ Func_22f2: ; 22f2 (0:22f2)
dec de
ld l, e
ld h, d
- ld de, $cd05
- ld c, $1
+ ld de, wcd05
+ ld c, 1
call SafeCopyDataDEtoHL
- ld hl, $ffac
+ ld hl, hffac
inc [hl]
ret
@@ -4575,11 +5937,11 @@ Func_2325: ; 2325 (0:2325)
ret c
or a
ret nz
- ldh a, [$ffa8]
- ld hl, $cd04
+ ldh a, [hffa8]
+ ld hl, wcd04
cp [hl]
jr nz, .asm_2345
- ldh a, [$ffa9]
+ ldh a, [hffa9]
ld h, $c8
.asm_2337
ld l, a
@@ -4599,11 +5961,11 @@ Func_2325: ; 2325 (0:2325)
.asm_2349
ld l, [hl]
.asm_234a
- ldh a, [$ffa9]
+ ldh a, [hffa9]
ld c, a
ld b, $c9
ld a, l
- ldh [$ffa9], a
+ ldh [hffa9], a
ld [bc], a
ld h, $c8
ld [hl], c
@@ -4634,8 +5996,8 @@ Func_235e: ; 235e (0:235e)
.asm_2376
xor a
ld [wcd0b], a ; [wcd0b] ← 0
- ldh a, [$ffa9]
- ld l, a ; l ← [$ffa9]; index to to linked-list head
+ ldh a, [hffa9]
+ ld l, a ; l ← [hffa9]; index to to linked-list head
.asm_237d
ld h, $c6 ;
ld a, [hl] ; a ← key1[l] ;
@@ -4652,14 +6014,14 @@ Func_235e: ; 235e (0:235e)
ld l, [hl] ; l ← next[l] ;
jr .asm_237d
.asm_238f
- ldh a, [$ffa9]
+ ldh a, [hffa9]
cp l
jr z, .asm_23af ; assert at least one iteration
ld c, a
ld b, $c9
ld a, l
ld [bc], a ; prev[i0] ← i
- ldh [$ffa9], a ; [$ffa9] ← i (update linked-list head)
+ ldh [hffa9], a ; [hffa9] ← i (update linked-list head)
ld h, $c9
ld b, [hl]
ld [hl], $0 ; prev[i] ← 0
@@ -4826,13 +6188,13 @@ Func_24ca: ; 24ca (0:24ca)
call BankswitchHome
push de
ld a, e
- ld de, $ccf4
+ ld de, wccf4
call Func_24fa
pop de
ld a, d
- ld de, $ccf5
+ ld de, wccf5
call Func_24fa
- ld hl, $ccf4
+ ld hl, wccf4
ld b, $8
.asm_24e8
ld a, [hli]
@@ -4845,7 +6207,7 @@ Func_24ca: ; 24ca (0:24ca)
jr nz, .asm_24e8
call BankpopHome
pop bc
- ld de, $ccf4
+ ld de, wccf4
ret
Func_24fa: ; 24fa (0:24fa)
@@ -4858,13 +6220,13 @@ Func_24fa: ; 24fa (0:24fa)
ld bc, VWF
add hl, bc
ld b, $8
-.asm_2508
+.set_timer8
ld a, [hli]
ld [de], a
inc de
inc de
dec b
- jr nz, .asm_2508
+ jr nz, .set_timer8
ret
Func_2510: ; 2510 (0:2510)
@@ -4873,7 +6235,7 @@ Func_2510: ; 2510 (0:2510)
call Func_252e
pop bc
Func_2518: ; 2518 (0:2518)
- ld hl, $cd07
+ ld hl, wcd07
ld a, b
xor [hl]
ld h, $0
@@ -4890,9 +6252,9 @@ Func_2518: ; 2518 (0:2518)
ret
Func_252e: ; 252e (0:252e)
- ld a, $1d
+ ld a, BANK(Fonts); BANK(DuelGraphics); BANK(VWF)
call BankpushHome
- ld de, $ccf4
+ ld de, wccf4
push de
ld c, $8
.asm_2539
@@ -4965,7 +6327,7 @@ Func_256d: ; 256d (0:256d)
; initializes cursor parameters given the 8 bytes starting at hl,
; which represent the following:
-; x position, y position, y displacement between items, number of items,
+; x coord, y coord, y displacement between items, number of items,
; cursor tile number, tile behind cursor, ???? (unknown function pointer if non-0)
; also sets the current menu item to the one specified in register a
InitializeCursorParameters: ; 2636 (0:2636)
@@ -5196,10 +6558,86 @@ Func_271a: ; 271a (0:271a)
ret
; 0x278d
- INCROM $278d, $29f5
+ INCROM $278d, $2988
+
+CardTypeToSymbolID: ; 2988 (0:2988)
+ ld a, [wLoadedCard1Type]
+ cp TYPE_TRAINER
+ jr nc, .trainer_card
+ cp TYPE_ENERGY_FIRE
+ jr c, .pokemon_card
+ ; energy card
+ and 7 ; convert energy constant to type constant
+ ret
+.trainer_card
+ ld a, 11
+ ret
+.pokemon_card
+ ld a, [wLoadedCard1Stage] ; different symbol for each evolution stage
+ add 8
+ ret
+; 0x299f
+
+GetCardSymbolData: ; 299f (0:299f)
+ call CardTypeToSymbolID
+ add a
+ ld c, a
+ ld b, 0
+ ld hl, CardSymbolTable
+ add hl, bc
+ ld a, [hl]
+ ret
+; 0x29ac
+
+DrawCardSymbol: ; 29ac (0:29ac)
+ push hl
+ push de
+ push bc
+ call GetCardSymbolData
+ dec d
+ dec d
+ dec e
+ ld a, [wConsole]
+ cp CONSOLE_CGB
+ jr nz, .tiles
+ ; CGB-only attrs (palette)
+ push hl
+ inc hl
+ ld a, [hl]
+ lb bc, 2, 2
+ lb hl, 0, 0
+ call BankswitchVRAM1
+ call FillRectangle
+ call BankswitchVRAM0
+ pop hl
+.tiles
+ ld a, [hl]
+ lb hl, 1, 2
+ lb bc, 2, 2
+ call FillRectangle
+ pop bc
+ pop de
+ pop hl
+ ret
+; 0x29dd
+
+CardSymbolTable:
+; starting tile, cgb palette (grey, red, blue, pink)
+ db $e0, $01 ; TYPE_ENERGY_FIRE
+ db $e4, $02 ; TYPE_ENERGY_GRASS
+ db $e8, $01 ; TYPE_ENERGY_LIGHTNING
+ db $ec, $02 ; TYPE_ENERGY_WATER
+ db $f0, $03 ; TYPE_ENERGY_PSYCHIC
+ db $f4, $03 ; TYPE_ENERGY_FIGHTING
+ db $f8, $00 ; TYPE_ENERGY_DOUBLE_COLORLESS
+ db $fc, $02 ; TYPE_ENERGY_UNUSED
+ db $d0, $02 ; TYPE_PKMN_*, Stage 0
+ db $d4, $02 ; TYPE_PKMN_*, Stage 1
+ db $d8, $01 ; TYPE_PKMN_*, Stage 2
+ db $dc, $02 ; TYPE_TRAINER
Func_29f5: ; 29f5 (0:29f5)
- farcallx $6, $4000
+ farcall $6, $4000
ret
; 0x29fa
@@ -5266,7 +6704,7 @@ Func_2a44: ; 2a44 (0:2a44)
ld a, l
or h
jp nz, PrintTextNoDelay
- ld hl, wc590
+ ld hl, wDefaultText
jp Func_21c5
DrawWideTextBox_PrintText: ; 2a59 (0:2a59)
@@ -5440,13 +6878,17 @@ PrintYesOrNoItems: ; 2b66 (0:2b66)
ret
; 0x2b70
- INCROM $2b70, $2b78
+Func_2b70: ; 2b70 (0:2b70)
+ ld a, BANK(ContinueDuel)
+ call BankswitchHome
+ jp ContinueDuel
+; 0x2b78
; loads opponent deck to wOpponentDeck
LoadOpponentDeck: ; 2b78 (0:2b78)
xor a
ld [wIsPracticeDuel], a
- ld a, [wOpponentDeckId]
+ ld a, [wOpponentDeckID]
cp SAMS_NORMAL_DECK - 2
jr z, .normal_sam_duel
or a ; cp SAMS_PRACTICE_DECK - 2
@@ -5460,7 +6902,7 @@ LoadOpponentDeck: ; 2b78 (0:2b78)
.normal_sam_duel
xor a
- ld [wOpponentDeckId], a
+ ld [wOpponentDeckID], a
call SwapTurn
ld a, PRACTICE_PLAYER_DECK
call LoadDeck
@@ -5476,17 +6918,17 @@ LoadOpponentDeck: ; 2b78 (0:2b78)
inc a
inc a
call LoadDeck
- ld a, [wOpponentDeckId]
+ ld a, [wOpponentDeckID]
cp DECKS_END
jr c, .valid_deck
ld a, PRACTICE_PLAYER_DECK - 2
- ld [wOpponentDeckId], a
+ ld [wOpponentDeckID], a
.valid_deck
; set opponent as controlled by AI
ld a, DUELVARS_DUELIST_TYPE
call GetTurnDuelistVariable
- ld a, [wOpponentDeckId]
+ ld a, [wOpponentDeckID]
or DUELIST_TYPE_AI_OPP
ld [hl], a
ret
@@ -5502,13 +6944,13 @@ Func_2bc3: ; 2bc3 (0:2bc3)
Func_2bc7: ; 2bc7 (0:2bc7)
ld a, $3
call Func_2bdb
- ld [$ff9d], a
+ ldh [hTempPlayAreaLocationOffset_ff9d], a
ret
Func_2bcf: ; 2bcf (0:2bcf)
ld a, $4
call Func_2bdb
- ld [$ffa0], a
+ ldh [hffa0], a
ret
Func_2bd7: ; 2bd7 (0:2bd7)
@@ -5521,7 +6963,7 @@ Func_2bdb: ; 2bdb (0:2bdb)
push af
ld a, $5
call BankswitchHome
- ld a, [wOpponentDeckId]
+ ld a, [wOpponentDeckID]
ld l, a
ld h, $0
add hl, hl
@@ -5662,7 +7104,7 @@ Func_2cd7: ; 2cd7 (0:2cd7)
Func_2ceb: ; 2ceb (0:2ceb)
call Func_2cd7
- ld hl, $ce48
+ ld hl, wce48
inc [hl]
ret
@@ -5687,7 +7129,7 @@ Func_2d06: ; 2d06 (0:2d06)
add e
ld e, a
ld d, $0
- ld hl, $ce2b
+ ld hl, wce2b
add hl, de
ret
@@ -5703,7 +7145,7 @@ Func_2d15: ; 2d15 (0:2d15)
call EnableLCD
jr .asm_2d36
.asm_2d2d
- ld hl, $ce4c
+ ld hl, wce4c
ld a, [hli]
ld h, [hl]
ld l, a
@@ -5728,11 +7170,11 @@ Func_2d43: ; 2d43 (0:2d43)
call Func_21f2
jr nc, .asm_2d74
cp TX_RAM1
- jr z, .asm_2dc8
+ jr z, .tx_ram1
cp TX_RAM2
- jr z, .asm_2d8a
+ jr z, .tx_ram2
cp TX_RAM3
- jr z, .asm_2db3
+ jr z, .tx_ram3
jr .asm_2d74
.asm_2d65
ld e, a
@@ -5759,14 +7201,14 @@ Func_2d43: ; 2d43 (0:2d43)
call Func_230f
scf
ret
-.asm_2d8a
+.tx_ram2
call Func_2ceb
ld a, $f
ld [hffaf], a
xor a
ld [wcd0a], a
- ld de, $ce3f
- ld hl, $ce49
+ ld de, wTxRam2
+ ld hl, wce49
call Func_2de0
ld a, l
or h
@@ -5775,20 +7217,20 @@ Func_2d43: ; 2d43 (0:2d43)
call Func_2cd7
jr Func_2d43
.asm_2dab
- ld hl, wc590
+ ld hl, wDefaultText
call Func_2cd7
jr Func_2d43
-.asm_2db3
+.tx_ram3
call Func_2ceb
- ld de, $ce43
- ld hl, $ce4a
+ ld de, wTxRam3
+ ld hl, wce4a
call Func_2de0
call Func_2e12
call Func_2cd7
jp Func_2d43
-.asm_2dc8
+.tx_ram1
call Func_2ceb
- call Func_2e2c
+ call CopyTurnDuelistName
ld a, [wcaa0]
cp $6
jr z, .asm_2dda
@@ -5798,6 +7240,8 @@ Func_2d43: ; 2d43 (0:2d43)
call Func_2cd7
jp Func_2d43
+; inc [hl]
+; hl = [de + 2*[hl]]
Func_2de0: ; 2de0 (0:2de0)
push de
ld a, [hl]
@@ -5860,17 +7304,18 @@ Func_2e12: ; 2e12 (0:2e12)
jr nz, .asm_2e23
ret
-Func_2e2c: ; 2e2c (0:2e2c)
+; copy the name of the duelist whose turn it is to de
+CopyTurnDuelistName: ; 2e2c (0:2e2c)
ld de, wcaa0
push de
ldh a, [hWhoseTurn]
cp OPPONENT_TURN
jp z, .opponent_turn
- call PrintPlayerName
+ call CopyPlayerName
pop hl
ret
.opponent_turn
- call PrintOpponentName
+ call CopyOpponentName
pop hl
ret
@@ -5887,7 +7332,7 @@ PrintText: ; 2e41 (0:2e41)
call BankswitchHome
ret
.from_ram
- ld hl, wc590
+ ld hl, wDefaultText
.print_text
call Func_2cc8
.next_tile_loop
@@ -5895,14 +7340,14 @@ PrintText: ; 2e41 (0:2e41)
ld b, a
ld a, [wTextSpeed]
inc a
- cp $3
+ cp 3
jr nc, .apply_delay
; if text speed is 1, pressing b ignores it
bit B_BUTTON_F, b
jr nz, .skip_delay
jr .apply_delay
.text_delay_loop
- ; wait a number of frames equal to wTextSpeed between printing each text tile
+ ; wait a number of frames equal to [wTextSpeed] between printing each text tile
call DoFrame
.apply_delay
dec a
@@ -5949,40 +7394,54 @@ PrintTextBoxBorderLabel: ; 2e89 (0:2e89)
.special
ldh a, [hWhoseTurn]
cp OPPONENT_TURN
- jp z, PrintOpponentName
- jp PrintPlayerName
+ jp z, CopyOpponentName
+ jp CopyPlayerName
; 0x2ea9
- INCROM $2ea9, $2ebb
+Func_2ea9: ; 2ea9 (0:2ea9)
+ ldh [hff96], a
+ ldh a, [hBankROM]
+ push af
+ call ReadTextOffset
+ ldh a, [hff96]
+ call $23fd
+ pop af
+ call BankswitchHome
+ ret
+; 0x2ebb
-Func_2ebb: ; 2ebb (0:2ebb)
+; text pointer (usually of a card name) for TX_RAM2
+LoadTxRam2: ; 2ebb (0:2ebb)
ld a, l
- ld [wce3f], a
+ ld [wTxRam2], a
ld a, h
- ld [wce40], a
+ ld [wTxRam2 + 1], a
ret
-Func_2ec4: ; 2ec4 (0:2ec4)
+; a number between 0 and 65535 for TX_RAM3
+LoadTxRam3: ; 2ec4 (0:2ec4)
ld a, l
- ld [wce43], a
+ ld [wTxRam3], a
ld a, h
- ld [wce44], a
+ ld [wTxRam3 + 1], a
ret
; 0x2ecd
INCROM $2ecd, $2f0a
-; load data of card with id at e to wLoadedCard1 or wLoadedCard2
-LoadCardDataToBuffer2: ; 2f0a (0:2f0a)
+; load data of card with id at e to wLoadedCard2
+LoadCardDataToBuffer2_FromCardID: ; 2f0a (0:2f0a)
push hl
ld hl, wLoadedCard2
- jr LoadCardDataToRAM
+ jr LoadCardDataToHL_FromCardID
-LoadCardDataToBuffer1: ; 2f10 (0:2f10)
+; load data of card with id at e to wLoadedCard1
+LoadCardDataToBuffer1_FromCardID: ; 2f10 (0:2f10)
push hl
ld hl, wLoadedCard1
+; fallthrough
-LoadCardDataToRAM: ; 2f14 (0:2f14)
+LoadCardDataToHL_FromCardID: ; 2f14 (0:2f14)
push de
push bc
push hl
@@ -6000,65 +7459,65 @@ LoadCardDataToRAM: ; 2f14 (0:2f14)
jr nz, .copy_card_data_loop
call BankpopHome
or a
-
.done
pop bc
pop de
pop hl
ret
-Func_2f32: ; 2f32 (0:2f32)
+; return in a the type (TYPE_* constant) of the card with id at e
+GetCardType: ; 2f32 (0:2f32)
push hl
call GetCardPointer
- jr c, .asm_2f43
- ld a, $c
+ jr c, .done
+ ld a, BANK(CardPointers)
call BankpushHome2
ld l, [hl]
call BankpopHome
ld a, l
or a
-.asm_2f43
+.done
pop hl
ret
-Func_2f45: ; 2f45 (0:2f45)
+; return in a the 2-byte text id of the name of the card with id at e
+GetCardName: ; 2f45 (0:2f45)
push hl
call GetCardPointer
- jr c, .asm_2f5b
- ld a, $c
+ jr c, .done
+ ld a, BANK(CardPointers)
call BankpushHome2
- ld de, $0003
+ ld de, CARD_DATA_NAME
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
call BankpopHome
or a
-
-.asm_2f5b
+.done
pop hl
ret
-; from the card id in a, loads type into a, rarity into b, and set into c
-GetCardHeader: ; 2f5d (0:2f5d)
+; from the card id in a, returns type into a, rarity into b, and set into c
+GetCardTypeRarityAndSet: ; 2f5d (0:2f5d)
push hl
push de
- ld d, $00
+ ld d, 0
ld e, a
call GetCardPointer
- jr c, .card_not_found
- ld a, $0c
+ jr c, .done
+ ld a, BANK(CardPointers)
call BankpushHome2
- ld e, [hl]
- ld bc, $5
+ ld e, [hl] ; CARD_DATA_TYPE
+ ld bc, CARD_DATA_RARITY
add hl, bc
- ld b, [hl]
+ ld b, [hl] ; CARD_DATA_RARITY
inc hl
- ld c, [hl]
+ ld c, [hl] ; CARD_DATA_SET
call BankpopHome
ld a, e
or a
-.card_not_found
+.done
pop de
pop hl
ret
@@ -6074,10 +7533,10 @@ GetCardPointer: ; 2f7c (0:2f7c)
ld bc, CardPointers
add hl, bc
ld a, h
- cp a, (CardPointers + 2 + (2 * NUM_CARDS)) / $100
+ cp HIGH(CardPointers + 2 + (2 * NUM_CARDS))
jr nz, .nz
ld a, l
- cp a, (CardPointers + 2 + (2 * NUM_CARDS)) % $100
+ cp LOW(CardPointers + 2 + (2 * NUM_CARDS))
.nz
ccf
jr c, .out_of_bounds
@@ -6085,7 +7544,7 @@ GetCardPointer: ; 2f7c (0:2f7c)
call BankpushHome2
ld a, [hli]
ld h, [hl]
- ld l,a
+ ld l, a
call BankpopHome
or a
.out_of_bounds
@@ -6093,10 +7552,13 @@ GetCardPointer: ; 2f7c (0:2f7c)
pop de
ret
+; input: hl = card_gfx_index
+; card_gfx_index = (<Name>CardGfx - CardGraphics) / 8 ; using absolute ROM addresses
LoadCardGfx: ; 2fa0 (0:2fa0)
ldh a, [hBankROM]
push af
push hl
+ ; first, get the bank with the card gfx is at
srl h
srl h
srl h
@@ -6104,14 +7566,15 @@ LoadCardGfx: ; 2fa0 (0:2fa0)
add h
call BankswitchHome
pop hl
+ ; once we have the bank, get the pointer: multiply by 8 and discard the bank offset
add hl, hl
add hl, hl
add hl, hl
res 7, h
- set 6, h
+ set 6, h ; $4000 ≤ de ≤ $7fff
call CopyGfxData
- ld b, $8 ; length of palette
- ld de, $ce23
+ ld b, CGB_PAL_SIZE
+ ld de, wce23
.copy_card_palette
ld a, [hli]
ld [de], a
@@ -6122,10 +7585,11 @@ LoadCardGfx: ; 2fa0 (0:2fa0)
call BankswitchHome
ret
-Func_2fcb: ; 2fcb (0:2fcb)
- ld a, $1d
+; identical to CopyFontsOrDuelGraphicsTiles
+CopyFontsOrDuelGraphicsTiles2: ; 2fcb (0:2fcb)
+ ld a, BANK(Fonts); BANK(DuelGraphics); BANK(VWF)
call BankpushHome
- ld c, $10
+ ld c, TILE_SIZE
call CopyGfxData
call BankpopHome
ret
@@ -6186,7 +7650,7 @@ CheckMatchingCommand: ; 2ffe (0:2ffe)
call BankswitchHome
; store the bank number of command functions ($b) in wce22
ld a, $b
- ld [wce22],a
+ ld [wce22], a
.check_command_loop
ld a, [hli]
or a
@@ -6276,10 +7740,10 @@ Func_3061: ; 3061 (0:3061)
; function that executes one or more consecutive coin tosses during a duel (a = number of coin tosses),
; displaying each result ([O] or [X]) starting from the top left corner of the screen.
; text at de is printed in a text box during the coin toss.
-; returns: the number of heads in a and in $cd9d, and carry if at least one heads
+; returns: the number of heads in a and in wcd9d, and carry if at least one heads
TossCoinATimes: ; 3071 (0:3071)
push hl
- ld hl, wCoinTossScreenTextId
+ ld hl, wCoinTossScreenTextID
ld [hl], e
inc hl
ld [hl], d
@@ -6289,17 +7753,17 @@ TossCoinATimes: ; 3071 (0:3071)
; function that executes a single coin toss during a duel.
; text at de is printed in a text box during the coin toss.
-; returns: - carry, and 1 in a and in $cd9d if heads
-; - nc, and 0 in a and in $cd9d if tails
+; returns: - carry, and 1 in a and in wcd9d if heads
+; - nc, and 0 in a and in wcd9d if tails
TossCoin: ; 307d (0:307d)
push hl
- ld hl, wCoinTossScreenTextId
+ ld hl, wCoinTossScreenTextID
ld [hl], e
inc hl
ld [hl], d
ld a, $1
bank1call _TossCoin
- ld hl, $cac2
+ ld hl, wcac2
ld [hl], $0
pop hl
ret
@@ -6406,7 +7870,7 @@ Func_311d: ; 311d (0:311d)
Func_312d: ; 312d (0:312d) ; serial transfer-related
push hl
- ld hl, $ce64
+ ld hl, wce64
ld a, $88
ld [hli], a ; [wce64] ← $88
ld a, $33
@@ -6428,7 +7892,7 @@ Func_312d: ; 312d (0:312d) ; serial transfer-related
ld [hl], e ; [wce6c] ← $45
inc hl
ld [hl], d ; [wce6d] ← $ff
- ld hl, $ce70
+ ld hl, wce70
ld [hl], $64 ; [wce70] ← $64
inc hl
ld [hl], $ce ; [wce71] ← $ce
@@ -6486,21 +7950,21 @@ PointerTable_3190: ; 3190 (0:3190)
Func_31a8: ; 31a8 (0:31a8)
call Func_31fc
Func_31ab: ; 31ab (0:31ab)
- ld hl, $ce63
+ ld hl, wce63
inc [hl]
ret
Func_31b0: ; 31b0 (0:31b0)
call Func_31ab
- ld hl, $ce68
+ ld hl, wce68
ld a, [hli]
or [hl]
jr nz, .asm_31bf
call Func_31ab
jr Func_31dd
.asm_31bf
- ld hl, $ce6a
- ld de, $ce70
+ ld hl, wce6a
+ ld de, wce70
ld a, [hli]
ld [de], a
inc de
@@ -6509,7 +7973,7 @@ Func_31b0: ; 31b0 (0:31b0)
Func_31ca: ; 31ca (0:31ca)
call Func_31fc
- ld hl, $ce68
+ ld hl, wce68
ld a, [hl]
dec [hl]
or a
@@ -6548,7 +8012,7 @@ Func_31f2: ; 31f2 (0:31f2)
ret
Func_31fc: ; 31fc (0:31fc)
- ld hl, $ce70
+ ld hl, wce70
ld e, [hl]
inc hl
ld d, [hl]
@@ -6558,14 +8022,15 @@ Func_31fc: ; 31fc (0:31fc)
dec hl
ld [hl], e
ld e, a
- ld hl, $ce6c
+ ld hl, wce6c
add [hl]
ld [hli], a
ld a, $0
adc [hl]
ld [hl], a
ld a, e
- ; fallthrough
+; fallthrough
+
Func_3212: ; 3212 (0:3212)
ld [rSB], a
ld a, $1
@@ -6576,9 +8041,9 @@ Func_3212: ; 3212 (0:3212)
; doubles the damage at de if swords dance or focus energy was used in the last turn
HandleDoubleDamageSubstatus: ; 321d (0:321d)
- ld a, DUELVARS_ARENA_CARD_SUBSTATUS5
+ ld a, DUELVARS_ARENA_CARD_SUBSTATUS3
call GetTurnDuelistVariable
- bit SUBSTATUS5_THIS_TURN_DOUBLE_DAMAGE, [hl]
+ bit SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE, [hl]
call nz, DoubleDamageAtDE
ld a, DUELVARS_ARENA_CARD_SUBSTATUS1
call GetTurnDuelistVariable
@@ -6605,6 +8070,7 @@ CommentedOut_3243: ; 3243 (0:3243)
ret
; check if the attacked card has any substatus that reduces the damage this turn
+; damage is given in de as input and the possibly updated damage is also returned in de
HandleDamageReduction: ; 3244 (0:3244)
call HandleDamageReductionExceptSubstatus2
ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
@@ -6631,6 +8097,9 @@ HandleDamageReduction: ; 3244 (0:3244)
ld d, h
ret
+; check if the attacked card has any substatus that reduces the damage this turn
+; substatus 2 is not checked
+; damage is given in de as input and the possibly updated damage is also returned in de
HandleDamageReductionExceptSubstatus2: ; 3269 (0:3269)
ld a, [wNoDamageOrEffect]
or a
@@ -6656,12 +8125,13 @@ HandleDamageReductionExceptSubstatus2: ; 3269 (0:3269)
cp SUBSTATUS1_HALVE_DAMAGE
jr z, .halve_damage
.not_affected_by_substatus1
- call CheckIfUnderAnyCannotUseStatus
+ call CheckCannotUseDueToStatus
ret c
+.pkmn_power
ld a, [wLoadedMoveCategory]
cp POKEMON_POWER
ret z
- ld a, [wTempNonTurnDuelistCardId]
+ ld a, [wTempNonTurnDuelistCardID]
cp MR_MIME
jr z, .prevent_less_than_30_damage ; invisible wall
cp KABUTO
@@ -6719,7 +8189,129 @@ HandleDamageReductionExceptSubstatus2: ; 3269 (0:3269)
ret
; 0x32f7
- INCROM $32f7, $33c1
+; check for Invisible Wall, Kabuto Armor, NShield, or Transparency, in order to
+; possibly reduce or make zero the damage at de.
+HandleDamageReductionOrNoDamageFromPkmnPowerEffects: ; 32f7 (0:32f7)
+ ld a, [wLoadedMoveCategory]
+ cp POKEMON_POWER
+ ret z
+ ld a, MUK
+ call CountPokemonIDInBothPlayAreas
+ ret c
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a
+ call nz, HandleDamageReductionExceptSubstatus2.pkmn_power
+ push de ; push damage from call above, which handles Invisible Wall and Kabuto Armor
+ call HandleNoDamageOrEffectSubstatus.pkmn_power
+ call nc, HandleTransparency
+ pop de ; restore damage
+ ret nc
+ ; if carry was set due to NShield or Transparency, damage is 0
+ ld de, 0
+ ret
+; 0x3317
+
+; when Machamp is damaged, if its Strikes Back is active,
+; the attacking Pokemon takes 10 damage.
+; used to bounce back a damaging move.
+HandleStrikesBack_AgainstDamagingMove: ; 3317 (0:3317)
+ ld a, e
+ or d
+ ret z
+ ld a, [wDamageToSelfMode]
+ or a
+ ret nz
+ ld a, [wTempNonTurnDuelistCardID]
+ cp MACHAMP
+ ret nz
+ ld a, MUK
+ call CountPokemonIDInBothPlayAreas
+ ret c
+ ld a, [wLoadedMoveCategory]
+ cp POKEMON_POWER
+ ret z
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .in_bench
+ call CheckCannotUseDueToStatus
+ ret c
+.in_bench
+ push hl
+ push de
+ call SwapTurn
+ ld a, DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, DUELVARS_ARENA_CARD_HP
+ call GetTurnDuelistVariable
+ push af
+ push hl
+ ld de, 10
+ call SubstractHP
+ ld a, [wLoadedCard2ID]
+ ld [wTempNonTurnDuelistCardID], a
+ ld hl, 10
+ call LoadTxRam3
+ ld hl, wLoadedCard2Name
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call LoadTxRam2
+ ldtx hl, ReceivesDamageDueToStrikesBackText
+ call DrawWideTextBox_WaitForInput
+ pop hl
+ pop af
+ or a
+ jr z, .not_knocked_out
+ xor a
+ call PrintPlayAreaCardKnockedOutIfNoHP
+.not_knocked_out
+ call SwapTurn
+ pop de
+ pop hl
+ ret
+; 0x337f
+
+; return carry if NShield or Transparency activate, and print their corresponding text if so
+HandleNShieldAndTransparency: ; 337f (0:337f)
+ push de
+ ld a, DUELVARS_ARENA_CARD
+ add e
+ call GetTurnDuelistVariable
+ call GetCardIDFromDeckIndex
+ ld a, e
+ cp MEW1
+ jr z, .nshield
+ cp HAUNTER1
+ jr z, .transparency
+.done
+ pop de
+ or a
+ ret
+.nshield
+ ld a, DUELVARS_ARENA_CARD_STAGE
+ call GetNonTurnDuelistVariable
+ or a
+ jr z, .done
+ ld a, NO_DAMAGE_OR_EFFECT_NSHIELD
+ ld [wNoDamageOrEffect], a
+ ldtx hl, NoDamageOrEffectDueToNShieldText
+.print_text
+ call DrawWideTextBox_WaitForInput
+ pop de
+ scf
+ ret
+.transparency
+ xor a
+ ld [wcac2], a
+ ldtx de, TransparencyCheckText
+ call TossCoin
+ jr nc, .done
+ ld a, NO_DAMAGE_OR_EFFECT_TRANSPARENCY
+ ld [wNoDamageOrEffect], a
+ ldtx hl, NoDamageOrEffectDueToTransparencyText
+ jr .print_text
+; 0x33c1
; return carry if card is under a condition that makes it unable to attack
; also return in hl the text id to be displayed
@@ -6752,11 +8344,11 @@ HandleAmnesiaSubstatus: ; 33e1 (0:33e1)
ret
.check_amnesia
cp SUBSTATUS2_AMNESIA
- jr z, .affectedByAmnesia
+ jr z, .affected_by_amnesia
.not_the_disabled_move
or a
ret
-.affectedByAmnesia
+.affected_by_amnesia
ld a, DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX
call GetTurnDuelistVariable
ld a, [wSelectedMoveIndex]
@@ -6823,10 +8415,11 @@ HandleNoDamageOrEffectSubstatus: ; 3432 (0:3432)
ldtx hl, NoDamageOrEffectDueToAgilityText
cp SUBSTATUS1_AGILITY
jr z, .no_damage_or_effect
- call CheckIfUnderAnyCannotUseStatus
+ call CheckCannotUseDueToStatus
ccf
ret nc
- ld a, [wTempNonTurnDuelistCardId]
+.pkmn_power
+ ld a, [wTempNonTurnDuelistCardID]
cp MEW1
jr z, .neutralizing_shield
or a
@@ -6837,13 +8430,14 @@ HandleNoDamageOrEffectSubstatus: ; 3432 (0:3432)
scf
ret
.neutralizing_shield
- ld a, [wcce6]
+ ld a, [wDamageToSelfMode]
or a
ret nz
- ld a, [wTempTurnDuelistCardId]
+ ; prevent damage if attacked by a non-basic Pokemon
+ ld a, [wTempTurnDuelistCardID]
ld e, a
ld d, $0
- call LoadCardDataToBuffer2
+ call LoadCardDataToBuffer2_FromCardID
ld a, [wLoadedCard2Stage]
or a
ret z
@@ -6853,20 +8447,21 @@ HandleNoDamageOrEffectSubstatus: ; 3432 (0:3432)
; if the Pokemon being attacked is Haunter1, and its Transparency is active,
; there is a 50% chance that any damage or effect is prevented
+; return carry if damage is prevented
HandleTransparency: ; 348a (0:348a)
- ld a, [wTempNonTurnDuelistCardId]
+ ld a, [wTempNonTurnDuelistCardID]
cp HAUNTER1
jr z, .transparency
-.asm_3491
+.done
or a
ret
.transparency
ld a, [wLoadedMoveCategory]
cp POKEMON_POWER
- jr z, .asm_3491
- ld a, [wcceb]
- call CheckIfUnderAnyCannotUseStatus2
- jr c, .asm_3491
+ jr z, .done ; Transparency has no effect against Pkmn Powers
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ call CheckCannotUseDueToStatus_OnlyToxicGasIfANon0
+ jr c, .done
xor a
ld [wcac2], a
ldtx de, TransparencyCheckText
@@ -6915,107 +8510,210 @@ NoDamageOrEffectTextPointerTable: ; 34d8 (0:34d8)
tx NoDamageOrEffectDueToNShieldText ; NO_DAMAGE_OR_EFFECT_NSHIELD
; 0x34e2
-Func_34e2: ; 34e2 (0:34e2)
- ld a, $27
- call Func_3509
+; return carry if turn holder has Omanyte and its Clairvoyance Pkmn Power is active
+IsClairvoyanceActive: ; 34e2 (0:34e2)
+ ld a, MUK
+ call CountPokemonIDInBothPlayAreas
ccf
ret nc
- ld a, $5c
- call Func_3525
+ ld a, OMANYTE
+ call CountPokemonIDInPlayArea
ret
; returns carry if paralyzed, asleep, confused, and/or toxic gas in play,
; meaning that move and/or pkmn power cannot be used
-CheckIfUnderAnyCannotUseStatus: ; 34ef (0:34ef)
+CheckCannotUseDueToStatus: ; 34ef (0:34ef)
xor a
; same as above, but if a is non-0, only toxic gas is checked
-CheckIfUnderAnyCannotUseStatus2: ; 34f0 (0:34f0)
+CheckCannotUseDueToStatus_OnlyToxicGasIfANon0: ; 34f0 (0:34f0)
or a
jr nz, .check_toxic_gas
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
- and PASSIVE_STATUS_MASK
+ and CNF_SLP_PRZ
ldtx hl, CannotUseDueToStatusText
scf
jr nz, .done ; return carry
.check_toxic_gas
ld a, MUK
- call Func_3509
+ call CountPokemonIDInBothPlayAreas
ldtx hl, UnableDueToToxicGasText
.done
ret
-Func_3509: ; 3509 (0:3509)
+; return, in a, the amount of times that the Pokemon card with a given ID is found in the
+; play area of both duelists. Also return carry if the Pokemon card is at least found once.
+; if the arena Pokemon is asleep, confused, or paralyzed (Pkmn Power-incapable), it doesn't count.
+; input: a = Pokemon card ID to search
+CountPokemonIDInBothPlayAreas: ; 3509 (0:3509)
push bc
- ld [wce7c], a
- call Func_3525
+ ld [wTempPokemonID_ce7e], a
+ call CountPokemonIDInPlayArea
ld c, a
call SwapTurn
- ld a, [wce7c]
- call Func_3525
+ ld a, [wTempPokemonID_ce7e]
+ call CountPokemonIDInPlayArea
call SwapTurn
add c
or a
scf
- jr nz, .asm_3523
+ jr nz, .found
or a
-.asm_3523
+.found
pop bc
ret
-Func_3525: ; 3525 (0:3525)
+; return, in a, the amount of times that the Pokemon card with a given ID is found in the
+; turn holder's play area. Also return carry if the Pokemon card is at least found once.
+; if the arena Pokemon is asleep, confused, or paralyzed (Pkmn Power-incapable), it doesn't count.
+; input: a = Pokemon card ID to search
+CountPokemonIDInPlayArea: ; 3525 (0:3525)
push hl
push de
push bc
- ld [wce7c], a
+ ld [wTempPokemonID_ce7e], a
ld c, $0
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- cp $ff
- jr z, .asm_3549
- call GetCardInDeckPosition
- ld a, [wce7c]
+ cp -1
+ jr z, .check_bench
+ call GetCardIDFromDeckIndex
+ ld a, [wTempPokemonID_ce7e]
cp e
- jr nz, .asm_3549
+ jr nz, .check_bench
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
- and PASSIVE_STATUS_MASK
- jr nz, .asm_3549
+ and CNF_SLP_PRZ
+ jr nz, .check_bench
inc c
-.asm_3549
+.check_bench
ld a, DUELVARS_BENCH
call GetTurnDuelistVariable
-.asm_354e
+.next_bench_slot
ld a, [hli]
- cp $ff
- jr z, .asm_3560
- call GetCardInDeckPosition
- ld a, [wce7c]
+ cp -1
+ jr z, .done
+ call GetCardIDFromDeckIndex
+ ld a, [wTempPokemonID_ce7e]
cp e
- jr nz, .asm_355d
+ jr nz, .skip
inc c
-.asm_355d
+.skip
inc b
- jr .asm_354e
-.asm_3560
+ jr .next_bench_slot
+.done
ld a, c
or a
scf
- jr nz, .asm_3566
+ jr nz, .found
or a
-.asm_3566
+.found
pop bc
pop de
pop hl
ret
; 0x356a
- INCROM $356a, $35e6
+; return, in a, the retreat cost of the card in wLoadedCard1,
+; adjusting for any Dodrio's Retreat Aid Pkmn Power that is active.
+GetLoadedCard1RetreatCost: ; 356a (0:356a)
+ ld c, 0
+ ld a, DUELVARS_BENCH
+ call GetTurnDuelistVariable
+.check_bench_loop
+ ld a, [hli]
+ cp -1
+ jr z, .no_more_bench
+ call GetCardIDFromDeckIndex
+ ld a, e
+ cp DODRIO
+ jr nz, .not_dodrio
+ inc c
+.not_dodrio
+ jr .check_bench_loop
+.no_more_bench
+ ld a, c
+ or a
+ jr nz, .dodrio_found
+.muk_found
+ ld a, [wLoadedCard1RetreatCost] ; return regular retreat cost
+ ret
+.dodrio_found
+ ld a, MUK
+ call CountPokemonIDInBothPlayAreas
+ jr c, .muk_found
+ ld a, [wLoadedCard1RetreatCost]
+ sub c ; apply Retreat Aid for each Pkmn Power-capable Dodrio
+ ret nc
+ xor a
+ ret
+; 0x3597
+
+; return carry if the turn holder's active Pokemon is affected by Acid and can't retreat
+CheckCantRetreatDueToAcid: ; 3597 (0:3597)
+ ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
+ call GetTurnDuelistVariable
+ or a
+ ret z
+ cp SUBSTATUS2_UNABLE_RETREAT
+ jr z, .cant_retreat
+ or a
+ ret
+.cant_retreat
+ ldtx hl, UnableToRetreatDueToAcidText
+ scf
+ ret
+; 0x35a9
+
+; return carry if the turn holder's active Pokemon is affected by Headache and trainer cards can't be used
+CheckCantUseTrainerDueToHeadache: ; 35a9 (0:35a9)
+ ld a, DUELVARS_ARENA_CARD_SUBSTATUS3
+ call GetTurnDuelistVariable
+ or a
+ bit SUBSTATUS3_HEADACHE, [hl]
+ ret z
+ ldtx hl, UnableToUseTrainerDueToHeadacheText
+ scf
+ ret
+; 0x35b7
+
+; return carry if turn holder has Aerodactyl and its Prehistoric Power Pkmn Power is active
+IsPrehistoricPowerActive: ; 35b7 (0:35b7)
+ ld a, AERODACTYL
+ call CountPokemonIDInBothPlayAreas
+ ret nc
+ ld a, MUK
+ call CountPokemonIDInBothPlayAreas
+ ldtx hl, UnableToEvolveDueToPrehistoricPowerText
+ ccf
+ ret
+; 0x35c7
+
+; clears some substatus 2 conditions from the turn holder's active Pokemon
+Func_35c7: ; 35c7 (0:35c7)
+ ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
+ call GetTurnDuelistVariable
+ or a
+ ret z
+ cp SUBSTATUS2_REDUCE_BY_20
+ jr z, .zero
+ cp SUBSTATUS2_POUNCE
+ jr z, .zero
+ cp SUBSTATUS2_GROWL
+ jr z, .zero
+ cp SUBSTATUS2_TAIL_WAG
+ jr z, .zero
+ cp SUBSTATUS2_LEER
+ jr z, .zero
+ ret
+.zero
+ ld [hl], 0
+ ret
+; 0x35e6
-; if swords dance or focus energy was used this turn,
-; mark that the base power of the next turn's attack has to be doubled
-HandleSwordsDanceOrFocusEnergySubstatus: ; 35e6 (0:35e6)
+; clears the substatus 1 and updates the double damage condition of the player about to start his turn
+UpdateSubstatusConditions_StartOfTurn: ; 35e6 (0:35e6)
ld a, DUELVARS_ARENA_CARD_SUBSTATUS1
call GetTurnDuelistVariable
ld [hl], $0
@@ -7023,16 +8721,16 @@ HandleSwordsDanceOrFocusEnergySubstatus: ; 35e6 (0:35e6)
ret z
cp SUBSTATUS1_NEXT_TURN_DOUBLE_DAMAGE
ret nz
- ld a, DUELVARS_ARENA_CARD_SUBSTATUS5
+ ld a, DUELVARS_ARENA_CARD_SUBSTATUS3
call GetTurnDuelistVariable
- set SUBSTATUS5_THIS_TURN_DOUBLE_DAMAGE, [hl]
+ set SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE, [hl]
ret
-; clears the substatus 2 and updates the double damage condition of the turn holder
-UpdateSubstatusConditions: ; 35fa (0:35fa)
- ld a, DUELVARS_ARENA_CARD_SUBSTATUS5
+; clears the substatus 2, Headache, and updates the double damage condition of the player ending his turn
+UpdateSubstatusConditions_EndOfTurn: ; 35fa (0:35fa)
+ ld a, DUELVARS_ARENA_CARD_SUBSTATUS3
call GetTurnDuelistVariable
- res 1, [hl]
+ res SUBSTATUS3_HEADACHE, [hl]
push hl
ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
call GetTurnDuelistVariable
@@ -7043,11 +8741,39 @@ UpdateSubstatusConditions: ; 35fa (0:35fa)
pop hl
cp SUBSTATUS1_NEXT_TURN_DOUBLE_DAMAGE
ret z
- res SUBSTATUS5_THIS_TURN_DOUBLE_DAMAGE, [hl]
+ res SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE, [hl]
ret
; 0x3615
- INCROM $3615, $363b
+; return carry if turn holder has Blastoise and its Rain Dance Pkmn Power is active
+IsRainDanceActive: ; 3615 (0:3615)
+ ld a, BLASTOISE
+ call CountPokemonIDInPlayArea
+ ret nc ; return if no Pkmn Power-capable Blastoise found in turn holder's play area
+ ld a, MUK
+ call CountPokemonIDInBothPlayAreas
+ ccf
+ ret
+; 0x3622
+
+; return carry if card at [hTempCardIndex_ff98] is a water energy card AND
+; if card at [hTempPlayAreaLocationOffset_ff9d] is a water Pokemon card.
+CheckRainDanceScenario: ; 3622 (0:3622)
+ ldh a, [hTempCardIndex_ff98]
+ call GetCardIDFromDeckIndex
+ call GetCardType
+ cp TYPE_ENERGY_WATER
+ jr nz, .done
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ call GetPlayAreaCardColor
+ cp TYPE_PKMN_WATER
+ jr nz, .done
+ scf
+ ret
+.done
+ or a
+ ret
+; 0x363b
; if the target card's HP is 0 and the attacking card's HP is not,
; the attacking card faints if it was affected by destiny bond
@@ -7061,7 +8787,7 @@ HandleDestinyBondSubstatus: ; 363b (0:363b)
.check_hp
ld a, DUELVARS_ARENA_CARD
call GetNonTurnDuelistVariable
- cp $ff
+ cp -1
ret z
ld a, DUELVARS_ARENA_CARD_HP
call GetNonTurnDuelistVariable
@@ -7078,21 +8804,22 @@ HandleDestinyBondSubstatus: ; 363b (0:363b)
pop hl
ld l, DUELVARS_ARENA_CARD
ld a, [hl]
- call LoadDeckCardToBuffer2
+ call LoadCardDataToBuffer2_FromDeckIndex
ld hl, wLoadedCard2Name
ld a, [hli]
ld h, [hl]
ld l, a
- call Func_2ebb
+ call LoadTxRam2
ldtx hl, KnockedOutDueToDestinyBondText
call DrawWideTextBox_WaitForInput
ret
; 0x367b
; when Machamp is damaged, if its Strikes Back is active,
-; the attacking Pokemon takes 10 damage
-HandleStrikesBack: ; 367b (0:367b)
- ld a, [wTempNonTurnDuelistCardId]
+; the attacking Pokemon takes 10 damage.
+; used to bounce back a move of the RESIDUAL category
+HandleStrikesBack_AgainstResidualMove: ; 367b (0:367b)
+ ld a, [wTempNonTurnDuelistCardID]
cp MACHAMP
jr z, .strikes_back
ret
@@ -7100,30 +8827,30 @@ HandleStrikesBack: ; 367b (0:367b)
ld a, [wLoadedMoveCategory]
and RESIDUAL
ret nz
- ld a, [wccbf]
+ ld a, [wTempDamage_ccbf]
or a
ret z
call SwapTurn
- call CheckIfUnderAnyCannotUseStatus
+ call CheckCannotUseDueToStatus
call SwapTurn
ret c
ld hl, 10 ; damage to be dealt to attacker
- call ApplyStrikesBack
+ call ApplyStrikesBack_AgainstResidualMove
call nc, WaitForWideTextBoxInput
ret
-ApplyStrikesBack: ; 36a2 (0:36a2)
+ApplyStrikesBack_AgainstResidualMove: ; 36a2 (0:36a2)
push hl
- call Func_2ec4
- ld a, [wTempTurnDuelistCardId]
+ call LoadTxRam3
+ ld a, [wTempTurnDuelistCardID]
ld e, a
ld d, $0
- call LoadCardDataToBuffer2
+ call LoadCardDataToBuffer2_FromCardID
ld hl, wLoadedCard2Name
ld a, [hli]
ld h, [hl]
ld l, a
- call Func_2ebb
+ call LoadTxRam2
ld a, DUELVARS_ARENA_CARD_HP
call GetTurnDuelistVariable
pop de
@@ -7138,44 +8865,68 @@ ApplyStrikesBack: ; 36a2 (0:36a2)
ret z
call WaitForWideTextBoxInput
xor a
- call Func_1aac
+ call PrintPlayAreaCardKnockedOutIfNoHP
call $503a
scf
ret
; 0x36d9
- INCROM $36d9, $36f6
+; if the id of the card provided in register a as a deck index is Muk,
+; clear the changed type of all arena and bench Pokemon
+ClearChangedTypesIfMuk: ; 36d9 (0:36d9)
+ call GetCardIDFromDeckIndex
+ ld a, e
+ cp MUK
+ ret nz
+ call SwapTurn
+ call .zero_changed_types
+ call SwapTurn
+.zero_changed_types
+ ld a, DUELVARS_ARENA_CARD_CHANGED_TYPE
+ call GetTurnDuelistVariable
+ ld c, MAX_PLAY_AREA_POKEMON
+.zero_changed_types_loop
+ xor a
+ ld [hli], a
+ dec c
+ jr nz, .zero_changed_types_loop
+ ret
+; 0x36f6
-Func_36f6: ; 36f6 (0:36f6)
+; return the turn holder's arena card's color in a, accounting for Venomoth's Shift Pokemon Power if active
+GetArenaCardColor: ; 36f6 (0:36f6)
xor a
+; fallthrough
-Func_36f7: ; 36f7 (0:36f7)
+; input: a = play area location offset (PLAY_AREA_*) of the desired card
+; return the turn holder's card's color in a, accounting for Venomoth's Shift Pokemon Power if active
+GetPlayAreaCardColor: ; 36f7 (0:36f7)
push hl
push de
ld e, a
- add $d4
+ add DUELVARS_ARENA_CARD_CHANGED_TYPE
call GetTurnDuelistVariable
bit 7, a
- jr nz, .asm_3718
-.asm_3703
+ jr nz, .has_changed_color
+.regular_color
ld a, e
add DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call GetCardInDeckPosition
- call Func_2f32
- cp $10
- jr nz, .asm_3715
- ld a, $6
-.asm_3715
+ call GetCardIDFromDeckIndex
+ call GetCardType
+ cp TYPE_TRAINER
+ jr nz, .got_type
+ ld a, COLORLESS
+.got_type
pop de
pop hl
ret
-.asm_3718
+.has_changed_color
ld a, e
- call CheckIfUnderAnyCannotUseStatus2
- jr c, .asm_3703
+ call CheckCannotUseDueToStatus_OnlyToxicGasIfANon0
+ jr c, .regular_color ; jump if can't use Shift
ld a, e
- add $d4
+ add DUELVARS_ARENA_CARD_CHANGED_TYPE
call GetTurnDuelistVariable
pop de
pop hl
@@ -7183,30 +8934,54 @@ Func_36f7: ; 36f7 (0:36f7)
ret
; 0x3729
- INCROM $3729, $3730
+; return in a the weakness of the turn holder's arena or benchx Pokemon given the PLAY_AREA_* value in a
+; if a == 0 and [DUELVARS_ARENA_CARD_CHANGED_WEAKNESS] != 0,
+; return [DUELVARS_ARENA_CARD_CHANGED_WEAKNESS] instead
+GetPlayAreaCardWeakness: ; 3729 (0:3729)
+ or a
+ jr z, GetArenaCardWeakness
+ add DUELVARS_ARENA_CARD
+ jr GetCardWeakness
-Func_3730: ; 3730 (0:3730)
- ld a, DUELVARS_ARENA_CARD_SUBSTATUS3
+; return in a the weakness of the turn holder's arena Pokemon
+; if [DUELVARS_ARENA_CARD_CHANGED_WEAKNESS] != 0, return it instead
+GetArenaCardWeakness: ; 3730 (0:3730)
+ ld a, DUELVARS_ARENA_CARD_CHANGED_WEAKNESS
call GetTurnDuelistVariable
or a
ret nz
ld a, DUELVARS_ARENA_CARD
+; fallthrough
+
+GetCardWeakness:
call GetTurnDuelistVariable
- call LoadDeckCardToBuffer2
+ call LoadCardDataToBuffer2_FromDeckIndex
ld a, [wLoadedCard2Weakness]
ret
; 0x3743
- INCROM $3743, $374a
+; return in a the resistance of the turn holder's arena or benchx Pokemon given the PLAY_AREA_* value in a
+; if a == 0 and [DUELVARS_ARENA_CARD_CHANGED_RESISTANCE] != 0,
+; return [DUELVARS_ARENA_CARD_CHANGED_RESISTANCE] instead
+GetPlayAreaCardResistance: ; 3743 (0:3743)
+ or a
+ jr z, GetArenaCardResistance
+ add DUELVARS_ARENA_CARD
+ jr GetCardResistance
-Func_374a: ; 374a (0:374a)
- ld a, DUELVARS_ARENA_CARD_SUBSTATUS4
+; return in a the resistance of the arena Pokemon
+; if [DUELVARS_ARENA_CARD_CHANGED_RESISTANCE] != 0, return it instead
+GetArenaCardResistance: ; 374a (0:374a)
+ ld a, DUELVARS_ARENA_CARD_CHANGED_RESISTANCE
call GetTurnDuelistVariable
or a
ret nz
ld a, DUELVARS_ARENA_CARD
+; fallthrough
+
+GetCardResistance:
call GetTurnDuelistVariable
- call LoadDeckCardToBuffer2
+ call LoadCardDataToBuffer2_FromDeckIndex
ld a, [wLoadedCard2Resistance]
ret
; 0x375d
@@ -7216,15 +8991,15 @@ Func_374a: ; 374a (0:374a)
HandleEnergyBurn: ; 375d (0:375d)
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
- call GetCardInDeckPosition
+ call GetCardIDFromDeckIndex
ld a, e
cp CHARIZARD
ret nz
xor a
- call CheckIfUnderAnyCannotUseStatus2
+ call CheckCannotUseDueToStatus_OnlyToxicGasIfANon0
ret c
ld hl, wAttachedEnergies
- ld c, COLORLESS - FIRE
+ ld c, NUM_COLORED_TYPES
xor a
.zero_next_energy
ld [hli], a
@@ -7259,12 +9034,12 @@ PlaySFX: ; 3796 (0:3796)
farcall _PlaySFX
ret
-Func_379b: ; 379b (0:379b)
- farcall Func_f401b
+PauseSong: ; 379b (0:379b)
+ farcall _PauseSong
ret
-Func_37a0: ; 37a0 (0:37a0)
- farcall Func_f401e
+ResumeSong: ; 37a0 (0:37a0)
+ farcall _ResumeSong
ret
; 0x37a5
@@ -7292,49 +9067,52 @@ Func_380e: ; 380e (0:380e)
call BankswitchHome
ret
-Func_383d: ; 383d (0:383d)
+; enable the play time counter and execute the game event at [wGameEvent].
+; then return to the overworld, or restart the game (only after Credits).
+ExecuteGameEvent: ; 383d (0:383d)
ld a, $1
ld [wPlayTimeCounterEnable], a
ldh a, [hBankROM]
push af
-.asm_3845
- call Func_3855
- jr nc, .asm_3850
+.loop
+ call _ExecuteGameEvent
+ jr nc, .restart
farcall LoadMap
- jr .asm_3845
-.asm_3850
+ jr .loop
+.restart
pop af
call BankswitchHome
ret
-Func_3855: ; 3855 (0:3855)
- ld a, [wd0b5]
- cp $7
- jr c, .asm_385e
- ld a, $6
-.asm_385e
- ld hl, PointerTable_3864
+; execute a game event at [wGameEvent] from GameEventPointerTable
+_ExecuteGameEvent: ; 3855 (0:3855)
+ ld a, [wGameEvent]
+ cp NUM_GAME_EVENTS
+ jr c, .got_game_event
+ ld a, GAME_EVENT_CHALLENGE_MACHINE
+.got_game_event
+ ld hl, GameEventPointerTable
jp JumpToFunctionInTable
-PointerTable_3864: ; 3864 (0:3864)
- dw Func_3874
- dw Func_38c0
- dw Func_38a3
- dw Func_3876
- dw Credits_3911
- dw Func_38fb
- dw Func_38db
- dw Func_3874
-
-Func_3874: ; 3874 (0:3874)
+GameEventPointerTable: ; 3864 (0:3864)
+ dw GameEvent_Overworld
+ dw GameEvent_Duel
+ dw GameEvent_BattleCenter
+ dw GameEvent_GiftCenter
+ dw GameEvent_Credits
+ dw GameEvent_ContinueDuel
+ dw GameEvent_ChallengeMachine
+ dw GameEvent_Overworld
+
+GameEvent_Overworld: ; 3874 (0:3874)
scf
ret
-Func_3876: ; 3876 (0:3876)
+GameEvent_GiftCenter: ; 3876 (0:3876)
ldh a, [hBankROM]
push af
- call Func_379b
- ld a, MUSIC_CARDPOP
+ call PauseSong
+ ld a, MUSIC_CARD_POP
call PlaySong
ld a, $3
ld [wd0c2], a
@@ -7345,13 +9123,13 @@ Func_3876: ; 3876 (0:3876)
ld a, [wd10e]
and $ef
ld [wd10e], a
- call Func_37a0
+ call ResumeSong
pop af
call BankswitchHome
scf
ret
-Func_38a3: ; 38a3 (0:38a3)
+GameEvent_BattleCenter: ; 38a3 (0:38a3)
ld a, $2
ld [wd0c2], a
xor a
@@ -7360,35 +9138,35 @@ Func_38a3: ; 38a3 (0:38a3)
ld [wd0c3], a
ld a, $2
ld [wDuelTheme], a
- ld a, MUSIC_CARDPOP
+ ld a, MUSIC_CARD_POP
call PlaySong
bank1call Func_758f
scf
ret
-Func_38c0: ; 38c0 (0:38c0)
+GameEvent_Duel: ; 38c0 (0:38c0)
ld a, $1
ld [wd0c2], a
xor a
ld [wd112], a
- call EnableExtRAM
+ call EnableSRAM
xor a
ld [$ba44], a
- call DisableExtRAM
+ call DisableSRAM
call Func_3a3b
bank1call StartDuel
scf
ret
-Func_38db: ; 38db (0:38db)
+GameEvent_ChallengeMachine: ; 38db (0:38db)
ld a, $6
ld [wd111], a
call Func_39fc
- call EnableExtRAM
+ call EnableSRAM
xor a
ld [$ba44], a
- call DisableExtRAM
-asm_38ed
+ call DisableSRAM
+.asm_38ed
farcall Func_131d3
ld a, $9
ld [wd111], a
@@ -7396,19 +9174,19 @@ asm_38ed
scf
ret
-Func_38fb: ; 38fb (0:38fb)
+GameEvent_ContinueDuel: ; 38fb (0:38fb)
xor a
ld [wd112], a
- bank1call Func_406f
- call EnableExtRAM
+ bank1call TryContinueDuel
+ call EnableSRAM
ld a, [$ba44]
- call DisableExtRAM
+ call DisableSRAM
cp $ff
- jr z, asm_38ed
+ jr z, GameEvent_ChallengeMachine.asm_38ed
scf
ret
-Credits_3911: ; 3911 (0:3911)
+GameEvent_Credits: ; 3911 (0:3911)
farcall Credits_1d6ad
or a
ret
@@ -7416,9 +9194,9 @@ Credits_3911: ; 3911 (0:3911)
Func_3917: ; 3917 (0:3917)
ld a, $22
farcall CheckIfEventFlagSet
- call EnableExtRAM
- ld [$a00a], a
- call DisableExtRAM
+ call EnableSRAM
+ ld [sa00a], a
+ call DisableSRAM
ret
GetFloorObjectFromPos: ; 3927 (0:3927)
@@ -7429,9 +9207,33 @@ GetFloorObjectFromPos: ; 3927 (0:3927)
ret
; 0x392e
- INCROM $392e, $3946
+SetFloorObjectFromPos: ; 392e (0:392e)
+ push hl
+ push af
+ call FindFloorTileFromPos
+ pop af
+ ld [hl], a
+ pop hl
+ ret
+; 0x3937
-; puts a floor tile in hc given coords in bc (x,y. measured in tiles)
+UpdateFloorObjectFromPos: ; 3937 (0:3937)
+ push hl
+ push bc
+ push de
+ cpl
+ ld e, a
+ call FindFloorTileFromPos
+ ld a, [hl]
+ and e
+ ld [hl], a
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x3946
+
+; puts a floor tile in hl given coords in bc (x,y. measured in tiles)
FindFloorTileFromPos: ; 3946 (0:3946)
push bc
srl b
@@ -7458,17 +9260,30 @@ Func_395a: ; 395a (0:395a)
ret
Unknown_396b: ; 396b (0:396b)
- INCROM $396b, $3973
+ db $00, -$01, $01, $00, $00, $01, -$01, $00
; Movement offsets for scripted movements
ScriptedMovementOffsetTable: ; 3973 (0:3973)
- db $00, -$02 ; move 2 tiles up
- db $02, $00 ; move 2 tiles right
- db $00, $02 ; move 2 tiles down
- db -$02, $00 ; move 2 tiles left
+ db 0, -2 ; move 2 tiles up
+ db 2, 0 ; move 2 tiles right
+ db 0, 2 ; move 2 tiles down
+ db -2, 0 ; move 2 tiles left
Unknown_397b: ; 397b (0:397b)
- INCROM $397b, $3997
+ dw $0323
+ dw $0323
+ dw $0324
+ dw $0325
+ dw $0326
+ dw $0327
+ dw $0328
+ dw $0329
+ dw $032a
+ dw $032b
+ dw $032c
+ dw $032d
+ dw $032e
+ dw $032f
Func_3997: ; 3997 (0:3997)
ldh a, [hBankROM]
@@ -7489,7 +9304,7 @@ Func_39ad: ; 39ad (0:39ad)
push bc
cp $8
jr c, .asm_39b4
- rst $38
+ debug_ret
xor a
.asm_39b4
add a
@@ -7500,7 +9315,7 @@ Func_39ad: ; 39ad (0:39ad)
add l
ld l, a
ld h, $0
- ld bc, $d34a
+ ld bc, wd34a
add hl, bc
pop bc
ret
@@ -7514,7 +9329,7 @@ Func_39c3: ; 39c3 (0:39c3)
ld b, a
ld c, $8
ld de, $000c
- ld hl, $d34a
+ ld hl, wd34a
ld a, [wd3ab]
.asm_39d6
cp [hl]
@@ -7536,7 +9351,20 @@ Func_39c3: ; 39c3 (0:39c3)
ret
; 0x39ea
- INCROM $39ea, $39fc
+Func_39ea: ; 39ea (0:39ea)
+ push bc
+ ldh a, [hBankROM]
+ push af
+ ld a, $03
+ call BankswitchHome
+ ld a, [bc]
+ ld c, a
+ pop af
+ call BankswitchHome
+ ld a, c
+ pop bc
+ ret
+; 0x39fc
Func_39fc: ; 39fc (0:39fc)
push hl
@@ -7549,7 +9377,7 @@ Func_39fc: ; 39fc (0:39fc)
pop af
jr z, .asm_3a11
ld a, c
- ld hl, $d112
+ ld hl, wd112
cp [hl]
jr z, .asm_3a1c
.asm_3a11
@@ -7589,7 +9417,29 @@ Func_3a40: ; 3a40 (0:3a40)
ret
; 0x3a45
- INCROM $3a45, $3a5e
+Func_3a45: ; 3a45 (0:3a45)
+ farcall Func_11343
+ ret
+; 0x3a4a
+
+Func_3a4a: ; 3a4a (0:3a4a)
+ farcall Func_115a3
+ ret
+; 0x3a4f
+
+Func_3a4f: ; 3a4f (0:3a4f)
+ push af
+ push bc
+ push de
+ push hl
+ ld c, $00
+ farcall Func_1157c
+ pop hl
+ pop de
+ pop bc
+ pop af
+ ret
+; 0x3a5e
Func_3a5e: ; 3a5e (0:3a5e)
ldh a, [hBankROM]
@@ -7683,7 +9533,10 @@ Func_3abd: ; 3abd (0:3abd)
ret
; 0x3ae8
- INCROM $3ae8, $3aed
+Func_3ae8: ; 3ae8 (0:3ae8)
+ farcall Func_11f4e
+ ret
+; 0x3aed
; finds an OWScript from the first byte and puts the next two bytes (usually arguments?) into cb
RunOverworldScript: ; 3aed (0:3aed)
@@ -7714,7 +9567,16 @@ RunOverworldScript: ; 3aed (0:3aed)
jp hl
; 0x3b11
- INCROM $3b11, $3b21
+Func_3b11: ; 3b11 (0:3b11)
+ ldh a, [hBankROM]
+ push af
+ ld a, $04
+ call BankswitchHome
+ call $66d1
+ pop af
+ call BankswitchHome
+ ret
+; 0x3b21
Func_3b21: ; 3b21 (0:3b21)
ldh a, [hBankROM]
@@ -7737,7 +9599,7 @@ Func_3b31: ; 3b31 (0:3b31)
ld [wDoFrameFunction], a
ld [wcad4], a
.asm_3b45
- call Func_099c
+ call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
pop af
@@ -7748,9 +9610,9 @@ Func_3b52: ; 3b52 (0:3b52)
push hl
push bc
ld a, [wd42a]
- ld hl, $d4c0
+ ld hl, wd4c0
and [hl]
- ld hl, $d423
+ ld hl, wd423
ld c, $7
.asm_3b60
and [hl]
@@ -7775,7 +9637,7 @@ Func_3b6a: ; 3b6a (0:3b6a)
ld a, [wd422]
cp $61
jr nc, .asm_3b90
- ld hl, $d4ad
+ ld hl, wd4ad
ld a, [wd4ac]
cp [hl]
jr nz, .asm_3b90
@@ -7814,7 +9676,16 @@ ResetDoFrameFunction: ; 3bdb (0:3bdb)
ret
; 0x3be4
- INCROM $3be4, $3bf5
+Func_3be4: ; 3be4 (0:3be4)
+ ldh a, [hBankROM]
+ push af
+ ld a, [wd4c6]
+ call BankswitchHome
+ call Func_08de
+ pop af
+ call BankswitchHome
+ ret
+; 0x3bf5
Func_3bf5: ; 3bf5 (0:3bf5)
ldh a, [hBankROM]
@@ -7839,7 +9710,10 @@ Func_3c45: ; 3c45 (0:3c45)
jp hl
; 0x3c46
- INCROM $3c46, $3c48
+Func_3c46: ; 3c46 (0:3c46)
+ push bc
+ ret
+; 0x3c48
DoFrameIfLCDEnabled: ; 3c48 (0:3c48)
push af
@@ -7864,7 +9738,7 @@ DivideBCbyDE: ; 3c5a (0:3c5a)
rl b
ld a, $10
.asm_3c63
- ldh [$ffb6], a
+ ldh [hffb6], a
rl l
rl h
push hl
@@ -7884,7 +9758,7 @@ DivideBCbyDE: ; 3c5a (0:3c5a)
.asm_3c79
rl c
rl b
- ldh a, [$ffb6]
+ ldh a, [hffb6]
dec a
jr nz, .asm_3c63
ret
@@ -7894,7 +9768,15 @@ Func_3c83: ; 3c83 (0:3c83)
ret
; 0x3c87
- INCROM $3c87, $3c96
+Func_3c87: ; 3c87 (0:3c87)
+ push af
+ call PauseSong
+ pop af
+ call PlaySong
+ call Func_3c96
+ call ResumeSong
+ ret
+; 0x3c96
Func_3c96: ; 3c96 (0:3c96)
call DoFrameIfLCDEnabled
@@ -7979,29 +9861,30 @@ Func_3d72: ; 3d72 (0:3d72)
Func_3db7: ; 3db7 (0:3db7)
push bc
- ld c, $0
- call ModifyUnknownOAMBufferProperty
+ ld c, SPRITE_ANIM_FIELD_00
+ call GetSpriteAnimBufferProperty
pop bc
ret
-; this needs to be determined after we learn more about the buffer.
-ModifyUnknownOAMBufferProperty: ; 3dbf (0:3dbf)
- ld a, [wd4cf]
- cp $10
- jr c, .asm_3dc9
- rst $38
- ld a, $f
-.asm_3dc9
+; return hl pointing to the property (byte) c of a sprite in wSpriteAnimBuffer.
+; the sprite is identified by its index in wWhichSprite.
+GetSpriteAnimBufferProperty: ; 3dbf (0:3dbf)
+ ld a, [wWhichSprite]
+ cp SPRITE_ANIM_BUFFER_CAPACITY
+ jr c, .got_sprite
+ debug_ret
+ ld a, SPRITE_ANIM_BUFFER_CAPACITY - 1 ; default to last sprite
+.got_sprite
push bc
- swap a
+ swap a ; a *= SPRITE_ANIM_LENGTH
push af
and $f
ld b, a
pop af
and $f0
- or c
+ or c ; add the property offset
ld c, a
- ld hl, wOAMBuffer
+ ld hl, wSpriteAnimBuffer
add hl, bc
pop bc
ret
@@ -8019,7 +9902,7 @@ Func_3df3: ; 3df3 (0:3df3)
ld hl, sp+$5
ld a, [hl]
call Func_12c7f
- call Func_0404
+ call SetFlushAllPalettes
pop hl
pop af
call BankswitchHome
diff --git a/src/gfx.asm b/src/gfx.asm
index 7ee87f7..91c072a 100644
--- a/src/gfx.asm
+++ b/src/gfx.asm
@@ -1,6 +1,7 @@
INCLUDE "macros.asm"
SECTION "Gfx 1", ROMX
+
Fonts:: ; 74000 (1d:4000)
INCBIN "gfx/fonts.t3.1bpp"
@@ -8,11 +9,14 @@ VWF:: ; 76668 (1d:6668)
INCBIN "gfx/vwf.1bpp"
DuelGraphics:: ; 76968 (1d:6968)
-INCBIN "gfx/duel/duel1.t5.2bpp",$0,$1698
+INCBIN "gfx/duel/duel_graphics.t5.2bpp", $0, $1698
SECTION "Gfx 2", ROMX
-INCBIN "gfx/duel/duel1.t5.2bpp",$1698,$318
-INCBIN "gfx/duel/duel2.2bpp"
+
+INCBIN "gfx/duel/duel_graphics.t5.2bpp", $1698, $318
+
+DuelBoxMessages:: ; 78318 (1e:4318)
+INCBIN "gfx/duel/box_messages.2bpp"
rept $2b68
db $ff
@@ -22,6 +26,7 @@ SECTION "Empty Bank 1F", ROMX
emptybank
SECTION "Gfx 3", ROMX
+
INCROM $84000, $87828
IshiharaTilesetGfx: ; 87828 (21:7828)
@@ -40,17 +45,18 @@ PlayerGfx: ; 87d7e (21:7d7e)
dw $24
INCBIN "gfx/duelists/player.2bpp"
-Unnamed1Gfx: ; 87fc0 (21:7fc0)
+Duel55Gfx: ; 87fc0 (21:7fc0)
dw $2
- INCBIN "gfx/unnamed/1.2bpp"
+ INCBIN "gfx/duel/55.2bpp"
-Unnamed2Gfx: ; 87fe2 (21:7fe2)
+Duel56Gfx: ; 87fe2 (21:7fe2)
dw $1
- INCBIN "gfx/unnamed/2.2bpp"
+ INCBIN "gfx/duel/56.2bpp"
INCROM $87ff4, $88000
SECTION "Gfx 4", ROMX
+
OverworldMapTiles: ; 88000 (22:4000)
dw $c1
INCBIN "gfx/overworld_map.t15.2bpp"
@@ -85,15 +91,16 @@ GrassClubTilesetGfx: ; 8b91e (22:791e)
OWSpritePlayer: ; 8be90 (22:7e90)
dw $14
- INCBIN "gfx/ow/player.2bpp"
+ INCBIN "gfx/overworld_sprites/player.2bpp"
-Unnamed3Gfx: ; 8bfd2 (22:7fd2)
+Duel57Gfx: ; 8bfd2 (22:7fd2)
dw $1
- INCBIN "gfx/unnamed/3.2bpp"
+ INCBIN "gfx/duel/57.2bpp"
- INCROM $8bfe4, $8C000
+ INCROM $8bfe4, $8c000
SECTION "Gfx 5", ROMX
+
LightningClubTilesetGfx: ; 8c000 (23:4000)
dw $83
INCBIN "gfx/tilesets/lightningclub.t13.2bpp"
@@ -128,71 +135,72 @@ HallOfHonorTilesetGfx: ; 8f20e (23:720e)
MedalGfx: ; 8f9a0 (23:79a0)
dw $48
- INCBIN "gfx/medals.2bpp",$0,$c0
- INCBIN "gfx/medals.2bpp",$240,$30
- INCBIN "gfx/medals.2bpp",$340,$10
- INCBIN "gfx/medals.2bpp",$c0,$c0
- INCBIN "gfx/medals.2bpp",$300,$30
- INCBIN "gfx/medals.2bpp",$350,$10
- INCBIN "gfx/medals.2bpp",$180,$c0
- INCBIN "gfx/medals.2bpp",$3c0,$30
- INCBIN "gfx/medals.2bpp",$410,$10
- INCBIN "gfx/medals.2bpp",$2d0,$30
- INCBIN "gfx/medals.2bpp",$2a0,$30
- INCBIN "gfx/medals.2bpp",$270,$30
- INCBIN "gfx/medals.2bpp",$390,$30
- INCBIN "gfx/medals.2bpp",$360,$30
- INCBIN "gfx/medals.2bpp",$330,$10
- INCBIN "gfx/medals.2bpp",$450,$30
- INCBIN "gfx/medals.2bpp",$420,$30
- INCBIN "gfx/medals.2bpp",$3f0,$20
+ INCBIN "gfx/medals.2bpp", $0, $c0
+ INCBIN "gfx/medals.2bpp", $240, $30
+ INCBIN "gfx/medals.2bpp", $340, $10
+ INCBIN "gfx/medals.2bpp", $c0, $c0
+ INCBIN "gfx/medals.2bpp", $300, $30
+ INCBIN "gfx/medals.2bpp", $350, $10
+ INCBIN "gfx/medals.2bpp", $180, $c0
+ INCBIN "gfx/medals.2bpp", $3c0, $30
+ INCBIN "gfx/medals.2bpp", $410, $10
+ INCBIN "gfx/medals.2bpp", $2d0, $30
+ INCBIN "gfx/medals.2bpp", $2a0, $30
+ INCBIN "gfx/medals.2bpp", $270, $30
+ INCBIN "gfx/medals.2bpp", $390, $30
+ INCBIN "gfx/medals.2bpp", $360, $30
+ INCBIN "gfx/medals.2bpp", $330, $10
+ INCBIN "gfx/medals.2bpp", $450, $30
+ INCBIN "gfx/medals.2bpp", $420, $30
+ INCBIN "gfx/medals.2bpp", $3f0, $20
NintendoGfx: ; 8fe22 (23:7e22)
dw $18
INCBIN "gfx/nintendo.2bpp"
-PoisonGfx: ; 8ffa4 (23:7fa4)
+Duel58Gfx: ; 8ffa4 (23:7fa4)
dw $4
- INCBIN "gfx/duel/poison.2bpp"
+ INCBIN "gfx/duel/58.2bpp"
INCROM $8ffe6, $90000
SECTION "Gfx 6", ROMX
+
CardPop1Gfx: ; 90000 (24:4000)
dw $bd
- INCBIN "gfx/cardpop1.t3.2bpp"
+ INCBIN "gfx/cardpop/cardpop1.t3.2bpp"
CardPop2Gfx: ; 90bd2 (24:4bd2)
dw $6d
- INCBIN "gfx/cardpop2.t3.2bpp"
+ INCBIN "gfx/cardpop/cardpop2.t3.2bpp"
CardPop3Gfx: ; 912a4 (24:52a4)
dw $5d
- INCBIN "gfx/cardpop3.t3.2bpp"
+ INCBIN "gfx/cardpop/cardpop3.t3.2bpp"
Colosseum1Gfx: ; 91876 (24:5876)
dw $60
- INCBIN "gfx/boosterpacks/colosseum1.2bpp"
+ INCBIN "gfx/booster_packs/colosseum1.2bpp"
Colosseum2Gfx: ; 91e78 (24:5e78)
dw $56
- INCBIN "gfx/boosterpacks/colosseum2.t10.2bpp"
+ INCBIN "gfx/booster_packs/colosseum2.t10.2bpp"
Evolution1Gfx: ; 923da (24:63da)
dw $60
- INCBIN "gfx/boosterpacks/evolution1.2bpp"
+ INCBIN "gfx/booster_packs/evolution1.2bpp"
Evolution2Gfx: ; 929dc (24:69dc)
dw $56
- INCBIN "gfx/boosterpacks/evolution2.t10.2bpp"
+ INCBIN "gfx/booster_packs/evolution2.t10.2bpp"
Mystery1Gfx: ; 92f3e (24:6f3e)
dw $60
- INCBIN "gfx/boosterpacks/mystery1.2bpp"
+ INCBIN "gfx/booster_packs/mystery1.2bpp"
Mystery2Gfx: ; 93540 (24:7540)
dw $56
- INCBIN "gfx/boosterpacks/mystery2.t10.2bpp"
+ INCBIN "gfx/booster_packs/mystery2.t10.2bpp"
RonaldGfx: ; 93aa2 (24:7aa2)
dw $24
@@ -204,52 +212,53 @@ CopyrightGfx: ; 93ce4 (24:7ce4)
HelpDeskLadyGfx: ; 93f26 (24:7f26)
dw $8
- INCBIN "gfx/ow/help_desk_lady.2bpp"
+ INCBIN "gfx/overworld_sprites/help_desk_lady.2bpp"
-Unnamed4Gfx: ; 93fa8 (24:7fa8)
+Duel59Gfx: ; 93fa8 (24:7fa8)
dw $3
- INCBIN "gfx/unnamed/4.2bpp"
+ INCBIN "gfx/duel/59.2bpp"
-Unnamed5Gfx: ; 93fda (24:7fda)
+Duel60Gfx: ; 93fda (24:7fda)
dw $2
- INCBIN "gfx/unnamed/5.2bpp"
+ INCBIN "gfx/duel/60.2bpp"
rept $4
db $ff
endr
SECTION "Gfx 7", ROMX
+
Laboratory1Gfx: ; 94000 (25:4000)
dw $60
- INCBIN "gfx/boosterpacks/laboratory1.2bpp"
+ INCBIN "gfx/booster_packs/laboratory1.2bpp"
Laboratory2Gfx: ; 94602 (25:4602)
dw $56
- INCBIN "gfx/boosterpacks/laboratory2.t10.2bpp"
+ INCBIN "gfx/booster_packs/laboratory2.t10.2bpp"
CharizardIntro1Gfx: ; 94b64 (25:4b64)
dw $60
- INCBIN "gfx/boosterpacks/charizardintro1.2bpp"
+ INCBIN "gfx/titlescreen/booster_packs/charizardintro1.2bpp"
CharizardIntro2Gfx: ; 95166 (25:5166)
dw $60
- INCBIN "gfx/boosterpacks/charizardintro2.2bpp"
+ INCBIN "gfx/titlescreen/booster_packs/charizardintro2.2bpp"
ScytherIntro1Gfx: ; 95768 (25:5768)
dw $60
- INCBIN "gfx/boosterpacks/scytherintro1.2bpp"
+ INCBIN "gfx/titlescreen/booster_packs/scytherintro1.2bpp"
ScytherIntro2Gfx: ; 95d6a (25:5d6a)
dw $60
- INCBIN "gfx/boosterpacks/scytherintro2.2bpp"
+ INCBIN "gfx/titlescreen/booster_packs/scytherintro2.2bpp"
AerodactylIntro1Gfx: ; 9636c (25:636c)
dw $60
- INCBIN "gfx/boosterpacks/aerodactylintro1.2bpp"
+ INCBIN "gfx/titlescreen/booster_packs/aerodactylintro1.2bpp"
AerodactylIntro2Gfx: ; 9696e (25:696e)
dw $60
- INCBIN "gfx/boosterpacks/aerodactylintro2.2bpp"
+ INCBIN "gfx/titlescreen/booster_packs/aerodactylintro2.2bpp"
Titlescreen1Gfx: ; 96f70 (25:6f70)
dw $61
@@ -265,11 +274,12 @@ CompaniesGfx: ; 97b94 (25:7b94)
RonaldOWGfx: ; 97ea6 (25:7ea6)
dw $14
- INCBIN "gfx/ow/ronald.2bpp"
+ INCBIN "gfx/overworld_sprites/ronald.2bpp"
INCROM $97fe8, $98000
SECTION "Gfx 8", ROMX
+
Titlescreen3Gfx: ; 98000 (26:4000)
dw $f4
INCBIN "gfx/titlescreen/titlescreen3.t12.2bpp"
@@ -288,21 +298,22 @@ Titlescreen6Gfx: ; 9b0b6 (26:70b6)
DoctorMasonOWGfx: ; 9bdf8 (26:7df8)
dw $14
- INCBIN "gfx/ow/doctormason.2bpp"
+ INCBIN "gfx/overworld_sprites/doctormason.2bpp"
OverworldMapOAMGfx: ; 9bf3a (26:7f3a)
dw $8
- INCBIN "gfx/ow_map_oam.2bpp"
+ INCBIN "gfx/overworld_map_oam.2bpp"
-Unnamed6Gfx: ; 9bfbc (26:7fbc)
+Duel61Gfx: ; 9bfbc (26:7fbc)
dw $3
- INCBIN "gfx/unnamed/6.2bpp"
+ INCBIN "gfx/duel/61.2bpp"
-Unnamed7Gfx: ; 9bfee (26:7fee)
+Duel62Gfx: ; 9bfee (26:7fee)
dw $1
- INCBIN "gfx/unnamed/7.2bpp"
+ INCBIN "gfx/duel/62.2bpp"
SECTION "Gfx 9", ROMX
+
SamGfx: ; 9c000 (27:4000)
dw $24
INCBIN "gfx/duelists/sam.2bpp"
@@ -415,19 +426,20 @@ MichaelGfx: ; 9fcf6 (27:7cf6)
dw $24
INCBIN "gfx/duelists/michael.2bpp"
-Unnamed8Gfx: ; 9ff38 (27:7f38)
+Duel63Gfx: ; 9ff38 (27:7f38)
dw $a
- INCBIN "gfx/unnamed/8.2bpp"
+ INCBIN "gfx/duel/63.2bpp"
-Unnamed9Gfx: ; 9ffda (27:7fda)
+Duel64Gfx: ; 9ffda (27:7fda)
dw $2
- INCBIN "gfx/unnamed/9.2bpp"
+ INCBIN "gfx/duel/64.2bpp"
rept $4
db $ff
endr
SECTION "Gfx 10", ROMX
+
DanielGfx: ; a0000 (28:4000)
dw $24
INCBIN "gfx/duelists/daniel.2bpp"
@@ -474,146 +486,147 @@ AaronGfx: ; a1694 (28:5694)
OWSprite0: ; a18d6 (28:58d6)
dw $14
- INCBIN "gfx/ow/sprite0.2bpp"
+ INCBIN "gfx/overworld_sprites/0.2bpp"
OWSprite1: ; a1a18 (28:5a18)
dw $14
- INCBIN "gfx/ow/sprite1.2bpp"
+ INCBIN "gfx/overworld_sprites/1.2bpp"
OWSprite2: ; a1b5a (28:5b5a)
dw $14
- INCBIN "gfx/ow/sprite2.2bpp"
+ INCBIN "gfx/overworld_sprites/2.2bpp"
OWSprite3: ; a1c9c (28:5c9c)
dw $14
- INCBIN "gfx/ow/sprite3.2bpp"
+ INCBIN "gfx/overworld_sprites/3.2bpp"
OWSprite4: ; a1dde (28:5dde)
dw $14
- INCBIN "gfx/ow/sprite4.2bpp"
+ INCBIN "gfx/overworld_sprites/4.2bpp"
OWSprite5: ; a1f20 (28:5f20)
dw $1b
- INCBIN "gfx/ow/sprite5.2bpp"
+ INCBIN "gfx/overworld_sprites/5.2bpp"
OWSprite6: ; a20d2 (28:60d2)
dw $14
- INCBIN "gfx/ow/sprite6.2bpp"
+ INCBIN "gfx/overworld_sprites/6.2bpp"
OWSprite7: ; a2214 (28:6214)
dw $14
- INCBIN "gfx/ow/sprite7.2bpp"
+ INCBIN "gfx/overworld_sprites/7.2bpp"
OWSprite8: ; a2356 (28:6356)
dw $14
- INCBIN "gfx/ow/sprite8.2bpp"
+ INCBIN "gfx/overworld_sprites/8.2bpp"
OWSprite9: ; a2498 (28:6498)
dw $14
- INCBIN "gfx/ow/sprite9.2bpp"
+ INCBIN "gfx/overworld_sprites/9.2bpp"
OWSprite10: ; a25da (28:65da)
dw $14
- INCBIN "gfx/ow/sprite10.2bpp"
+ INCBIN "gfx/overworld_sprites/10.2bpp"
OWSprite11: ; a271c (28:671c)
dw $14
- INCBIN "gfx/ow/sprite11.2bpp"
+ INCBIN "gfx/overworld_sprites/11.2bpp"
OWSprite12: ; a285e (28:685e)
dw $14
- INCBIN "gfx/ow/sprite12.2bpp"
+ INCBIN "gfx/overworld_sprites/12.2bpp"
OWSprite13: ; a29a0 (28:69a0)
dw $14
- INCBIN "gfx/ow/sprite13.2bpp"
+ INCBIN "gfx/overworld_sprites/13.2bpp"
OWSprite14: ; a2ae2 (28:6ae2)
dw $14
- INCBIN "gfx/ow/sprite14.2bpp"
+ INCBIN "gfx/overworld_sprites/14.2bpp"
OWSprite15: ; a2c24 (28:6c24)
dw $14
- INCBIN "gfx/ow/sprite15.2bpp"
+ INCBIN "gfx/overworld_sprites/15.2bpp"
OWSprite16: ; a2d66 (28:6d66)
dw $14
- INCBIN "gfx/ow/sprite16.2bpp"
+ INCBIN "gfx/overworld_sprites/16.2bpp"
OWSprite17: ; a2ea8 (28:6ea8)
dw $14
- INCBIN "gfx/ow/sprite17.2bpp"
+ INCBIN "gfx/overworld_sprites/17.2bpp"
OWSprite18: ; a2fea (28:6fea)
dw $14
- INCBIN "gfx/ow/sprite18.2bpp"
+ INCBIN "gfx/overworld_sprites/18.2bpp"
OWSprite19: ; a312c (28:712c)
dw $14
- INCBIN "gfx/ow/sprite19.2bpp"
+ INCBIN "gfx/overworld_sprites/19.2bpp"
OWSprite20: ; a326e (28:726e)
dw $14
- INCBIN "gfx/ow/sprite20.2bpp"
+ INCBIN "gfx/overworld_sprites/20.2bpp"
OWSprite21: ; a33b0 (28:73b0)
dw $14
- INCBIN "gfx/ow/sprite21.2bpp"
+ INCBIN "gfx/overworld_sprites/21.2bpp"
OWSprite22: ; a34f2 (28:74f2)
dw $14
- INCBIN "gfx/ow/sprite22.2bpp"
+ INCBIN "gfx/overworld_sprites/22.2bpp"
OWSprite23: ; a3634 (28:7634)
dw $14
- INCBIN "gfx/ow/sprite23.2bpp"
+ INCBIN "gfx/overworld_sprites/23.2bpp"
OWSprite24: ; a3776 (28:7776)
dw $14
- INCBIN "gfx/ow/sprite24.2bpp"
+ INCBIN "gfx/overworld_sprites/24.2bpp"
OWSprite25: ; a38b8 (28:78b8)
dw $14
- INCBIN "gfx/ow/sprite25.2bpp"
+ INCBIN "gfx/overworld_sprites/25.2bpp"
OWSprite26: ; a39fa (28:79fa)
dw $14
- INCBIN "gfx/ow/sprite26.2bpp"
+ INCBIN "gfx/overworld_sprites/26.2bpp"
OWSprite27: ; a3b3c (28:7b3c)
dw $14
- INCBIN "gfx/ow/sprite27.2bpp"
+ INCBIN "gfx/overworld_sprites/27.2bpp"
OWSprite28: ; a3c7e (28:7c7e)
dw $14
- INCBIN "gfx/ow/sprite28.2bpp"
+ INCBIN "gfx/overworld_sprites/28.2bpp"
OWSprite29: ; a3dc0 (28:7dc0)
dw $14
- INCBIN "gfx/ow/sprite29.2bpp"
+ INCBIN "gfx/overworld_sprites/29.2bpp"
-Unnamed10Gfx: ; a3f02 (28:7f02)
+Duel65Gfx: ; a3f02 (28:7f02)
dw $b
- INCBIN "gfx/unnamed/10.2bpp"
+ INCBIN "gfx/duel/65.2bpp"
-Unnamed11Gfx: ; a3fb4 (28:7fb4)
+Duel66Gfx: ; a3fb4 (28:7fb4)
dw $4
- INCBIN "gfx/unnamed/11.2bpp"
+ INCBIN "gfx/duel/66.2bpp"
INCROM $a3ff6, $a4000
SECTION "Gfx 11", ROMX
+
OWSprite30: ; a4000 (29:4000)
dw $14
- INCBIN "gfx/ow/sprite30.2bpp"
+ INCBIN "gfx/overworld_sprites/30.2bpp"
OWSprite31: ; a4142 (29:4142)
dw $14
- INCBIN "gfx/ow/sprite31.2bpp"
+ INCBIN "gfx/overworld_sprites/31.2bpp"
OWSprite32: ; a4284 (29:4284)
dw $14
- INCBIN "gfx/ow/sprite32.2bpp"
+ INCBIN "gfx/overworld_sprites/32.2bpp"
Duel0Gfx: ; a43c6 (29:43c6)
dw $16
@@ -802,6 +815,7 @@ Duel45Gfx: ; a7fb0 (29:7fb0)
INCROM $a7fe2, $a8000
SECTION "Gfx 12", ROMX
+
Duel46Gfx: ; a8000 (2a:4000)
dw $08
INCBIN "gfx/duel/46.2bpp"
@@ -840,7 +854,7 @@ Duel54Gfx: ; a87e0 (2a:47e0)
BoosterPackOAMGfx: ; a8942 (2a:4942)
dw $20
- INCBIN "gfx/boosterpacks/boosterpack_oam.2bpp"
+ INCBIN "gfx/booster_packs/oam.2bpp"
PressStartGfx: ; a8b44 (2a:4b44)
dw $14
@@ -848,45 +862,45 @@ PressStartGfx: ; a8b44 (2a:4b44)
GrassGfx: ; a8c86 (2a:4c86)
dw $04
- INCBIN "gfx/titlescreen/grass.2bpp"
+ INCBIN "gfx/titlescreen/energies/grass.2bpp"
FireGfx: ; a8cc8 (2a:4cc8)
dw $04
- INCBIN "gfx/titlescreen/fire.2bpp"
+ INCBIN "gfx/titlescreen/energies/fire.2bpp"
WaterGfx: ; a8d0a (2a:4d0a)
dw $04
- INCBIN "gfx/titlescreen/water.2bpp"
+ INCBIN "gfx/titlescreen/energies/water.2bpp"
ColorlessGfx: ; a8d4c (2a:4d4c)
dw $04
- INCBIN "gfx/titlescreen/colorless.2bpp"
+ INCBIN "gfx/titlescreen/energies/colorless.2bpp"
LightningGfx: ; a8d8e (2a:4d8e)
dw $04
- INCBIN "gfx/titlescreen/lightning.2bpp"
+ INCBIN "gfx/titlescreen/energies/lightning.2bpp"
PsychicGfx: ; a8dd0 (2a:4dd0)
dw $04
- INCBIN "gfx/titlescreen/psychic.2bpp"
+ INCBIN "gfx/titlescreen/energies/psychic.2bpp"
FightingGfx: ; a8e12 (2a:4e12)
dw $04
- INCBIN "gfx/titlescreen/fighting.2bpp"
+ INCBIN "gfx/titlescreen/energies/fighting.2bpp"
INCROM $a8e54, $ac000
SECTION "Gfx 13", ROMX
-INCBIN "baserom.gbc",$AC000,$4000
+INCBIN "baserom.gbc", $ac000, $4000
SECTION "Gfx 14", ROMX
-INCBIN "baserom.gbc",$B0000,$4000
+INCBIN "baserom.gbc", $b0000, $4000
SECTION "Gfx 15", ROMX
-INCBIN "baserom.gbc",$B4000,$4000
+INCBIN "baserom.gbc", $b4000, $4000
SECTION "Gfx 16", ROMX
-INCBIN "baserom.gbc",$B8000,$4000
+INCBIN "baserom.gbc", $b8000, $4000
SECTION "Empty Bank 2F", ROMX
emptybank
@@ -895,6 +909,7 @@ SECTION "Empty Bank 30", ROMX
emptybank
SECTION "Card Gfx 1", ROMX
+
CardGraphics:: ; c4000 (31:4000)
GrassEnergyCardGfx:: ; c4000 (31:4000)
@@ -982,6 +997,7 @@ NidorinaCardGfx:: ; c7ca0 (31:7ca0)
INCBIN "gfx/cards/nidorina.pal"
SECTION "Card Gfx 2", ROMX
+
NidoqueenCardGfx:: ; c8000 (32:4000)
INCBIN "gfx/cards/nidoqueen.8x6.2bpp"
INCBIN "gfx/cards/nidoqueen.pal"
@@ -1067,6 +1083,7 @@ KoffingCardGfx:: ; cbca0 (32:7ca0)
INCBIN "gfx/cards/koffing.pal"
SECTION "Card Gfx 3", ROMX
+
WeezingCardGfx:: ; cc000 (33:4000)
INCBIN "gfx/cards/weezing.8x6.2bpp"
INCBIN "gfx/cards/weezing.pal"
@@ -1152,6 +1169,7 @@ Moltres1CardGfx:: ; cfca0 (33:7ca0)
INCBIN "gfx/cards/moltres1.pal"
SECTION "Card Gfx 4", ROMX
+
Moltres2CardGfx:: ; d0000 (34:4000)
INCBIN "gfx/cards/moltres2.8x6.2bpp"
INCBIN "gfx/cards/moltres2.pal"
@@ -1237,6 +1255,7 @@ SeakingCardGfx:: ; d3ca0 (34:7ca0)
INCBIN "gfx/cards/seaking.pal"
SECTION "Card Gfx 5", ROMX
+
StaryuCardGfx:: ; d4000 (35:4000)
INCBIN "gfx/cards/staryu.8x6.2bpp"
INCBIN "gfx/cards/staryu.pal"
@@ -1322,6 +1341,7 @@ Magnemite1CardGfx:: ; d7ca0 (35:7ca0)
INCBIN "gfx/cards/magnemite1.pal"
SECTION "Card Gfx 6", ROMX
+
Magnemite2CardGfx:: ; d8000 (36:4000)
INCBIN "gfx/cards/magnemite2.8x6.2bpp"
INCBIN "gfx/cards/magnemite2.pal"
@@ -1407,6 +1427,7 @@ MachokeCardGfx:: ; dbca0 (36:7ca0)
INCBIN "gfx/cards/machoke.pal"
SECTION "Card Gfx 7", ROMX
+
MachampCardGfx:: ; dc000 (37:4000)
INCBIN "gfx/cards/machamp.8x6.2bpp"
INCBIN "gfx/cards/machamp.pal"
@@ -1492,6 +1513,7 @@ SlowbroCardGfx:: ; dfca0 (37:7ca0)
INCBIN "gfx/cards/slowbro.pal"
SECTION "Card Gfx 8", ROMX
+
Gastly1CardGfx:: ; e0000 (38:4000)
INCBIN "gfx/cards/gastly1.8x6.2bpp"
INCBIN "gfx/cards/gastly1.pal"
@@ -1577,6 +1599,7 @@ RaticateCardGfx:: ; e3ca0 (38:7ca0)
INCBIN "gfx/cards/raticate.pal"
SECTION "Card Gfx 9", ROMX
+
SpearowCardGfx:: ; e4000 (39:4000)
INCBIN "gfx/cards/spearow.8x6.2bpp"
INCBIN "gfx/cards/spearow.pal"
@@ -1662,6 +1685,7 @@ PorygonCardGfx:: ; e7ca0 (39:7ca0)
INCBIN "gfx/cards/porygon.pal"
SECTION "Card Gfx 10", ROMX
+
SnorlaxCardGfx:: ; e8000 (3a:4000)
INCBIN "gfx/cards/snorlax.8x6.2bpp"
INCBIN "gfx/cards/snorlax.pal"
@@ -1747,6 +1771,7 @@ SwitchCardGfx:: ; ebca0 (3a:7ca0)
INCBIN "gfx/cards/switch.pal"
SECTION "Card Gfx 11", ROMX
+
PokemonCenterCardGfx:: ; ec000 (3b:4000)
INCBIN "gfx/cards/pokemoncenter.8x6.2bpp"
INCBIN "gfx/cards/pokemoncenter.pal"
@@ -1779,7 +1804,7 @@ ItemFinderCardGfx:: ; ed538 (3b:5538)
INCBIN "gfx/cards/itemfinder.8x6.2bpp"
INCBIN "gfx/cards/itemfinder.pal"
-GustofWindCardGfx:: ; ed840 (3b:5840)
+GustOfWindCardGfx:: ; ed840 (3b:5840)
INCBIN "gfx/cards/gustofwind.8x6.2bpp"
INCBIN "gfx/cards/gustofwind.pal"
diff --git a/src/gfx/boosterpacks/colosseum1.png b/src/gfx/booster_packs/colosseum1.png
index 9ce2500..9ce2500 100755..100644
--- a/src/gfx/boosterpacks/colosseum1.png
+++ b/src/gfx/booster_packs/colosseum1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/colosseum2.t10.png b/src/gfx/booster_packs/colosseum2.t10.png
index 1da1a52..1da1a52 100755..100644
--- a/src/gfx/boosterpacks/colosseum2.t10.png
+++ b/src/gfx/booster_packs/colosseum2.t10.png
Binary files differ
diff --git a/src/gfx/boosterpacks/evolution1.png b/src/gfx/booster_packs/evolution1.png
index 15caac5..15caac5 100755..100644
--- a/src/gfx/boosterpacks/evolution1.png
+++ b/src/gfx/booster_packs/evolution1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/evolution2.t10.png b/src/gfx/booster_packs/evolution2.t10.png
index 09affa5..09affa5 100755..100644
--- a/src/gfx/boosterpacks/evolution2.t10.png
+++ b/src/gfx/booster_packs/evolution2.t10.png
Binary files differ
diff --git a/src/gfx/boosterpacks/laboratory1.png b/src/gfx/booster_packs/laboratory1.png
index 5444be5..5444be5 100755..100644
--- a/src/gfx/boosterpacks/laboratory1.png
+++ b/src/gfx/booster_packs/laboratory1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/laboratory2.t10.png b/src/gfx/booster_packs/laboratory2.t10.png
index 4feb880..4feb880 100755..100644
--- a/src/gfx/boosterpacks/laboratory2.t10.png
+++ b/src/gfx/booster_packs/laboratory2.t10.png
Binary files differ
diff --git a/src/gfx/boosterpacks/mystery1.png b/src/gfx/booster_packs/mystery1.png
index 06a5749..06a5749 100755..100644
--- a/src/gfx/boosterpacks/mystery1.png
+++ b/src/gfx/booster_packs/mystery1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/mystery2.t10.png b/src/gfx/booster_packs/mystery2.t10.png
index fc04dbf..fc04dbf 100755..100644
--- a/src/gfx/boosterpacks/mystery2.t10.png
+++ b/src/gfx/booster_packs/mystery2.t10.png
Binary files differ
diff --git a/src/gfx/boosterpacks/boosterpack_oam.png b/src/gfx/booster_packs/oam.png
index dcb3850..dcb3850 100755..100644
--- a/src/gfx/boosterpacks/boosterpack_oam.png
+++ b/src/gfx/booster_packs/oam.png
Binary files differ
diff --git a/src/gfx/cardpop1.t3.png b/src/gfx/cardpop/cardpop1.t3.png
index c607d8d..c607d8d 100755..100644
--- a/src/gfx/cardpop1.t3.png
+++ b/src/gfx/cardpop/cardpop1.t3.png
Binary files differ
diff --git a/src/gfx/cardpop2.t3.png b/src/gfx/cardpop/cardpop2.t3.png
index 75e5149..75e5149 100755..100644
--- a/src/gfx/cardpop2.t3.png
+++ b/src/gfx/cardpop/cardpop2.t3.png
Binary files differ
diff --git a/src/gfx/cardpop3.t3.png b/src/gfx/cardpop/cardpop3.t3.png
index 48bd233..48bd233 100755..100644
--- a/src/gfx/cardpop3.t3.png
+++ b/src/gfx/cardpop/cardpop3.t3.png
Binary files differ
diff --git a/src/gfx/cards/abra.8x6.png b/src/gfx/cards/abra.8x6.png
index 336068c..336068c 100755..100644
--- a/src/gfx/cards/abra.8x6.png
+++ b/src/gfx/cards/abra.8x6.png
Binary files differ
diff --git a/src/gfx/cards/aerodactyl.8x6.png b/src/gfx/cards/aerodactyl.8x6.png
index f250570..f250570 100755..100644
--- a/src/gfx/cards/aerodactyl.8x6.png
+++ b/src/gfx/cards/aerodactyl.8x6.png
Binary files differ
diff --git a/src/gfx/cards/alakazam.8x6.png b/src/gfx/cards/alakazam.8x6.png
index de51bc8..de51bc8 100755..100644
--- a/src/gfx/cards/alakazam.8x6.png
+++ b/src/gfx/cards/alakazam.8x6.png
Binary files differ
diff --git a/src/gfx/cards/arbok.8x6.png b/src/gfx/cards/arbok.8x6.png
index 4d0bccb..4d0bccb 100755..100644
--- a/src/gfx/cards/arbok.8x6.png
+++ b/src/gfx/cards/arbok.8x6.png
Binary files differ
diff --git a/src/gfx/cards/arcanine1.8x6.png b/src/gfx/cards/arcanine1.8x6.png
index 31cb8b0..31cb8b0 100755..100644
--- a/src/gfx/cards/arcanine1.8x6.png
+++ b/src/gfx/cards/arcanine1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/arcanine2.8x6.png b/src/gfx/cards/arcanine2.8x6.png
index 64fc0bd..64fc0bd 100755..100644
--- a/src/gfx/cards/arcanine2.8x6.png
+++ b/src/gfx/cards/arcanine2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/articuno1.8x6.png b/src/gfx/cards/articuno1.8x6.png
index f9c54c4..f9c54c4 100755..100644
--- a/src/gfx/cards/articuno1.8x6.png
+++ b/src/gfx/cards/articuno1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/articuno2.8x6.png b/src/gfx/cards/articuno2.8x6.png
index d7bdc49..d7bdc49 100755..100644
--- a/src/gfx/cards/articuno2.8x6.png
+++ b/src/gfx/cards/articuno2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/beedrill.8x6.png b/src/gfx/cards/beedrill.8x6.png
index ec6af50..ec6af50 100755..100644
--- a/src/gfx/cards/beedrill.8x6.png
+++ b/src/gfx/cards/beedrill.8x6.png
Binary files differ
diff --git a/src/gfx/cards/bellsprout.8x6.png b/src/gfx/cards/bellsprout.8x6.png
index 6dd6297..6dd6297 100755..100644
--- a/src/gfx/cards/bellsprout.8x6.png
+++ b/src/gfx/cards/bellsprout.8x6.png
Binary files differ
diff --git a/src/gfx/cards/bill.8x6.png b/src/gfx/cards/bill.8x6.png
index f730116..f730116 100755..100644
--- a/src/gfx/cards/bill.8x6.png
+++ b/src/gfx/cards/bill.8x6.png
Binary files differ
diff --git a/src/gfx/cards/blastoise.8x6.png b/src/gfx/cards/blastoise.8x6.png
index 68c7ddb..68c7ddb 100755..100644
--- a/src/gfx/cards/blastoise.8x6.png
+++ b/src/gfx/cards/blastoise.8x6.png
Binary files differ
diff --git a/src/gfx/cards/bulbasaur.8x6.png b/src/gfx/cards/bulbasaur.8x6.png
index fdb0552..fdb0552 100755..100644
--- a/src/gfx/cards/bulbasaur.8x6.png
+++ b/src/gfx/cards/bulbasaur.8x6.png
Binary files differ
diff --git a/src/gfx/cards/butterfree.8x6.png b/src/gfx/cards/butterfree.8x6.png
index 5c02eb1..5c02eb1 100755..100644
--- a/src/gfx/cards/butterfree.8x6.png
+++ b/src/gfx/cards/butterfree.8x6.png
Binary files differ
diff --git a/src/gfx/cards/caterpie.8x6.png b/src/gfx/cards/caterpie.8x6.png
index c1784e0..c1784e0 100755..100644
--- a/src/gfx/cards/caterpie.8x6.png
+++ b/src/gfx/cards/caterpie.8x6.png
Binary files differ
diff --git a/src/gfx/cards/chansey.8x6.png b/src/gfx/cards/chansey.8x6.png
index e63a246..e63a246 100755..100644
--- a/src/gfx/cards/chansey.8x6.png
+++ b/src/gfx/cards/chansey.8x6.png
Binary files differ
diff --git a/src/gfx/cards/charizard.8x6.png b/src/gfx/cards/charizard.8x6.png
index d5d22ef..d5d22ef 100755..100644
--- a/src/gfx/cards/charizard.8x6.png
+++ b/src/gfx/cards/charizard.8x6.png
Binary files differ
diff --git a/src/gfx/cards/charmander.8x6.png b/src/gfx/cards/charmander.8x6.png
index 7fadeaf..7fadeaf 100755..100644
--- a/src/gfx/cards/charmander.8x6.png
+++ b/src/gfx/cards/charmander.8x6.png
Binary files differ
diff --git a/src/gfx/cards/charmeleon.8x6.png b/src/gfx/cards/charmeleon.8x6.png
index c996d81..c996d81 100755..100644
--- a/src/gfx/cards/charmeleon.8x6.png
+++ b/src/gfx/cards/charmeleon.8x6.png
Binary files differ
diff --git a/src/gfx/cards/clefable.8x6.png b/src/gfx/cards/clefable.8x6.png
index 014b1b9..014b1b9 100755..100644
--- a/src/gfx/cards/clefable.8x6.png
+++ b/src/gfx/cards/clefable.8x6.png
Binary files differ
diff --git a/src/gfx/cards/clefairy.8x6.png b/src/gfx/cards/clefairy.8x6.png
index cfc66ef..cfc66ef 100755..100644
--- a/src/gfx/cards/clefairy.8x6.png
+++ b/src/gfx/cards/clefairy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/clefairydoll.8x6.png b/src/gfx/cards/clefairydoll.8x6.png
index c12f8c4..c12f8c4 100755..100644
--- a/src/gfx/cards/clefairydoll.8x6.png
+++ b/src/gfx/cards/clefairydoll.8x6.png
Binary files differ
diff --git a/src/gfx/cards/cloyster.8x6.png b/src/gfx/cards/cloyster.8x6.png
index 5f59e88..5f59e88 100755..100644
--- a/src/gfx/cards/cloyster.8x6.png
+++ b/src/gfx/cards/cloyster.8x6.png
Binary files differ
diff --git a/src/gfx/cards/computersearch.8x6.png b/src/gfx/cards/computersearch.8x6.png
index 79f1c78..79f1c78 100755..100644
--- a/src/gfx/cards/computersearch.8x6.png
+++ b/src/gfx/cards/computersearch.8x6.png
Binary files differ
diff --git a/src/gfx/cards/cubone.8x6.png b/src/gfx/cards/cubone.8x6.png
index 49d5b23..49d5b23 100755..100644
--- a/src/gfx/cards/cubone.8x6.png
+++ b/src/gfx/cards/cubone.8x6.png
Binary files differ
diff --git a/src/gfx/cards/defender.8x6.png b/src/gfx/cards/defender.8x6.png
index adde4fc..adde4fc 100755..100644
--- a/src/gfx/cards/defender.8x6.png
+++ b/src/gfx/cards/defender.8x6.png
Binary files differ
diff --git a/src/gfx/cards/devolutionspray.8x6.png b/src/gfx/cards/devolutionspray.8x6.png
index b3b69a4..b3b69a4 100755..100644
--- a/src/gfx/cards/devolutionspray.8x6.png
+++ b/src/gfx/cards/devolutionspray.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dewgong.8x6.png b/src/gfx/cards/dewgong.8x6.png
index c4be81b..c4be81b 100755..100644
--- a/src/gfx/cards/dewgong.8x6.png
+++ b/src/gfx/cards/dewgong.8x6.png
Binary files differ
diff --git a/src/gfx/cards/diglett.8x6.png b/src/gfx/cards/diglett.8x6.png
index cae6aef..cae6aef 100755..100644
--- a/src/gfx/cards/diglett.8x6.png
+++ b/src/gfx/cards/diglett.8x6.png
Binary files differ
diff --git a/src/gfx/cards/ditto.8x6.png b/src/gfx/cards/ditto.8x6.png
index 566dcf4..566dcf4 100755..100644
--- a/src/gfx/cards/ditto.8x6.png
+++ b/src/gfx/cards/ditto.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dodrio.8x6.png b/src/gfx/cards/dodrio.8x6.png
index 222bb79..222bb79 100755..100644
--- a/src/gfx/cards/dodrio.8x6.png
+++ b/src/gfx/cards/dodrio.8x6.png
Binary files differ
diff --git a/src/gfx/cards/doduo.8x6.png b/src/gfx/cards/doduo.8x6.png
index fad2467..fad2467 100755..100644
--- a/src/gfx/cards/doduo.8x6.png
+++ b/src/gfx/cards/doduo.8x6.png
Binary files differ
diff --git a/src/gfx/cards/doublecolorlessenergy.8x6.png b/src/gfx/cards/doublecolorlessenergy.8x6.png
index b3b367b..b3b367b 100755..100644
--- a/src/gfx/cards/doublecolorlessenergy.8x6.png
+++ b/src/gfx/cards/doublecolorlessenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dragonair.8x6.png b/src/gfx/cards/dragonair.8x6.png
index e0cf766..e0cf766 100755..100644
--- a/src/gfx/cards/dragonair.8x6.png
+++ b/src/gfx/cards/dragonair.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dragonite1.8x6.png b/src/gfx/cards/dragonite1.8x6.png
index 10c4ed9..10c4ed9 100755..100644
--- a/src/gfx/cards/dragonite1.8x6.png
+++ b/src/gfx/cards/dragonite1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dragonite2.8x6.png b/src/gfx/cards/dragonite2.8x6.png
index 9d15c00..9d15c00 100755..100644
--- a/src/gfx/cards/dragonite2.8x6.png
+++ b/src/gfx/cards/dragonite2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dratini.8x6.png b/src/gfx/cards/dratini.8x6.png
index 1c66ac3..1c66ac3 100755..100644
--- a/src/gfx/cards/dratini.8x6.png
+++ b/src/gfx/cards/dratini.8x6.png
Binary files differ
diff --git a/src/gfx/cards/drowzee.8x6.png b/src/gfx/cards/drowzee.8x6.png
index 3239903..3239903 100755..100644
--- a/src/gfx/cards/drowzee.8x6.png
+++ b/src/gfx/cards/drowzee.8x6.png
Binary files differ
diff --git a/src/gfx/cards/dugtrio.8x6.png b/src/gfx/cards/dugtrio.8x6.png
index bffe640..bffe640 100755..100644
--- a/src/gfx/cards/dugtrio.8x6.png
+++ b/src/gfx/cards/dugtrio.8x6.png
Binary files differ
diff --git a/src/gfx/cards/eevee.8x6.png b/src/gfx/cards/eevee.8x6.png
index 3114928..3114928 100755..100644
--- a/src/gfx/cards/eevee.8x6.png
+++ b/src/gfx/cards/eevee.8x6.png
Binary files differ
diff --git a/src/gfx/cards/ekans.8x6.png b/src/gfx/cards/ekans.8x6.png
index 416e073..416e073 100755..100644
--- a/src/gfx/cards/ekans.8x6.png
+++ b/src/gfx/cards/ekans.8x6.png
Binary files differ
diff --git a/src/gfx/cards/electabuzz1.8x6.png b/src/gfx/cards/electabuzz1.8x6.png
index 75ed8f5..75ed8f5 100755..100644
--- a/src/gfx/cards/electabuzz1.8x6.png
+++ b/src/gfx/cards/electabuzz1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/electabuzz2.8x6.png b/src/gfx/cards/electabuzz2.8x6.png
index 8ca64a8..8ca64a8 100755..100644
--- a/src/gfx/cards/electabuzz2.8x6.png
+++ b/src/gfx/cards/electabuzz2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/electrode1.8x6.png b/src/gfx/cards/electrode1.8x6.png
index cdc1fca..cdc1fca 100755..100644
--- a/src/gfx/cards/electrode1.8x6.png
+++ b/src/gfx/cards/electrode1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/electrode2.8x6.png b/src/gfx/cards/electrode2.8x6.png
index 29ccc8b..29ccc8b 100755..100644
--- a/src/gfx/cards/electrode2.8x6.png
+++ b/src/gfx/cards/electrode2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/energyremoval.8x6.png b/src/gfx/cards/energyremoval.8x6.png
index 1958df7..1958df7 100755..100644
--- a/src/gfx/cards/energyremoval.8x6.png
+++ b/src/gfx/cards/energyremoval.8x6.png
Binary files differ
diff --git a/src/gfx/cards/energyretrieval.8x6.png b/src/gfx/cards/energyretrieval.8x6.png
index 270f967..270f967 100755..100644
--- a/src/gfx/cards/energyretrieval.8x6.png
+++ b/src/gfx/cards/energyretrieval.8x6.png
Binary files differ
diff --git a/src/gfx/cards/energysearch.8x6.png b/src/gfx/cards/energysearch.8x6.png
index d5d5328..d5d5328 100755..100644
--- a/src/gfx/cards/energysearch.8x6.png
+++ b/src/gfx/cards/energysearch.8x6.png
Binary files differ
diff --git a/src/gfx/cards/exeggcute.8x6.png b/src/gfx/cards/exeggcute.8x6.png
index 585aa5d..585aa5d 100755..100644
--- a/src/gfx/cards/exeggcute.8x6.png
+++ b/src/gfx/cards/exeggcute.8x6.png
Binary files differ
diff --git a/src/gfx/cards/exeggutor.8x6.png b/src/gfx/cards/exeggutor.8x6.png
index 6687638..6687638 100755..100644
--- a/src/gfx/cards/exeggutor.8x6.png
+++ b/src/gfx/cards/exeggutor.8x6.png
Binary files differ
diff --git a/src/gfx/cards/farfetchd.8x6.png b/src/gfx/cards/farfetchd.8x6.png
index b156585..b156585 100755..100644
--- a/src/gfx/cards/farfetchd.8x6.png
+++ b/src/gfx/cards/farfetchd.8x6.png
Binary files differ
diff --git a/src/gfx/cards/fearow.8x6.png b/src/gfx/cards/fearow.8x6.png
index 25f0d12..25f0d12 100755..100644
--- a/src/gfx/cards/fearow.8x6.png
+++ b/src/gfx/cards/fearow.8x6.png
Binary files differ
diff --git a/src/gfx/cards/fightingenergy.8x6.png b/src/gfx/cards/fightingenergy.8x6.png
index 2c63c5b..2c63c5b 100755..100644
--- a/src/gfx/cards/fightingenergy.8x6.png
+++ b/src/gfx/cards/fightingenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/fireenergy.8x6.png b/src/gfx/cards/fireenergy.8x6.png
index 2cb3419..2cb3419 100755..100644
--- a/src/gfx/cards/fireenergy.8x6.png
+++ b/src/gfx/cards/fireenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/flareon1.8x6.png b/src/gfx/cards/flareon1.8x6.png
index eb5ebe3..eb5ebe3 100755..100644
--- a/src/gfx/cards/flareon1.8x6.png
+++ b/src/gfx/cards/flareon1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/flareon2.8x6.png b/src/gfx/cards/flareon2.8x6.png
index 6c32566..6c32566 100755..100644
--- a/src/gfx/cards/flareon2.8x6.png
+++ b/src/gfx/cards/flareon2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/flyingpikachu.8x6.png b/src/gfx/cards/flyingpikachu.8x6.png
index 14168a3..14168a3 100755..100644
--- a/src/gfx/cards/flyingpikachu.8x6.png
+++ b/src/gfx/cards/flyingpikachu.8x6.png
Binary files differ
diff --git a/src/gfx/cards/fullheal.8x6.png b/src/gfx/cards/fullheal.8x6.png
index 281cc20..281cc20 100755..100644
--- a/src/gfx/cards/fullheal.8x6.png
+++ b/src/gfx/cards/fullheal.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gambler.8x6.png b/src/gfx/cards/gambler.8x6.png
index 1aeb1e3..1aeb1e3 100755..100644
--- a/src/gfx/cards/gambler.8x6.png
+++ b/src/gfx/cards/gambler.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gastly1.8x6.png b/src/gfx/cards/gastly1.8x6.png
index 2a7bd88..2a7bd88 100755..100644
--- a/src/gfx/cards/gastly1.8x6.png
+++ b/src/gfx/cards/gastly1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gastly2.8x6.png b/src/gfx/cards/gastly2.8x6.png
index b9d56b2..b9d56b2 100755..100644
--- a/src/gfx/cards/gastly2.8x6.png
+++ b/src/gfx/cards/gastly2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gengar.8x6.png b/src/gfx/cards/gengar.8x6.png
index 53d9bf9..53d9bf9 100755..100644
--- a/src/gfx/cards/gengar.8x6.png
+++ b/src/gfx/cards/gengar.8x6.png
Binary files differ
diff --git a/src/gfx/cards/geodude.8x6.png b/src/gfx/cards/geodude.8x6.png
index 1c5a0fb..1c5a0fb 100755..100644
--- a/src/gfx/cards/geodude.8x6.png
+++ b/src/gfx/cards/geodude.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gloom.8x6.png b/src/gfx/cards/gloom.8x6.png
index 973001b..973001b 100755..100644
--- a/src/gfx/cards/gloom.8x6.png
+++ b/src/gfx/cards/gloom.8x6.png
Binary files differ
diff --git a/src/gfx/cards/golbat.8x6.png b/src/gfx/cards/golbat.8x6.png
index 342b48c..342b48c 100755..100644
--- a/src/gfx/cards/golbat.8x6.png
+++ b/src/gfx/cards/golbat.8x6.png
Binary files differ
diff --git a/src/gfx/cards/goldeen.8x6.png b/src/gfx/cards/goldeen.8x6.png
index 8427b7b..8427b7b 100755..100644
--- a/src/gfx/cards/goldeen.8x6.png
+++ b/src/gfx/cards/goldeen.8x6.png
Binary files differ
diff --git a/src/gfx/cards/golduck.8x6.png b/src/gfx/cards/golduck.8x6.png
index cdbdf51..cdbdf51 100755..100644
--- a/src/gfx/cards/golduck.8x6.png
+++ b/src/gfx/cards/golduck.8x6.png
Binary files differ
diff --git a/src/gfx/cards/golem.8x6.png b/src/gfx/cards/golem.8x6.png
index e64b911..e64b911 100755..100644
--- a/src/gfx/cards/golem.8x6.png
+++ b/src/gfx/cards/golem.8x6.png
Binary files differ
diff --git a/src/gfx/cards/grassenergy.8x6.png b/src/gfx/cards/grassenergy.8x6.png
index b9c482f..b9c482f 100755..100644
--- a/src/gfx/cards/grassenergy.8x6.png
+++ b/src/gfx/cards/grassenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/graveler.8x6.png b/src/gfx/cards/graveler.8x6.png
index 13a8892..13a8892 100755..100644
--- a/src/gfx/cards/graveler.8x6.png
+++ b/src/gfx/cards/graveler.8x6.png
Binary files differ
diff --git a/src/gfx/cards/grimer.8x6.png b/src/gfx/cards/grimer.8x6.png
index 19a6737..19a6737 100755..100644
--- a/src/gfx/cards/grimer.8x6.png
+++ b/src/gfx/cards/grimer.8x6.png
Binary files differ
diff --git a/src/gfx/cards/growlithe.8x6.png b/src/gfx/cards/growlithe.8x6.png
index 76ce33c..76ce33c 100755..100644
--- a/src/gfx/cards/growlithe.8x6.png
+++ b/src/gfx/cards/growlithe.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gustofwind.8x6.png b/src/gfx/cards/gustofwind.8x6.png
index 70de29d..70de29d 100755..100644
--- a/src/gfx/cards/gustofwind.8x6.png
+++ b/src/gfx/cards/gustofwind.8x6.png
Binary files differ
diff --git a/src/gfx/cards/gyarados.8x6.png b/src/gfx/cards/gyarados.8x6.png
index 20c5dac..20c5dac 100755..100644
--- a/src/gfx/cards/gyarados.8x6.png
+++ b/src/gfx/cards/gyarados.8x6.png
Binary files differ
diff --git a/src/gfx/cards/haunter1.8x6.png b/src/gfx/cards/haunter1.8x6.png
index 1dc1869..1dc1869 100755..100644
--- a/src/gfx/cards/haunter1.8x6.png
+++ b/src/gfx/cards/haunter1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/haunter2.8x6.png b/src/gfx/cards/haunter2.8x6.png
index ffb76a2..ffb76a2 100755..100644
--- a/src/gfx/cards/haunter2.8x6.png
+++ b/src/gfx/cards/haunter2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/hitmonchan.8x6.png b/src/gfx/cards/hitmonchan.8x6.png
index e9869ac..e9869ac 100755..100644
--- a/src/gfx/cards/hitmonchan.8x6.png
+++ b/src/gfx/cards/hitmonchan.8x6.png
Binary files differ
diff --git a/src/gfx/cards/hitmonlee.8x6.png b/src/gfx/cards/hitmonlee.8x6.png
index e67fe78..e67fe78 100755..100644
--- a/src/gfx/cards/hitmonlee.8x6.png
+++ b/src/gfx/cards/hitmonlee.8x6.png
Binary files differ
diff --git a/src/gfx/cards/horsea.8x6.png b/src/gfx/cards/horsea.8x6.png
index 19a95d8..19a95d8 100755..100644
--- a/src/gfx/cards/horsea.8x6.png
+++ b/src/gfx/cards/horsea.8x6.png
Binary files differ
diff --git a/src/gfx/cards/hypno.8x6.png b/src/gfx/cards/hypno.8x6.png
index e58a6c2..e58a6c2 100755..100644
--- a/src/gfx/cards/hypno.8x6.png
+++ b/src/gfx/cards/hypno.8x6.png
Binary files differ
diff --git a/src/gfx/cards/imakuni.8x6.png b/src/gfx/cards/imakuni.8x6.png
index ff95e64..ff95e64 100755..100644
--- a/src/gfx/cards/imakuni.8x6.png
+++ b/src/gfx/cards/imakuni.8x6.png
Binary files differ
diff --git a/src/gfx/cards/imposterprofessoroak.8x6.png b/src/gfx/cards/imposterprofessoroak.8x6.png
index 2f78301..2f78301 100755..100644
--- a/src/gfx/cards/imposterprofessoroak.8x6.png
+++ b/src/gfx/cards/imposterprofessoroak.8x6.png
Binary files differ
diff --git a/src/gfx/cards/itemfinder.8x6.png b/src/gfx/cards/itemfinder.8x6.png
index 3ba1499..3ba1499 100755..100644
--- a/src/gfx/cards/itemfinder.8x6.png
+++ b/src/gfx/cards/itemfinder.8x6.png
Binary files differ
diff --git a/src/gfx/cards/ivysaur.8x6.png b/src/gfx/cards/ivysaur.8x6.png
index 4220b52..4220b52 100755..100644
--- a/src/gfx/cards/ivysaur.8x6.png
+++ b/src/gfx/cards/ivysaur.8x6.png
Binary files differ
diff --git a/src/gfx/cards/jigglypuff1.8x6.png b/src/gfx/cards/jigglypuff1.8x6.png
index 0986137..0986137 100755..100644
--- a/src/gfx/cards/jigglypuff1.8x6.png
+++ b/src/gfx/cards/jigglypuff1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/jigglypuff2.8x6.png b/src/gfx/cards/jigglypuff2.8x6.png
index 8fb626e..8fb626e 100755..100644
--- a/src/gfx/cards/jigglypuff2.8x6.png
+++ b/src/gfx/cards/jigglypuff2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/jigglypuff3.8x6.png b/src/gfx/cards/jigglypuff3.8x6.png
index b67b5ba..b67b5ba 100755..100644
--- a/src/gfx/cards/jigglypuff3.8x6.png
+++ b/src/gfx/cards/jigglypuff3.8x6.png
Binary files differ
diff --git a/src/gfx/cards/jolteon1.8x6.png b/src/gfx/cards/jolteon1.8x6.png
index 81d403b..81d403b 100755..100644
--- a/src/gfx/cards/jolteon1.8x6.png
+++ b/src/gfx/cards/jolteon1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/jolteon2.8x6.png b/src/gfx/cards/jolteon2.8x6.png
index 308966c..308966c 100755..100644
--- a/src/gfx/cards/jolteon2.8x6.png
+++ b/src/gfx/cards/jolteon2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/jynx.8x6.png b/src/gfx/cards/jynx.8x6.png
index 048ae21..048ae21 100755..100644
--- a/src/gfx/cards/jynx.8x6.png
+++ b/src/gfx/cards/jynx.8x6.png
Binary files differ
diff --git a/src/gfx/cards/kabuto.8x6.png b/src/gfx/cards/kabuto.8x6.png
index 3ebcaf7..3ebcaf7 100755..100644
--- a/src/gfx/cards/kabuto.8x6.png
+++ b/src/gfx/cards/kabuto.8x6.png
Binary files differ
diff --git a/src/gfx/cards/kabutops.8x6.png b/src/gfx/cards/kabutops.8x6.png
index 4efff6b..4efff6b 100755..100644
--- a/src/gfx/cards/kabutops.8x6.png
+++ b/src/gfx/cards/kabutops.8x6.png
Binary files differ
diff --git a/src/gfx/cards/kadabra.8x6.png b/src/gfx/cards/kadabra.8x6.png
index fe66443..fe66443 100755..100644
--- a/src/gfx/cards/kadabra.8x6.png
+++ b/src/gfx/cards/kadabra.8x6.png
Binary files differ
diff --git a/src/gfx/cards/kakuna.8x6.png b/src/gfx/cards/kakuna.8x6.png
index 9739a1b..9739a1b 100755..100644
--- a/src/gfx/cards/kakuna.8x6.png
+++ b/src/gfx/cards/kakuna.8x6.png
Binary files differ
diff --git a/src/gfx/cards/kangaskhan.8x6.png b/src/gfx/cards/kangaskhan.8x6.png
index 192fba2..192fba2 100755..100644
--- a/src/gfx/cards/kangaskhan.8x6.png
+++ b/src/gfx/cards/kangaskhan.8x6.png
Binary files differ
diff --git a/src/gfx/cards/kingler.8x6.png b/src/gfx/cards/kingler.8x6.png
index 19966d9..19966d9 100755..100644
--- a/src/gfx/cards/kingler.8x6.png
+++ b/src/gfx/cards/kingler.8x6.png
Binary files differ
diff --git a/src/gfx/cards/koffing.8x6.png b/src/gfx/cards/koffing.8x6.png
index cda1a9d..cda1a9d 100755..100644
--- a/src/gfx/cards/koffing.8x6.png
+++ b/src/gfx/cards/koffing.8x6.png
Binary files differ
diff --git a/src/gfx/cards/krabby.8x6.png b/src/gfx/cards/krabby.8x6.png
index 5dda9a9..5dda9a9 100755..100644
--- a/src/gfx/cards/krabby.8x6.png
+++ b/src/gfx/cards/krabby.8x6.png
Binary files differ
diff --git a/src/gfx/cards/lapras.8x6.png b/src/gfx/cards/lapras.8x6.png
index 2212622..2212622 100755..100644
--- a/src/gfx/cards/lapras.8x6.png
+++ b/src/gfx/cards/lapras.8x6.png
Binary files differ
diff --git a/src/gfx/cards/lass.8x6.png b/src/gfx/cards/lass.8x6.png
index aad9f17..aad9f17 100755..100644
--- a/src/gfx/cards/lass.8x6.png
+++ b/src/gfx/cards/lass.8x6.png
Binary files differ
diff --git a/src/gfx/cards/lickitung.8x6.png b/src/gfx/cards/lickitung.8x6.png
index 857e21a..857e21a 100755..100644
--- a/src/gfx/cards/lickitung.8x6.png
+++ b/src/gfx/cards/lickitung.8x6.png
Binary files differ
diff --git a/src/gfx/cards/lightningenergy.8x6.png b/src/gfx/cards/lightningenergy.8x6.png
index 3fdc83c..3fdc83c 100755..100644
--- a/src/gfx/cards/lightningenergy.8x6.png
+++ b/src/gfx/cards/lightningenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/machamp.8x6.png b/src/gfx/cards/machamp.8x6.png
index 55f52fb..55f52fb 100755..100644
--- a/src/gfx/cards/machamp.8x6.png
+++ b/src/gfx/cards/machamp.8x6.png
Binary files differ
diff --git a/src/gfx/cards/machoke.8x6.png b/src/gfx/cards/machoke.8x6.png
index 943d13a..943d13a 100755..100644
--- a/src/gfx/cards/machoke.8x6.png
+++ b/src/gfx/cards/machoke.8x6.png
Binary files differ
diff --git a/src/gfx/cards/machop.8x6.png b/src/gfx/cards/machop.8x6.png
index 256a710..256a710 100755..100644
--- a/src/gfx/cards/machop.8x6.png
+++ b/src/gfx/cards/machop.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magikarp.8x6.png b/src/gfx/cards/magikarp.8x6.png
index 0f40b78..0f40b78 100755..100644
--- a/src/gfx/cards/magikarp.8x6.png
+++ b/src/gfx/cards/magikarp.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magmar1.8x6.png b/src/gfx/cards/magmar1.8x6.png
index 571bdc6..571bdc6 100755..100644
--- a/src/gfx/cards/magmar1.8x6.png
+++ b/src/gfx/cards/magmar1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magmar2.8x6.png b/src/gfx/cards/magmar2.8x6.png
index 64cd043..64cd043 100755..100644
--- a/src/gfx/cards/magmar2.8x6.png
+++ b/src/gfx/cards/magmar2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magnemite1.8x6.png b/src/gfx/cards/magnemite1.8x6.png
index d81dfb3..d81dfb3 100755..100644
--- a/src/gfx/cards/magnemite1.8x6.png
+++ b/src/gfx/cards/magnemite1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magnemite2.8x6.png b/src/gfx/cards/magnemite2.8x6.png
index 8cb3f4d..8cb3f4d 100755..100644
--- a/src/gfx/cards/magnemite2.8x6.png
+++ b/src/gfx/cards/magnemite2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magneton1.8x6.png b/src/gfx/cards/magneton1.8x6.png
index efcc9f9..efcc9f9 100755..100644
--- a/src/gfx/cards/magneton1.8x6.png
+++ b/src/gfx/cards/magneton1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/magneton2.8x6.png b/src/gfx/cards/magneton2.8x6.png
index e20b2f4..e20b2f4 100755..100644
--- a/src/gfx/cards/magneton2.8x6.png
+++ b/src/gfx/cards/magneton2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/maintenance.8x6.png b/src/gfx/cards/maintenance.8x6.png
index 915487a..915487a 100755..100644
--- a/src/gfx/cards/maintenance.8x6.png
+++ b/src/gfx/cards/maintenance.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mankey.8x6.png b/src/gfx/cards/mankey.8x6.png
index 06b4ab3..06b4ab3 100755..100644
--- a/src/gfx/cards/mankey.8x6.png
+++ b/src/gfx/cards/mankey.8x6.png
Binary files differ
diff --git a/src/gfx/cards/marowak1.8x6.png b/src/gfx/cards/marowak1.8x6.png
index 10d6eca..10d6eca 100755..100644
--- a/src/gfx/cards/marowak1.8x6.png
+++ b/src/gfx/cards/marowak1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/marowak2.8x6.png b/src/gfx/cards/marowak2.8x6.png
index a7023bc..a7023bc 100755..100644
--- a/src/gfx/cards/marowak2.8x6.png
+++ b/src/gfx/cards/marowak2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/meowth1.8x6.png b/src/gfx/cards/meowth1.8x6.png
index 3225611..3225611 100755..100644
--- a/src/gfx/cards/meowth1.8x6.png
+++ b/src/gfx/cards/meowth1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/meowth2.8x6.png b/src/gfx/cards/meowth2.8x6.png
index 6dd0c10..6dd0c10 100755..100644
--- a/src/gfx/cards/meowth2.8x6.png
+++ b/src/gfx/cards/meowth2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/metapod.8x6.png b/src/gfx/cards/metapod.8x6.png
index 3c1df91..3c1df91 100755..100644
--- a/src/gfx/cards/metapod.8x6.png
+++ b/src/gfx/cards/metapod.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mew1.8x6.png b/src/gfx/cards/mew1.8x6.png
index aa5e5d5..aa5e5d5 100755..100644
--- a/src/gfx/cards/mew1.8x6.png
+++ b/src/gfx/cards/mew1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mew2.8x6.png b/src/gfx/cards/mew2.8x6.png
index 8658006..8658006 100755..100644
--- a/src/gfx/cards/mew2.8x6.png
+++ b/src/gfx/cards/mew2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mew3.8x6.png b/src/gfx/cards/mew3.8x6.png
index 189a97b..189a97b 100755..100644
--- a/src/gfx/cards/mew3.8x6.png
+++ b/src/gfx/cards/mew3.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mewtwo1.8x6.png b/src/gfx/cards/mewtwo1.8x6.png
index b5566c5..b5566c5 100755..100644
--- a/src/gfx/cards/mewtwo1.8x6.png
+++ b/src/gfx/cards/mewtwo1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mewtwo2.8x6.png b/src/gfx/cards/mewtwo2.8x6.png
index 9f36308..9f36308 100755..100644
--- a/src/gfx/cards/mewtwo2.8x6.png
+++ b/src/gfx/cards/mewtwo2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mewtwo3.8x6.png b/src/gfx/cards/mewtwo3.8x6.png
index bbe8c6e..bbe8c6e 100755..100644
--- a/src/gfx/cards/mewtwo3.8x6.png
+++ b/src/gfx/cards/mewtwo3.8x6.png
Binary files differ
diff --git a/src/gfx/cards/moltres1.8x6.png b/src/gfx/cards/moltres1.8x6.png
index cc867ea..cc867ea 100755..100644
--- a/src/gfx/cards/moltres1.8x6.png
+++ b/src/gfx/cards/moltres1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/moltres2.8x6.png b/src/gfx/cards/moltres2.8x6.png
index 220cbee..220cbee 100755..100644
--- a/src/gfx/cards/moltres2.8x6.png
+++ b/src/gfx/cards/moltres2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mrfuji.8x6.png b/src/gfx/cards/mrfuji.8x6.png
index f012d07..f012d07 100755..100644
--- a/src/gfx/cards/mrfuji.8x6.png
+++ b/src/gfx/cards/mrfuji.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mrmime.8x6.png b/src/gfx/cards/mrmime.8x6.png
index 2c16ea4..2c16ea4 100755..100644
--- a/src/gfx/cards/mrmime.8x6.png
+++ b/src/gfx/cards/mrmime.8x6.png
Binary files differ
diff --git a/src/gfx/cards/muk.8x6.png b/src/gfx/cards/muk.8x6.png
index 972d445..972d445 100755..100644
--- a/src/gfx/cards/muk.8x6.png
+++ b/src/gfx/cards/muk.8x6.png
Binary files differ
diff --git a/src/gfx/cards/mysteriousfossil.8x6.png b/src/gfx/cards/mysteriousfossil.8x6.png
index 93752fc..93752fc 100755..100644
--- a/src/gfx/cards/mysteriousfossil.8x6.png
+++ b/src/gfx/cards/mysteriousfossil.8x6.png
Binary files differ
diff --git a/src/gfx/cards/nidoking.8x6.png b/src/gfx/cards/nidoking.8x6.png
index eff3ccf..eff3ccf 100755..100644
--- a/src/gfx/cards/nidoking.8x6.png
+++ b/src/gfx/cards/nidoking.8x6.png
Binary files differ
diff --git a/src/gfx/cards/nidoqueen.8x6.png b/src/gfx/cards/nidoqueen.8x6.png
index 5c67daa..5c67daa 100755..100644
--- a/src/gfx/cards/nidoqueen.8x6.png
+++ b/src/gfx/cards/nidoqueen.8x6.png
Binary files differ
diff --git a/src/gfx/cards/nidoranf.8x6.png b/src/gfx/cards/nidoranf.8x6.png
index 17de19e..17de19e 100755..100644
--- a/src/gfx/cards/nidoranf.8x6.png
+++ b/src/gfx/cards/nidoranf.8x6.png
Binary files differ
diff --git a/src/gfx/cards/nidoranm.8x6.png b/src/gfx/cards/nidoranm.8x6.png
index 00718d9..00718d9 100755..100644
--- a/src/gfx/cards/nidoranm.8x6.png
+++ b/src/gfx/cards/nidoranm.8x6.png
Binary files differ
diff --git a/src/gfx/cards/nidorina.8x6.png b/src/gfx/cards/nidorina.8x6.png
index c879610..c879610 100755..100644
--- a/src/gfx/cards/nidorina.8x6.png
+++ b/src/gfx/cards/nidorina.8x6.png
Binary files differ
diff --git a/src/gfx/cards/nidorino.8x6.png b/src/gfx/cards/nidorino.8x6.png
index 65f851c..65f851c 100755..100644
--- a/src/gfx/cards/nidorino.8x6.png
+++ b/src/gfx/cards/nidorino.8x6.png
Binary files differ
diff --git a/src/gfx/cards/ninetails1.8x6.png b/src/gfx/cards/ninetails1.8x6.png
index eba870d..eba870d 100755..100644
--- a/src/gfx/cards/ninetails1.8x6.png
+++ b/src/gfx/cards/ninetails1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/ninetails2.8x6.png b/src/gfx/cards/ninetails2.8x6.png
index 2003e52..2003e52 100755..100644
--- a/src/gfx/cards/ninetails2.8x6.png
+++ b/src/gfx/cards/ninetails2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/oddish.8x6.png b/src/gfx/cards/oddish.8x6.png
index b37f1c0..b37f1c0 100755..100644
--- a/src/gfx/cards/oddish.8x6.png
+++ b/src/gfx/cards/oddish.8x6.png
Binary files differ
diff --git a/src/gfx/cards/omanyte.8x6.png b/src/gfx/cards/omanyte.8x6.png
index b56b359..b56b359 100755..100644
--- a/src/gfx/cards/omanyte.8x6.png
+++ b/src/gfx/cards/omanyte.8x6.png
Binary files differ
diff --git a/src/gfx/cards/omastar.8x6.png b/src/gfx/cards/omastar.8x6.png
index ba090fc..ba090fc 100755..100644
--- a/src/gfx/cards/omastar.8x6.png
+++ b/src/gfx/cards/omastar.8x6.png
Binary files differ
diff --git a/src/gfx/cards/onix.8x6.png b/src/gfx/cards/onix.8x6.png
index 5d48c2c..5d48c2c 100755..100644
--- a/src/gfx/cards/onix.8x6.png
+++ b/src/gfx/cards/onix.8x6.png
Binary files differ
diff --git a/src/gfx/cards/paras.8x6.png b/src/gfx/cards/paras.8x6.png
index 6054beb..6054beb 100755..100644
--- a/src/gfx/cards/paras.8x6.png
+++ b/src/gfx/cards/paras.8x6.png
Binary files differ
diff --git a/src/gfx/cards/parasect.8x6.png b/src/gfx/cards/parasect.8x6.png
index 3c772f4..3c772f4 100755..100644
--- a/src/gfx/cards/parasect.8x6.png
+++ b/src/gfx/cards/parasect.8x6.png
Binary files differ
diff --git a/src/gfx/cards/persian.8x6.png b/src/gfx/cards/persian.8x6.png
index 0cdc9ee..0cdc9ee 100755..100644
--- a/src/gfx/cards/persian.8x6.png
+++ b/src/gfx/cards/persian.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pidgeot1.8x6.png b/src/gfx/cards/pidgeot1.8x6.png
index 4f3422a..4f3422a 100755..100644
--- a/src/gfx/cards/pidgeot1.8x6.png
+++ b/src/gfx/cards/pidgeot1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pidgeot2.8x6.png b/src/gfx/cards/pidgeot2.8x6.png
index ede4ad5..ede4ad5 100755..100644
--- a/src/gfx/cards/pidgeot2.8x6.png
+++ b/src/gfx/cards/pidgeot2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pidgeotto.8x6.png b/src/gfx/cards/pidgeotto.8x6.png
index ec7e03d..ec7e03d 100755..100644
--- a/src/gfx/cards/pidgeotto.8x6.png
+++ b/src/gfx/cards/pidgeotto.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pidgey.8x6.png b/src/gfx/cards/pidgey.8x6.png
index 5fc97a5..5fc97a5 100755..100644
--- a/src/gfx/cards/pidgey.8x6.png
+++ b/src/gfx/cards/pidgey.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pikachu1.8x6.png b/src/gfx/cards/pikachu1.8x6.png
index 5696eb2..5696eb2 100755..100644
--- a/src/gfx/cards/pikachu1.8x6.png
+++ b/src/gfx/cards/pikachu1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pikachu2.8x6.png b/src/gfx/cards/pikachu2.8x6.png
index b97b530..b97b530 100755..100644
--- a/src/gfx/cards/pikachu2.8x6.png
+++ b/src/gfx/cards/pikachu2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pikachu3.8x6.png b/src/gfx/cards/pikachu3.8x6.png
index 4dec614..4dec614 100755..100644
--- a/src/gfx/cards/pikachu3.8x6.png
+++ b/src/gfx/cards/pikachu3.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pikachu4.8x6.png b/src/gfx/cards/pikachu4.8x6.png
index b355807..b355807 100755..100644
--- a/src/gfx/cards/pikachu4.8x6.png
+++ b/src/gfx/cards/pikachu4.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pinsir.8x6.png b/src/gfx/cards/pinsir.8x6.png
index 1e23b81..1e23b81 100755..100644
--- a/src/gfx/cards/pinsir.8x6.png
+++ b/src/gfx/cards/pinsir.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pluspower.8x6.png b/src/gfx/cards/pluspower.8x6.png
index efb4b1c..efb4b1c 100755..100644
--- a/src/gfx/cards/pluspower.8x6.png
+++ b/src/gfx/cards/pluspower.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pokeball.8x6.png b/src/gfx/cards/pokeball.8x6.png
index bd99dfd..bd99dfd 100755..100644
--- a/src/gfx/cards/pokeball.8x6.png
+++ b/src/gfx/cards/pokeball.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pokedex.8x6.png b/src/gfx/cards/pokedex.8x6.png
index 970be3e..970be3e 100755..100644
--- a/src/gfx/cards/pokedex.8x6.png
+++ b/src/gfx/cards/pokedex.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pokemonbreeder.8x6.png b/src/gfx/cards/pokemonbreeder.8x6.png
index 0661bde..0661bde 100755..100644
--- a/src/gfx/cards/pokemonbreeder.8x6.png
+++ b/src/gfx/cards/pokemonbreeder.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pokemoncenter.8x6.png b/src/gfx/cards/pokemoncenter.8x6.png
index 2ddffb8..2ddffb8 100755..100644
--- a/src/gfx/cards/pokemoncenter.8x6.png
+++ b/src/gfx/cards/pokemoncenter.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pokemonflute.8x6.png b/src/gfx/cards/pokemonflute.8x6.png
index f9cb9df..f9cb9df 100755..100644
--- a/src/gfx/cards/pokemonflute.8x6.png
+++ b/src/gfx/cards/pokemonflute.8x6.png
Binary files differ
diff --git a/src/gfx/cards/pokemontrader.8x6.png b/src/gfx/cards/pokemontrader.8x6.png
index c35959d..c35959d 100755..100644
--- a/src/gfx/cards/pokemontrader.8x6.png
+++ b/src/gfx/cards/pokemontrader.8x6.png
Binary files differ
diff --git a/src/gfx/cards/poliwag.8x6.png b/src/gfx/cards/poliwag.8x6.png
index e555007..e555007 100755..100644
--- a/src/gfx/cards/poliwag.8x6.png
+++ b/src/gfx/cards/poliwag.8x6.png
Binary files differ
diff --git a/src/gfx/cards/poliwhirl.8x6.png b/src/gfx/cards/poliwhirl.8x6.png
index bf73eca..bf73eca 100755..100644
--- a/src/gfx/cards/poliwhirl.8x6.png
+++ b/src/gfx/cards/poliwhirl.8x6.png
Binary files differ
diff --git a/src/gfx/cards/poliwrath.8x6.png b/src/gfx/cards/poliwrath.8x6.png
index d4af8a2..d4af8a2 100755..100644
--- a/src/gfx/cards/poliwrath.8x6.png
+++ b/src/gfx/cards/poliwrath.8x6.png
Binary files differ
diff --git a/src/gfx/cards/ponyta.8x6.png b/src/gfx/cards/ponyta.8x6.png
index 051665a..051665a 100755..100644
--- a/src/gfx/cards/ponyta.8x6.png
+++ b/src/gfx/cards/ponyta.8x6.png
Binary files differ
diff --git a/src/gfx/cards/porygon.8x6.png b/src/gfx/cards/porygon.8x6.png
index bd21d61..bd21d61 100755..100644
--- a/src/gfx/cards/porygon.8x6.png
+++ b/src/gfx/cards/porygon.8x6.png
Binary files differ
diff --git a/src/gfx/cards/potion.8x6.png b/src/gfx/cards/potion.8x6.png
index 2ea8805..2ea8805 100755..100644
--- a/src/gfx/cards/potion.8x6.png
+++ b/src/gfx/cards/potion.8x6.png
Binary files differ
diff --git a/src/gfx/cards/primeape.8x6.png b/src/gfx/cards/primeape.8x6.png
index 6b3186d..6b3186d 100755..100644
--- a/src/gfx/cards/primeape.8x6.png
+++ b/src/gfx/cards/primeape.8x6.png
Binary files differ
diff --git a/src/gfx/cards/professoroak.8x6.png b/src/gfx/cards/professoroak.8x6.png
index 1073c5a..1073c5a 100755..100644
--- a/src/gfx/cards/professoroak.8x6.png
+++ b/src/gfx/cards/professoroak.8x6.png
Binary files differ
diff --git a/src/gfx/cards/psychicenergy.8x6.png b/src/gfx/cards/psychicenergy.8x6.png
index d2ed9ab..d2ed9ab 100755..100644
--- a/src/gfx/cards/psychicenergy.8x6.png
+++ b/src/gfx/cards/psychicenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/psyduck.8x6.png b/src/gfx/cards/psyduck.8x6.png
index 22f2188..22f2188 100755..100644
--- a/src/gfx/cards/psyduck.8x6.png
+++ b/src/gfx/cards/psyduck.8x6.png
Binary files differ
diff --git a/src/gfx/cards/raichu1.8x6.png b/src/gfx/cards/raichu1.8x6.png
index 84aa606..84aa606 100755..100644
--- a/src/gfx/cards/raichu1.8x6.png
+++ b/src/gfx/cards/raichu1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/raichu2.8x6.png b/src/gfx/cards/raichu2.8x6.png
index 708699a..708699a 100755..100644
--- a/src/gfx/cards/raichu2.8x6.png
+++ b/src/gfx/cards/raichu2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/rapidash.8x6.png b/src/gfx/cards/rapidash.8x6.png
index 0ae1186..0ae1186 100755..100644
--- a/src/gfx/cards/rapidash.8x6.png
+++ b/src/gfx/cards/rapidash.8x6.png
Binary files differ
diff --git a/src/gfx/cards/raticate.8x6.png b/src/gfx/cards/raticate.8x6.png
index 8c79e7f..8c79e7f 100755..100644
--- a/src/gfx/cards/raticate.8x6.png
+++ b/src/gfx/cards/raticate.8x6.png
Binary files differ
diff --git a/src/gfx/cards/rattata.8x6.png b/src/gfx/cards/rattata.8x6.png
index 2bf4f19..2bf4f19 100755..100644
--- a/src/gfx/cards/rattata.8x6.png
+++ b/src/gfx/cards/rattata.8x6.png
Binary files differ
diff --git a/src/gfx/cards/recycle.8x6.png b/src/gfx/cards/recycle.8x6.png
index e7e809c..e7e809c 100755..100644
--- a/src/gfx/cards/recycle.8x6.png
+++ b/src/gfx/cards/recycle.8x6.png
Binary files differ
diff --git a/src/gfx/cards/revive.8x6.png b/src/gfx/cards/revive.8x6.png
index 6cf1afa..6cf1afa 100755..100644
--- a/src/gfx/cards/revive.8x6.png
+++ b/src/gfx/cards/revive.8x6.png
Binary files differ
diff --git a/src/gfx/cards/rhydon.8x6.png b/src/gfx/cards/rhydon.8x6.png
index c420a66..c420a66 100755..100644
--- a/src/gfx/cards/rhydon.8x6.png
+++ b/src/gfx/cards/rhydon.8x6.png
Binary files differ
diff --git a/src/gfx/cards/rhyhorn.8x6.png b/src/gfx/cards/rhyhorn.8x6.png
index 591f7b5..591f7b5 100755..100644
--- a/src/gfx/cards/rhyhorn.8x6.png
+++ b/src/gfx/cards/rhyhorn.8x6.png
Binary files differ
diff --git a/src/gfx/cards/sandshrew.8x6.png b/src/gfx/cards/sandshrew.8x6.png
index db01d0c..db01d0c 100755..100644
--- a/src/gfx/cards/sandshrew.8x6.png
+++ b/src/gfx/cards/sandshrew.8x6.png
Binary files differ
diff --git a/src/gfx/cards/sandslash.8x6.png b/src/gfx/cards/sandslash.8x6.png
index 438b2e2..438b2e2 100755..100644
--- a/src/gfx/cards/sandslash.8x6.png
+++ b/src/gfx/cards/sandslash.8x6.png
Binary files differ
diff --git a/src/gfx/cards/scoopup.8x6.png b/src/gfx/cards/scoopup.8x6.png
index 3e75ec7..3e75ec7 100755..100644
--- a/src/gfx/cards/scoopup.8x6.png
+++ b/src/gfx/cards/scoopup.8x6.png
Binary files differ
diff --git a/src/gfx/cards/scyther.8x6.png b/src/gfx/cards/scyther.8x6.png
index 85d9255..85d9255 100755..100644
--- a/src/gfx/cards/scyther.8x6.png
+++ b/src/gfx/cards/scyther.8x6.png
Binary files differ
diff --git a/src/gfx/cards/seadra.8x6.png b/src/gfx/cards/seadra.8x6.png
index 168eb4e..168eb4e 100755..100644
--- a/src/gfx/cards/seadra.8x6.png
+++ b/src/gfx/cards/seadra.8x6.png
Binary files differ
diff --git a/src/gfx/cards/seaking.8x6.png b/src/gfx/cards/seaking.8x6.png
index ada6702..ada6702 100755..100644
--- a/src/gfx/cards/seaking.8x6.png
+++ b/src/gfx/cards/seaking.8x6.png
Binary files differ
diff --git a/src/gfx/cards/seel.8x6.png b/src/gfx/cards/seel.8x6.png
index 9face9f..9face9f 100755..100644
--- a/src/gfx/cards/seel.8x6.png
+++ b/src/gfx/cards/seel.8x6.png
Binary files differ
diff --git a/src/gfx/cards/shellder.8x6.png b/src/gfx/cards/shellder.8x6.png
index ad49832..ad49832 100755..100644
--- a/src/gfx/cards/shellder.8x6.png
+++ b/src/gfx/cards/shellder.8x6.png
Binary files differ
diff --git a/src/gfx/cards/slowbro.8x6.png b/src/gfx/cards/slowbro.8x6.png
index ad59fd6..ad59fd6 100755..100644
--- a/src/gfx/cards/slowbro.8x6.png
+++ b/src/gfx/cards/slowbro.8x6.png
Binary files differ
diff --git a/src/gfx/cards/slowpoke1.8x6.png b/src/gfx/cards/slowpoke1.8x6.png
index a74d1a4..a74d1a4 100755..100644
--- a/src/gfx/cards/slowpoke1.8x6.png
+++ b/src/gfx/cards/slowpoke1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/slowpoke2.8x6.png b/src/gfx/cards/slowpoke2.8x6.png
index 834cf05..834cf05 100755..100644
--- a/src/gfx/cards/slowpoke2.8x6.png
+++ b/src/gfx/cards/slowpoke2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/snorlax.8x6.png b/src/gfx/cards/snorlax.8x6.png
index 4eb26a4..4eb26a4 100755..100644
--- a/src/gfx/cards/snorlax.8x6.png
+++ b/src/gfx/cards/snorlax.8x6.png
Binary files differ
diff --git a/src/gfx/cards/spearow.8x6.png b/src/gfx/cards/spearow.8x6.png
index f76c643..f76c643 100755..100644
--- a/src/gfx/cards/spearow.8x6.png
+++ b/src/gfx/cards/spearow.8x6.png
Binary files differ
diff --git a/src/gfx/cards/squirtle.8x6.png b/src/gfx/cards/squirtle.8x6.png
index e8907eb..e8907eb 100755..100644
--- a/src/gfx/cards/squirtle.8x6.png
+++ b/src/gfx/cards/squirtle.8x6.png
Binary files differ
diff --git a/src/gfx/cards/starmie.8x6.png b/src/gfx/cards/starmie.8x6.png
index 5e4c0b1..5e4c0b1 100755..100644
--- a/src/gfx/cards/starmie.8x6.png
+++ b/src/gfx/cards/starmie.8x6.png
Binary files differ
diff --git a/src/gfx/cards/staryu.8x6.png b/src/gfx/cards/staryu.8x6.png
index 1e63f1c..1e63f1c 100755..100644
--- a/src/gfx/cards/staryu.8x6.png
+++ b/src/gfx/cards/staryu.8x6.png
Binary files differ
diff --git a/src/gfx/cards/superenergyremoval.8x6.png b/src/gfx/cards/superenergyremoval.8x6.png
index f71ac87..f71ac87 100755..100644
--- a/src/gfx/cards/superenergyremoval.8x6.png
+++ b/src/gfx/cards/superenergyremoval.8x6.png
Binary files differ
diff --git a/src/gfx/cards/superenergyretrieval.8x6.png b/src/gfx/cards/superenergyretrieval.8x6.png
index be4c186..be4c186 100755..100644
--- a/src/gfx/cards/superenergyretrieval.8x6.png
+++ b/src/gfx/cards/superenergyretrieval.8x6.png
Binary files differ
diff --git a/src/gfx/cards/superpotion.8x6.png b/src/gfx/cards/superpotion.8x6.png
index b476aba..b476aba 100755..100644
--- a/src/gfx/cards/superpotion.8x6.png
+++ b/src/gfx/cards/superpotion.8x6.png
Binary files differ
diff --git a/src/gfx/cards/surfingpikachu1.8x6.png b/src/gfx/cards/surfingpikachu1.8x6.png
index 9b84774..9b84774 100755..100644
--- a/src/gfx/cards/surfingpikachu1.8x6.png
+++ b/src/gfx/cards/surfingpikachu1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/surfingpikachu2.8x6.png b/src/gfx/cards/surfingpikachu2.8x6.png
index 53e796a..53e796a 100755..100644
--- a/src/gfx/cards/surfingpikachu2.8x6.png
+++ b/src/gfx/cards/surfingpikachu2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/switch.8x6.png b/src/gfx/cards/switch.8x6.png
index cdcec01..cdcec01 100755..100644
--- a/src/gfx/cards/switch.8x6.png
+++ b/src/gfx/cards/switch.8x6.png
Binary files differ
diff --git a/src/gfx/cards/tangela1.8x6.png b/src/gfx/cards/tangela1.8x6.png
index 0907f14..0907f14 100755..100644
--- a/src/gfx/cards/tangela1.8x6.png
+++ b/src/gfx/cards/tangela1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/tangela2.8x6.png b/src/gfx/cards/tangela2.8x6.png
index 5fb06c8..5fb06c8 100755..100644
--- a/src/gfx/cards/tangela2.8x6.png
+++ b/src/gfx/cards/tangela2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/tauros.8x6.png b/src/gfx/cards/tauros.8x6.png
index 8a372a2..8a372a2 100755..100644
--- a/src/gfx/cards/tauros.8x6.png
+++ b/src/gfx/cards/tauros.8x6.png
Binary files differ
diff --git a/src/gfx/cards/tentacool.8x6.png b/src/gfx/cards/tentacool.8x6.png
index 7da303a..7da303a 100755..100644
--- a/src/gfx/cards/tentacool.8x6.png
+++ b/src/gfx/cards/tentacool.8x6.png
Binary files differ
diff --git a/src/gfx/cards/tentacruel.8x6.png b/src/gfx/cards/tentacruel.8x6.png
index 74b2c43..74b2c43 100755..100644
--- a/src/gfx/cards/tentacruel.8x6.png
+++ b/src/gfx/cards/tentacruel.8x6.png
Binary files differ
diff --git a/src/gfx/cards/vaporeon1.8x6.png b/src/gfx/cards/vaporeon1.8x6.png
index 3ac523a..3ac523a 100755..100644
--- a/src/gfx/cards/vaporeon1.8x6.png
+++ b/src/gfx/cards/vaporeon1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/vaporeon2.8x6.png b/src/gfx/cards/vaporeon2.8x6.png
index a90ba62..a90ba62 100755..100644
--- a/src/gfx/cards/vaporeon2.8x6.png
+++ b/src/gfx/cards/vaporeon2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/venomoth.8x6.png b/src/gfx/cards/venomoth.8x6.png
index d1c9fce..d1c9fce 100755..100644
--- a/src/gfx/cards/venomoth.8x6.png
+++ b/src/gfx/cards/venomoth.8x6.png
Binary files differ
diff --git a/src/gfx/cards/venonat.8x6.png b/src/gfx/cards/venonat.8x6.png
index 1638261..1638261 100755..100644
--- a/src/gfx/cards/venonat.8x6.png
+++ b/src/gfx/cards/venonat.8x6.png
Binary files differ
diff --git a/src/gfx/cards/venusaur1.8x6.png b/src/gfx/cards/venusaur1.8x6.png
index d2d3989..d2d3989 100755..100644
--- a/src/gfx/cards/venusaur1.8x6.png
+++ b/src/gfx/cards/venusaur1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/venusaur2.8x6.png b/src/gfx/cards/venusaur2.8x6.png
index dcfa858..dcfa858 100755..100644
--- a/src/gfx/cards/venusaur2.8x6.png
+++ b/src/gfx/cards/venusaur2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/victreebel.8x6.png b/src/gfx/cards/victreebel.8x6.png
index d8536a0..d8536a0 100755..100644
--- a/src/gfx/cards/victreebel.8x6.png
+++ b/src/gfx/cards/victreebel.8x6.png
Binary files differ
diff --git a/src/gfx/cards/vileplume.8x6.png b/src/gfx/cards/vileplume.8x6.png
index a3766d5..a3766d5 100755..100644
--- a/src/gfx/cards/vileplume.8x6.png
+++ b/src/gfx/cards/vileplume.8x6.png
Binary files differ
diff --git a/src/gfx/cards/voltorb.8x6.png b/src/gfx/cards/voltorb.8x6.png
index cb39c66..cb39c66 100755..100644
--- a/src/gfx/cards/voltorb.8x6.png
+++ b/src/gfx/cards/voltorb.8x6.png
Binary files differ
diff --git a/src/gfx/cards/vulpix.8x6.png b/src/gfx/cards/vulpix.8x6.png
index e83d888..e83d888 100755..100644
--- a/src/gfx/cards/vulpix.8x6.png
+++ b/src/gfx/cards/vulpix.8x6.png
Binary files differ
diff --git a/src/gfx/cards/wartortle.8x6.png b/src/gfx/cards/wartortle.8x6.png
index fad87c7..fad87c7 100755..100644
--- a/src/gfx/cards/wartortle.8x6.png
+++ b/src/gfx/cards/wartortle.8x6.png
Binary files differ
diff --git a/src/gfx/cards/waterenergy.8x6.png b/src/gfx/cards/waterenergy.8x6.png
index 1fe022e..1fe022e 100755..100644
--- a/src/gfx/cards/waterenergy.8x6.png
+++ b/src/gfx/cards/waterenergy.8x6.png
Binary files differ
diff --git a/src/gfx/cards/weedle.8x6.png b/src/gfx/cards/weedle.8x6.png
index f53e060..f53e060 100755..100644
--- a/src/gfx/cards/weedle.8x6.png
+++ b/src/gfx/cards/weedle.8x6.png
Binary files differ
diff --git a/src/gfx/cards/weepinbell.8x6.png b/src/gfx/cards/weepinbell.8x6.png
index bdff148..bdff148 100755..100644
--- a/src/gfx/cards/weepinbell.8x6.png
+++ b/src/gfx/cards/weepinbell.8x6.png
Binary files differ
diff --git a/src/gfx/cards/weezing.8x6.png b/src/gfx/cards/weezing.8x6.png
index 12d3514..12d3514 100755..100644
--- a/src/gfx/cards/weezing.8x6.png
+++ b/src/gfx/cards/weezing.8x6.png
Binary files differ
diff --git a/src/gfx/cards/wigglytuff.8x6.png b/src/gfx/cards/wigglytuff.8x6.png
index 3429ddf..3429ddf 100755..100644
--- a/src/gfx/cards/wigglytuff.8x6.png
+++ b/src/gfx/cards/wigglytuff.8x6.png
Binary files differ
diff --git a/src/gfx/cards/zapdos1.8x6.png b/src/gfx/cards/zapdos1.8x6.png
index b34c5c7..b34c5c7 100755..100644
--- a/src/gfx/cards/zapdos1.8x6.png
+++ b/src/gfx/cards/zapdos1.8x6.png
Binary files differ
diff --git a/src/gfx/cards/zapdos2.8x6.png b/src/gfx/cards/zapdos2.8x6.png
index 1583f11..1583f11 100755..100644
--- a/src/gfx/cards/zapdos2.8x6.png
+++ b/src/gfx/cards/zapdos2.8x6.png
Binary files differ
diff --git a/src/gfx/cards/zapdos3.8x6.png b/src/gfx/cards/zapdos3.8x6.png
index 3683243..3683243 100755..100644
--- a/src/gfx/cards/zapdos3.8x6.png
+++ b/src/gfx/cards/zapdos3.8x6.png
Binary files differ
diff --git a/src/gfx/cards/zubat.8x6.png b/src/gfx/cards/zubat.8x6.png
index 2a0c346..2a0c346 100755..100644
--- a/src/gfx/cards/zubat.8x6.png
+++ b/src/gfx/cards/zubat.8x6.png
Binary files differ
diff --git a/src/gfx/companies.png b/src/gfx/companies.png
index c51bd7d..c51bd7d 100755..100644
--- a/src/gfx/companies.png
+++ b/src/gfx/companies.png
Binary files differ
diff --git a/src/gfx/duel/0.png b/src/gfx/duel/0.png
index f74b710..f74b710 100755..100644
--- a/src/gfx/duel/0.png
+++ b/src/gfx/duel/0.png
Binary files differ
diff --git a/src/gfx/duel/1.png b/src/gfx/duel/1.png
index fbdd03d..fbdd03d 100755..100644
--- a/src/gfx/duel/1.png
+++ b/src/gfx/duel/1.png
Binary files differ
diff --git a/src/gfx/duel/10.png b/src/gfx/duel/10.png
index abf7bf4..abf7bf4 100755..100644
--- a/src/gfx/duel/10.png
+++ b/src/gfx/duel/10.png
Binary files differ
diff --git a/src/gfx/duel/11.png b/src/gfx/duel/11.png
index 73a3564..73a3564 100755..100644
--- a/src/gfx/duel/11.png
+++ b/src/gfx/duel/11.png
Binary files differ
diff --git a/src/gfx/duel/12.png b/src/gfx/duel/12.png
index 55a7aff..55a7aff 100755..100644
--- a/src/gfx/duel/12.png
+++ b/src/gfx/duel/12.png
Binary files differ
diff --git a/src/gfx/duel/13.png b/src/gfx/duel/13.png
index 56cfaae..56cfaae 100755..100644
--- a/src/gfx/duel/13.png
+++ b/src/gfx/duel/13.png
Binary files differ
diff --git a/src/gfx/duel/14.png b/src/gfx/duel/14.png
index 4d7d038..4d7d038 100755..100644
--- a/src/gfx/duel/14.png
+++ b/src/gfx/duel/14.png
Binary files differ
diff --git a/src/gfx/duel/15.png b/src/gfx/duel/15.png
index 7003067..7003067 100755..100644
--- a/src/gfx/duel/15.png
+++ b/src/gfx/duel/15.png
Binary files differ
diff --git a/src/gfx/duel/16.png b/src/gfx/duel/16.png
index 8f15645..8f15645 100755..100644
--- a/src/gfx/duel/16.png
+++ b/src/gfx/duel/16.png
Binary files differ
diff --git a/src/gfx/duel/17.png b/src/gfx/duel/17.png
index 87cfac5..87cfac5 100755..100644
--- a/src/gfx/duel/17.png
+++ b/src/gfx/duel/17.png
Binary files differ
diff --git a/src/gfx/duel/18.png b/src/gfx/duel/18.png
index e1a10b1..e1a10b1 100755..100644
--- a/src/gfx/duel/18.png
+++ b/src/gfx/duel/18.png
Binary files differ
diff --git a/src/gfx/duel/19.png b/src/gfx/duel/19.png
index b2642f4..b2642f4 100755..100644
--- a/src/gfx/duel/19.png
+++ b/src/gfx/duel/19.png
Binary files differ
diff --git a/src/gfx/duel/2.png b/src/gfx/duel/2.png
index 6e10c3b..6e10c3b 100755..100644
--- a/src/gfx/duel/2.png
+++ b/src/gfx/duel/2.png
Binary files differ
diff --git a/src/gfx/duel/20.png b/src/gfx/duel/20.png
index 0b7fdaa..0b7fdaa 100755..100644
--- a/src/gfx/duel/20.png
+++ b/src/gfx/duel/20.png
Binary files differ
diff --git a/src/gfx/duel/21.png b/src/gfx/duel/21.png
index 8a6a885..8a6a885 100755..100644
--- a/src/gfx/duel/21.png
+++ b/src/gfx/duel/21.png
Binary files differ
diff --git a/src/gfx/duel/22.png b/src/gfx/duel/22.png
index 79f7a26..79f7a26 100755..100644
--- a/src/gfx/duel/22.png
+++ b/src/gfx/duel/22.png
Binary files differ
diff --git a/src/gfx/duel/23.png b/src/gfx/duel/23.png
index f04ef12..f04ef12 100755..100644
--- a/src/gfx/duel/23.png
+++ b/src/gfx/duel/23.png
Binary files differ
diff --git a/src/gfx/duel/24.png b/src/gfx/duel/24.png
index bfc7f47..bfc7f47 100755..100644
--- a/src/gfx/duel/24.png
+++ b/src/gfx/duel/24.png
Binary files differ
diff --git a/src/gfx/duel/25.png b/src/gfx/duel/25.png
index e71cec1..e71cec1 100755..100644
--- a/src/gfx/duel/25.png
+++ b/src/gfx/duel/25.png
Binary files differ
diff --git a/src/gfx/duel/26.png b/src/gfx/duel/26.png
index f8ed483..f8ed483 100755..100644
--- a/src/gfx/duel/26.png
+++ b/src/gfx/duel/26.png
Binary files differ
diff --git a/src/gfx/duel/27.png b/src/gfx/duel/27.png
index 4efe481..4efe481 100755..100644
--- a/src/gfx/duel/27.png
+++ b/src/gfx/duel/27.png
Binary files differ
diff --git a/src/gfx/duel/28.png b/src/gfx/duel/28.png
index 5962e5b..5962e5b 100755..100644
--- a/src/gfx/duel/28.png
+++ b/src/gfx/duel/28.png
Binary files differ
diff --git a/src/gfx/duel/29.png b/src/gfx/duel/29.png
index d73be15..d73be15 100755..100644
--- a/src/gfx/duel/29.png
+++ b/src/gfx/duel/29.png
Binary files differ
diff --git a/src/gfx/duel/3.png b/src/gfx/duel/3.png
index a4cd613..a4cd613 100755..100644
--- a/src/gfx/duel/3.png
+++ b/src/gfx/duel/3.png
Binary files differ
diff --git a/src/gfx/duel/30.png b/src/gfx/duel/30.png
index eb4f993..eb4f993 100755..100644
--- a/src/gfx/duel/30.png
+++ b/src/gfx/duel/30.png
Binary files differ
diff --git a/src/gfx/duel/31.png b/src/gfx/duel/31.png
index 726a9de..726a9de 100755..100644
--- a/src/gfx/duel/31.png
+++ b/src/gfx/duel/31.png
Binary files differ
diff --git a/src/gfx/duel/32.png b/src/gfx/duel/32.png
index 5696434..5696434 100755..100644
--- a/src/gfx/duel/32.png
+++ b/src/gfx/duel/32.png
Binary files differ
diff --git a/src/gfx/duel/33.png b/src/gfx/duel/33.png
index cec3c5c..cec3c5c 100755..100644
--- a/src/gfx/duel/33.png
+++ b/src/gfx/duel/33.png
Binary files differ
diff --git a/src/gfx/duel/34.png b/src/gfx/duel/34.png
index 3a23454..3a23454 100755..100644
--- a/src/gfx/duel/34.png
+++ b/src/gfx/duel/34.png
Binary files differ
diff --git a/src/gfx/duel/35.png b/src/gfx/duel/35.png
index 88b9a8a..88b9a8a 100755..100644
--- a/src/gfx/duel/35.png
+++ b/src/gfx/duel/35.png
Binary files differ
diff --git a/src/gfx/duel/36.png b/src/gfx/duel/36.png
index 75c6606..75c6606 100755..100644
--- a/src/gfx/duel/36.png
+++ b/src/gfx/duel/36.png
Binary files differ
diff --git a/src/gfx/duel/37.png b/src/gfx/duel/37.png
index 124a4aa..124a4aa 100755..100644
--- a/src/gfx/duel/37.png
+++ b/src/gfx/duel/37.png
Binary files differ
diff --git a/src/gfx/duel/38.png b/src/gfx/duel/38.png
index d13659f..d13659f 100755..100644
--- a/src/gfx/duel/38.png
+++ b/src/gfx/duel/38.png
Binary files differ
diff --git a/src/gfx/duel/39.png b/src/gfx/duel/39.png
index 72a5047..72a5047 100755..100644
--- a/src/gfx/duel/39.png
+++ b/src/gfx/duel/39.png
Binary files differ
diff --git a/src/gfx/duel/4.png b/src/gfx/duel/4.png
index bb53fa0..bb53fa0 100755..100644
--- a/src/gfx/duel/4.png
+++ b/src/gfx/duel/4.png
Binary files differ
diff --git a/src/gfx/duel/40.png b/src/gfx/duel/40.png
index f5c374a..f5c374a 100755..100644
--- a/src/gfx/duel/40.png
+++ b/src/gfx/duel/40.png
Binary files differ
diff --git a/src/gfx/duel/41.png b/src/gfx/duel/41.png
index fdd1218..fdd1218 100755..100644
--- a/src/gfx/duel/41.png
+++ b/src/gfx/duel/41.png
Binary files differ
diff --git a/src/gfx/duel/42.png b/src/gfx/duel/42.png
index 099ca70..099ca70 100755..100644
--- a/src/gfx/duel/42.png
+++ b/src/gfx/duel/42.png
Binary files differ
diff --git a/src/gfx/duel/43.png b/src/gfx/duel/43.png
index 216de05..216de05 100755..100644
--- a/src/gfx/duel/43.png
+++ b/src/gfx/duel/43.png
Binary files differ
diff --git a/src/gfx/duel/44.png b/src/gfx/duel/44.png
index b3a043e..b3a043e 100755..100644
--- a/src/gfx/duel/44.png
+++ b/src/gfx/duel/44.png
Binary files differ
diff --git a/src/gfx/duel/45.png b/src/gfx/duel/45.png
index b466614..b466614 100755..100644
--- a/src/gfx/duel/45.png
+++ b/src/gfx/duel/45.png
Binary files differ
diff --git a/src/gfx/duel/46.png b/src/gfx/duel/46.png
index 9a01563..9a01563 100755..100644
--- a/src/gfx/duel/46.png
+++ b/src/gfx/duel/46.png
Binary files differ
diff --git a/src/gfx/duel/47.png b/src/gfx/duel/47.png
index 9bf5047..9bf5047 100755..100644
--- a/src/gfx/duel/47.png
+++ b/src/gfx/duel/47.png
Binary files differ
diff --git a/src/gfx/duel/48.png b/src/gfx/duel/48.png
index 100bb49..100bb49 100755..100644
--- a/src/gfx/duel/48.png
+++ b/src/gfx/duel/48.png
Binary files differ
diff --git a/src/gfx/duel/49.png b/src/gfx/duel/49.png
index 07ba688..07ba688 100755..100644
--- a/src/gfx/duel/49.png
+++ b/src/gfx/duel/49.png
Binary files differ
diff --git a/src/gfx/duel/5.png b/src/gfx/duel/5.png
index baf7475..baf7475 100755..100644
--- a/src/gfx/duel/5.png
+++ b/src/gfx/duel/5.png
Binary files differ
diff --git a/src/gfx/duel/50.png b/src/gfx/duel/50.png
index b82049f..b82049f 100755..100644
--- a/src/gfx/duel/50.png
+++ b/src/gfx/duel/50.png
Binary files differ
diff --git a/src/gfx/duel/51.t10.png b/src/gfx/duel/51.t10.png
index 98eb770..98eb770 100755..100644
--- a/src/gfx/duel/51.t10.png
+++ b/src/gfx/duel/51.t10.png
Binary files differ
diff --git a/src/gfx/duel/52.png b/src/gfx/duel/52.png
index 420136f..420136f 100755..100644
--- a/src/gfx/duel/52.png
+++ b/src/gfx/duel/52.png
Binary files differ
diff --git a/src/gfx/duel/53.png b/src/gfx/duel/53.png
index 10a21f5..10a21f5 100755..100644
--- a/src/gfx/duel/53.png
+++ b/src/gfx/duel/53.png
Binary files differ
diff --git a/src/gfx/duel/54.png b/src/gfx/duel/54.png
index 7dbb527..7dbb527 100755..100644
--- a/src/gfx/duel/54.png
+++ b/src/gfx/duel/54.png
Binary files differ
diff --git a/src/gfx/unnamed/1.png b/src/gfx/duel/55.png
index ebab414..ebab414 100755..100644
--- a/src/gfx/unnamed/1.png
+++ b/src/gfx/duel/55.png
Binary files differ
diff --git a/src/gfx/unnamed/2.png b/src/gfx/duel/56.png
index dd82623..dd82623 100755..100644
--- a/src/gfx/unnamed/2.png
+++ b/src/gfx/duel/56.png
Binary files differ
diff --git a/src/gfx/unnamed/3.png b/src/gfx/duel/57.png
index 7b97f92..7b97f92 100755..100644
--- a/src/gfx/unnamed/3.png
+++ b/src/gfx/duel/57.png
Binary files differ
diff --git a/src/gfx/duel/poison.png b/src/gfx/duel/58.png
index 8f8b22c..8f8b22c 100755..100644
--- a/src/gfx/duel/poison.png
+++ b/src/gfx/duel/58.png
Binary files differ
diff --git a/src/gfx/unnamed/4.png b/src/gfx/duel/59.png
index 16b7344..16b7344 100755..100644
--- a/src/gfx/unnamed/4.png
+++ b/src/gfx/duel/59.png
Binary files differ
diff --git a/src/gfx/duel/6.png b/src/gfx/duel/6.png
index 80cc739..80cc739 100755..100644
--- a/src/gfx/duel/6.png
+++ b/src/gfx/duel/6.png
Binary files differ
diff --git a/src/gfx/unnamed/5.png b/src/gfx/duel/60.png
index dc60679..dc60679 100755..100644
--- a/src/gfx/unnamed/5.png
+++ b/src/gfx/duel/60.png
Binary files differ
diff --git a/src/gfx/unnamed/6.png b/src/gfx/duel/61.png
index de82420..de82420 100755..100644
--- a/src/gfx/unnamed/6.png
+++ b/src/gfx/duel/61.png
Binary files differ
diff --git a/src/gfx/unnamed/7.png b/src/gfx/duel/62.png
index c40fc22..c40fc22 100755..100644
--- a/src/gfx/unnamed/7.png
+++ b/src/gfx/duel/62.png
Binary files differ
diff --git a/src/gfx/unnamed/8.png b/src/gfx/duel/63.png
index 5ea882f..5ea882f 100755..100644
--- a/src/gfx/unnamed/8.png
+++ b/src/gfx/duel/63.png
Binary files differ
diff --git a/src/gfx/unnamed/9.png b/src/gfx/duel/64.png
index 36310a4..36310a4 100755..100644
--- a/src/gfx/unnamed/9.png
+++ b/src/gfx/duel/64.png
Binary files differ
diff --git a/src/gfx/unnamed/10.png b/src/gfx/duel/65.png
index 212a40d..212a40d 100755..100644
--- a/src/gfx/unnamed/10.png
+++ b/src/gfx/duel/65.png
Binary files differ
diff --git a/src/gfx/unnamed/11.png b/src/gfx/duel/66.png
index 65bebfb..65bebfb 100755..100644
--- a/src/gfx/unnamed/11.png
+++ b/src/gfx/duel/66.png
Binary files differ
diff --git a/src/gfx/duel/7.png b/src/gfx/duel/7.png
index c309ce9..c309ce9 100755..100644
--- a/src/gfx/duel/7.png
+++ b/src/gfx/duel/7.png
Binary files differ
diff --git a/src/gfx/duel/8.png b/src/gfx/duel/8.png
index 479b251..479b251 100755..100644
--- a/src/gfx/duel/8.png
+++ b/src/gfx/duel/8.png
Binary files differ
diff --git a/src/gfx/duel/9.png b/src/gfx/duel/9.png
index 3667ca8..3667ca8 100755..100644
--- a/src/gfx/duel/9.png
+++ b/src/gfx/duel/9.png
Binary files differ
diff --git a/src/gfx/duel/duel2.png b/src/gfx/duel/box_messages.png
index c8ce50f..c8ce50f 100755..100644
--- a/src/gfx/duel/duel2.png
+++ b/src/gfx/duel/box_messages.png
Binary files differ
diff --git a/src/gfx/duel/duel1.t5.png b/src/gfx/duel/duel_graphics.t5.png
index e36c5fb..e36c5fb 100755..100644
--- a/src/gfx/duel/duel1.t5.png
+++ b/src/gfx/duel/duel_graphics.t5.png
Binary files differ
diff --git a/src/gfx/duelists/aaron.png b/src/gfx/duelists/aaron.png
index bbd8bbc..bbd8bbc 100755..100644
--- a/src/gfx/duelists/aaron.png
+++ b/src/gfx/duelists/aaron.png
Binary files differ
diff --git a/src/gfx/duelists/adam.png b/src/gfx/duelists/adam.png
index 859bc86..859bc86 100755..100644
--- a/src/gfx/duelists/adam.png
+++ b/src/gfx/duelists/adam.png
Binary files differ
diff --git a/src/gfx/duelists/amanda.png b/src/gfx/duelists/amanda.png
index be16167..be16167 100755..100644
--- a/src/gfx/duelists/amanda.png
+++ b/src/gfx/duelists/amanda.png
Binary files differ
diff --git a/src/gfx/duelists/amy.png b/src/gfx/duelists/amy.png
index 0ca501d..0ca501d 100755..100644
--- a/src/gfx/duelists/amy.png
+++ b/src/gfx/duelists/amy.png
Binary files differ
diff --git a/src/gfx/duelists/andrew.png b/src/gfx/duelists/andrew.png
index 45508af..45508af 100755..100644
--- a/src/gfx/duelists/andrew.png
+++ b/src/gfx/duelists/andrew.png
Binary files differ
diff --git a/src/gfx/duelists/brandon.png b/src/gfx/duelists/brandon.png
index 32b1934..32b1934 100755..100644
--- a/src/gfx/duelists/brandon.png
+++ b/src/gfx/duelists/brandon.png
Binary files differ
diff --git a/src/gfx/duelists/brittany.png b/src/gfx/duelists/brittany.png
index 4e5e2a0..4e5e2a0 100755..100644
--- a/src/gfx/duelists/brittany.png
+++ b/src/gfx/duelists/brittany.png
Binary files differ
diff --git a/src/gfx/duelists/chris.png b/src/gfx/duelists/chris.png
index c645e12..c645e12 100755..100644
--- a/src/gfx/duelists/chris.png
+++ b/src/gfx/duelists/chris.png
Binary files differ
diff --git a/src/gfx/duelists/courtney.png b/src/gfx/duelists/courtney.png
index fff4a8a..fff4a8a 100755..100644
--- a/src/gfx/duelists/courtney.png
+++ b/src/gfx/duelists/courtney.png
Binary files differ
diff --git a/src/gfx/duelists/daniel.png b/src/gfx/duelists/daniel.png
index f3a36ac..f3a36ac 100755..100644
--- a/src/gfx/duelists/daniel.png
+++ b/src/gfx/duelists/daniel.png
Binary files differ
diff --git a/src/gfx/duelists/david.png b/src/gfx/duelists/david.png
index f1de43e..f1de43e 100755..100644
--- a/src/gfx/duelists/david.png
+++ b/src/gfx/duelists/david.png
Binary files differ
diff --git a/src/gfx/duelists/erik.png b/src/gfx/duelists/erik.png
index 287b615..287b615 100755..100644
--- a/src/gfx/duelists/erik.png
+++ b/src/gfx/duelists/erik.png
Binary files differ
diff --git a/src/gfx/duelists/gene.png b/src/gfx/duelists/gene.png
index ee368c1..ee368c1 100755..100644
--- a/src/gfx/duelists/gene.png
+++ b/src/gfx/duelists/gene.png
Binary files differ
diff --git a/src/gfx/duelists/heather.png b/src/gfx/duelists/heather.png
index 69baa70..69baa70 100755..100644
--- a/src/gfx/duelists/heather.png
+++ b/src/gfx/duelists/heather.png
Binary files differ
diff --git a/src/gfx/duelists/imakuni.png b/src/gfx/duelists/imakuni.png
index 1c6e8a7..1c6e8a7 100755..100644
--- a/src/gfx/duelists/imakuni.png
+++ b/src/gfx/duelists/imakuni.png
Binary files differ
diff --git a/src/gfx/duelists/isaac.png b/src/gfx/duelists/isaac.png
index 2aab212..2aab212 100755..100644
--- a/src/gfx/duelists/isaac.png
+++ b/src/gfx/duelists/isaac.png
Binary files differ
diff --git a/src/gfx/duelists/jack.png b/src/gfx/duelists/jack.png
index e8c3799..e8c3799 100755..100644
--- a/src/gfx/duelists/jack.png
+++ b/src/gfx/duelists/jack.png
Binary files differ
diff --git a/src/gfx/duelists/jennifer.png b/src/gfx/duelists/jennifer.png
index c218186..c218186 100755..100644
--- a/src/gfx/duelists/jennifer.png
+++ b/src/gfx/duelists/jennifer.png
Binary files differ
diff --git a/src/gfx/duelists/jessica.png b/src/gfx/duelists/jessica.png
index 0460d52..0460d52 100755..100644
--- a/src/gfx/duelists/jessica.png
+++ b/src/gfx/duelists/jessica.png
Binary files differ
diff --git a/src/gfx/duelists/john.png b/src/gfx/duelists/john.png
index 51ea430..51ea430 100755..100644
--- a/src/gfx/duelists/john.png
+++ b/src/gfx/duelists/john.png
Binary files differ
diff --git a/src/gfx/duelists/jonathan.png b/src/gfx/duelists/jonathan.png
index 40d6593..40d6593 100755..100644
--- a/src/gfx/duelists/jonathan.png
+++ b/src/gfx/duelists/jonathan.png
Binary files differ
diff --git a/src/gfx/duelists/joseph.png b/src/gfx/duelists/joseph.png
index 6ca588f..6ca588f 100755..100644
--- a/src/gfx/duelists/joseph.png
+++ b/src/gfx/duelists/joseph.png
Binary files differ
diff --git a/src/gfx/duelists/joshua.png b/src/gfx/duelists/joshua.png
index 5dd8b7f..5dd8b7f 100755..100644
--- a/src/gfx/duelists/joshua.png
+++ b/src/gfx/duelists/joshua.png
Binary files differ
diff --git a/src/gfx/duelists/ken.png b/src/gfx/duelists/ken.png
index 4da8ca2..4da8ca2 100755..100644
--- a/src/gfx/duelists/ken.png
+++ b/src/gfx/duelists/ken.png
Binary files differ
diff --git a/src/gfx/duelists/kristin.png b/src/gfx/duelists/kristin.png
index d265ae3..d265ae3 100755..100644
--- a/src/gfx/duelists/kristin.png
+++ b/src/gfx/duelists/kristin.png
Binary files differ
diff --git a/src/gfx/duelists/matthew.png b/src/gfx/duelists/matthew.png
index bd828e6..bd828e6 100755..100644
--- a/src/gfx/duelists/matthew.png
+++ b/src/gfx/duelists/matthew.png
Binary files differ
diff --git a/src/gfx/duelists/michael.png b/src/gfx/duelists/michael.png
index 454cdc3..454cdc3 100755..100644
--- a/src/gfx/duelists/michael.png
+++ b/src/gfx/duelists/michael.png
Binary files differ
diff --git a/src/gfx/duelists/mitch.png b/src/gfx/duelists/mitch.png
index 38c58fe..38c58fe 100755..100644
--- a/src/gfx/duelists/mitch.png
+++ b/src/gfx/duelists/mitch.png
Binary files differ
diff --git a/src/gfx/duelists/murray.png b/src/gfx/duelists/murray.png
index 32bd818..32bd818 100755..100644
--- a/src/gfx/duelists/murray.png
+++ b/src/gfx/duelists/murray.png
Binary files differ
diff --git a/src/gfx/duelists/nicholas.png b/src/gfx/duelists/nicholas.png
index 81f5b53..81f5b53 100755..100644
--- a/src/gfx/duelists/nicholas.png
+++ b/src/gfx/duelists/nicholas.png
Binary files differ
diff --git a/src/gfx/duelists/nikki.png b/src/gfx/duelists/nikki.png
index 2c4e205..2c4e205 100755..100644
--- a/src/gfx/duelists/nikki.png
+++ b/src/gfx/duelists/nikki.png
Binary files differ
diff --git a/src/gfx/duelists/player.png b/src/gfx/duelists/player.png
index 8b81fbe..8b81fbe 100755..100644
--- a/src/gfx/duelists/player.png
+++ b/src/gfx/duelists/player.png
Binary files differ
diff --git a/src/gfx/duelists/rick.png b/src/gfx/duelists/rick.png
index 7dcbdc0..7dcbdc0 100755..100644
--- a/src/gfx/duelists/rick.png
+++ b/src/gfx/duelists/rick.png
Binary files differ
diff --git a/src/gfx/duelists/robert.png b/src/gfx/duelists/robert.png
index 2172ae6..2172ae6 100755..100644
--- a/src/gfx/duelists/robert.png
+++ b/src/gfx/duelists/robert.png
Binary files differ
diff --git a/src/gfx/duelists/rod.png b/src/gfx/duelists/rod.png
index 4c57dd7..4c57dd7 100755..100644
--- a/src/gfx/duelists/rod.png
+++ b/src/gfx/duelists/rod.png
Binary files differ
diff --git a/src/gfx/duelists/ronald.png b/src/gfx/duelists/ronald.png
index 26a1245..26a1245 100755..100644
--- a/src/gfx/duelists/ronald.png
+++ b/src/gfx/duelists/ronald.png
Binary files differ
diff --git a/src/gfx/duelists/ryan.png b/src/gfx/duelists/ryan.png
index ab0f84c..ab0f84c 100755..100644
--- a/src/gfx/duelists/ryan.png
+++ b/src/gfx/duelists/ryan.png
Binary files differ
diff --git a/src/gfx/duelists/sam.png b/src/gfx/duelists/sam.png
index 7a52ac3..7a52ac3 100755..100644
--- a/src/gfx/duelists/sam.png
+++ b/src/gfx/duelists/sam.png
Binary files differ
diff --git a/src/gfx/duelists/sara.png b/src/gfx/duelists/sara.png
index f6319bb..f6319bb 100755..100644
--- a/src/gfx/duelists/sara.png
+++ b/src/gfx/duelists/sara.png
Binary files differ
diff --git a/src/gfx/duelists/stephanie.png b/src/gfx/duelists/stephanie.png
index a0a3ff8..a0a3ff8 100755..100644
--- a/src/gfx/duelists/stephanie.png
+++ b/src/gfx/duelists/stephanie.png
Binary files differ
diff --git a/src/gfx/duelists/steve.png b/src/gfx/duelists/steve.png
index 216cee0..216cee0 100755..100644
--- a/src/gfx/duelists/steve.png
+++ b/src/gfx/duelists/steve.png
Binary files differ
diff --git a/src/gfx/fonts.t3.png b/src/gfx/fonts.t3.png
index 5dc1fe8..5dc1fe8 100755..100644
--- a/src/gfx/fonts.t3.png
+++ b/src/gfx/fonts.t3.png
Binary files differ
diff --git a/src/gfx/medals.png b/src/gfx/medals.png
index 024bd9a..024bd9a 100755..100644
--- a/src/gfx/medals.png
+++ b/src/gfx/medals.png
Binary files differ
diff --git a/src/gfx/overworld_map.t15.png b/src/gfx/overworld_map.t15.png
index 5d8e819..5d8e819 100755..100644
--- a/src/gfx/overworld_map.t15.png
+++ b/src/gfx/overworld_map.t15.png
Binary files differ
diff --git a/src/gfx/ow_map_oam.png b/src/gfx/overworld_map_oam.png
index 323fc59..323fc59 100755..100644
--- a/src/gfx/ow_map_oam.png
+++ b/src/gfx/overworld_map_oam.png
Binary files differ
diff --git a/src/gfx/ow/sprite0.png b/src/gfx/overworld_sprites/0.png
index 0eceeb6..0eceeb6 100755..100644
--- a/src/gfx/ow/sprite0.png
+++ b/src/gfx/overworld_sprites/0.png
Binary files differ
diff --git a/src/gfx/ow/sprite1.png b/src/gfx/overworld_sprites/1.png
index b3fa35f..b3fa35f 100755..100644
--- a/src/gfx/ow/sprite1.png
+++ b/src/gfx/overworld_sprites/1.png
Binary files differ
diff --git a/src/gfx/ow/sprite10.png b/src/gfx/overworld_sprites/10.png
index e63ba2b..e63ba2b 100755..100644
--- a/src/gfx/ow/sprite10.png
+++ b/src/gfx/overworld_sprites/10.png
Binary files differ
diff --git a/src/gfx/ow/sprite11.png b/src/gfx/overworld_sprites/11.png
index 4a231fe..4a231fe 100755..100644
--- a/src/gfx/ow/sprite11.png
+++ b/src/gfx/overworld_sprites/11.png
Binary files differ
diff --git a/src/gfx/ow/sprite12.png b/src/gfx/overworld_sprites/12.png
index b24cd69..b24cd69 100755..100644
--- a/src/gfx/ow/sprite12.png
+++ b/src/gfx/overworld_sprites/12.png
Binary files differ
diff --git a/src/gfx/ow/sprite13.png b/src/gfx/overworld_sprites/13.png
index d55c62c..d55c62c 100755..100644
--- a/src/gfx/ow/sprite13.png
+++ b/src/gfx/overworld_sprites/13.png
Binary files differ
diff --git a/src/gfx/ow/sprite14.png b/src/gfx/overworld_sprites/14.png
index 0026093..0026093 100755..100644
--- a/src/gfx/ow/sprite14.png
+++ b/src/gfx/overworld_sprites/14.png
Binary files differ
diff --git a/src/gfx/ow/sprite15.png b/src/gfx/overworld_sprites/15.png
index 67a227d..67a227d 100755..100644
--- a/src/gfx/ow/sprite15.png
+++ b/src/gfx/overworld_sprites/15.png
Binary files differ
diff --git a/src/gfx/ow/sprite16.png b/src/gfx/overworld_sprites/16.png
index 0baa4eb..0baa4eb 100755..100644
--- a/src/gfx/ow/sprite16.png
+++ b/src/gfx/overworld_sprites/16.png
Binary files differ
diff --git a/src/gfx/ow/sprite17.png b/src/gfx/overworld_sprites/17.png
index 2f696e6..2f696e6 100755..100644
--- a/src/gfx/ow/sprite17.png
+++ b/src/gfx/overworld_sprites/17.png
Binary files differ
diff --git a/src/gfx/ow/sprite18.png b/src/gfx/overworld_sprites/18.png
index 97281b6..97281b6 100755..100644
--- a/src/gfx/ow/sprite18.png
+++ b/src/gfx/overworld_sprites/18.png
Binary files differ
diff --git a/src/gfx/ow/sprite19.png b/src/gfx/overworld_sprites/19.png
index 437a376..437a376 100755..100644
--- a/src/gfx/ow/sprite19.png
+++ b/src/gfx/overworld_sprites/19.png
Binary files differ
diff --git a/src/gfx/ow/sprite2.png b/src/gfx/overworld_sprites/2.png
index 0bda3be..0bda3be 100755..100644
--- a/src/gfx/ow/sprite2.png
+++ b/src/gfx/overworld_sprites/2.png
Binary files differ
diff --git a/src/gfx/ow/sprite20.png b/src/gfx/overworld_sprites/20.png
index 3da8ad9..3da8ad9 100755..100644
--- a/src/gfx/ow/sprite20.png
+++ b/src/gfx/overworld_sprites/20.png
Binary files differ
diff --git a/src/gfx/ow/sprite21.png b/src/gfx/overworld_sprites/21.png
index 7d07d78..7d07d78 100755..100644
--- a/src/gfx/ow/sprite21.png
+++ b/src/gfx/overworld_sprites/21.png
Binary files differ
diff --git a/src/gfx/ow/sprite22.png b/src/gfx/overworld_sprites/22.png
index 2d47555..2d47555 100755..100644
--- a/src/gfx/ow/sprite22.png
+++ b/src/gfx/overworld_sprites/22.png
Binary files differ
diff --git a/src/gfx/ow/sprite23.png b/src/gfx/overworld_sprites/23.png
index 8432c39..8432c39 100755..100644
--- a/src/gfx/ow/sprite23.png
+++ b/src/gfx/overworld_sprites/23.png
Binary files differ
diff --git a/src/gfx/ow/sprite24.png b/src/gfx/overworld_sprites/24.png
index 0d7b908..0d7b908 100755..100644
--- a/src/gfx/ow/sprite24.png
+++ b/src/gfx/overworld_sprites/24.png
Binary files differ
diff --git a/src/gfx/ow/sprite25.png b/src/gfx/overworld_sprites/25.png
index 1e161da..1e161da 100755..100644
--- a/src/gfx/ow/sprite25.png
+++ b/src/gfx/overworld_sprites/25.png
Binary files differ
diff --git a/src/gfx/ow/sprite26.png b/src/gfx/overworld_sprites/26.png
index 6a5f4cd..6a5f4cd 100755..100644
--- a/src/gfx/ow/sprite26.png
+++ b/src/gfx/overworld_sprites/26.png
Binary files differ
diff --git a/src/gfx/ow/sprite27.png b/src/gfx/overworld_sprites/27.png
index 7b738e4..7b738e4 100755..100644
--- a/src/gfx/ow/sprite27.png
+++ b/src/gfx/overworld_sprites/27.png
Binary files differ
diff --git a/src/gfx/ow/sprite28.png b/src/gfx/overworld_sprites/28.png
index 0ba9e64..0ba9e64 100755..100644
--- a/src/gfx/ow/sprite28.png
+++ b/src/gfx/overworld_sprites/28.png
Binary files differ
diff --git a/src/gfx/ow/sprite29.png b/src/gfx/overworld_sprites/29.png
index 5926395..5926395 100755..100644
--- a/src/gfx/ow/sprite29.png
+++ b/src/gfx/overworld_sprites/29.png
Binary files differ
diff --git a/src/gfx/ow/sprite3.png b/src/gfx/overworld_sprites/3.png
index 2fac558..2fac558 100755..100644
--- a/src/gfx/ow/sprite3.png
+++ b/src/gfx/overworld_sprites/3.png
Binary files differ
diff --git a/src/gfx/ow/sprite30.png b/src/gfx/overworld_sprites/30.png
index ef25140..ef25140 100755..100644
--- a/src/gfx/ow/sprite30.png
+++ b/src/gfx/overworld_sprites/30.png
Binary files differ
diff --git a/src/gfx/ow/sprite31.png b/src/gfx/overworld_sprites/31.png
index 1494e05..1494e05 100755..100644
--- a/src/gfx/ow/sprite31.png
+++ b/src/gfx/overworld_sprites/31.png
Binary files differ
diff --git a/src/gfx/ow/sprite32.png b/src/gfx/overworld_sprites/32.png
index 7d3fac1..7d3fac1 100755..100644
--- a/src/gfx/ow/sprite32.png
+++ b/src/gfx/overworld_sprites/32.png
Binary files differ
diff --git a/src/gfx/ow/sprite4.png b/src/gfx/overworld_sprites/4.png
index a12569b..a12569b 100755..100644
--- a/src/gfx/ow/sprite4.png
+++ b/src/gfx/overworld_sprites/4.png
Binary files differ
diff --git a/src/gfx/ow/sprite5.png b/src/gfx/overworld_sprites/5.png
index d46c9bb..d46c9bb 100755..100644
--- a/src/gfx/ow/sprite5.png
+++ b/src/gfx/overworld_sprites/5.png
Binary files differ
diff --git a/src/gfx/ow/sprite6.png b/src/gfx/overworld_sprites/6.png
index 2423fd1..2423fd1 100755..100644
--- a/src/gfx/ow/sprite6.png
+++ b/src/gfx/overworld_sprites/6.png
Binary files differ
diff --git a/src/gfx/ow/sprite7.png b/src/gfx/overworld_sprites/7.png
index c7f1d29..c7f1d29 100755..100644
--- a/src/gfx/ow/sprite7.png
+++ b/src/gfx/overworld_sprites/7.png
Binary files differ
diff --git a/src/gfx/ow/sprite8.png b/src/gfx/overworld_sprites/8.png
index 2527ae9..2527ae9 100755..100644
--- a/src/gfx/ow/sprite8.png
+++ b/src/gfx/overworld_sprites/8.png
Binary files differ
diff --git a/src/gfx/ow/sprite9.png b/src/gfx/overworld_sprites/9.png
index 69c5451..69c5451 100755..100644
--- a/src/gfx/ow/sprite9.png
+++ b/src/gfx/overworld_sprites/9.png
Binary files differ
diff --git a/src/gfx/ow/doctormason.png b/src/gfx/overworld_sprites/doctormason.png
index 8b0f384..8b0f384 100755..100644
--- a/src/gfx/ow/doctormason.png
+++ b/src/gfx/overworld_sprites/doctormason.png
Binary files differ
diff --git a/src/gfx/ow/help_desk_lady.png b/src/gfx/overworld_sprites/help_desk_lady.png
index 92bb5ef..92bb5ef 100755..100644
--- a/src/gfx/ow/help_desk_lady.png
+++ b/src/gfx/overworld_sprites/help_desk_lady.png
Binary files differ
diff --git a/src/gfx/ow/player.png b/src/gfx/overworld_sprites/player.png
index 2f891ef..2f891ef 100755..100644
--- a/src/gfx/ow/player.png
+++ b/src/gfx/overworld_sprites/player.png
Binary files differ
diff --git a/src/gfx/ow/ronald.png b/src/gfx/overworld_sprites/ronald.png
index 4cd2be0..4cd2be0 100755..100644
--- a/src/gfx/ow/ronald.png
+++ b/src/gfx/overworld_sprites/ronald.png
Binary files differ
diff --git a/src/gfx/tilesets/challengehall.t3.png b/src/gfx/tilesets/challengehall.t3.png
index 9783378..9783378 100755..100644
--- a/src/gfx/tilesets/challengehall.t3.png
+++ b/src/gfx/tilesets/challengehall.t3.png
Binary files differ
diff --git a/src/gfx/tilesets/clubentrance.t15.png b/src/gfx/tilesets/clubentrance.t15.png
index e641020..e641020 100755..100644
--- a/src/gfx/tilesets/clubentrance.t15.png
+++ b/src/gfx/tilesets/clubentrance.t15.png
Binary files differ
diff --git a/src/gfx/tilesets/clublobby.t8.png b/src/gfx/tilesets/clublobby.t8.png
index 7a5a7be..7a5a7be 100755..100644
--- a/src/gfx/tilesets/clublobby.t8.png
+++ b/src/gfx/tilesets/clublobby.t8.png
Binary files differ
diff --git a/src/gfx/tilesets/fightingclub.t13.png b/src/gfx/tilesets/fightingclub.t13.png
index 6747644..6747644 100755..100644
--- a/src/gfx/tilesets/fightingclub.t13.png
+++ b/src/gfx/tilesets/fightingclub.t13.png
Binary files differ
diff --git a/src/gfx/tilesets/fireclub.t9.png b/src/gfx/tilesets/fireclub.t9.png
index 28638bd..28638bd 100755..100644
--- a/src/gfx/tilesets/fireclub.t9.png
+++ b/src/gfx/tilesets/fireclub.t9.png
Binary files differ
diff --git a/src/gfx/tilesets/grassclub.t9.png b/src/gfx/tilesets/grassclub.t9.png
index 69496ad..69496ad 100755..100644
--- a/src/gfx/tilesets/grassclub.t9.png
+++ b/src/gfx/tilesets/grassclub.t9.png
Binary files differ
diff --git a/src/gfx/tilesets/hallofhonor.t7.png b/src/gfx/tilesets/hallofhonor.t7.png
index 358630d..358630d 100755..100644
--- a/src/gfx/tilesets/hallofhonor.t7.png
+++ b/src/gfx/tilesets/hallofhonor.t7.png
Binary files differ
diff --git a/src/gfx/tilesets/ishihara.t3.png b/src/gfx/tilesets/ishihara.t3.png
index 4761a69..4761a69 100755..100644
--- a/src/gfx/tilesets/ishihara.t3.png
+++ b/src/gfx/tilesets/ishihara.t3.png
Binary files differ
diff --git a/src/gfx/tilesets/lightningclub.t13.png b/src/gfx/tilesets/lightningclub.t13.png
index bbe0572..bbe0572 100755..100644
--- a/src/gfx/tilesets/lightningclub.t13.png
+++ b/src/gfx/tilesets/lightningclub.t13.png
Binary files differ
diff --git a/src/gfx/tilesets/masonlaboratory.t9.png b/src/gfx/tilesets/masonlaboratory.t9.png
index 4c5d90b..4c5d90b 100755..100644
--- a/src/gfx/tilesets/masonlaboratory.t9.png
+++ b/src/gfx/tilesets/masonlaboratory.t9.png
Binary files differ
diff --git a/src/gfx/tilesets/pokemondome.t1.png b/src/gfx/tilesets/pokemondome.t1.png
index b4abf6c..b4abf6c 100755..100644
--- a/src/gfx/tilesets/pokemondome.t1.png
+++ b/src/gfx/tilesets/pokemondome.t1.png
Binary files differ
diff --git a/src/gfx/tilesets/pokemondomeentrance.t2.png b/src/gfx/tilesets/pokemondomeentrance.t2.png
index c80ef7f..c80ef7f 100755..100644
--- a/src/gfx/tilesets/pokemondomeentrance.t2.png
+++ b/src/gfx/tilesets/pokemondomeentrance.t2.png
Binary files differ
diff --git a/src/gfx/tilesets/psychicclub.t6.png b/src/gfx/tilesets/psychicclub.t6.png
index 6a3a00f..6a3a00f 100755..100644
--- a/src/gfx/tilesets/psychicclub.t6.png
+++ b/src/gfx/tilesets/psychicclub.t6.png
Binary files differ
diff --git a/src/gfx/tilesets/rockclub.t4.png b/src/gfx/tilesets/rockclub.t4.png
index 59bf1bb..59bf1bb 100755..100644
--- a/src/gfx/tilesets/rockclub.t4.png
+++ b/src/gfx/tilesets/rockclub.t4.png
Binary files differ
diff --git a/src/gfx/tilesets/scienceclub.t14.png b/src/gfx/tilesets/scienceclub.t14.png
index a736fe1..a736fe1 100755..100644
--- a/src/gfx/tilesets/scienceclub.t14.png
+++ b/src/gfx/tilesets/scienceclub.t14.png
Binary files differ
diff --git a/src/gfx/tilesets/waterclub.t15.png b/src/gfx/tilesets/waterclub.t15.png
index 815e5ae..815e5ae 100755..100644
--- a/src/gfx/tilesets/waterclub.t15.png
+++ b/src/gfx/tilesets/waterclub.t15.png
Binary files differ
diff --git a/src/gfx/boosterpacks/aerodactylintro1.png b/src/gfx/titlescreen/booster_packs/aerodactylintro1.png
index e18b96b..e18b96b 100755..100644
--- a/src/gfx/boosterpacks/aerodactylintro1.png
+++ b/src/gfx/titlescreen/booster_packs/aerodactylintro1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/aerodactylintro2.png b/src/gfx/titlescreen/booster_packs/aerodactylintro2.png
index ba347b5..ba347b5 100755..100644
--- a/src/gfx/boosterpacks/aerodactylintro2.png
+++ b/src/gfx/titlescreen/booster_packs/aerodactylintro2.png
Binary files differ
diff --git a/src/gfx/boosterpacks/charizardintro1.png b/src/gfx/titlescreen/booster_packs/charizardintro1.png
index 50e757f..50e757f 100755..100644
--- a/src/gfx/boosterpacks/charizardintro1.png
+++ b/src/gfx/titlescreen/booster_packs/charizardintro1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/charizardintro2.png b/src/gfx/titlescreen/booster_packs/charizardintro2.png
index c7ec7b4..c7ec7b4 100755..100644
--- a/src/gfx/boosterpacks/charizardintro2.png
+++ b/src/gfx/titlescreen/booster_packs/charizardintro2.png
Binary files differ
diff --git a/src/gfx/boosterpacks/scytherintro1.png b/src/gfx/titlescreen/booster_packs/scytherintro1.png
index 3e6bd36..3e6bd36 100755..100644
--- a/src/gfx/boosterpacks/scytherintro1.png
+++ b/src/gfx/titlescreen/booster_packs/scytherintro1.png
Binary files differ
diff --git a/src/gfx/boosterpacks/scytherintro2.png b/src/gfx/titlescreen/booster_packs/scytherintro2.png
index c6fd814..c6fd814 100755..100644
--- a/src/gfx/boosterpacks/scytherintro2.png
+++ b/src/gfx/titlescreen/booster_packs/scytherintro2.png
Binary files differ
diff --git a/src/gfx/titlescreen/colorless.png b/src/gfx/titlescreen/energies/colorless.png
index fe55d79..fe55d79 100755..100644
--- a/src/gfx/titlescreen/colorless.png
+++ b/src/gfx/titlescreen/energies/colorless.png
Binary files differ
diff --git a/src/gfx/titlescreen/fighting.png b/src/gfx/titlescreen/energies/fighting.png
index 849d5d6..849d5d6 100755..100644
--- a/src/gfx/titlescreen/fighting.png
+++ b/src/gfx/titlescreen/energies/fighting.png
Binary files differ
diff --git a/src/gfx/titlescreen/fire.png b/src/gfx/titlescreen/energies/fire.png
index 518fcfc..518fcfc 100755..100644
--- a/src/gfx/titlescreen/fire.png
+++ b/src/gfx/titlescreen/energies/fire.png
Binary files differ
diff --git a/src/gfx/titlescreen/grass.png b/src/gfx/titlescreen/energies/grass.png
index b864fc4..b864fc4 100755..100644
--- a/src/gfx/titlescreen/grass.png
+++ b/src/gfx/titlescreen/energies/grass.png
Binary files differ
diff --git a/src/gfx/titlescreen/lightning.png b/src/gfx/titlescreen/energies/lightning.png
index 9dcddef..9dcddef 100755..100644
--- a/src/gfx/titlescreen/lightning.png
+++ b/src/gfx/titlescreen/energies/lightning.png
Binary files differ
diff --git a/src/gfx/titlescreen/psychic.png b/src/gfx/titlescreen/energies/psychic.png
index 60bbe0b..60bbe0b 100755..100644
--- a/src/gfx/titlescreen/psychic.png
+++ b/src/gfx/titlescreen/energies/psychic.png
Binary files differ
diff --git a/src/gfx/titlescreen/water.png b/src/gfx/titlescreen/energies/water.png
index 124f54c..124f54c 100755..100644
--- a/src/gfx/titlescreen/water.png
+++ b/src/gfx/titlescreen/energies/water.png
Binary files differ
diff --git a/src/gfx/titlescreen/press_start.png b/src/gfx/titlescreen/press_start.png
index de9dc9f..de9dc9f 100755..100644
--- a/src/gfx/titlescreen/press_start.png
+++ b/src/gfx/titlescreen/press_start.png
Binary files differ
diff --git a/src/gfx/titlescreen/titlescreen1.t15.png b/src/gfx/titlescreen/titlescreen1.t15.png
index 82b39e5..82b39e5 100755..100644
--- a/src/gfx/titlescreen/titlescreen1.t15.png
+++ b/src/gfx/titlescreen/titlescreen1.t15.png
Binary files differ
diff --git a/src/gfx/titlescreen/titlescreen2.t15.png b/src/gfx/titlescreen/titlescreen2.t15.png
index f54b7c3..f54b7c3 100755..100644
--- a/src/gfx/titlescreen/titlescreen2.t15.png
+++ b/src/gfx/titlescreen/titlescreen2.t15.png
Binary files differ
diff --git a/src/gfx/titlescreen/titlescreen3.t12.png b/src/gfx/titlescreen/titlescreen3.t12.png
index adddee4..adddee4 100755..100644
--- a/src/gfx/titlescreen/titlescreen3.t12.png
+++ b/src/gfx/titlescreen/titlescreen3.t12.png
Binary files differ
diff --git a/src/gfx/titlescreen/titlescreen4.t5.png b/src/gfx/titlescreen/titlescreen4.t5.png
index 1d3cb92..1d3cb92 100755..100644
--- a/src/gfx/titlescreen/titlescreen4.t5.png
+++ b/src/gfx/titlescreen/titlescreen4.t5.png
Binary files differ
diff --git a/src/gfx/titlescreen/titlescreen5.t4.png b/src/gfx/titlescreen/titlescreen5.t4.png
index 3cb6ab3..3cb6ab3 100755..100644
--- a/src/gfx/titlescreen/titlescreen5.t4.png
+++ b/src/gfx/titlescreen/titlescreen5.t4.png
Binary files differ
diff --git a/src/gfx/titlescreen/titlescreen6.t12.png b/src/gfx/titlescreen/titlescreen6.t12.png
index 4f0dbe8..4f0dbe8 100755..100644
--- a/src/gfx/titlescreen/titlescreen6.t12.png
+++ b/src/gfx/titlescreen/titlescreen6.t12.png
Binary files differ
diff --git a/src/gfx/vwf.png b/src/gfx/vwf.png
index 39e783e..39e783e 100755..100644
--- a/src/gfx/vwf.png
+++ b/src/gfx/vwf.png
Binary files differ
diff --git a/src/hram.asm b/src/hram.asm
index 1951d99..58c455b 100644
--- a/src/hram.asm
+++ b/src/hram.asm
@@ -3,7 +3,7 @@ SECTION "HRAM", HRAM
hBankROM:: ; ff80
ds 1
-hBankRAM:: ; ff81
+hBankSRAM:: ; ff81
ds 1
hBankVRAM:: ; ff82
@@ -39,20 +39,71 @@ hWX:: ; ff94
hWY:: ; ff95
ds 1
+hff96:: ; ff96
ds 1
; $c2 = player ; $c3 = opponent
hWhoseTurn:: ; ff97
ds 1
-hTempCardNumber:: ; ff98
+; deck index of a card (0-59)
+hTempCardIndex_ff98:: ; ff98
ds 1
- ds 22
+; used in SortCardsInListByID
+hTempListPtr_ff99:: ; ff99
+ ds 2
+
+; used in SortCardsInListByID
+; this function supports 16-bit card IDs
+hTempCardID_ff9b:: ; ff9b
+ ds 2
+
+; a PLAY_AREA_ARENA constant (0: arena card, 1-5: bench card)
+hTempPlayAreaLocationOffset_ff9d:: ; ff9d
+ ds 1
+
+hAIActionTableIndex:: ; ff9e
+ ds 1
+
+hTempCardIndex_ff9f:: ; ff9f
+ ds 1
+
+; multipurpose temp storage
+hffa0:: ; ffa0
+ ds 1
+
+hTempPlayAreaLocationOffset_ffa1:: ; ffa1
+ ds 1
+
+ ds 6
+
+; hffa8 through hffb0 appear to be related to text processing
+hffa8:: ; ffa8
+ ds 1
+
+hffa9:: ; ffa9
+ ds 1
+
+hffaa:: ; ffaa
+ ds 1
+
+hffab:: ; ffab
+ ds 1
+
+hffac:: ; ffac
+ ds 1
+
+hffad:: ; ffad
+ ds 1
+
+hffae:: ; ffae
+ ds 1
hffaf:: ; ffaf
ds 1
+hffb0:: ; ffb0
ds 1
hCurrentMenuItem:: ; ffb1
@@ -62,3 +113,7 @@ hCurrentMenuItem:: ; ffb1
hffb5:: ; ffb5
ds 1
+
+; used in DivideBCbyDE
+hffb6:: ; ffb6
+ ds 1 \ No newline at end of file
diff --git a/src/macros.asm b/src/macros.asm
index 837bfb2..837bfb2 100755..100644
--- a/src/macros.asm
+++ b/src/macros.asm
diff --git a/src/macros/audio.asm b/src/macros/audio.asm
index f79ee8f..0c13596 100644
--- a/src/macros/audio.asm
+++ b/src/macros/audio.asm
@@ -35,15 +35,15 @@ G#: MACRO
ENDM
A_: MACRO
- db $A0 | (\1 - 1)
+ db $a0 | (\1 - 1)
ENDM
A#: MACRO
- db $B0 | (\1 - 1)
+ db $b0 | (\1 - 1)
ENDM
B_: MACRO
- db $C0 | (\1 - 1)
+ db $c0 | (\1 - 1)
ENDM
bass: MACRO
@@ -67,7 +67,7 @@ snare4: MACRO ; long
ENDM
snare5: MACRO ; long
- db $C0 | (\1 - 1)
+ db $c0 | (\1 - 1)
ENDM
rest: MACRO
diff --git a/src/macros/code.asm b/src/macros/code.asm
index 47b698f..276bd6a 100644
--- a/src/macros/code.asm
+++ b/src/macros/code.asm
@@ -30,18 +30,19 @@ ENDM
farcall: MACRO
rst $28
+if _NARG == 1
db BANK(\1)
dw \1
-ENDM
-
-; used when the specified bank does not match the bank of the specified function
-; otherwise, farcall is preferred
-farcallx: MACRO
- rst $28
+else
db \1
dw \2
+endc
ENDM
+; the rst $38 handler is a single ret
+; probably used for testing purposes during development
+debug_ret EQUS "rst $38"
+
emptybank: MACRO
rept $4000
db $ff
diff --git a/src/macros/data.asm b/src/macros/data.asm
index 4f66742..2fd4b7d 100644
--- a/src/macros/data.asm
+++ b/src/macros/data.asm
@@ -33,7 +33,7 @@ bigdw: MACRO ; big-endian word
ENDM
sgb: MACRO
- db \1 * 8 + \2 ; sgb_command * 8 + length
+ db \1 << 3 + \2 ; sgb_command * 8 + length
ENDM
rgb: MACRO
diff --git a/src/macros/wram.asm b/src/macros/wram.asm
index cea20fa..a984255 100644
--- a/src/macros/wram.asm
+++ b/src/macros/wram.asm
@@ -1,42 +1,60 @@
card_data_struct: MACRO
-\1Type:: db
-\1Gfx:: dw
-\1Name:: dw
-\1Rarity:: db
-\1Set:: db
-\1ID:: db
-\1EnergyCardEffectCommands:: ; dw
-\1TrainerCardEffectCommands:: ; dw
-\1HP:: db
-\1Stage:: db
-\1EnergyCardDescription:: ; dw
-\1TrainerCardDescription:: ; dw
-\1PreEvoName:: dw
+\1Type:: ds 1
+\1Gfx:: ds 2
+\1Name:: ds 2
+\1Rarity:: ds 1
+\1Set:: ds 1
+\1ID:: ds 1
+\1EffectCommands:: ; ds 2
+\1HP:: ds 1
+\1Stage:: ds 1
+\1NonPokemonDescription:: ; ds 2
+\1PreEvoName:: ds 2
\1Move1:: move_data_struct \1Move1
\1Move2:: move_data_struct \1Move2
-\1RetreatCost:: db
-\1Weakness:: db
-\1Resistance:: db
-\1Kind:: dw
-\1PokedexNumber:: db
-\1Unknown1:: db
-\1Level:: db
-\1Length:: dw
-\1Weight:: dw
-\1Description:: dw
-\1Unknown2:: db
+\1RetreatCost:: ds 1
+\1Weakness:: ds 1
+\1Resistance:: ds 1
+\1Kind:: ds 2
+\1PokedexNumber:: ds 1
+\1Unknown1:: ds 1
+\1Level:: ds 1
+\1Length:: ds 2
+\1Weight:: ds 2
+\1Description:: ds 2
+\1Unknown2:: ds 1
ENDM
move_data_struct: MACRO
-\1Energy:: ds $4
-\1Name:: dw
-\1Description:: ds $4
-\1Damage:: db
-\1Category:: db
-\1EffectCommands:: dw
-\1Flag1:: db
-\1Flag2:: db
-\1Flag3:: db
-\1Unknown1:: db
-\1Animation:: db
+\1Energy:: ds NUM_TYPES / 2
+\1Name:: ds 2
+\1Description:: ds 4
+\1Damage:: ds 1
+\1Category:: ds 1
+\1EffectCommands:: ds 2
+\1Flag1:: ds 1
+\1Flag2:: ds 1
+\1Flag3:: ds 1
+\1Unknown1:: ds 1
+\1Animation:: ds 1
ENDM
+
+; TODO: Figure out what the rest are for
+sprite_anim_struct: MACRO
+\1Field0x00:: ds 1
+\1Field0x01:: ds 1 ; movement handling / palette
+\1CoordX:: ds 1
+\1CoordY:: ds 1
+\1TileID:: ds 1
+\1Field0x05:: ds 1
+\1Field0x06:: ds 1
+\1Field0x07:: ds 1
+\1Field0x08:: ds 1
+\1Field0x09:: ds 1
+\1Field0x0a:: ds 1
+\1Field0x0b:: ds 1
+\1Field0x0c:: ds 1
+\1Field0x0d:: ds 1
+\1MovementCounter:: ds 1
+\1Field0x0f:: ds 1
+ENDM \ No newline at end of file
diff --git a/src/main.asm b/src/main.asm
index 6e89c9d..6e89c9d 100755..100644
--- a/src/main.asm
+++ b/src/main.asm
diff --git a/src/sram.asm b/src/sram.asm
index 40e1f93..e5bd99d 100755..100644
--- a/src/sram.asm
+++ b/src/sram.asm
@@ -1,7 +1,24 @@
-SECTION "Working Cards", SRAM
+SECTION "SRAM", SRAM
- ds $100
+sa000:: ds $3 ; a000
+sa003:: ds $1 ; a003
+sa004:: ds $1 ; a004
+sa005:: ds $1 ; a005
+sa006:: ds $1 ; a006
+sa007:: ds $1 ; a007
+sa008:: ds $1 ; a008
+sa009:: ds $1 ; a009
+sa00a:: ds $1 ; a00a
+
+ ds $5
+
+sPlayerName:: ds $10 ; a010
+
+ ds $e0
+
+; for each card, how many (0-127) the player owns
+; CARD_NOT_OWNED ($80) indicates that the player has not yet seen the card
sCardCollection:: ds $100 ; a100
sDeck1Name:: ds DECK_NAME_SIZE ; a200
@@ -15,3 +32,7 @@ sDeck3Cards:: ds DECK_SIZE ; a2c0
sDeck4Name:: ds DECK_NAME_SIZE ; a2fc
sDeck4Cards:: ds DECK_SIZE ; a314
+
+sa350:: ds DECK_NAME_SIZE + DECK_SIZE ; a350
+sa3a4:: ds DECK_NAME_SIZE + DECK_SIZE ; a3a4
+sa3f8:: ds DECK_NAME_SIZE + DECK_SIZE ; a3f8
diff --git a/src/text.asm b/src/text.asm
index c818938..c818938 100755..100644
--- a/src/text.asm
+++ b/src/text.asm
diff --git a/src/text/text1.asm b/src/text/text1.asm
index eb11f83..3de6280 100755..100644
--- a/src/text/text1.asm
+++ b/src/text/text1.asm
@@ -147,27 +147,27 @@ UnableDueToParalysisText: ; 364a1 (d:64a1)
done
Received10DamageDueToPoisonText: ; 364be (d:64be)
- text TX_RAM2," received"
+ text TX_RAM2, " received"
line "10 damage due to Poison."
done
Received20DamageDueToPoisonText: ; 364e3 (d:64e3)
- text TX_RAM2," received"
+ text TX_RAM2, " received"
line "20 damage due to Double Poison."
done
IsStillAsleepText: ; 3650f (d:650f)
- text TX_RAM2," is"
+ text TX_RAM2, " is"
line "still Asleep."
done
IsCuredOfSleepText: ; 36523 (d:6523)
- text TX_RAM2," is"
+ text TX_RAM2, " is"
line "cured of Sleep."
done
IsCuredOfParalysisText: ; 36539 (d:6539)
- text TX_RAM2," is"
+ text TX_RAM2, " is"
line "cured of Paralysis."
done
@@ -204,7 +204,7 @@ Text0032: ; 365b6 (d:65b6)
done
Text0033: ; 365be (d:65be)
- text "Used ",TX_RAM2,"."
+ text "Used ", TX_RAM2, "."
done
Text0034: ; 365c7 (d:65c7)
@@ -212,38 +212,38 @@ Text0034: ; 365c7 (d:65c7)
done
PokemonsAttackText: ; 365d8 (d:65d8)
- text TX_RAM2,"'s"
+ text TX_RAM2, "'s"
line ""
- text TX_RAM2,"!"
+ text TX_RAM2, "!"
done
Text0036: ; 365e1 (d:65e1)
- text TX_RAM2," received"
- line TX_RAM3," damage due to Resistance!"
+ text TX_RAM2, " received"
+ line TX_RAM3, " damage due to Resistance!"
done
Text0037: ; 36609 (d:6609)
- text TX_RAM2," received"
- line TX_RAM3," damage due to Weakness!"
+ text TX_RAM2, " received"
+ line TX_RAM3, " damage due to Weakness!"
done
Text0038: ; 3662f (d:662f)
- text TX_RAM2," received"
- line TX_RAM3," damage due to Weakness!"
+ text TX_RAM2, " received"
+ line TX_RAM3, " damage due to Weakness!"
done
Text0039: ; 36655 (d:6655)
- text TX_RAM2," did not"
+ text TX_RAM2, " did not"
line "receive damage due to Resistance."
done
Text003a: ; 36682 (d:6682)
- text TX_RAM2," took"
- line TX_RAM3," damage."
+ text TX_RAM2, " took"
+ line TX_RAM3, " damage."
done
Text003b: ; 36694 (d:6694)
- text TX_RAM2," did not"
+ text TX_RAM2, " did not"
line "receive damage!"
done
@@ -278,16 +278,16 @@ DiscardDescription: ; 36757 (d:6757)
done
Text0042: ; 367cc (d:67cc)
- text TX_RAM1," will draw ",TX_RAM3," Prize(s)."
+ text TX_RAM1, " will draw ", TX_RAM3, " Prize(s)."
done
Text0043: ; 367e5 (d:67e5)
- text TX_RAM1," drew ",TX_RAM3," Prize(s)."
+ text TX_RAM1, " drew ", TX_RAM3, " Prize(s)."
done
Text0044: ; 367f9 (d:67f9)
- text TX_RAM1," placed"
- line "a ",TX_RAM2,"."
+ text TX_RAM1, " placed"
+ line "a ", TX_RAM2, "."
done
Text0045: ; 36808 (d:6808)
@@ -354,11 +354,11 @@ Text0052: ; 36903 (d:6903)
line "When you are ready."
done
-Text0053: ; 36924 (d:6924)
+YouPlayFirstText: ; 36924 (d:6924)
text "You play first."
done
-Text0054: ; 36935 (d:6935)
+YouPlaySecondText: ; 36935 (d:6935)
text "You play second."
done
@@ -372,7 +372,7 @@ Text0056: ; 3697c (d:697c)
line "you wish to examine."
done
-Text0057: ; 369a2 (d:69a2)
+TransmitingDataText: ; 369a2 (d:69a2)
text "Transmitting data..."
done
@@ -387,18 +387,18 @@ Text0059: ; 369dc (d:69dc)
done
Text005a: ; 36a19 (d:6a19)
- text TX_RAM2,""
+ text TX_RAM2, ""
line "Retreated to the Bench."
done
Text005b: ; 36a34 (d:6a34)
- text TX_RAM2,"'s"
+ text TX_RAM2, "'s"
line "Retreat was unsuccessful."
done
-Text005c: ; 36a53 (d:6a53)
- text TX_RAM2," will use the"
- line "Pok`mon Power ",TX_RAM2,"."
+WillUseThePokemonPowerText: ; 36a53 (d:6a53)
+ text TX_RAM2, " will use the"
+ line "Pok`mon Power ", TX_RAM2, "."
done
Text005d: ; 36a74 (d:6a74)
@@ -407,31 +407,31 @@ Text005d: ; 36a74 (d:6a74)
done
Text005e: ; 36a9a (d:6a9a)
- text TX_RAM1,"'s Turn."
+ text TX_RAM1, "'s Turn."
done
Text005f: ; 36aa5 (d:6aa5)
- text "Attached ",TX_RAM2,""
- line "to ",TX_RAM2,"."
+ text "Attached ", TX_RAM2, ""
+ line "to ", TX_RAM2, "."
done
Text0060: ; 36ab7 (d:6ab7)
- text TX_RAM2," evolved"
- line "into ",TX_RAM2,"."
+ text TX_RAM2, " evolved"
+ line "into ", TX_RAM2, "."
done
Text0061: ; 36aca (d:6aca)
- text "Placed ",TX_RAM2,""
+ text "Placed ", TX_RAM2, ""
line "on the Bench."
done
Text0062: ; 36ae2 (d:6ae2)
- text TX_RAM2,""
+ text TX_RAM2, ""
line "was placed in the Arena."
done
Text0063: ; 36afe (d:6afe)
- text TX_RAM1," shuffles the Deck."
+ text TX_RAM1, " shuffles the Deck."
done
Text0064: ; 36b14 (d:6b14)
@@ -449,25 +449,25 @@ Text0066: ; 36b7a (d:6b7a)
done
Text0067: ; 36b9a (d:6b9a)
- text TX_RAM1,""
+ text TX_RAM1, ""
line "drew 7 cards."
done
Text0068: ; 36bab (d:6bab)
- text TX_RAM1,"'s deck has ",TX_RAM3," cards."
+ text TX_RAM1, "'s deck has ", TX_RAM3, " cards."
done
-Text0069: ; 36bc2 (d:6bc2)
+ChooseBasicPkmnToPlaceInArenaText: ; 36bc2 (d:6bc2)
text "Choose a Basic Pok`mon"
line "to place in the Arena."
done
Text006a: ; 36bf1 (d:6bf1)
text "There are no Basic Pok`mon"
- line "in ",TX_RAM1,"'s hand."
+ line "in ", TX_RAM1, "'s hand."
done
-Text006b: ; 36c1a (d:6c1a)
+NeitherPlayerHasBasicPkmnText: ; 36c1a (d:6c1a)
text "Neither player has any Basic"
line "Pok`mon in his or her hand."
done
@@ -477,7 +477,7 @@ Text006c: ; 36c54 (d:6c54)
line "and draw again."
done
-Text006d: ; 36c82 (d:6c82)
+ChooseUpTo5BasicPkmnToPlaceOnBenchText: ; 36c82 (d:6c82)
text "You may choose up to 5 Basic Pok`mon"
line "to place on the Bench."
done
@@ -493,29 +493,29 @@ Text006f: ; 36ce1 (d:6ce1)
done
Text0070: ; 36cfd (d:6cfd)
- text "You drew ",TX_RAM2,"."
+ text "You drew ", TX_RAM2, "."
done
Text0071: ; 36d0a (d:6d0a)
text "You cannot select this card."
done
-Text0072: ; 36d28 (d:6d28)
+PlacingThePrizesText: ; 36d28 (d:6d28)
text "Placing the Prizes..."
done
-Text0073: ; 36d3f (d:6d3f)
+PleasePlacePrizesText: ; 36d3f (d:6d3f)
text "Please place"
- line TX_RAM3," Prizes."
+ line TX_RAM3, " Prizes."
done
-Text0074: ; 36d57 (d:6d57)
+IfHeadPlayerPlaysFirstText: ; 36d57 (d:6d57)
text "If heads,"
line ""
- text TX_RAM2," plays first."
+ text TX_RAM2, " plays first."
done
-Text0075: ; 36d72 (d:6d72)
+CoinTossToDetermineWhoFirstText: ; 36d72 (d:6d72)
text "A coin will be tossed"
line "to decide who plays first."
done
@@ -525,17 +525,17 @@ DecisionText: ; 36da4 (d:6da4)
done
DuelWasDrawText: ; 36db1 (d:6db1)
- text "The Duel with ",TX_RAM1,""
+ text "The Duel with ", TX_RAM1, ""
line "was a Draw!"
done
WonDuelText: ; 36dce (d:6dce)
- text "You won the Duel with ",TX_RAM1,"!"
+ text "You won the Duel with ", TX_RAM1, "!"
done
LostDuelText: ; 36de8 (d:6de8)
text "You lost the Duel"
- line "with ",TX_RAM1,"..."
+ line "with ", TX_RAM1, "..."
done
StartSuddenDeathMatchText: ; 36e05 (d:6e05)
@@ -562,26 +562,26 @@ Text007e: ; 36e63 (d:6e63)
done
Text007f: ; 36e6a (d:6e6a)
- text TX_RAM1," took"
+ text TX_RAM1, " took"
line "all the Prizes!"
done
Text0080: ; 36e82 (d:6e82)
text "There are no Pok`mon"
- line "in ",TX_RAM1,"'s Play Area!"
+ line "in ", TX_RAM1, "'s Play Area!"
done
WasKnockedOutText: ; 36eaa (d:6eaa)
- text TX_RAM2," was"
+ text TX_RAM2, " was"
line "Knocked Out!"
done
-Text0082: ; 36ebe (d:6ebe)
- text TX_RAM2," have"
+HavePokemonPowerText: ; 36ebe (d:6ebe)
+ text TX_RAM2, " have"
line "Pok`mon Power."
done
-Text0083: ; 36ed5 (d:6ed5)
+UnableToUsePkmnPowerDueToToxicGasText: ; 36ed5 (d:6ed5)
text "Unable to us Pok`mon Power due to"
line "the effect of Toxic Gas."
done
@@ -606,7 +606,7 @@ Text0087: ; 36f43 (d:6f43)
done
DuelistIsThinkingText: ; 36f4a (d:6f4a)
- text TX_RAM1," is thinking."
+ text TX_RAM1, " is thinking."
done
Text0089: ; 36f5a (d:6f5a)
@@ -724,19 +724,19 @@ Text009d: ; 371f7 (d:71f7)
done
Text009e: ; 3720c (d:720c)
- text TX_GRASS," Pok`mon"
+ text TX_GRASS, " Pok`mon"
line ""
- text TX_FIRE," Pok`mon"
+ text TX_FIRE, " Pok`mon"
line ""
- text TX_WATER," Pok`mon"
+ text TX_WATER, " Pok`mon"
line ""
- text TX_LIGHTNING," Pok`mon"
+ text TX_LIGHTNING, " Pok`mon"
line ""
- text TX_FIGHTING," Pok`mon"
+ text TX_FIGHTING, " Pok`mon"
line ""
- text TX_PSYCHIC," Pok`mon"
+ text TX_PSYCHIC, " Pok`mon"
line ""
- text TX_COLORLESS," Pok`mon"
+ text TX_COLORLESS, " Pok`mon"
line "Trainer Card"
line "Energy Card"
done
@@ -780,15 +780,15 @@ Text00a6: ; 3737b (d:737b)
done
Text00a7: ; 37392 (d:7392)
- text TX_RAM1,"'s Hand"
+ text TX_RAM1, "'s Hand"
done
Text00a8: ; 3739c (d:739c)
- text TX_RAM1,"'s Play Area"
+ text TX_RAM1, "'s Play Area"
done
Text00a9: ; 373ab (d:73ab)
- text TX_RAM1,"'s Deck"
+ text TX_RAM1, "'s Deck"
done
Text00aa: ; 373b5 (d:73b5)
@@ -829,7 +829,7 @@ Text00b1: ; 374d4 (d:74d4)
text "There are no cards left in the Deck."
done
-Text00b2: ; 374fa (d:74fa)
+NoSpaceOnTheBenchText: ; 374fa (d:74fa)
text "There is no space on the Bench."
done
@@ -892,7 +892,7 @@ Text00be: ; 37715 (d:7715)
done
Text00bf: ; 37758 (d:7758)
- text TX_RAM3," Energy cards"
+ text TX_RAM3, " Energy cards"
line "are required to Retreat."
done
@@ -992,7 +992,7 @@ Text00d5: ; 37a3a (d:7a3a)
text "A Transmission Error occured."
done
-Text00d6: ; 37a59 (d:7a59)
+BackUpIsBrokenText: ; 37a59 (d:7a59)
text "Back Up is broken."
done
@@ -1108,7 +1108,7 @@ Text00ec: ; 37e73 (d:7e73)
done
Text00ed: ; 37e92 (d:7e92)
- text "If Tails, ",TX_RAM3," damage"
+ text "If Tails, ", TX_RAM3, " damage"
line "to yourself, too."
done
@@ -1138,10 +1138,10 @@ Text00f2: ; 37f9a (d:7f9a)
Text00f3: ; 37fa8 (d:7fa8)
text "Damage check!"
- line "If Heads, +",TX_RAM3," damage!!"
+ line "If Heads, +", TX_RAM3, " damage!!"
done
Text00f4: ; 37fcd (d:7fcd)
text "Damage check!"
- line "If Heads, x ",TX_RAM3," damage!!"
+ line "If Heads, x ", TX_RAM3, " damage!!"
done
diff --git a/src/text/text10.asm b/src/text/text10.asm
index 385fc69..15154c0 100644
--- a/src/text/text10.asm
+++ b/src/text/text10.asm
@@ -94,11 +94,11 @@ TripleAttackX10Description: ; 582fc (16:42fc)
line "damage times the number of heads."
done
-CallforFamilyName: ; 58341 (16:4341)
+CallForFamilyName: ; 58341 (16:4341)
text "Call for Family"
done
-NidoranFsCallforFamilyDescription: ; 58352 (16:4352)
+NidoranFsCallForFamilyDescription: ; 58352 (16:4352)
text "Search your deck for a Basic Pok`mon"
line "named Nidoran% or Nidoran$ and put"
line "it onto your Bench. Shuffle your"
@@ -472,7 +472,7 @@ BellsproutName: ; 592e5 (16:52e5)
text "Bellsprout"
done
-BellsproutsCallforFamilyDescription: ; 592f1 (16:52f1)
+BellsproutsCallForFamilyDescription: ; 592f1 (16:52f1)
text "Search your deck for a Basic Pok`mon"
line "named Bellsprout and put it onto"
line "your Bench. Shuffle your deck"
@@ -777,7 +777,7 @@ EmberName: ; 59e0e (16:5e0e)
done
EmberDescription: ; 59e15 (16:5e15)
- text "Discard 1 ",TX_FIRE," Energy card attached to"
+ text "Discard 1 ", TX_FIRE, " Energy card attached to"
line "Charmander in order to use this"
line "attack."
done
@@ -802,7 +802,7 @@ FlamethrowerName: ; 59ee6 (16:5ee6)
done
CharmeleonsFlamethrowerDescription: ; 59ef4 (16:5ef4)
- text "Discard 1 ",TX_FIRE," Energy card attached to"
+ text "Discard 1 ", TX_FIRE, " Energy card attached to"
line "Charmeleon in order to use this"
line "attack."
done
@@ -829,7 +829,7 @@ EnergyBurnDescription: ; 59fb8 (16:5fb8)
text "As often as you like during your"
line "turn (before your attack), you may"
line "turn all Energy attached to"
- line "Charizard into ",TX_FIRE," Energy for the"
+ line "Charizard into ", TX_FIRE, " Energy for the"
line "rest of the turn. This power can't"
line "be used if Charizard is Asleep,"
line "Confused, or Paralyzed."
@@ -884,7 +884,7 @@ FireBlastName: ; 5a231 (16:6231)
done
FireBlastDescription: ; 5a23d (16:623d)
- text "Discard 1 ",TX_FIRE," Energy card attached"
+ text "Discard 1 ", TX_FIRE, " Energy card attached"
line "to Ninetales in order to use this"
line "attack."
done
@@ -963,12 +963,12 @@ QuickAttackDescription: ; 5a56a (16:656a)
line "damage."
done
-FlamesofRageName: ; 5a5d8 (16:65d8)
+FlamesOfRageName: ; 5a5d8 (16:65d8)
text "Flames of Rage"
done
-FlamesofRageDescription: ; 5a5e8 (16:65e8)
- text "Discard 2 ",TX_FIRE," Energy cards attached"
+FlamesOfRageDescription: ; 5a5e8 (16:65e8)
+ text "Discard 2 ", TX_FIRE, " Energy cards attached"
line "to Arcanine in order to use this"
line "attack. This attack does 40 damage"
line "plus 10 more damage for each damage"
@@ -986,7 +986,7 @@ Arcanine1Description: ; 5a694 (16:6694)
done
ArcaninesFlamethrowerDescription: ; 5a6ed (16:66ed)
- text "Discard 1 ",TX_FIRE," Energy card attached to"
+ text "Discard 1 ", TX_FIRE, " Energy card attached to"
line "Arcanine in order to use this"
line "attack."
done
@@ -1068,7 +1068,7 @@ FirePunchName: ; 5a9b3 (16:69b3)
done
FirePunchDescription: ; 5a9bf (16:69bf)
- text "Discard 1 ",TX_FIRE," Energy card attached to"
+ text "Discard 1 ", TX_FIRE, " Energy card attached to"
line "Magmar in order to use this attack."
done
@@ -1128,7 +1128,7 @@ Flareon1Description: ; 5abe1 (16:6be1)
done
FlareonsFlamethrowerDescription: ; 5ac46 (16:6c46)
- text "Discard 1 ",TX_FIRE," Energy card attached to"
+ text "Discard 1 ", TX_FIRE, " Energy card attached to"
line "Flareon in order to use this attack."
done
@@ -1147,7 +1147,7 @@ WildfireName: ; 5acf6 (16:6cf6)
done
WildfireDescription: ; 5ad00 (16:6d00)
- text "You may discard any number of ",TX_FIRE,""
+ text "You may discard any number of ", TX_FIRE, ""
line "Energy cards attached to Moltres"
line "when you use this attack. If you do,"
line "discard that many cards from the top"
@@ -1172,7 +1172,7 @@ FiregiverDescription: ; 5ae1e (16:6e1e)
text "When you put Moltres into play"
line "during your turn (not during"
line "set-up), put from 1 to 4 (chosen at"
- line "random) ",TX_FIRE," Energy cards from your"
+ line "random) ", TX_FIRE, " Energy cards from your"
line "deck into your hand. Shuffle your"
line "deck afterward."
done
@@ -1244,8 +1244,8 @@ RainDanceName: ; 5b159 (16:7159)
RainDanceDescription: ; 5b165 (16:7165)
text "As often as you like during your"
line "turn (before your attack), you may"
- line "attach 1 ",TX_WATER," Energy card to 1 of"
- line "your ",TX_WATER," Pok`mon. (This doesn't use"
+ line "attach 1 ", TX_WATER, " Energy card to 1 of"
+ line "your ", TX_WATER, " Pok`mon. (This doesn't use"
line "up your 1 Energy card attachment"
line "for the turn.)"
done
@@ -1262,7 +1262,7 @@ HydroPumpName: ; 5b267 (16:7267)
HydroPumpDescription: ; 5b273 (16:7273)
text "Does 40 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Blastoise but not used to pay for"
line "this attack's Energy cost. You can't"
line "add more than 20 damage in this way."
@@ -1335,7 +1335,7 @@ WaterGunName: ; 5b53c (16:753c)
PoliwagsWaterGunDescription: ; 5b547 (16:7547)
text "Does 10 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Poliwag but not used to pay for"
line "this attack's Energy cost. You can't"
line "add more than 20 damage in this way."
@@ -1382,7 +1382,7 @@ PoliwrathName: ; 5b74f (16:774f)
PoliwrathsWaterGunDescription: ; 5b75a (16:775a)
text "Does 30 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Poliwrath but not used to pay for"
line "this attack's Energy cost. You"
line "can't add more than 20 damage in"
@@ -1481,11 +1481,11 @@ ShellderName: ; 5bb6e (16:7b6e)
text "Shellder"
done
-HideinShellName: ; 5bb78 (16:7b78)
+HideInShellName: ; 5bb78 (16:7b78)
text "Hide in Shell"
done
-HideinShellDescription: ; 5bb87 (16:7b87)
+HideInShellDescription: ; 5bb87 (16:7b87)
text "Flip a coin. If heads, prevent all"
line "damage done to Shellder during your"
line "opponent's next turn. (Any other"
@@ -1531,7 +1531,7 @@ KrabbyName: ; 5bd63 (16:7d63)
text "Krabby"
done
-KrabbysCallforFamilyDescription: ; 5bd6b (16:7d6b)
+KrabbysCallForFamilyDescription: ; 5bd6b (16:7d6b)
text "Search your deck for a Basic Pok`mon"
line "named Krabby and put it onto your"
line "Bench. Shuffle your deck afterward."
diff --git a/src/text/text11.asm b/src/text/text11.asm
index b99e881..649bf27 100644
--- a/src/text/text11.asm
+++ b/src/text/text11.asm
@@ -10,7 +10,7 @@ SeadraName: ; 5c05d (17:405d)
SeadrasWaterGunDescription: ; 5c065 (17:4065)
text "Does 20 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Seadra but not used to pay for this"
line "attack's Energy cost. You can't add"
line "more than 20 damage in this way."
@@ -88,7 +88,7 @@ RecoverName: ; 5c352 (17:4352)
done
StarmiesRecoverDescription: ; 5c35b (17:435b)
- text "Discard 1 ",TX_WATER," Energy card attached to"
+ text "Discard 1 ", TX_WATER, " Energy card attached to"
line "Starmie in order to use this attack."
line "Remove all damage counters from"
line "Starmie."
@@ -159,7 +159,7 @@ LaprasName: ; 5c58f (17:458f)
LaprasWaterGunDescription: ; 5c597 (17:4597)
text "Does 10 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Lapras but not used to pay for this"
line "attack's Energy cost. You can't add"
line "more than 20 damage in this way."
@@ -201,7 +201,7 @@ Vaporeon1Description: ; 5c717 (17:4717)
VaporeonsWaterGunDescription: ; 5c77b (17:477b)
text "Does 30 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Vaporeon but not used to pay for"
line "this attack's Energy cost. You can't"
line "add more than 20 damage in this way."
@@ -234,7 +234,7 @@ ClairvoyanceDescription: ; 5c8b5 (17:48b5)
OmanytesWaterGunDescription: ; 5c932 (17:4932)
text "Does 10 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Omanyte but not used to pay for this"
line "attack's Energy cost. You can't add"
line "more than 20 damage in this way."
@@ -256,7 +256,7 @@ OmastarName: ; 5ca3e (17:4a3e)
OmastarsWaterGunDescription: ; 5ca47 (17:4a47)
text "Does 20 damage plus 10 more damage"
- line "for each ",TX_WATER," Energy attached to"
+ line "for each ", TX_WATER, " Energy attached to"
line "Omastar but not used to pay for this"
line "attack's Energy cost. You can't add"
line "more than 20 damage in this way."
@@ -764,11 +764,11 @@ Zapdos2Description: ; 5e2e7 (17:62e7)
line "enormous lightning bolts."
done
-PealofThunderName: ; 5e345 (17:6345)
+PealOfThunderName: ; 5e345 (17:6345)
text "Peal of Thunder"
done
-PealofThunderDescription: ; 5e356 (17:6356)
+PealOfThunderDescription: ; 5e356 (17:6356)
text "When you put Zapdos into play during"
line "your turn (not during set-up), do"
line "30 damage to a Pok`mon other than"
@@ -1145,7 +1145,7 @@ CallforFriendName: ; 5f33e (17:733e)
done
CallforFriendDescription: ; 5f34f (17:734f)
- text "Search your deck for a ",TX_FIGHTING," Basic"
+ text "Search your deck for a ", TX_FIGHTING, " Basic"
line "Pok`mon card and put it onto your"
line "Bench. Shuffle your deck afterward."
line "(You can't use this attack if your"
@@ -1405,7 +1405,7 @@ KadabraName: ; 5fed3 (17:7ed3)
done
KadabrasRecoverDescription: ; 5fedc (17:7edc)
- text "Discard 1 ",TX_PSYCHIC," Energy card attached to"
+ text "Discard 1 ", TX_PSYCHIC, " Energy card attached to"
line "Kadabra in order to use this attack."
line "Remove all damage counters from"
line "Kadabra."
diff --git a/src/text/text12.asm b/src/text/text12.asm
index 37622bb..4bc570e 100644
--- a/src/text/text12.asm
+++ b/src/text/text12.asm
@@ -51,7 +51,7 @@ ScavengeName: ; 602b5 (18:42b5)
done
ScavengeDescription: ; 602bf (18:42bf)
- text "Discard 1 ",TX_PSYCHIC," Energy card attached"
+ text "Discard 1 ", TX_PSYCHIC, " Energy card attached"
line "to Slowpoke in order to use this"
line "attack. Put a Trainer card from your"
line "discard pile into your hand."
@@ -103,7 +103,7 @@ DestinyBondName: ; 6050e (18:450e)
done
DestinyBondDescription: ; 6051c (18:451c)
- text "Discard 1 ",TX_PSYCHIC," Energy card attached to"
+ text "Discard 1 ", TX_PSYCHIC, " Energy card attached to"
line "Gastly in order to use this attack."
line "If a Pok`mon Knocks Out Gastly"
line "during your opponent's next turn,"
@@ -334,7 +334,7 @@ PsychicDescription: ; 60ee9 (18:4ee9)
done
BarrierDescription: ; 60f45 (18:4f45)
- text "Discard 1 ",TX_PSYCHIC," Energy card attached to"
+ text "Discard 1 ", TX_PSYCHIC, " Energy card attached to"
line "Mewtwo in order to use this attack."
line "During your opponent's next turn,"
line "prevent all effects of attacks,"
@@ -745,11 +745,11 @@ WigglytuffName: ; 621ac (18:61ac)
text "Wigglytuff"
done
-DotheWaveName: ; 621b8 (18:61b8)
+DoTheWaveName: ; 621b8 (18:61b8)
text "Do the Wave"
done
-DotheWaveDescription: ; 621c5 (18:61c5)
+DoTheWaveDescription: ; 621c5 (18:61c5)
text "Does 10 damage plus 10 more damage"
line "for each of your Benched Pok`mon."
done
@@ -889,7 +889,7 @@ RetreatAidName: ; 62796 (18:6796)
RetreatAidDescription: ; 627a3 (18:67a3)
text "As long as Dodrio is Benched, pay"
- line TX_COLORLESS," less to retreat your Active"
+ line TX_COLORLESS, " less to retreat your Active"
line "Pok`mon."
done
diff --git a/src/text/text13.asm b/src/text/text13.asm
index 6dec01b..0a39189 100644
--- a/src/text/text13.asm
+++ b/src/text/text13.asm
@@ -66,11 +66,11 @@ ItemFinderDescription: ; 6434f (19:434f)
line "your hand."
done
-GustofWindName: ; 643c2 (19:43c2)
+GustOfWindName: ; 643c2 (19:43c2)
text "Gust of Wind"
done
-GustofWindDescription: ; 643d0 (19:43d0)
+GustOfWindDescription: ; 643d0 (19:43d0)
text "Choose 1 of your opponent's Benched"
line "Pok`mon and switch it with his or"
line "her Active Pok`mon."
diff --git a/src/text/text2.asm b/src/text/text2.asm
index 4754a23..55abfb9 100644
--- a/src/text/text2.asm
+++ b/src/text/text2.asm
@@ -19,7 +19,7 @@ Text00f8: ; 380ac (e:40ac)
done
Text00f9: ; 380db (e:40db)
- text TX_RAM2,"'s Sleep check."
+ text TX_RAM2, "'s Sleep check."
done
Text00fa: ; 380ed (e:40ed)
@@ -72,12 +72,12 @@ UnableToUseAttackDueToAmnesiaText: ; 382af (e:42af)
done
KnockedOutDueToDestinyBondText: ; 382e9 (e:42e9)
- text TX_RAM2," was Knocked Out"
+ text TX_RAM2, " was Knocked Out"
line "due to the effects of Destiny Bond."
done
ReceivesDamageDueToStrikesBackText: ; 38320 (e:4320)
- text TX_RAM2," receives ",TX_RAM3," damage"
+ text TX_RAM2, " receives ", TX_RAM3, " damage"
line "due to the effects of Strikes Back."
done
@@ -117,11 +117,11 @@ NoDamageOrEffectDueToTransparencyText: ; 384d8 (e:44d8)
done
Text010d: ; 3851f (e:451f)
- text TX_RAM2,""
- line "metamorphs to ",TX_RAM2,"."
+ text TX_RAM2, ""
+ line "metamorphs to ", TX_RAM2, "."
done
-SelectMonOnBenchToSwitchWithActiveText: ; 38533 (e:4533)
+SelectPkmnOnBenchToSwitchWithActiveText: ; 38533 (e:4533)
text "Select a Pok`mon on the Bench"
line "to switch with the Active Pok`mon."
done
@@ -132,7 +132,7 @@ Text010f: ; 38575 (e:4575)
done
Text0110: ; 3859e (e:459e)
- text TX_RAM1," is selecting a Pok`mon"
+ text TX_RAM1, " is selecting a Pok`mon"
line "to place in the Arena."
done
@@ -154,19 +154,19 @@ Text0113: ; 38647 (e:4647)
Text0114: ; 3868d (e:468d)
text "Changed the Weakness of"
line ""
- text TX_RAM2," to ",TX_RAM2,"."
+ text TX_RAM2, " to ", TX_RAM2, "."
done
Text0115: ; 386af (e:46af)
text "Changed the Resistance of"
line ""
- text TX_RAM2," to ",TX_RAM2,"."
+ text TX_RAM2, " to ", TX_RAM2, "."
done
Text0116: ; 386d3 (e:46d3)
text "Changed the color of"
line ""
- text TX_RAM2," to ",TX_RAM2,"."
+ text TX_RAM2, " to ", TX_RAM2, "."
done
Text0117: ; 386f2 (e:46f2)
@@ -174,7 +174,7 @@ Text0117: ; 386f2 (e:46f2)
done
Text0118: ; 3870e (e:470e)
- text "Draw ",TX_RAM3," card(s) from the Deck."
+ text "Draw ", TX_RAM3, " card(s) from the Deck."
done
Text0119: ; 3872d (e:472d)
@@ -407,7 +407,7 @@ Text013a: ; 391dc (e:51dc)
done
Text013b: ; 39215 (e:5215)
- text "There is no ",TX_RAM2,""
+ text "There is no ", TX_RAM2, ""
line "in the Deck."
done
@@ -451,7 +451,7 @@ Text0144: ; 3930a (e:530a)
Text0145: ; 39318 (e:5318)
text "Peek was used to look at the"
- line TX_RAM2," in your Hand."
+ line TX_RAM2, " in your Hand."
done
Text0146: ; 39346 (e:5346)
@@ -459,12 +459,12 @@ Text0146: ; 39346 (e:5346)
done
Text0147: ; 3935d (e:535d)
- text TX_RAM2," and all attached"
+ text TX_RAM2, " and all attached"
line "cards were returned to the Hand."
done
Text0148: ; 39392 (e:5392)
- text TX_RAM2," was chosen"
+ text TX_RAM2, " was chosen"
line "for the effect of Amnesia."
done
@@ -474,27 +474,27 @@ Text0149: ; 393bb (e:53bb)
done
WasUnsuccessfulText: ; 393e6 (e:53e6)
- text TX_RAM2,"'s"
- line TX_RAM2," was unsuccessful."
+ text TX_RAM2, "'s"
+ line TX_RAM2, " was unsuccessful."
done
Text014b: ; 393ff (e:53ff)
text "There was no effect"
- line "from ",TX_RAM2,"."
+ line "from ", TX_RAM2, "."
done
Text014c: ; 3941c (e:541c)
- text "The Energy card from ",TX_RAM1,"'s"
+ text "The Energy card from ", TX_RAM1, "'s"
line "Play Area was moved."
done
Text014d: ; 3944b (e:544b)
- text TX_RAM1," drew"
- line TX_RAM3," Fire Energy from the Hand."
+ text TX_RAM1, " drew"
+ line TX_RAM3, " Fire Energy from the Hand."
done
Text014e: ; 39470 (e:5470)
- text "The Pok`mon cards in ",TX_RAM1,"'s"
+ text "The Pok`mon cards in ", TX_RAM1, "'s"
line "Hand and Deck were shuffled"
done
@@ -549,7 +549,7 @@ Text0158: ; 3968b (e:568b)
done
Text0159: ; 396b4 (e:56b4)
- text "You can draw up to ",TX_RAM3," cards."
+ text "You can draw up to ", TX_RAM3, " cards."
line "A to Draw, B to End."
done
@@ -608,7 +608,7 @@ Text0164: ; 3985b (e:585b)
done
Text0165: ; 3986b (e:586b)
- text TX_RAM2," was chosen."
+ text TX_RAM2, " was chosen."
done
Text0166: ; 3987a (e:587a)
@@ -637,27 +637,27 @@ Text016a: ; 39952 (e:5952)
done
Text016b: ; 39987 (e:5987)
- text TX_RAM2," and all attached"
+ text TX_RAM2, " and all attached"
line "cards were returned to the Deck."
done
Text016c: ; 399bc (e:59bc)
- text TX_RAM2," was returned"
+ text TX_RAM2, " was returned"
line "from the Arena to the Hand."
done
Text016d: ; 399e8 (e:59e8)
- text TX_RAM2," was returned"
+ text TX_RAM2, " was returned"
line "from the Bench to the Hand."
done
Text016e: ; 39a14 (e:5a14)
- text TX_RAM2," was returned"
+ text TX_RAM2, " was returned"
line "to the Deck."
done
Text016f: ; 39a31 (e:5a31)
- text TX_RAM2," was placed"
+ text TX_RAM2, " was placed"
line "in the Hand."
done
@@ -680,12 +680,12 @@ Text0173: ; 39a9c (e:5a9c)
done
Text0174: ; 39ab9 (e:5ab9)
- text "Discarded ",TX_RAM3," cards"
- line "from ",TX_RAM1,"'s Deck."
+ text "Discarded ", TX_RAM3, " cards"
+ line "from ", TX_RAM1, "'s Deck."
done
Text0175: ; 39adb (e:5adb)
- text "Discarded ",TX_RAM2,""
+ text "Discarded ", TX_RAM2, ""
line "from the Hand."
done
@@ -694,23 +694,23 @@ Text0176: ; 39af7 (e:5af7)
done
Text0177: ; 39b03 (e:5b03)
- text TX_RAM2,""
+ text TX_RAM2, ""
line "came to the Bench!"
done
Text0178: ; 39b19 (e:5b19)
- text TX_RAM1," has"
+ text TX_RAM1, " has"
line "no cards in Hand!"
done
Text0179: ; 39b32 (e:5b32)
- text TX_RAM2," healed"
- line TX_RAM3," damage!"
+ text TX_RAM2, " healed"
+ line TX_RAM3, " damage!"
done
Text017a: ; 39b46 (e:5b46)
- text TX_RAM2," devolved"
- line "to ",TX_RAM2,"!"
+ text TX_RAM2, " devolved"
+ line "to ", TX_RAM2, "!"
done
Text017b: ; 39b58 (e:5b58)
@@ -718,7 +718,7 @@ Text017b: ; 39b58 (e:5b58)
done
Text017c: ; 39b73 (e:5b73)
- text "You can select ",TX_RAM3," more cards. Quit?"
+ text "You can select ", TX_RAM3, " more cards. Quit?"
done
Text017d: ; 39b97 (e:5b97)
@@ -757,7 +757,7 @@ Text0183: ; 39c5a (e:5c5a)
Text0184: ; 39c86 (e:5c86)
text "Exchanged the cards"
- line "in ",TX_RAM1,"'s Hand."
+ line "in ", TX_RAM1, "'s Hand."
done
Text0185: ; 39ca8 (e:5ca8)
@@ -780,8 +780,8 @@ Text0188: ; 39cea (e:5cea)
done
Text0189: ; 39d1b (e:5d1b)
- text "Begin a ",TX_RAM3,"-Prize Duel"
- line "with ",TX_RAM1,"."
+ text "Begin a ", TX_RAM3, "-Prize Duel"
+ line "with ", TX_RAM1, "."
done
Text018a: ; 39d39 (e:5d39)
@@ -805,32 +805,32 @@ Text018d: ; 39dcc (e:5dcc)
done
Text018e: ; 39e02 (e:5e02)
- text "Received ",TX_RAM2,""
+ text "Received ", TX_RAM2, ""
line "through Card Pop!"
done
ReceivedCardText: ; 39e20 (e:5e20)
- text TX_RAM1," received"
- line "a ",TX_RAM2,"!"
+ text TX_RAM1, " received"
+ line "a ", TX_RAM2, "!"
done
ReceivedPromotionalCardText: ; 39e31 (e:5e31)
- text TX_RAM1," received a Promotional"
- line "card ",TX_RAM2,"!"
+ text TX_RAM1, " received a Promotional"
+ line "card ", TX_RAM2, "!"
done
ReceivedLegendaryCardText: ; 39e53 (e:5e53)
- text TX_RAM1," received the Legendary"
- line "card ",TX_RAM2,"!"
+ text TX_RAM1, " received the Legendary"
+ line "card ", TX_RAM2, "!"
done
ReceivedPromotionalFlyingPikachuText: ; 39e75 (e:5e75)
- text TX_RAM1," received a Promotinal"
+ text TX_RAM1, " received a Promotinal"
line "card Flyin' Pikachu!"
done
ReceivedPromotionalSurfingPikachuText: ; 39ea3 (e:5ea3)
- text TX_RAM1," received a Promotional"
+ text TX_RAM1, " received a Promotional"
line "card Surfin' Pikachu!"
done
@@ -853,11 +853,11 @@ Text0197: ; 39f2f (e:5f2f)
done
Text0198: ; 39f4d (e:5f4d)
- text "Sent to ",TX_RAM1,"."
+ text "Sent to ", TX_RAM1, "."
done
Text0199: ; 39f59 (e:5f59)
- text "Received from ",TX_RAM1,"."
+ text "Received from ", TX_RAM1, "."
done
Text019a: ; 39f6b (e:5f6b)
@@ -1101,7 +1101,7 @@ Text01c4: ; 3ab08 (e:6b08)
line "Energy to use Waterfall."
line "You need to attach a Psychic Energy"
line "card to Seaking."
- line TX_COLORLESS," means any Energy card."
+ line TX_COLORLESS, " means any Energy card."
line "Now you can use Waterfall."
line "Keep the Water Energy card for"
line "other Pok`mon."
@@ -1220,7 +1220,7 @@ Text01d4: ; 3b1f4 (e:71f4)
line ""
line "Pick up the last Prize."
line ""
- text TX_RAM1," is the winner!"
+ text TX_RAM1, " is the winner!"
done
Text01d5: ; 3b242 (e:7242)
@@ -1259,7 +1259,7 @@ Text01da: ; 3b3bb (e:73bb)
done
Text01db: ; 3b3fe (e:73fe)
- text TX_RAM1,"'s turn ",TX_RAM3
+ text TX_RAM1, "'s turn ", TX_RAM3
done
Text01dc: ; 3b40a (e:740a)
@@ -1553,7 +1553,7 @@ Text0221: ; 3b8f2 (e:78f2)
line $03,$39,$70,$03,$3a,$70,$03,$3b,$70,$03,$3c,$70,$03,$3d,$70,$03,$3e,$70,$03,$3f,$70,$03,$40,$70,$03,$41,""
line $03,$42,$70,$03,$43,$70,$03,$44,$70,$03,$45,$70,$03,$46,$70,$03,$47,$70,$03,$48,$70,$03,$49,$70,$6e,""
line $6f,$70,$03,$5d,$70,$6a,$70,$6b,$70,$77,$70,$60,$70,$61,$70,$62,$70,$63,""
- line $64,$70,$65,$70,$66,$70,$67,$70,$68,$70,$69,$70,$05,$13,$70,TX_LVL,$70,$70,""
+ line $64,$70,$65,$70,$66,$70,$67,$70,$68,$70,$69,$70,$05,$13,$70, TX_LVL, $70,$70,""
line $70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70
done
@@ -1595,7 +1595,7 @@ Text0229: ; 3ba51 (e:7a51)
done
ChosenAsDuelingDeckText: ; 3ba55 (e:7a55)
- text TX_RAM2," was"
+ text TX_RAM2, " was"
line "chosen as the dueling deck!"
done
@@ -1715,7 +1715,7 @@ Text0246: ; 3bc85 (e:7c85)
done
Text0247: ; 3bc9e (e:7c9e)
- text TX_RAM1,"'s Play Area"
+ text TX_RAM1, "'s Play Area"
done
Text0248: ; 3bcad (e:7cad)
@@ -1747,11 +1747,11 @@ Text024e: ; 3bd20 (e:7d20)
done
Text024f: ; 3bd26 (e:7d26)
- text TX_RAM1,"'s Hand"
+ text TX_RAM1, "'s Hand"
done
Text0250: ; 3bd30 (e:7d30)
- text TX_RAM1,"'s Discard Pile"
+ text TX_RAM1, "'s Discard Pile"
done
Text0251: ; 3bd42 (e:7d42)
@@ -1830,7 +1830,7 @@ Text0262: ; 3be7d (e:7e7d)
Text0263: ; 3be82 (e:7e82)
text "Saved the configuration for"
line ""
- text TX_RAM2,"! "
+ text TX_RAM2, "! "
done
Text0264: ; 3bea4 (e:7ea4)
@@ -1849,7 +1849,7 @@ Text0266: ; 3bee7 (e:7ee7)
Text0267: ; 3bf06 (e:7f06)
text "Deleted the configuration for"
line ""
- text TX_RAM2,"."
+ text TX_RAM2, "."
done
Text0268: ; 3bf29 (e:7f29)
@@ -1863,7 +1863,7 @@ Text0269: ; 3bf46 (e:7f46)
Text026a: ; 3bf63 (e:7f63)
text "Dismantled"
line ""
- text TX_RAM2,"."
+ text TX_RAM2, "."
done
Text026b: ; 3bf73 (e:7f73)
diff --git a/src/text/text3.asm b/src/text/text3.asm
index e1f4b96..1c810c0 100644
--- a/src/text/text3.asm
+++ b/src/text/text3.asm
@@ -108,7 +108,7 @@ Text0282: ; 3c357 (f:4357)
Text0283: ; 3c36a (f:436a)
text "Received these cards"
- line "from ",TX_RAM2,"!"
+ line "from ", TX_RAM2, "!"
done
Text0284: ; 3c389 (f:4389)
@@ -126,7 +126,7 @@ Text0286: ; 3c3d3 (f:43d3)
Text0287: ; 3c3eb (f:43eb)
text "Received a deck configuration"
- line "from ",TX_RAM2,"!"
+ line "from ", TX_RAM2, "!"
done
Text0288: ; 3c413 (f:4413)
@@ -808,10 +808,10 @@ Text0315: ; 3dcb2 (f:5cb2)
line "your Pok`mon, making them able"
line "to Attack."
line "There are 7 types of Energy Cards"
- line "[",TX_GRASS," Grass] [",TX_FIRE," Fire]"
- line "[",TX_WATER," Water] [",TX_LIGHTNING," Lightning]"
- line "[",TX_PSYCHIC," Psychic] [",TX_FIGHTING," Fighting]"
- line "and [",TX_COLORLESS," Double Colorless]"
+ line "[", TX_GRASS, " Grass] [", TX_FIRE, " Fire]"
+ line "[", TX_WATER, " Water] [", TX_LIGHTNING, " Lightning]"
+ line "[", TX_PSYCHIC, " Psychic] [", TX_FIGHTING, " Fighting]"
+ line "and [", TX_COLORLESS, " Double Colorless]"
line "You may only play 1 Energy Card"
line "from your Hand per turn."
done
@@ -1065,7 +1065,7 @@ Text033e: ; 3e834 (f:6834)
done
Text033f: ; 3e85f (f:685f)
- text "Name ",TX_RAM1
+ text "Name ", TX_RAM1
done
Text0340: ; 3e867 (f:6867)
@@ -1077,7 +1077,7 @@ Text0341: ; 3e87b (f:687b)
done
Text0342: ; 3e892 (f:6892)
- text TX_RAM1,"'s diary"
+ text TX_RAM1, "'s diary"
done
Text0343: ; 3e89d (f:689d)
@@ -1089,7 +1089,7 @@ Text0344: ; 3e8b1 (f:68b1)
done
Text0345: ; 3e8d2 (f:68d2)
- text TX_RAM1,""
+ text TX_RAM1, ""
line "wrote in the diary."
done
@@ -1123,8 +1123,8 @@ Text034b: ; 3e9a0 (f:69a0)
done
Text034c: ; 3e9b2 (f:69b2)
- text "Duel [",TX_RAM2,"]"
- line "SELECT [",TX_RAM2,"]"
+ text "Duel [", TX_RAM2, "]"
+ line "SELECT [", TX_RAM2, "]"
line "Receive many cards"
line "To Pok`mon Dome 1"
line "To Pok`mon Dome 2"
@@ -1155,12 +1155,12 @@ Text0351: ; 3ea3a (f:6a3a)
done
TurnedPCOnText: ; 3ea69 (f:6a69)
- text TX_RAM1,""
+ text TX_RAM1, ""
line "turned the PC on!"
done
TurnedPCOffText: ; 3ea7e (f:6a7e)
- text TX_RAM1,""
+ text TX_RAM1, ""
line "turned the PC off!"
done
@@ -1189,7 +1189,7 @@ Text0358: ; 3eb16 (f:6b16)
done
Text0359: ; 3eb32 (f:6b32)
- text " Mail ",TX_RAM1," "
+ text " Mail ", TX_RAM1, " "
done
Text035a: ; 3eb3e (f:6b3e)
@@ -1287,7 +1287,7 @@ Text036f: ; 3ec74 (f:6c74)
done
Text0370: ; 3ecb9 (f:6cb9)
- text " ",TX_RAM1," ",TX_RAM2,""
+ text " ", TX_RAM1, " ", TX_RAM2, ""
line " Master Medals Won ",$07,$0c,$06,""
line " Album ",$07,$6d,$06,""
line " Play time ",$07,$03,$5e,$06
@@ -1343,10 +1343,10 @@ Text0378: ; 3ef66 (f:6f66)
done
Text0379: ; 3efc3 (f:6fc3)
- text TX_RAM1," is crazy about Pok`mon"
+ text TX_RAM1, " is crazy about Pok`mon"
line "and Pok`mon card collecting!"
line "One day,"
- line TX_RAM1," heard a rumor:"
+ line TX_RAM1, " heard a rumor:"
line " \"The Legendary Pok`mon Cards..."
line " the extremely rare and powerful "
line " cards held by Pok`mon Trading "
@@ -1355,7 +1355,7 @@ Text0379: ; 3efc3 (f:6fc3)
line " for one to inherit the legend!\""
line "Dreaming of inheriting the"
line "Legendary Pok`mon Cards,"
- line TX_RAM1," visits the Pok`mon"
+ line TX_RAM1, " visits the Pok`mon"
line "card researcher, Dr. Mason..."
done
@@ -1440,26 +1440,26 @@ Text0384: ; 3f2c0 (f:72c0)
done
Text0385: ; 3f2c6 (f:72c6)
- text "WIN ",TX_RAM3," Prizes Duel"
- line "LOSE with ",TX_RAM2,"(",TX_RAM3,")"
+ text "WIN ", TX_RAM3, " Prizes Duel"
+ line "LOSE with ", TX_RAM2, "(", TX_RAM3, ")"
done
Text0386: ; 3f2f1 (f:72f1)
- text " Use ",TX_RAM3,"'s Deck"
+ text " Use ", TX_RAM3, "'s Deck"
done
ReceivedBoosterPackText: ; 3f308 (f:7308)
- text TX_RAM1," received a Booster"
- line "Pack: ",TX_RAM2,"."
+ text TX_RAM1, " received a Booster"
+ line "Pack: ", TX_RAM2, "."
done
AndAnotherBoosterPackText: ; 3f327 (f:7327)
text "...And another Booster Pack:"
- line TX_RAM2,"."
+ line TX_RAM2, "."
done
CheckedCardsInBoosterPackText: ; 3f348 (f:7348)
- text TX_RAM1," checked the cards"
+ text TX_RAM1, " checked the cards"
line "in the Booster Pack!!"
done
@@ -1469,8 +1469,8 @@ Text038a: ; 3f373 (f:7373)
done
WonTheMedalText: ; 3f39b (f:739b)
- text TX_RAM1,""
- line "Won the ",TX_RAM2," Medal!"
+ text TX_RAM1, ""
+ line "Won the ", TX_RAM2, " Medal!"
done
Text038c: ; 3f3af (f:73af)
@@ -1515,11 +1515,11 @@ Text0394: ; 3f4d6 (f:74d6)
done
Text0395: ; 3f4f3 (f:74f3)
- text TX_RAM2," ",TX_RAM2
+ text TX_RAM2, " ", TX_RAM2
done
Text0396: ; 3f4f9 (f:74f9)
- text TX_RAM2," Deck"
+ text TX_RAM2, " Deck"
done
Text0397: ; 3f501 (f:7501)
@@ -1846,51 +1846,51 @@ Text03e7: ; 3f823 (f:7823)
done
Text03e8: ; 3f82a (f:782a)
- text TX_LVL,"60 MEWTWO "
+ text TX_LVL, "60 MEWTWO "
done
Text03e9: ; 3f838 (f:7838)
- text TX_LVL,"8 MEW "
+ text TX_LVL, "8 MEW "
done
Text03ea: ; 3f842 (f:7842)
- text TX_LVL,"34 ARCANINE"
+ text TX_LVL, "34 ARCANINE"
done
Text03eb: ; 3f851 (f:7851)
- text TX_LVL,"16 PIKACHU"
+ text TX_LVL, "16 PIKACHU"
done
Text03ec: ; 3f85f (f:785f)
- text TX_LVL,"13 SURFING PIKACHU"
+ text TX_LVL, "13 SURFING PIKACHU"
done
Text03ed: ; 3f875 (f:7875)
- text TX_LVL,"20 ELECTABUZZ"
+ text TX_LVL, "20 ELECTABUZZ"
done
Text03ee: ; 3f886 (f:7886)
- text TX_LVL,"9 SLOWPOKE"
+ text TX_LVL, "9 SLOWPOKE"
done
Text03ef: ; 3f894 (f:7894)
- text TX_LVL,"12 JIGGLYPUFF"
+ text TX_LVL, "12 JIGGLYPUFF"
done
Text03f0: ; 3f8a5 (f:78a5)
- text TX_LVL,"68 ZAPDOS"
+ text TX_LVL, "68 ZAPDOS"
done
Text03f1: ; 3f8b2 (f:78b2)
- text TX_LVL,"37 MOLTRES"
+ text TX_LVL, "37 MOLTRES"
done
Text03f2: ; 3f8c0 (f:78c0)
- text TX_LVL,"37 ARTICUNO"
+ text TX_LVL, "37 ARTICUNO"
done
Text03f3: ; 3f8cf (f:78cf)
- text TX_LVL,"41 DRAGONITE"
+ text TX_LVL, "41 DRAGONITE"
done
Text03f4: ; 3f8df (f:78df)
@@ -1898,7 +1898,7 @@ Text03f4: ; 3f8df (f:78df)
done
Text03f5: ; 3f8f7 (f:78f7)
- text TX_LVL,"12 FLYING PIKACHU"
+ text TX_LVL, "12 FLYING PIKACHU"
done
Text03f6: ; 3f90c (f:790c)
@@ -1935,7 +1935,7 @@ Text03fd: ; 3f9d0 (f:79d0)
done
Text03fe: ; 3f9f2 (f:79f2)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "How can I help you?"
done
@@ -1958,7 +1958,7 @@ Text0400: ; 3fa32 (f:7a32)
done
Text0401: ; 3faaa (f:7aaa)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "It's me, Doctor Mason."
line "Are you getting the hang of"
line "the Pok`mon Trading Card Game?"
@@ -1995,7 +1995,7 @@ Text0402: ; 3fd72 (f:7d72)
done
Text0403: ; 3fe10 (f:7e10)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "It's me, Doctor Mason."
line "I have some information for you"
line "about Mitch's deck - he's "
@@ -2010,7 +2010,7 @@ Text0403: ; 3fe10 (f:7e10)
done
Text0404: ; 3ff4d (f:7f4d)
- text TX_RAM1,", I know you can do it!"
+ text TX_RAM1, ", I know you can do it!"
line "Go win the Fighting Medal!"
line "Mason Laboratory"
line " Doctor Mason ;)"
diff --git a/src/text/text4.asm b/src/text/text4.asm
index c7e1f27..6aa3493 100644
--- a/src/text/text4.asm
+++ b/src/text/text4.asm
@@ -1,5 +1,5 @@
Text0405: ; 40000 (10:4000)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "It's me, Doctor Mason."
line "I have some information about"
line "Gene's deck - he's the Master "
@@ -14,14 +14,14 @@ Text0405: ; 40000 (10:4000)
done
Text0406: ; 4014a (10:414a)
- text TX_RAM1,"! Go defeat Gene,"
+ text TX_RAM1, "! Go defeat Gene,"
line "the Master of the Rock Club!"
line "Mason Laboratory"
line " Doctor Mason ;)"
done
Text0407: ; 401a3 (10:41a3)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "It's me, Doctor Mason."
line "I have some information for you"
line "about Amy's deck - she's the "
@@ -41,14 +41,14 @@ Text0407: ; 401a3 (10:41a3)
done
Text0408: ; 4033e (10:433e)
- text TX_RAM1,"!"
+ text TX_RAM1, "!"
line "Keep at it, and don't give up!"
line "Mason Laboratory"
line " Doctor Mason ;)"
done
Text0409: ; 40389 (10:4389)
- text "How's it going, ",TX_RAM1,"?"
+ text "How's it going, ", TX_RAM1, "?"
line "It's me, Doctor Mason."
line "I have some information for you"
line "about Isaac's deck - he's"
@@ -120,7 +120,7 @@ Text040d: ; 40819 (10:4819)
done
Text040e: ; 409c6 (10:49c6)
- text "Fight to the end, ",TX_START,TX_RAM1,","
+ text "Fight to the end, ", TX_START, TX_RAM1, ","
line "and don't give up!"
line "Mason Laboratory"
line " Dr. Mason ;)"
@@ -128,7 +128,7 @@ Text040e: ; 409c6 (10:49c6)
Text040f: ; 40a15 (10:4a15)
text "It's me, Dr. Mason."
- line "How are you doing, ",TX_RAM1,"?"
+ line "How are you doing, ", TX_RAM1, "?"
line "I have some information for you"
line "about Rick's deck - he's "
line "the Master of the Science Club."
@@ -148,7 +148,7 @@ Text040f: ; 40a15 (10:4a15)
Text0410: ; 40bea (10:4bea)
text "Win all 8 Master Medals, "
line ""
- text TX_RAM1,"!"
+ text TX_RAM1, "!"
line "Mason Laboratory"
line " Dr. Mason ;)"
done
@@ -226,7 +226,7 @@ Text0414: ; 40fca (10:4fca)
done
Text0415: ; 4123d (10:523d)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "It's me, Dr. Mason."
line "You're finally going to be dueling"
line "a Grand Master..."
@@ -247,7 +247,7 @@ Text0415: ; 4123d (10:523d)
done
Text0416: ; 413f1 (10:53f1)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "It's me, Dr. Mason!"
line "Grand Master Steve uses"
line "the Legendary ZAPDOS."
@@ -264,7 +264,7 @@ Text0416: ; 413f1 (10:53f1)
line "using your Fighting Pok`mon."
line "Defeat the Grand Masters,"
line ""
- text TX_RAM1,"!!!"
+ text TX_RAM1, "!!!"
line "Mason Laboratory"
line " Dr. Mason ;)"
line "p.s."
@@ -284,7 +284,7 @@ Text0417: ; 415cf (10:55cf)
line "His deck should be mostly"
line "Water Pok`mon, so it will be"
line "weak against Lightning Pok`mon!"
- line "Go get 'em, ",TX_RAM1,"!"
+ line "Go get 'em, ", TX_RAM1, "!"
line "You're almost there!"
line "Mason Laboratory"
line " Dr. Mason ;)"
@@ -305,7 +305,7 @@ Text0418: ; 4174c (10:574c)
line "of striking early. This is the "
line "final test in inheriting "
line "the Legendary Pok`mon Cards!"
- line "Go, ",TX_RAM1,"!"
+ line "Go, ", TX_RAM1, "!"
line "Be a part of the legend!"
line "Mason Laboratory"
line " Dr. Mason ;)"
@@ -386,12 +386,12 @@ Text0423: ; 41cf7 (10:5cf7)
done
Text0424: ; 41d2a (10:5d2a)
- text TX_RAM1," traded a Lapras"
+ text TX_RAM1, " traded a Lapras"
line "for an Arcanine!"
done
Text0425: ; 41d4e (10:5d4e)
- text "Thanks, ",TX_RAM1,"!"
+ text "Thanks, ", TX_RAM1, "!"
line "I'll take good care"
line "of this Lapras."
done
@@ -642,14 +642,14 @@ Text044d: ; 4294b (10:694b)
done
Text044e: ; 4296d (10:696d)
- text "Was it ",TX_RAM1,"?"
+ text "Was it ", TX_RAM1, "?"
line "I will be your next opponent."
line "I, Amy, the Master of the "
line "Water Club!"
done
Text044f: ; 429bd (10:69bd)
- text "Aren't you ",TX_RAM1,"?"
+ text "Aren't you ", TX_RAM1, "?"
line "So you decided you want to"
line "duel me?"
done
@@ -698,7 +698,7 @@ Text0457: ; 42ba1 (10:6ba1)
done
Text0458: ; 42be9 (10:6be9)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "Nice to see you again!!!"
line "Did you come to play the"
line "Pok`mon Trading Card Game?"
@@ -724,7 +724,7 @@ Text045b: ; 42d1e (10:6d1e)
line "Card Game. I'm not into dueling."
line "I prefer collecting the cards."
line "By the way, would you happen to have"
- line TX_RAM2,"?"
+ line TX_RAM2, "?"
line "If you do, I was wondering if you"
line "might want to give it to me?"
line "How about it?"
@@ -734,20 +734,20 @@ Text045c: ; 42df7 (10:6df7)
text "Hi! It's you!"
line "What's up?"
line "Did you decide to give me"
- line "your ",TX_RAM2,"?"
+ line "your ", TX_RAM2, "?"
done
Text045d: ; 42e33 (10:6e33)
text "Hi! I see you're playing with"
line "the cards again."
line "By the way, I'm looking for"
- line TX_RAM2," this time."
+ line TX_RAM2, " this time."
line "If you should happen to have one,"
line "would you mind giving it to me?"
done
Text045e: ; 42ece (10:6ece)
- text "Give away your ",TX_RAM2,"?"
+ text "Give away your ", TX_RAM2, "?"
done
Text045f: ; 42ee1 (10:6ee1)
@@ -757,17 +757,17 @@ Text045f: ; 42ee1 (10:6ee1)
done
Text0460: ; 42f2d (10:6f2d)
- text "But you don't have ",TX_RAM2,"!"
+ text "But you don't have ", TX_RAM2, "!"
line "I appreciate your generosity, but "
line "you can't give me what you don't "
line "have. Come see me again after "
- line "you get ",TX_RAM2,"."
+ line "you get ", TX_RAM2, "."
done
Text0461: ; 42fb3 (10:6fb3)
text "You're going to give it to me?"
line "Thank you!"
- line "But your ",TX_RAM2,""
+ line "But your ", TX_RAM2, ""
line "is in your Deck."
line "I can't take a card that you're"
line "playing with!"
@@ -786,7 +786,7 @@ Text0463: ; 430ab (10:70ab)
line "me so many cards,"
line "please accept this card as a gift"
line "from me to you."
- line "It's a ",TX_LVL,"16 Pikachu."
+ line "It's a ", TX_LVL, "16 Pikachu."
line "Please take good care of it!"
done
@@ -815,7 +815,7 @@ Text0467: ; 43221 (10:7221)
line "I am the super musical star,"
line "Imakuni?!"
line "I'll sing the Pok`Rap - You dance!"
- line $07,$03,$63,TX_START,"La di da la di da"
+ line $07,$03,$63, TX_START, "La di da la di da"
line " La di da la di da..."
line "Hey!"
line "Move those feet!"
@@ -878,7 +878,7 @@ Text0471: ; 435a7 (10:75a7)
line "You weren't too bad, but since "
line "I won...Let's see you shake it!"
line "Come on, shake it!!!"
- line $07,$03,$63,TX_START,"La di da la di da"
+ line $07,$03,$63, TX_START, "La di da la di da"
line " La di da la di da..."
line "... You dance weird!"
done
diff --git a/src/text/text5.asm b/src/text/text5.asm
index 404dbfa..16f26e9 100644
--- a/src/text/text5.asm
+++ b/src/text/text5.asm
@@ -692,7 +692,7 @@ Text04f4: ; 46aae (11:6aae)
line "for Game Boy includes many "
line "original cards, like the "
line ""
- text TX_LVL,"14 Meowth with the Cat Punch "
+ text TX_LVL, "14 Meowth with the Cat Punch "
line "attack. There are many new cards,"
line "so go search them out!"
done
@@ -743,7 +743,7 @@ Text04fb: ; 46dcb (11:6dcb)
Text04fc: ; 46dec (11:6dec)
text "The first of the Legendary Pok`mon"
- line "Cards is ",TX_LVL,"37 Moltres. With"
+ line "Cards is ", TX_LVL, "37 Moltres. With"
line "Firegiver, you can place Fire"
line "Energy cards in your hand! Also,"
line "Dive Bomb is a powerful attack!"
@@ -757,7 +757,7 @@ Text04fd: ; 46ec2 (11:6ec2)
Text04fe: ; 46ee3 (11:6ee3)
text "The second Legendary Pok`mon Card"
- line "is ",TX_LVL,"68 Zapdos. With Peal of"
+ line "is ", TX_LVL, "68 Zapdos. With Peal of"
line "Thunder, just putting this card on"
line "the bench causes damage!"
line "Also, Big Thunder is a powerful"
@@ -771,7 +771,7 @@ Text04ff: ; 46fb8 (11:6fb8)
Text0500: ; 46fd9 (11:6fd9)
text "The third Legendary Pok`mon Card"
- line "is ",TX_LVL,"37 Articuno. Its Quickfreeze"
+ line "is ", TX_LVL, "37 Articuno. Its Quickfreeze"
line "will paralyze opponents' Pok`mon"
line "when the card is put in play!"
line "Also, Ice Breath is a powerful"
@@ -785,7 +785,7 @@ Text0501: ; 470b3 (11:70b3)
Text0502: ; 470d4 (11:70d4)
text "The fourth Legendary Pok`mon Card"
- line "is ",TX_LVL,"41 Dragonite. Its Healing"
+ line "is ", TX_LVL, "41 Dragonite. Its Healing"
line "Wind will heal damage done to "
line "Pok`mon when this card is played!"
line "Also, Slam is a powerful attack!"
@@ -864,14 +864,14 @@ Text050c: ; 475ab (11:75ab)
done
Text050d: ; 47644 (11:7644)
- text "Most unfortunate, ",TX_RAM1,"."
+ text "Most unfortunate, ", TX_RAM1, "."
line "Once you enter, you won't be able"
line "to re-enter for some time. "
line "Please try again another day."
done
Text050e: ; 476b6 (11:76b6)
- text "Congratulations, ",TX_RAM1,"!"
+ text "Congratulations, ", TX_RAM1, "!"
line "You received a card!"
line "Please join us for the next "
line "Challenge Cup, too."
@@ -919,7 +919,7 @@ Text0514: ; 47913 (11:7913)
done
Text0515: ; 47984 (11:7984)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "Are you competing, too?"
done
@@ -927,13 +927,13 @@ Text0516: ; 479a4 (11:79a4)
text "I'm the one who's going to"
line "defeat 3 opponents! The prize, "
line ""
- text TX_LVL,"60 Mewtwo, belongs to me!"
+ text TX_LVL, "60 Mewtwo, belongs to me!"
line "You just sit tight and watch me win!"
line "See Ya! Ha ha ha ha ha ha!"
done
Text0517: ; 47a3d (11:7a3d)
- text "Hey, it's ",TX_RAM1," - the loser"
+ text "Hey, it's ", TX_RAM1, " - the loser"
line "of the Challenge Cup!"
done
@@ -947,26 +947,26 @@ Text0518: ; 47a6c (11:7a6c)
done
Text0519: ; 47b25 (11:7b25)
- text "Hey ",TX_RAM1,", too bad "
+ text "Hey ", TX_RAM1, ", too bad "
line "you're too late!"
done
Text051a: ; 47b47 (11:7b47)
text "The Challenge Cup is over! I"
line "defeated 3 opponents and won"
- line "the prize - ",TX_LVL,"60 Mewtwo!"
+ line "the prize - ", TX_LVL, "60 Mewtwo!"
line "See ya! Ha ha ha ha ha ha!"
done
Text051b: ; 47bb6 (11:7bb6)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "What are you doing here?"
done
Text051c: ; 47bd7 (11:7bd7)
text "The Challenge Cup is over! I"
line "defeated 3 opponents and won"
- line "the prize - ",TX_LVL,"60 Mewtwo!"
+ line "the prize - ", TX_LVL, "60 Mewtwo!"
line "I guess you could try entering"
line "the next Challenge Cup, but "
line "you won't have a chance since "
@@ -975,7 +975,7 @@ Text051c: ; 47bd7 (11:7bd7)
done
Text051d: ; 47cb9 (11:7cb9)
- text "Hey, ",TX_RAM1,"."
+ text "Hey, ", TX_RAM1, "."
line "We meet again."
done
@@ -983,14 +983,14 @@ Text051e: ; 47cd1 (11:7cd1)
text "No matter who enters the Challenge"
line "Cup, I'll be the winner! "
line ""
- text TX_LVL,"8 Mew, this Cup's prize, will "
+ text TX_LVL, "8 Mew, this Cup's prize, will "
line "belong to me! Why don't you just"
line "give up and go home!"
line "See ya! Ha ha ha ha ha ha!"
done
Text051f: ; 47d82 (11:7d82)
- text "Hey, it's ",TX_RAM1," - the"
+ text "Hey, it's ", TX_RAM1, " - the"
line "loser of the Challenge Cup!"
done
@@ -1003,7 +1003,7 @@ Text0520: ; 47db1 (11:7db1)
done
Text0521: ; 47e4f (11:7e4f)
- text "Hey, isn't that ",TX_RAM1,"?"
+ text "Hey, isn't that ", TX_RAM1, "?"
line "Late as always!"
done
@@ -1012,11 +1012,11 @@ Text0522: ; 47e73 (11:7e73)
line "over! What? Who won?"
line "Who do you expect!?! Me, of "
line "course! The prize belongs to"
- line "me! ",TX_LVL,"8 Mew! See ya!"
+ line "me! ", TX_LVL, "8 Mew! See ya!"
line "Ha ha ha ha ha ha!"
done
Text0523: ; 47f08 (11:7f08)
- text "Hey, ",TX_RAM1,"!"
+ text "Hey, ", TX_RAM1, "!"
line "What are you doing here?"
done
diff --git a/src/text/text6.asm b/src/text/text6.asm
index 5cbf6dd..78e60cb 100644
--- a/src/text/text6.asm
+++ b/src/text/text6.asm
@@ -1,7 +1,7 @@
Text0524: ; 48000 (12:4000)
text "The Challenge Cup is over already! "
line "Too bad you couldn't enter!"
- line "The prize belongs to me! ",TX_LVL,"8 Mew!"
+ line "The prize belongs to me! ", TX_LVL, "8 Mew!"
line "You really should enter the next"
line "Challenge Cup! But then again, "
line "why bother, since I'll also win "
@@ -55,14 +55,14 @@ Text052b: ; 48376 (12:4376)
text "The first Challenge Cup is"
line "now underway!"
line "Defeat 3 opponents to win the"
- line "wonderful prize of ",TX_LVL,"60 Mewtwo!"
+ line "wonderful prize of ", TX_LVL, "60 Mewtwo!"
done
Text052c: ; 483de (12:43de)
text "The second Challenge Cup is"
line "now under way!"
line "Defeat 3 opponents to win the"
- line "wonderful prize of ",TX_LVL,"8 Mew!"
+ line "wonderful prize of ", TX_LVL, "8 Mew!"
done
Text052d: ; 48444 (12:4444)
@@ -98,12 +98,12 @@ Text0532: ; 4856a (12:456a)
done
Text0533: ; 485a2 (12:45a2)
- text "Presently, ",TX_RAM1," is still"
+ text "Presently, ", TX_RAM1, " is still"
line "a contender!"
done
Text0534: ; 485c6 (12:45c6)
- text TX_RAM1," is the new challenger!"
+ text TX_RAM1, " is the new challenger!"
done
Text0535: ; 485e0 (12:45e0)
@@ -113,22 +113,22 @@ Text0535: ; 485e0 (12:45e0)
done
Text0536: ; 48612 (12:4612)
- text "The winner is ",TX_RAM2,"!!"
+ text "The winner is ", TX_RAM2, "!!"
line ""
- text TX_RAM2," has defeated 2 opponents!"
+ text TX_RAM2, " has defeated 2 opponents!"
line "Just 1 more opponent to go"
line "before winning the prize!"
done
Text0537: ; 48677 (12:4677)
- text "Too bad, ",TX_RAM1,"."
+ text "Too bad, ", TX_RAM1, "."
line "Have a safe trip home!"
done
Text0538: ; 4869b (12:469b)
- text "The Winner is ",TX_RAM2,"!!!"
+ text "The Winner is ", TX_RAM2, "!!!"
line ""
- text TX_RAM2," has defeated 1 opponent!"
+ text TX_RAM2, " has defeated 1 opponent!"
line "2 more opponents to go"
line "before winning the prize!"
done
@@ -136,7 +136,7 @@ Text0538: ; 4869b (12:469b)
Text0539: ; 486fc (12:46fc)
text "How unfortunate!"
line "Unable to defeat the last opponent!"
- line "It was close, but ",TX_RAM1," was "
+ line "It was close, but ", TX_RAM1, " was "
line "defeated by the third opponent!"
done
@@ -150,26 +150,26 @@ Text053b: ; 487c0 (12:47c0)
text "Ha ha ha! How about that!?!"
line "I win!!"
line "2 more opponents to go and"
- line "the ",TX_LVL,"8 Mew belongs to me!"
+ line "the ", TX_LVL, "8 Mew belongs to me!"
done
Text053c: ; 4881b (12:481b)
text "Congratulations!"
- line "The Winner is ",TX_RAM1,"!"
+ line "The Winner is ", TX_RAM1, "!"
line ""
- text TX_RAM1," has defeated"
+ text TX_RAM1, " has defeated"
line "1 opponent!!!"
done
Text053d: ; 4885c (12:485c)
- text "Way to go, ",TX_RAM1,"!"
+ text "Way to go, ", TX_RAM1, "!"
line "That's 2 wins!!!"
line "One more opponent to go before"
line "winning the Challenge Cup!"
done
Text053e: ; 488b6 (12:48b6)
- text "Most unfortunate, ",TX_RAM2,"."
+ text "Most unfortunate, ", TX_RAM2, "."
line "Have a safe trip home!"
done
@@ -180,27 +180,27 @@ Text053f: ; 488e3 (12:48e3)
Text0540: ; 48904 (12:4904)
text "Our new challenger is..."
line ""
- text TX_RAM2,"!"
+ text TX_RAM2, "!"
done
Text0541: ; 48922 (12:4922)
text "The third opponent is"
line ""
- text TX_RAM2,"!"
+ text TX_RAM2, "!"
done
Text0542: ; 4893d (12:493d)
- text "Hey, ",TX_RAM1,"!"
+ text "Hey, ", TX_RAM1, "!"
line "I'm not gonna lose to you!"
line ""
- text TX_LVL,"60 Mewtwo belongs to me!!!"
+ text TX_LVL, "60 Mewtwo belongs to me!!!"
done
Text0543: ; 4897f (12:497f)
- text TX_RAM1,"!"
+ text TX_RAM1, "!"
line "I'm going to defeat you!"
line ""
- text TX_LVL,"8 Mew belongs to me!!!"
+ text TX_LVL, "8 Mew belongs to me!!!"
done
Text0544: ; 489b6 (12:49b6)
@@ -217,12 +217,12 @@ Text0546: ; 489f5 (12:49f5)
done
Text0547: ; 48a09 (12:4a09)
- text "Well then, ",TX_RAM1,"!"
+ text "Well then, ", TX_RAM1, "!"
line "Let the second match begin!"
done
Text0548: ; 48a34 (12:4a34)
- text "Well, ",TX_RAM1,", let the third,"
+ text "Well, ", TX_RAM1, ", let the third,"
line "and final, match begin!"
done
@@ -237,7 +237,7 @@ Text054a: ; 48a90 (12:4a90)
done
Text054b: ; 48abf (12:4abf)
- text "Most unfortunate, ",TX_RAM2,"."
+ text "Most unfortunate, ", TX_RAM2, "."
line "Do try again in the next"
line "Challenge Cup."
done
@@ -252,31 +252,31 @@ Text054d: ; 48b25 (12:4b25)
done
Text054e: ; 48b3f (12:4b3f)
- text TX_RAM1,"!"
+ text TX_RAM1, "!"
line "I won't lose next time!"
done
Text054f: ; 48b5b (12:4b5b)
- text TX_RAM1,"!"
+ text TX_RAM1, "!"
line "I'll win next time!"
done
Text0550: ; 48b73 (12:4b73)
text "The Winner of this Challenge Cup "
- line "is ",TX_START,TX_RAM1,"!!!"
+ line "is ", TX_START, TX_RAM1, "!!!"
done
Text0551: ; 48b9f (12:4b9f)
- text TX_RAM1,", your prize"
- line "is ",TX_RAM2,"!"
+ text TX_RAM1, ", your prize"
+ line "is ", TX_RAM2, "!"
done
Text0552: ; 48bb4 (12:4bb4)
- text "Congratulations, ",TX_START,TX_RAM1,"!!!"
+ text "Congratulations, ", TX_START, TX_RAM1, "!!!"
done
Text0553: ; 48bcc (12:4bcc)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "What are you doing here?"
done
@@ -296,9 +296,9 @@ Text0555: ; 48c87 (12:4c87)
done
Text0556: ; 48cf5 (12:4cf5)
- text "Hey, ",TX_RAM1,"!"
- line "You only have ",TX_RAM3," Medals!"
- line "I've already collected ",TX_RAM3,"!"
+ text "Hey, ", TX_RAM1, "!"
+ line "You only have ", TX_RAM3, " Medals!"
+ line "I've already collected ", TX_RAM3, "!"
line "Why don't you just give up? See ya!"
done
@@ -329,7 +329,7 @@ Text055a: ; 48eb8 (12:4eb8)
done
Text055b: ; 48f10 (12:4f10)
- text "You're very good, ",TX_RAM1,"."
+ text "You're very good, ", TX_RAM1, "."
line "Please take care of my card."
done
@@ -352,7 +352,7 @@ Text055e: ; 48fcb (12:4fcb)
Text055f: ; 48ff9 (12:4ff9)
text "You've really improved your "
- line "game, ",TX_START,TX_RAM1,"."
+ line "game, ", TX_START, TX_RAM1, "."
line "Use my card to make it better!"
done
@@ -361,7 +361,7 @@ Text0560: ; 49040 (12:5040)
line "The Legendary Cards seem pleased"
line "to be passed on to you"
line ""
- text TX_RAM1,". Hurry and go through"
+ text TX_RAM1, ". Hurry and go through"
line "to the Hall of Honor!"
done
@@ -372,14 +372,14 @@ Text0561: ; 490c6 (12:50c6)
done
Text0562: ; 4911e (12:511e)
- text TX_RAM1,", That is not the way"
+ text TX_RAM1, ", That is not the way"
line "to the Hall of Honor."
- line "Hurry, ",TX_START,TX_RAM1,"! Go through to"
+ line "Hurry, ", TX_START, TX_RAM1, "! Go through to"
line "the Hall of Honor!"
done
Text0563: ; 49178 (12:5178)
- text TX_RAM1,", if you leave the "
+ text TX_RAM1, ", if you leave the "
line "Grand Hall, you must defeat "
line "each of us again to enter"
line "the Hall of Honor."
@@ -460,7 +460,7 @@ Text0570: ; 49506 (12:5506)
done
Text0571: ; 49570 (12:5570)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "take your place at the table."
done
@@ -521,12 +521,12 @@ Text057a: ; 49864 (12:5864)
done
Text057b: ; 498b8 (12:58b8)
- text "Very good, ",TX_RAM1,"!"
+ text "Very good, ", TX_RAM1, "!"
line "Your second opponent is Steve!"
done
Text057c: ; 498e6 (12:58e6)
- text TX_RAM1,"! Next, you must duel "
+ text TX_RAM1, "! Next, you must duel "
line "Steve!"
done
@@ -538,12 +538,12 @@ Text057d: ; 49906 (12:5906)
done
Text057e: ; 49980 (12:5980)
- text "Hey, ",TX_RAM1,"!"
+ text "Hey, ", TX_RAM1, "!"
line "Come battle Steve!"
done
Text057f: ; 4999c (12:599c)
- text "Is your Deck ready, ",TX_START,TX_RAM1,"?"
+ text "Is your Deck ready, ", TX_START, TX_RAM1, "?"
done
Text0580: ; 499b5 (12:59b5)
@@ -587,12 +587,12 @@ Text0586: ; 49b27 (12:5b27)
done
Text0587: ; 49b50 (12:5b50)
- text "Very good, ",TX_RAM1,"."
+ text "Very good, ", TX_RAM1, "."
line "Your next opponent is Jack!"
done
Text0588: ; 49b7b (12:5b7b)
- text "That's great, ",TX_RAM1,"!"
+ text "That's great, ", TX_RAM1, "!"
line "Jack is your next opponent!"
done
@@ -609,7 +609,7 @@ Text058a: ; 49c1c (12:5c1c)
done
Text058b: ; 49c5f (12:5c5f)
- text TX_RAM1,","
+ text TX_RAM1, ","
line "have you readied your deck?"
done
@@ -682,7 +682,7 @@ Text0597: ; 49f7e (12:5f7e)
done
Text0598: ; 49fb5 (12:5fb5)
- text "Is your Deck ready, ",TX_START,TX_RAM1,"?"
+ text "Is your Deck ready, ", TX_START, TX_RAM1, "?"
done
Text0599: ; 49fce (12:5fce)
@@ -719,7 +719,7 @@ Text059f: ; 4a11a (12:611a)
text "Wha-what on earth? Even"
line "I, Rod, have been defeated?!?"
line "Wonderful! This is wonderful!!"
- line "Congratulations, ",TX_RAM1,". "
+ line "Congratulations, ", TX_RAM1, ". "
line "You have proven yourself worthy"
line "enough to inherit the"
line "Legendary Pok`mon Cards!!!"
@@ -727,7 +727,7 @@ Text059f: ; 4a11a (12:611a)
done
Text05a0: ; 4a1e1 (12:61e1)
- text "Congratulations, ",TX_RAM1,"!"
+ text "Congratulations, ", TX_RAM1, "!"
line "You're a master duelist!!!"
line "But..."
done
@@ -744,7 +744,7 @@ Text05a2: ; 4a26c (12:626c)
done
Text05a3: ; 4a289 (12:6289)
- text "Congratulations, ",TX_RAM1,"!"
+ text "Congratulations, ", TX_RAM1, "!"
line "You're a master duelist!"
done
@@ -767,7 +767,7 @@ Text05a6: ; 4a369 (12:6369)
line "allowed! He, too, has earned "
line "the right to inherit the "
line "Legendary Pok`mon Cards!"
- line "Ronald! ",TX_RAM1,"!"
+ line "Ronald! ", TX_RAM1, "!"
line "You two must duel to determine who "
line "will inherit the Legendary Pok`mon "
line "Cards. So say the Rules!"
@@ -782,11 +782,11 @@ Text05a8: ; 4a452 (12:6452)
line "Ronald!!!"
line "I'll take your challenge,"
line ""
- text TX_RAM1,"!"
+ text TX_RAM1, "!"
done
Text05a9: ; 4a49a (12:649a)
- text "Is your Deck ready, ",TX_START,TX_RAM1,"?"
+ text "Is your Deck ready, ", TX_START, TX_RAM1, "?"
done
Text05aa: ; 4a4b3 (12:64b3)
@@ -802,7 +802,7 @@ Text05ac: ; 4a4f5 (12:64f5)
text "I was here first! The Legendary"
line "Pok`mon Cards belong to me!"
line "I'll make it all too clear to"
- line "you, ",TX_START,TX_RAM1,"!"
+ line "you, ", TX_START, TX_RAM1, "!"
done
Text05ad: ; 4a559 (12:6559)
@@ -827,7 +827,7 @@ Text05af: ; 4a65c (12:665c)
Text05b0: ; 4a67f (12:667f)
text "I'm sorry, but the Legendary Pok`mon"
- line "Cards have chosen ",TX_RAM1,"."
+ line "Cards have chosen ", TX_RAM1, "."
done
Text05b1: ; 4a6ba (12:66ba)
@@ -843,7 +843,7 @@ Text05b2: ; 4a6f4 (12:66f4)
done
Text05b3: ; 4a72d (12:672d)
- text "Congratulations, ",TX_RAM1,"!"
+ text "Congratulations, ", TX_RAM1, "!"
line "You are a Card Master"
line "worthy of inheriting"
line "the Legendary Pok`mon Cards!"
@@ -961,7 +961,7 @@ Text05c0: ; 4af26 (12:6f26)
done
Text05c1: ; 4afb0 (12:6fb0)
- text TX_RAM1," received some "
+ text TX_RAM1, " received some "
line "Energy cards!"
done
@@ -987,7 +987,7 @@ Text05c4: ; 4b129 (12:7129)
text "You finally inherited the"
line "Legendary Pok`mon Cards!"
line "Amazing!"
- line "Congratulations, ",TX_RAM1,"!!!"
+ line "Congratulations, ", TX_RAM1, "!!!"
done
Text05c5: ; 4b17c (12:717c)
@@ -1005,7 +1005,7 @@ Text05c6: ; 4b274 (12:7274)
text "Congratulations on inheriting "
line "the Legendary Pok`mon Cards,"
line ""
- text TX_RAM1,"! Now you should try"
+ text TX_RAM1, "! Now you should try"
line "dueling different people using the"
line "cards you inherited. I'm sure "
line "you'll have a good time!"
@@ -1048,7 +1048,7 @@ Text05ca: ; 4b4ea (12:74ea)
line "opponents, you win! You can also "
line "play to extend your winning "
line "streak! Build a deck and "
- line "give it a try, ",TX_RAM1,"!"
+ line "give it a try, ", TX_RAM1, "!"
done
Text05cb: ; 4b63e (12:763e)
@@ -1129,8 +1129,8 @@ Text05d7: ; 4ba32 (12:7a32)
line "by attacking. Pok`mon need Energy "
line "cards in order to attack."
line "For example, the energy required "
- line "for Seaking's Waterfall is ",TX_WATER,TX_COLORLESS,"."
- line TX_WATER,TX_COLORLESS," stands for 1 Water Energy "
+ line "for Seaking's Waterfall is ", TX_WATER, TX_COLORLESS, "."
+ line TX_WATER, TX_COLORLESS, " stands for 1 Water Energy "
line "card and another Energy card of "
line "any type. The energy required "
line "differs according to the attack."
diff --git a/src/text/text7.asm b/src/text/text7.asm
index 76e2c47..d7b9b51 100644
--- a/src/text/text7.asm
+++ b/src/text/text7.asm
@@ -69,7 +69,7 @@ Text05e0: ; 4c5a1 (13:45a1)
done
Text05e1: ; 4c66a (13:466a)
- text "Congratulations, ",TX_RAM1,"!"
+ text "Congratulations, ", TX_RAM1, "!"
line "I hear you have inherited the"
line "Legendary Pok`mon Cards!"
line "The strength of a Deck does"
@@ -94,7 +94,7 @@ Text05e2: ; 4c786 (13:4786)
done
Text05e3: ; 4c86f (13:486f)
- text "Oh! Why the rush, ",TX_RAM1,"?"
+ text "Oh! Why the rush, ", TX_RAM1, "?"
line "What? "
line "You want to learn how to play"
line "the Pok`mon Trading Card Game?"
@@ -112,7 +112,7 @@ Text05e3: ; 4c86f (13:486f)
Text05e4: ; 4c9d7 (13:49d7)
text "Yes, Dr. Mason."
- line "Hello, ",TX_RAM1,"."
+ line "Hello, ", TX_RAM1, "."
done
Text05e5: ; 4c9f2 (13:49f2)
@@ -121,7 +121,7 @@ Text05e5: ; 4c9f2 (13:49f2)
done
Text05e6: ; 4ca0c (13:4a0c)
- text "Hey! ",TX_RAM1,"!"
+ text "Hey! ", TX_RAM1, "!"
line "Hurry and come here!"
done
@@ -131,7 +131,7 @@ Text05e7: ; 4ca2a (13:4a2a)
done
Text05e8: ; 4ca52 (13:4a52)
- text "OK, ",TX_RAM1,"."
+ text "OK, ", TX_RAM1, "."
line "What do you want to ask about?"
done
@@ -196,31 +196,31 @@ Text05f0: ; 4ce5a (13:4e5a)
done
Text05f1: ; 4ce96 (13:4e96)
- text TX_RAM1," handed his cards to "
+ text TX_RAM1, " handed his cards to "
line "Dr. Mason."
done
Text05f2: ; 4ceb9 (13:4eb9)
text "Hmm...let me add some of my own "
line "cards to yours!"
- line "Now, ",TX_RAM1,", what kind"
+ line "Now, ", TX_RAM1, ", what kind"
line "of Deck do you want?"
done
Text05f3: ; 4cf12 (13:4f12)
- text "A ",TX_RAM2,"?"
+ text "A ", TX_RAM2, "?"
done
Text05f4: ; 4cf18 (13:4f18)
- text "OK, a ",TX_RAM2,"!"
+ text "OK, a ", TX_RAM2, "!"
line "Here are the remaining cards!"
done
Text05f5: ; 4cf40 (13:4f40)
- text TX_RAM1," received"
- line "a ",TX_RAM2,"!"
+ text TX_RAM1, " received"
+ line "a ", TX_RAM2, "!"
line ""
- text TX_RAM1," received"
+ text TX_RAM1, " received"
line "30 cards!"
done
@@ -284,7 +284,7 @@ Text05fb: ; 4d361 (13:5361)
done
Text05fc: ; 4d423 (13:5423)
- text TX_RAM1,", thanks to you, all"
+ text TX_RAM1, ", thanks to you, all"
line "the Auto Deck Machines have"
line "been activated!"
done
@@ -312,7 +312,7 @@ Text0600: ; 4d531 (13:5531)
done
Text0601: ; 4d56a (13:556a)
- text "Is it ",TX_RAM2,"?"
+ text "Is it ", TX_RAM2, "?"
done
Text0602: ; 4d574 (13:5574)
@@ -341,17 +341,17 @@ Text0606: ; 4d655 (13:5655)
done
Text0607: ; 4d676 (13:5676)
- text "It's a ",TX_RAM2," Medal"
+ text "It's a ", TX_RAM2, " Medal"
line "Auto Deck Machine."
done
Text0608: ; 4d699 (13:5699)
text "It isn't working since the "
- line TX_RAM2," Medal is not inserted."
+ line TX_RAM2, " Medal is not inserted."
done
Text0609: ; 4d6cf (13:56cf)
- text "Insert the ",TX_RAM2," Medal?"
+ text "Insert the ", TX_RAM2, " Medal?"
done
Text060a: ; 4d6e4 (13:56e4)
@@ -382,25 +382,25 @@ Text060e: ; 4d767 (13:5767)
Text060f: ; 4d7fc (13:57fc)
text "Hey! Kid!"
- line "I've got a ",TX_LVL,"20 Electabuzz,"
+ line "I've got a ", TX_LVL, "20 Electabuzz,"
line "but what I really want is"
- line "a ",TX_LVL,"35 Electabuzz!"
+ line "a ", TX_LVL, "35 Electabuzz!"
line "Hey! Kid! Do you have a"
line ""
- text TX_LVL,"35 Electabuzz?"
+ text TX_LVL, "35 Electabuzz?"
done
Text0610: ; 4d87a (13:587a)
text "Hey! Kid!"
line "We meet again!"
- line "Do you have a ",TX_LVL,"35 Electabuzz?"
+ line "Do you have a ", TX_LVL, "35 Electabuzz?"
line "Come on! Trade it for my"
line ""
- text TX_LVL,"20 Electabuzz!"
+ text TX_LVL, "20 Electabuzz!"
done
Text0611: ; 4d8de (13:58de)
- text "Trade your ",TX_LVL,"35 Electabuzz?"
+ text "Trade your ", TX_LVL, "35 Electabuzz?"
done
Text0612: ; 4d8fb (13:58fb)
@@ -413,14 +413,14 @@ Text0612: ; 4d8fb (13:58fb)
Text0613: ; 4d938 (13:5938)
text "Hey, kid!"
line "It's not cool to lie!"
- line "You don't own a ",TX_LVL,"35 Electabuzz!"
+ line "You don't own a ", TX_LVL, "35 Electabuzz!"
line "You could get hurt lying to me, kid!"
done
Text0614: ; 4d99f (13:599f)
text "You're gonna trade me your"
line ""
- text TX_LVL,"35 Electabuzz?"
+ text TX_LVL, "35 Electabuzz?"
line "Way cool!...Hey! Wait, kid!"
line "That card's in your Deck!"
line "It isn't cool to take that card!"
@@ -432,10 +432,10 @@ Text0614: ; 4d99f (13:599f)
Text0615: ; 4da6d (13:5a6d)
text "You're gonna trade me your"
line ""
- text TX_LVL,"35 Electabuzz? Way cool, kid!"
+ text TX_LVL, "35 Electabuzz? Way cool, kid!"
line "OK, I'll trade you my"
line ""
- text TX_LVL,"20 Electabuzz for it!"
+ text TX_LVL, "20 Electabuzz for it!"
done
Text0616: ; 4dad9 (13:5ad9)
@@ -445,8 +445,8 @@ Text0616: ; 4dad9 (13:5ad9)
Text0617: ; 4dafe (13:5afe)
text "Whoa! Cool, kid! Thanks for "
- line "that ",TX_LVL,"35 Electabuzz! "
- line "My ",TX_LVL,"20 Electabuzz is a cool card!"
+ line "that ", TX_LVL, "35 Electabuzz! "
+ line "My ", TX_LVL, "20 Electabuzz is a cool card!"
line "Charge it up with Electabuzz!"
done
@@ -465,7 +465,7 @@ Text0619: ; 4dbcb (13:5bcb)
done
Text061a: ; 4dc30 (13:5c30)
- text "Hey! ",TX_RAM1,"!"
+ text "Hey! ", TX_RAM1, "!"
line "You beat the Grand Masters?"
line "Cool! Got all the Legendary "
line "Pok`mon Cards? Yeah!"
@@ -710,14 +710,14 @@ Text0644: ; 4e774 (13:6774)
done
Text0645: ; 4e7e1 (13:67e1)
- text "Well, getting the ",TX_RAM2," Medal "
+ text "Well, getting the ", TX_RAM2, " Medal "
line "wasn't that hard! If I keep "
line "this up, I should be able to get "
line "the Legendary Pok`mon Cards!"
done
Text0646: ; 4e859 (13:6859)
- text "What? It's you, ",TX_RAM1,"!"
+ text "What? It's you, ", TX_RAM1, "!"
line "What are you doing?"
line "Huh? That's a Deck!"
line "Are you... trying to get the"
@@ -752,12 +752,12 @@ Text0649: ; 4e991 (13:6991)
line "'Cause the Legendary Pok`mon Cards"
line "are gonna be mine!"
line "I already won the first Medal!"
- line "See ya, ",TX_RAM1,"!"
+ line "See ya, ", TX_RAM1, "!"
line "Ha ha ha ha ha!!!"
done
Text064a: ; 4eb39 (13:6b39)
- text "Hi, ",TX_RAM1,"!"
+ text "Hi, ", TX_RAM1, "!"
line "How ya doin'?"
done
@@ -793,7 +793,7 @@ Text064e: ; 4ec9a (13:6c9a)
done
Text064f: ; 4ed1c (13:6d1c)
- text "Hi, ",TX_RAM1,"!"
+ text "Hi, ", TX_RAM1, "!"
line "Have you gotten any better?"
done
@@ -938,7 +938,7 @@ Text0663: ; 4f522 (13:7522)
done
Text0664: ; 4f574 (13:7574)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "So you've finally come this far?"
line "I've already won 5 Medals!"
line "By the time you win your 8th Medal,"
diff --git a/src/text/text8.asm b/src/text/text8.asm
index f7dd0a1..4860e03 100644
--- a/src/text/text8.asm
+++ b/src/text/text8.asm
@@ -13,7 +13,7 @@ Text0685: ; 5005b (14:405b)
done
Text0686: ; 500df (14:40df)
- text "Hello, ",TX_RAM1,"!"
+ text "Hello, ", TX_RAM1, "!"
line "I just came up with a new card"
line "strategy and was looking for"
line "someone to test it on."
@@ -65,7 +65,7 @@ Text068d: ; 5037f (14:437f)
line "date. Why do I have to do it?"
line "Why me?"
line "I'm Jessica of the Fighting Club."
- line "Oh! You must be ",TX_RAM1,"."
+ line "Oh! You must be ", TX_RAM1, "."
line "I heard about you from Mitch."
line "Defeating you should be more"
line "fun than training!"
@@ -75,7 +75,7 @@ Text068e: ; 5044a (14:444a)
text "Training's so boring and out of "
line "date. Why do I have to do it?"
line ""
- text TX_RAM1,", it's you again!"
+ text TX_RAM1, ", it's you again!"
line "What a pain."
line "But defeating you should be more"
line "fun than training."
@@ -188,7 +188,7 @@ Text069f: ; 50988 (14:4988)
done
Text06a0: ; 509d3 (14:49d3)
- text TX_RAM1," lost all "
+ text TX_RAM1, " lost all "
line "his Energy cards!"
done
@@ -206,11 +206,11 @@ Text06a1: ; 509f2 (14:49f2)
done
Text06a2: ; 50a9e (14:4a9e)
- text TX_RAM1,""
+ text TX_RAM1, ""
line "checked the wall!"
line ""
- text TX_RAM1,""
- line "found a ",TX_LVL,"9 Slowpoke!"
+ text TX_RAM1, ""
+ line "found a ", TX_LVL, "9 Slowpoke!"
done
Text06a3: ; 50acc (14:4acc)
@@ -472,7 +472,7 @@ Text06cd: ; 51720 (14:5720)
Text06ce: ; 5175f (14:575f)
text "OK, "
- line "To ",TX_RAM2,"."
+ line "To ", TX_RAM2, "."
line "Please write in your Diary before"
line "the transaction."
done
@@ -487,7 +487,7 @@ Text06d0: ; 517b4 (14:57b4)
done
Text06d1: ; 517f7 (14:57f7)
- text TX_RAM1,""
+ text TX_RAM1, ""
line "wrote in the Diary."
done
@@ -498,21 +498,21 @@ Text06d2: ; 5180e (14:580e)
Text06d3: ; 5182d (14:582d)
text "You sent a card to"
- line TX_RAM2,"!"
+ line TX_RAM2, "!"
line "Thank you."
line "Please come again."
done
Text06d4: ; 51862 (14:5862)
text "You sent the configuration for"
- line "the ",TX_RAM2," Deck!"
+ line "the ", TX_RAM2, " Deck!"
line "Thank you."
line "Please come again."
done
Text06d5: ; 518ac (14:58ac)
text "You received the configuration for"
- line "the ",TX_RAM2," Deck!"
+ line "the ", TX_RAM2, " Deck!"
line "Thank you."
line "Please come again."
done
@@ -544,14 +544,14 @@ Text06d8: ; 51a6f (14:5a6f)
line "are girls."
line "But I can't beat girls who"
line "are this tough!"
- line "Huh? You must be ",TX_RAM1,"."
+ line "Huh? You must be ", TX_RAM1, "."
line "Mitch told me all about you."
line "Beating you will be much better"
line "than losing to the girls!"
done
Text06d9: ; 51b2e (14:5b2e)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "Would you duel me?"
done
@@ -697,7 +697,7 @@ Text06f1: ; 521a8 (14:61a8)
done
Text06f2: ; 521d8 (14:61d8)
- text TX_RAM1," traded an Oddish"
+ text TX_RAM1, " traded an Oddish"
line "for a Vileplume!"
done
@@ -747,7 +747,7 @@ Text06f9: ; 523c4 (14:63c4)
done
Text06fa: ; 523f0 (14:63f0)
- text TX_RAM1," traded a Clefairy"
+ text TX_RAM1, " traded a Clefairy"
line "for a Pikachu!"
done
@@ -792,7 +792,7 @@ Text0700: ; 525d9 (14:65d9)
done
Text0701: ; 5260b (14:660b)
- text TX_RAM1," traded a Charizard"
+ text TX_RAM1, " traded a Charizard"
line "for a Blastoise!"
done
@@ -941,7 +941,7 @@ Text0718: ; 52cc3 (14:6cc3)
done
Text0719: ; 52d1a (14:6d1a)
- text "Hello, ",TX_RAM1,"."
+ text "Hello, ", TX_RAM1, "."
line "Did you come for a Duel?"
done
@@ -1050,7 +1050,7 @@ Text0727: ; 53245 (14:7245)
done
Text0728: ; 53368 (14:7368)
- text "Hello, ",TX_RAM1,"."
+ text "Hello, ", TX_RAM1, "."
line "Welcome."
line "There aren't any cards I want "
line "or can trade at the moment."
@@ -1061,7 +1061,7 @@ Text0728: ; 53368 (14:7368)
done
Text0729: ; 53435 (14:7435)
- text "Hello, ",TX_RAM1,"."
+ text "Hello, ", TX_RAM1, "."
line "I guess you're here because you"
line "heard the rumor that I'm looking"
line "for a Clefable..."
@@ -1071,7 +1071,7 @@ Text0729: ; 53435 (14:7435)
done
Text072a: ; 534e1 (14:74e1)
- text "Hello, ",TX_RAM1,"."
+ text "Hello, ", TX_RAM1, "."
line "Are you enjoying the "
line "Pok`mon Trading Card Game?"
line "By the way, I'm looking for a "
@@ -1114,7 +1114,7 @@ Text072f: ; 536f6 (14:76f6)
done
Text0730: ; 5371b (14:771b)
- text TX_RAM1," traded a Clefable"
+ text TX_RAM1, " traded a Clefable"
line "for a Surfing Pikachu!"
done
@@ -1124,7 +1124,7 @@ Text0731: ; 53747 (14:7747)
done
Text0732: ; 5377f (14:777f)
- text "Hello, ",TX_RAM1,"."
+ text "Hello, ", TX_RAM1, "."
line "I suppose you're here because you"
line "heard that I was looking for"
line "a Ditto this time..."
@@ -1134,7 +1134,7 @@ Text0732: ; 5377f (14:777f)
done
Text0733: ; 53829 (14:7829)
- text "Hello, ",TX_RAM1,". "
+ text "Hello, ", TX_RAM1, ". "
line "Are you enjoying the"
line "Pok`mon Trading Card Game?"
line "I'm looking for a Ditto"
@@ -1163,7 +1163,7 @@ Text0735: ; 5395a (14:795a)
done
Text0736: ; 539ed (14:79ed)
- text TX_RAM1," traded a Ditto"
+ text TX_RAM1, " traded a Ditto"
line "for a Flying Pikachu!"
done
@@ -1173,7 +1173,7 @@ Text0737: ; 53a15 (14:7a15)
done
Text0738: ; 53a4a (14:7a4a)
- text "Hello, ",TX_RAM1,"."
+ text "Hello, ", TX_RAM1, "."
line "You're really current on the news!"
line "I'm looking for a Chansey this "
line "time! I'm thinking about trading"
@@ -1184,7 +1184,7 @@ Text0738: ; 53a4a (14:7a4a)
done
Text0739: ; 53b25 (14:7b25)
- text "Hello, ",TX_RAM1,". "
+ text "Hello, ", TX_RAM1, ". "
line "Are you enjoying the"
line "Pok`mon Trading Card Game?"
line "I'm looking for a Chansey"
@@ -1212,7 +1212,7 @@ Text073b: ; 53c6a (14:7c6a)
done
Text073c: ; 53cf9 (14:7cf9)
- text TX_RAM1," traded a Chansey"
+ text TX_RAM1, " traded a Chansey"
line "for a Surfing Pikachu!"
done
@@ -1222,7 +1222,7 @@ Text073d: ; 53d24 (14:7d24)
done
Text073e: ; 53d5b (14:7d5b)
- text "Oh! Congratulations, ",TX_RAM1,"!"
+ text "Oh! Congratulations, ", TX_RAM1, "!"
line "I heard the news! You've finally "
line "inherited the Legendary Pok`mon "
line "Cards! Don't worry, I'm not going "
diff --git a/src/text/text9.asm b/src/text/text9.asm
index 17cd8cf..12f2203 100644
--- a/src/text/text9.asm
+++ b/src/text/text9.asm
@@ -1,6 +1,6 @@
Text073f: ; 54000 (15:4000)
text "Who?"
- line "Oh! It's you, ",TX_RAM1,"..."
+ line "Oh! It's you, ", TX_RAM1, "..."
line "I couldn't believe that I could"
line "lose, but now..."
line "Now I understand."
@@ -16,14 +16,14 @@ Text073f: ; 54000 (15:4000)
line "the different cards to build "
line "different types of Decks, and"
line "to play against different people!"
- line "So...",TX_RAM1,"..."
+ line "So...", TX_RAM1, "..."
line "Will you play with me again?"
line "With all sorts of different Decks?"
line "And this time, I not gonna lose!"
done
Text0740: ; 54223 (15:4223)
- text "Oh, hi ",TX_RAM1,"..."
+ text "Oh, hi ", TX_RAM1, "..."
line "Do you want to Duel?"
done
@@ -115,7 +115,7 @@ Text074c: ; 546cf (15:46cf)
done
Text074d: ; 5471b (15:471b)
- text "If I use ",TX_RAM2," now,"
+ text "If I use ", TX_RAM2, " now,"
line "This will happen..."
done
@@ -420,7 +420,7 @@ Text0781: ; 5557a (15:557a)
done
Text0782: ; 55621 (15:5621)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "Would you like to duel?"
line "The Legendary Cards will eventually"
line "belong to me!"
@@ -429,7 +429,7 @@ Text0782: ; 55621 (15:5621)
done
Text0783: ; 5569c (15:569c)
- text "Hi, ",TX_RAM1,"."
+ text "Hi, ", TX_RAM1, "."
line "Would you like to duel?"
done
@@ -634,7 +634,7 @@ Text07a2: ; 56049 (15:6049)
Text07a3: ; 5606c (15:606c)
text "I am Gene, the Master of the"
line "Rock Club! Rock is good..."
- line "Isn't Rock good, ",TX_RAM1,"...?"
+ line "Isn't Rock good, ", TX_RAM1, "...?"
line "Rock is hard and strong!"
line "Doesn't crumble under pressure!"
line "After you Duel me, you'll know "
@@ -1010,7 +1010,7 @@ Text07d4: ; 5705e (15:705e)
done
Text07d5: ; 57075 (15:7075)
- text TX_RAM1,"'s Score"
+ text TX_RAM1, "'s Score"
done
Text07d6: ; 57080 (15:7080)
@@ -1023,7 +1023,7 @@ Text07d7: ; 570a4 (15:70a4)
Text07d8: ; 570be (15:70be)
text "Maximum Consecutive Wins"
- line " [ ",TX_RAM2," ]"
+ line " [ ", TX_RAM2, " ]"
done
Text07d9: ; 570e3 (15:70e3)
@@ -1031,13 +1031,13 @@ Text07d9: ; 570e3 (15:70e3)
done
Text07da: ; 570e9 (15:70e9)
- text TX_RAM1," ",TX_RAM3," Consecutive Wins!"
+ text TX_RAM1, " ", TX_RAM3, " Consecutive Wins!"
line ""
- text TX_RAM3," opponent is ",TX_RAM2,"."
+ text TX_RAM3, " opponent is ", TX_RAM2, "."
done
Text07db: ; 57112 (15:7112)
- text TX_RAM3," opponent is ",TX_RAM2,"."
+ text TX_RAM3, " opponent is ", TX_RAM2, "."
done
Text07dc: ; 57124 (15:7124)
@@ -1063,13 +1063,13 @@ Text07e0: ; 571bd (15:71bd)
done
Text07e1: ; 571df (15:71df)
- text "You lost to the ",TX_RAM3," opponent,"
- line TX_RAM2,"!"
+ text "You lost to the ", TX_RAM3, " opponent,"
+ line TX_RAM2, "!"
done
Text07e2: ; 571ff (15:71ff)
- text TX_RAM1,"'s consecutive wins"
- line "ended at ",TX_RAM3,"."
+ text TX_RAM1, "'s consecutive wins"
+ line "ended at ", TX_RAM3, "."
done
Text07e3: ; 57221 (15:7221)
@@ -1082,7 +1082,7 @@ Text07e4: ; 57240 (15:7240)
Text07e5: ; 5725f (15:725f)
text "Congratulations!"
- line "You won against ",TX_RAM3," opponents!"
+ line "You won against ", TX_RAM3, " opponents!"
done
DefeatedFiveOpponentsText: ; 5728e (15:728e)
@@ -1091,13 +1091,13 @@ DefeatedFiveOpponentsText: ; 5728e (15:728e)
done
Text07e7: ; 572ba (15:72ba)
- text TX_RAM1," successfully defeated "
- line "5 opponents ",TX_START,TX_RAM3," time(s)!!!"
+ text TX_RAM1, " successfully defeated "
+ line "5 opponents ", TX_START, TX_RAM3, " time(s)!!!"
done
ConsecutiveWinRecordIncreasedText: ; 572ee (15:72ee)
- text TX_RAM1,"'s consecutive win"
- line "record increased to ",TX_RAM3,"!"
+ text TX_RAM1, "'s consecutive win"
+ line "record increased to ", TX_RAM3, "!"
done
Text07e9: ; 5731a (15:731a)
@@ -1153,27 +1153,27 @@ Text07f5: ; 5736a (15:736a)
done
Text07f6: ; 5736d (15:736d)
- db $03,$50,TX_FIRE,$03,$51
+ db $03,$50, TX_FIRE, $03,$51
done
Text07f7: ; 57374 (15:7374)
- db $03,$50,TX_LIGHTNING,$03,$51
+ db $03,$50, TX_LIGHTNING, $03,$51
done
Text07f8: ; 5737b (15:737b)
- db $03,$50,TX_WATER,$03,$51
+ db $03,$50, TX_WATER, $03,$51
done
Text07f9: ; 57382 (15:7382)
- db $03,$50,TX_FIGHTING,$03,$51
+ db $03,$50, TX_FIGHTING, $03,$51
done
Text07fa: ; 57389 (15:7389)
- db $03,$50,TX_PSYCHIC,$03,$51
+ db $03,$50, TX_PSYCHIC, $03,$51
done
Text07fb: ; 57390 (15:7390)
- db $03,$50,TX_GRASS,$03,$51
+ db $03,$50, TX_GRASS, $03,$51
done
GrassEnergyName: ; 57397 (15:7397)
@@ -1181,7 +1181,7 @@ GrassEnergyName: ; 57397 (15:7397)
done
GrassEnergyDescription: ; 573a5 (15:73a5)
- text "Provides 1 ",TX_GRASS," Energy."
+ text "Provides 1 ", TX_GRASS, " Energy."
done
FireEnergyName: ; 573bc (15:73bc)
@@ -1189,7 +1189,7 @@ FireEnergyName: ; 573bc (15:73bc)
done
FireEnergyDescription: ; 573c9 (15:73c9)
- text "Provides 1 ",TX_FIRE," Energy."
+ text "Provides 1 ", TX_FIRE, " Energy."
done
WaterEnergyName: ; 573e0 (15:73e0)
@@ -1197,7 +1197,7 @@ WaterEnergyName: ; 573e0 (15:73e0)
done
WaterEnergyDescription: ; 573ee (15:73ee)
- text "Provides 1 ",TX_WATER," Energy."
+ text "Provides 1 ", TX_WATER, " Energy."
done
LightningEnergyName: ; 57405 (15:7405)
@@ -1205,7 +1205,7 @@ LightningEnergyName: ; 57405 (15:7405)
done
LightningEnergyDescription: ; 57417 (15:7417)
- text "Provides 1 ",TX_LIGHTNING," Energy."
+ text "Provides 1 ", TX_LIGHTNING, " Energy."
done
FightingEnergyName: ; 5742e (15:742e)
@@ -1213,7 +1213,7 @@ FightingEnergyName: ; 5742e (15:742e)
done
FightingEnergyDescription: ; 5743f (15:743f)
- text "Provides 1 ",TX_FIGHTING," Energy."
+ text "Provides 1 ", TX_FIGHTING, " Energy."
done
PsychicEnergyName: ; 57456 (15:7456)
@@ -1221,7 +1221,7 @@ PsychicEnergyName: ; 57456 (15:7456)
done
PsychicEnergyDescription: ; 57466 (15:7466)
- text "Provides 1 ",TX_PSYCHIC," Energy."
+ text "Provides 1 ", TX_PSYCHIC, " Energy."
done
DoubleColorlessEnergyName: ; 5747d (15:747d)
@@ -1229,7 +1229,7 @@ DoubleColorlessEnergyName: ; 5747d (15:747d)
done
DoubleColorlessEnergyDescription: ; 57496 (15:7496)
- text "Provides ",TX_COLORLESS,TX_COLORLESS," Energy. (Doesn't"
+ text "Provides ", TX_COLORLESS, TX_COLORLESS, " Energy. (Doesn't"
line "count as a basic Energy card.) "
line "Colorless Energy can't be used to"
line "pay colored Energy costs. (Any type"
@@ -1340,7 +1340,7 @@ EnergyTransName: ; 57960 (15:7960)
EnergyTransDescription: ; 5796e (15:796e)
text "As often as you like during your"
line "turn (before your attack), you may"
- line "take 1 ",TX_GRASS," Energy card attached to 1"
+ line "take 1 ", TX_GRASS, " Energy card attached to 1"
line "of your Pok`mon and attach it to a"
line "different one. This power can't be"
line "used if Venusaur is Asleep,"
diff --git a/src/text/text_offsets.asm b/src/text/text_offsets.asm
index 29fc093..66c7a64 100755..100644
--- a/src/text/text_offsets.asm
+++ b/src/text/text_offsets.asm
@@ -1,2994 +1,2993 @@
-
-const_value = 1
+ const_def 1
TextOffsets:: ; 34000 (d:4000)
- db $00,$00,$00
- textpointer HandText
- textpointer CheckText
- textpointer AttackText
- textpointer PKMNPowerText
- textpointer DoneText
- textpointer TypeText
- textpointer RetreatText
- textpointer WeaknessText
- textpointer ResistanceText
- textpointer PKMNPWRText
- textpointer Text000b
- textpointer LengthText
- textpointer WeightText
- textpointer PokemonText
- textpointer Text000f
- textpointer LbsText
- textpointer Text0011
- textpointer Text0012
- textpointer Text0013
- textpointer Text0014
- textpointer Text0015
- textpointer Text0016
- textpointer Text0017
- textpointer Text0018
- textpointer Text0019
- textpointer Text001a
- textpointer Text001b
- textpointer Text001c
- textpointer Text001d
- textpointer Text001e
- textpointer Text001f
- textpointer Text0020
- textpointer Text0021
- textpointer Text0022
- textpointer NoPokemonOnTheBenchText
- textpointer UnableDueToSleepText
- textpointer UnableDueToParalysisText
- textpointer Received10DamageDueToPoisonText
- textpointer Received20DamageDueToPoisonText
- textpointer IsStillAsleepText
- textpointer IsCuredOfSleepText
- textpointer IsCuredOfParalysisText
- textpointer Text002b
- textpointer Text002c
- textpointer Text002d
- textpointer Text002e
- textpointer YesOrNoText
- textpointer DiscardName
- textpointer Text0031
- textpointer Text0032
- textpointer Text0033
- textpointer Text0034
- textpointer PokemonsAttackText
- textpointer Text0036
- textpointer Text0037
- textpointer Text0038
- textpointer Text0039
- textpointer Text003a
- textpointer Text003b
- textpointer NoSelectableAttackText
- textpointer UnableToRetreatText
- textpointer OnlyOneEnergyCardText
- textpointer Text003f
- textpointer Text0040
- textpointer DiscardDescription
- textpointer Text0042
- textpointer Text0043
- textpointer Text0044
- textpointer Text0045
- textpointer Text0046
- textpointer Text0047
- textpointer Text0048
- textpointer Text0049
- textpointer Text004a
- textpointer Text004b
- textpointer Text004c
- textpointer Text004d
- textpointer Text004e
- textpointer DamageToSelfDueToConfusionText
- textpointer Text0050
- textpointer Text0051
- textpointer Text0052
- textpointer Text0053
- textpointer Text0054
- textpointer TransmissionErrorText
- textpointer Text0056
- textpointer Text0057
- textpointer Text0058
- textpointer Text0059
- textpointer Text005a
- textpointer Text005b
- textpointer Text005c
- textpointer Text005d
- textpointer Text005e
- textpointer Text005f
- textpointer Text0060
- textpointer Text0061
- textpointer Text0062
- textpointer Text0063
- textpointer Text0064
- textpointer Text0065
- textpointer Text0066
- textpointer Text0067
- textpointer Text0068
- textpointer Text0069
- textpointer Text006a
- textpointer Text006b
- textpointer Text006c
- textpointer Text006d
- textpointer Text006e
- textpointer Text006f
- textpointer Text0070
- textpointer Text0071
- textpointer Text0072
- textpointer Text0073
- textpointer Text0074
- textpointer Text0075
- textpointer DecisionText
- textpointer DuelWasDrawText
- textpointer WonDuelText
- textpointer LostDuelText
- textpointer StartSuddenDeathMatchText
- textpointer Text007b
- textpointer Text007c
- textpointer Text007d
- textpointer Text007e
- textpointer Text007f
- textpointer Text0080
- textpointer WasKnockedOutText
- textpointer Text0082
- textpointer Text0083
- textpointer Text0084
- textpointer Text0085
- textpointer Text0086
- textpointer Text0087
- textpointer DuelistIsThinkingText
- textpointer Text0089
- textpointer Text008a
- textpointer Text008b
- textpointer Text008c
- textpointer Text008d
- textpointer Text008e
- textpointer Text008f
- textpointer Text0090
- textpointer Text0091
- textpointer Player2Text
- textpointer Text0093
- textpointer Text0094
- textpointer Text0095
- textpointer Text0096
- textpointer Text0097
- textpointer Text0098
- textpointer Text0099
- textpointer Text009a
- textpointer Text009b
- textpointer Text009c
- textpointer Text009d
- textpointer Text009e
- textpointer Text009f
- textpointer Text00a0
- textpointer Text00a1
- textpointer ResetBackUpRamText
- textpointer Text00a3
- textpointer NoCardsInHandText
- textpointer Text00a5
- textpointer Text00a6
- textpointer Text00a7
- textpointer Text00a8
- textpointer Text00a9
- textpointer Text00aa
- textpointer Text00ab
- textpointer Text00ac
- textpointer Text00ad
- textpointer Text00ae
- textpointer Text00af
- textpointer Text00b0
- textpointer Text00b1
- textpointer Text00b2
- textpointer Text00b3
- textpointer Text00b4
- textpointer Text00b5
- textpointer Text00b6
- textpointer Text00b7
- textpointer Text00b8
- textpointer Text00b9
- textpointer Text00ba
- textpointer Text00bb
- textpointer Text00bc
- textpointer Text00bd
- textpointer Text00be
- textpointer Text00bf
- textpointer NotEnoughEnergyCardsText
- textpointer Text00c1
- textpointer Text00c2
- textpointer Text00c3
- textpointer Text00c4
- textpointer Text00c5
- textpointer Text00c6
- textpointer Text00c7
- textpointer Text00c8
- textpointer Text00c9
- textpointer Text00ca
- textpointer CannotUseDueToStatusText
- textpointer Text00cc
- textpointer Text00cd
- textpointer Text00ce
- textpointer Text00cf
- textpointer Text00d0
- textpointer Text00d1
- textpointer Text00d2
- textpointer Text00d3
- textpointer UnableDueToToxicGasText
- textpointer Text00d5
- textpointer Text00d6
- textpointer Text00d7
- textpointer Text00d8
- textpointer Text00d9
- textpointer Text00da
- textpointer Text00db
- textpointer Text00dc
- textpointer Text00dd
- textpointer SandAttackCheckText
- textpointer SmokescreenCheckText
- textpointer ParalysisCheckText
- textpointer SleepCheckText
- textpointer PoisonCheckText
- textpointer ConfusionCheckText
- textpointer VenomPowderCheckText
- textpointer Text00e5
- textpointer Text00e6
- textpointer Text00e7
- textpointer Text00e8
- textpointer Text00e9
- textpointer Text00ea
- textpointer Text00eb
- textpointer Text00ec
- textpointer Text00ed
- textpointer Text00ee
- textpointer Text00ef
- textpointer Text00f0
- textpointer IfHeadsNoDamageNextTurnText
- textpointer Text00f2
- textpointer Text00f3
- textpointer Text00f4
- textpointer AcidCheckText
- textpointer TransparencyCheckText
- textpointer ConfusionCheckDamageText
- textpointer Text00f8
- textpointer Text00f9
- textpointer Text00fa
- textpointer Text00fb
- textpointer Text00fc
- textpointer AttackUnsuccessfulText
- textpointer UnableToRetreatDueToAcidText
- textpointer UnableToUseTrainerDueToHeadacheText
- textpointer UnableToAttackDueToTailWagText
- textpointer UnableToAttackDueToLeerText
- textpointer UnableToAttackDueToBoneAttackText
- textpointer UnableToUseAttackDueToAmnesiaText
- textpointer KnockedOutDueToDestinyBondText
- textpointer ReceivesDamageDueToStrikesBackText
- textpointer UnableToEvolveDueToPrehistoricPowerText
- textpointer NoDamageOrEffectDueToFlyText
- textpointer NoDamageOrEffectDueToBarrierText
- textpointer NoDamageOrEffectDueToAgilityText
- textpointer UnableToUseAttackDueToNShieldText
- textpointer NoDamageOrEffectDueToNShieldText
- textpointer NoDamageOrEffectDueToTransparencyText
- textpointer Text010d
- textpointer SelectMonOnBenchToSwitchWithActiveText
- textpointer Text010f
- textpointer Text0110
- textpointer Text0111
- textpointer Text0112
- textpointer Text0113
- textpointer Text0114
- textpointer Text0115
- textpointer Text0116
- textpointer Text0117
- textpointer Text0118
- textpointer Text0119
- textpointer Text011a
- textpointer Text011b
- textpointer Text011c
- textpointer Text011d
- textpointer Text011e
- textpointer Text011f
- textpointer Text0120
- textpointer Text0121
- textpointer Text0122
- textpointer Text0123
- textpointer Text0124
- textpointer Text0125
- textpointer Text0126
- textpointer Text0127
- textpointer Text0128
- textpointer Text0129
- textpointer Text012a
- textpointer Text012b
- textpointer Text012c
- textpointer Text012d
- textpointer Text012e
- textpointer Text012f
- textpointer Text0130
- textpointer Text0131
- textpointer Text0132
- textpointer Text0133
- textpointer Text0134
- textpointer Text0135
- textpointer Text0136
- textpointer Text0137
- textpointer Text0138
- textpointer Text0139
- textpointer Text013a
- textpointer Text013b
- textpointer Text013c
- textpointer Text013d
- textpointer Text013e
- textpointer Text013f
- textpointer Text0140
- textpointer Text0141
- textpointer Text0142
- textpointer Text0143
- textpointer Text0144
- textpointer Text0145
- textpointer Text0146
- textpointer Text0147
- textpointer Text0148
- textpointer Text0149
- textpointer WasUnsuccessfulText
- textpointer Text014b
- textpointer Text014c
- textpointer Text014d
- textpointer Text014e
- textpointer Text014f
- textpointer Text0150
- textpointer Text0151
- textpointer Text0152
- textpointer Text0153
- textpointer Text0154
- textpointer Text0155
- textpointer Text0156
- textpointer Text0157
- textpointer Text0158
- textpointer Text0159
- textpointer Text015a
- textpointer Text015b
- textpointer Text015c
- textpointer Text015d
- textpointer Text015e
- textpointer Text015f
- textpointer Text0160
- textpointer Text0161
- textpointer Text0162
- textpointer Text0163
- textpointer Text0164
- textpointer Text0165
- textpointer Text0166
- textpointer Text0167
- textpointer Text0168
- textpointer Text0169
- textpointer Text016a
- textpointer Text016b
- textpointer Text016c
- textpointer Text016d
- textpointer Text016e
- textpointer Text016f
- textpointer Text0170
- textpointer Text0171
- textpointer Text0172
- textpointer Text0173
- textpointer Text0174
- textpointer Text0175
- textpointer Text0176
- textpointer Text0177
- textpointer Text0178
- textpointer Text0179
- textpointer Text017a
- textpointer Text017b
- textpointer Text017c
- textpointer Text017d
- textpointer Text017e
- textpointer Text017f
- textpointer Text0180
- textpointer Text0181
- textpointer Text0182
- textpointer Text0183
- textpointer Text0184
- textpointer Text0185
- textpointer Text0186
- textpointer Text0187
- textpointer Text0188
- textpointer Text0189
- textpointer Text018a
- textpointer Text018b
- textpointer Text018c
- textpointer Text018d
- textpointer Text018e
- textpointer ReceivedCardText
- textpointer ReceivedPromotionalCardText
- textpointer ReceivedLegendaryCardText
- textpointer ReceivedPromotionalFlyingPikachuText
- textpointer ReceivedPromotionalSurfingPikachuText
- textpointer Text0194
- textpointer Text0195
- textpointer Text0196
- textpointer Text0197
- textpointer Text0198
- textpointer Text0199
- textpointer Text019a
- textpointer Text019b
- textpointer Text019c
- textpointer Text019d
- textpointer Text019e
- textpointer Text019f
- textpointer Text01a0
- textpointer Text01a1
- textpointer Text01a2
- textpointer Text01a3
- textpointer Text01a4
- textpointer Text01a5
- textpointer Text01a6
- textpointer Text01a7
- textpointer Text01a8
- textpointer Text01a9
- textpointer Text01aa
- textpointer Text01ab
- textpointer Text01ac
- textpointer Text01ad
- textpointer Text01ae
- textpointer Text01af
- textpointer Text01b0
- textpointer Text01b1
- textpointer Text01b2
- textpointer Text01b3
- textpointer Text01b4
- textpointer Text01b5
- textpointer Text01b6
- textpointer Text01b7
- textpointer Text01b8
- textpointer Text01b9
- textpointer Text01ba
- textpointer Text01bb
- textpointer Text01bc
- textpointer Text01bd
- textpointer Text01be
- textpointer Text01bf
- textpointer Text01c0
- textpointer Text01c1
- textpointer Text01c2
- textpointer Text01c3
- textpointer Text01c4
- textpointer Text01c5
- textpointer Text01c6
- textpointer Text01c7
- textpointer Text01c8
- textpointer Text01c9
- textpointer Text01ca
- textpointer Text01cb
- textpointer Text01cc
- textpointer Text01cd
- textpointer Text01ce
- textpointer Text01cf
- textpointer Text01d0
- textpointer Text01d1
- textpointer Text01d2
- textpointer Text01d3
- textpointer Text01d4
- textpointer Text01d5
- textpointer Text01d6
- textpointer Text01d7
- textpointer Text01d8
- textpointer Text01d9
- textpointer Text01da
- textpointer Text01db
- textpointer Text01dc
- textpointer Text01dd
- textpointer PracticePlayerDeckName
- textpointer SamsPracticeDeckName
- textpointer CharmanderAndFriendsDeckName
- textpointer CharmanderExtraDeckName
- textpointer SquirtleAndFriendsDeckName
- textpointer SquirtleExtraDeckName
- textpointer BulbasaurAndFriendsDeckName
- textpointer BulbasaurExtraDeckName
- textpointer FirstStrikeDeckName
- textpointer RockCrusherDeckName
- textpointer GoGoRainDanceDeckName
- textpointer ZappingSelfdestructDeckName
- textpointer FlowerPowerDeckName
- textpointer StrangePsyshockDeckName
- textpointer WondersofScienceDeckName
- textpointer FireChargeDeckName
- textpointer LegendaryMoltresDeckName
- textpointer LegendaryZapdosDeckName
- textpointer LegendaryArticunoDeckName
- textpointer LegendaryDragoniteDeckName
- textpointer ImRonaldDeckName
- textpointer PowerfulRonaldDeckName
- textpointer InvincibleRonaldDeckName
- textpointer LegendaryRonaldDeckName
- textpointer WaterfrontPokemonDeckName
- textpointer LonelyFriendsDeckName
- textpointer SoundoftheWavesDeckName
- textpointer AngerDeckName
- textpointer FlamethrowerDeckName
- textpointer ReshuffleDeckName
- textpointer ExcavationDeckName
- textpointer BlisteringPokemonDeckName
- textpointer HardPokemonDeckName
- textpointer EtceteraDeckName
- textpointer FlowerGardenDeckName
- textpointer KaleidoscopeDeckName
- textpointer MusclesforBrainsDeckName
- textpointer HeatedBattleDeckName
- textpointer LovetoBattleDeckName
- textpointer PikachuDeckName
- textpointer BoomBoomSelfdestructDeckName
- textpointer PowerGeneratorDeckName
- textpointer GhostDeckName
- textpointer NapTimeDeckName
- textpointer StrangePowerDeckName
- textpointer FlyinPokemonDeckName
- textpointer LovelyNidoranDeckName
- textpointer PoisonDeckName
- textpointer ImakuniDeckName
- textpointer LightningAndFireDeckName
- textpointer WaterAndFightingDeckName
- textpointer GrassAndPsychicDeckName
- textpointer Text0212
- textpointer Text0213
- textpointer Text0214
- textpointer Text0215
- textpointer Text0216
- textpointer Text0217
- textpointer Text0218
- textpointer Text0219
- textpointer Text021a
- textpointer Text021b
- textpointer Text021c
- textpointer Text021d
- textpointer Text021e
- textpointer Text021f
- textpointer Text0220
- textpointer Text0221
- textpointer Text0222
- textpointer NewDeckText
- textpointer PleaseSelectDeckText
- textpointer Text0225
- textpointer Text0226
- textpointer Text0227
- textpointer Text0228
- textpointer Text0229
- textpointer ChosenAsDuelingDeckText
- textpointer Text022b
- textpointer Text022c
- textpointer Text022d
- textpointer Text022e
- textpointer ThereIsNoDeckHereText
- textpointer Text0230
- textpointer Text0231
- textpointer Text0232
- textpointer Text0233
- textpointer Text0234
- textpointer Text0235
- textpointer Text0236
- textpointer Text0237
- textpointer Text0238
- textpointer Text0239
- textpointer Text023a
- textpointer Text023b
- textpointer Text023c
- textpointer Text023d
- textpointer Text023e
- textpointer Text023f
- textpointer Text0240
- textpointer Text0241
- textpointer Text0242
- textpointer Text0243
- textpointer Text0244
- textpointer Text0245
- textpointer Text0246
- textpointer Text0247
- textpointer Text0248
- textpointer Text0249
- textpointer Text024a
- textpointer Text024b
- textpointer Text024c
- textpointer Text024d
- textpointer Text024e
- textpointer Text024f
- textpointer Text0250
- textpointer Text0251
- textpointer Text0252
- textpointer Text0253
- textpointer Text0254
- textpointer Text0255
- textpointer Text0256
- textpointer Text0257
- textpointer Text0258
- textpointer Text0259
- textpointer Text025a
- textpointer Text025b
- textpointer Text025c
- textpointer Text025d
- textpointer Text025e
- textpointer Text025f
- textpointer Text0260
- textpointer Text0261
- textpointer Text0262
- textpointer Text0263
- textpointer Text0264
- textpointer Text0265
- textpointer Text0266
- textpointer Text0267
- textpointer Text0268
- textpointer Text0269
- textpointer Text026a
- textpointer Text026b
- textpointer Text026c
- textpointer Text026d
- textpointer Text026e
- textpointer Text026f
- textpointer Text0270
- textpointer Text0271
- textpointer Text0272
- textpointer Text0273
- textpointer Text0274
- textpointer Text0275
- textpointer Text0276
- textpointer Text0277
- textpointer Text0278
- textpointer Text0279
- textpointer Text027a
- textpointer Text027b
- textpointer Text027c
- textpointer Text027d
- textpointer Text027e
- textpointer Text027f
- textpointer Text0280
- textpointer Text0281
- textpointer Text0282
- textpointer Text0283
- textpointer Text0284
- textpointer Text0285
- textpointer Text0286
- textpointer Text0287
- textpointer Text0288
- textpointer Text0289
- textpointer Text028a
- textpointer Text028b
- textpointer Text028c
- textpointer Text028d
- textpointer Text028e
- textpointer Text028f
- textpointer Text0290
- textpointer Text0291
- textpointer Text0292
- textpointer Text0293
- textpointer Text0294
- textpointer Text0295
- textpointer Text0296
- textpointer Text0297
- textpointer Text0298
- textpointer Text0299
- textpointer Text029a
- textpointer Text029b
- textpointer Text029c
- textpointer Text029d
- textpointer Text029e
- textpointer Text029f
- textpointer Text02a0
- textpointer Text02a1
- textpointer Text02a2
- textpointer Text02a3
- textpointer Text02a4
- textpointer Text02a5
- textpointer Text02a6
- textpointer Text02a7
- textpointer Text02a8
- textpointer Text02a9
- textpointer Text02aa
- textpointer Text02ab
- textpointer Text02ac
- textpointer Text02ad
- textpointer Text02ae
- textpointer Text02af
- textpointer Text02b0
- textpointer Text02b1
- textpointer Text02b2
- textpointer Text02b3
- textpointer Text02b4
- textpointer Text02b5
- textpointer Text02b6
- textpointer Text02b7
- textpointer Text02b8
- textpointer Text02b9
- textpointer Text02ba
- textpointer Text02bb
- textpointer Text02bc
- textpointer Text02bd
- textpointer Text02be
- textpointer Text02bf
- textpointer Text02c0
- textpointer Text02c1
- textpointer Text02c2
- textpointer Text02c3
- textpointer Text02c4
- textpointer Text02c5
- textpointer Text02c6
- textpointer Text02c7
- textpointer Text02c8
- textpointer Text02c9
- textpointer Text02ca
- textpointer Text02cb
- textpointer Text02cc
- textpointer Text02cd
- textpointer Text02ce
- textpointer Text02cf
- textpointer Text02d0
- textpointer Text02d1
- textpointer Text02d2
- textpointer Text02d3
- textpointer Text02d4
- textpointer Text02d5
- textpointer Text02d6
- textpointer Text02d7
- textpointer Text02d8
- textpointer Text02d9
- textpointer Text02da
- textpointer Text02db
- textpointer Text02dc
- textpointer Text02dd
- textpointer Text02de
- textpointer Text02df
- textpointer Text02e0
- textpointer Text02e1
- textpointer Text02e2
- textpointer Text02e3
- textpointer Text02e4
- textpointer Text02e5
- textpointer Text02e6
- textpointer Text02e7
- textpointer Text02e8
- textpointer Text02e9
- textpointer Text02ea
- textpointer Text02eb
- textpointer Text02ec
- textpointer Text02ed
- textpointer Text02ee
- textpointer Text02ef
- textpointer Text02f0
- textpointer Text02f1
- textpointer Text02f2
- textpointer Text02f3
- textpointer Text02f4
- textpointer Text02f5
- textpointer Text02f6
- textpointer Text02f7
- textpointer Text02f8
- textpointer Text02f9
- textpointer Text02fa
- textpointer Text02fb
- textpointer Text02fc
- textpointer Text02fd
- textpointer Text02fe
- textpointer Text02ff
- textpointer Text0300
- textpointer Text0301
- textpointer Text0302
- textpointer Text0303
- textpointer Text0304
- textpointer Text0305
- textpointer Text0306
- textpointer Text0307
- textpointer Text0308
- textpointer Text0309
- textpointer Text030a
- textpointer Text030b
- textpointer Text030c
- textpointer Text030d
- textpointer Text030e
- textpointer Text030f
- textpointer Text0310
- textpointer Text0311
- textpointer Text0312
- textpointer Text0313
- textpointer Text0314
- textpointer Text0315
- textpointer Text0316
- textpointer Text0317
- textpointer Text0318
- textpointer Text0319
- textpointer Text031a
- textpointer Text031b
- textpointer Text031c
- textpointer Text031d
- textpointer Text031e
- textpointer Text031f
- textpointer Text0320
- textpointer Text0321
- textpointer Text0322
- textpointer Text0323
- textpointer Text0324
- textpointer Text0325
- textpointer Text0326
- textpointer Text0327
- textpointer Text0328
- textpointer Text0329
- textpointer Text032a
- textpointer Text032b
- textpointer Text032c
- textpointer Text032d
- textpointer Text032e
- textpointer Text032f
- textpointer Text0330
- textpointer Text0331
- textpointer Text0332
- textpointer Text0333
- textpointer Text0334
- textpointer Text0335
- textpointer Text0336
- textpointer Text0337
- textpointer Text0338
- textpointer Text0339
- textpointer Text033a
- textpointer Text033b
- textpointer Text033c
- textpointer Text033d
- textpointer Text033e
- textpointer Text033f
- textpointer Text0340
- textpointer Text0341
- textpointer Text0342
- textpointer Text0343
- textpointer Text0344
- textpointer Text0345
- textpointer Text0346
- textpointer Text0347
- textpointer Text0348
- textpointer Text0349
- textpointer Text034a
- textpointer Text034b
- textpointer Text034c
- textpointer Text034d
- textpointer Text034e
- textpointer Text034f
- textpointer Text0350
- textpointer Text0351
- textpointer TurnedPCOnText
- textpointer TurnedPCOffText
- textpointer Text0354
- textpointer Text0355
- textpointer Text0356
- textpointer Text0357
- textpointer Text0358
- textpointer Text0359
- textpointer Text035a
- textpointer Text035b
- textpointer Text035c
- textpointer Text035d
- textpointer Text035e
- textpointer Text035f
- textpointer Text0360
- textpointer Text0361
- textpointer Text0362
- textpointer Text0363
- textpointer Text0364
- textpointer Text0365
- textpointer Text0366
- textpointer Text0367
- textpointer Text0368
- textpointer Text0369
- textpointer Text036a
- textpointer Text036b
- textpointer Text036c
- textpointer Text036d
- textpointer Text036e
- textpointer Text036f
- textpointer Text0370
- textpointer Text0371
- textpointer Text0372
- textpointer Text0373
- textpointer Text0374
- textpointer Text0375
- textpointer Text0376
- textpointer Text0377
- textpointer Text0378
- textpointer Text0379
- textpointer Text037a
- textpointer Text037b
- textpointer Text037c
- textpointer Text037d
- textpointer Text037e
- textpointer Text037f
- textpointer Text0380
- textpointer Text0381
- textpointer Text0382
- textpointer Text0383
- textpointer Text0384
- textpointer Text0385
- textpointer Text0386
- textpointer ReceivedBoosterPackText
- textpointer AndAnotherBoosterPackText
- textpointer CheckedCardsInBoosterPackText
- textpointer Text038a
- textpointer WonTheMedalText
- textpointer Text038c
- textpointer Text038d
- textpointer Text038e
- textpointer Text038f
- textpointer Text0390
- textpointer Text0391
- textpointer Text0392
- textpointer Text0393
- textpointer Text0394
- textpointer Text0395
- textpointer Text0396
- textpointer Text0397
- textpointer Text0398
- textpointer Text0399
- textpointer Text039a
- textpointer Text039b
- textpointer Text039c
- textpointer Text039d
- textpointer Text039e
- textpointer Text039f
- textpointer Text03a0
- textpointer Text03a1
- textpointer Text03a2
- textpointer Text03a3
- textpointer Text03a4
- textpointer Text03a5
- textpointer Text03a6
- textpointer Text03a7
- textpointer Text03a8
- textpointer Text03a9
- textpointer Text03aa
- textpointer Text03ab
- textpointer Text03ac
- textpointer Text03ad
- textpointer Text03ae
- textpointer Text03af
- textpointer Text03b0
- textpointer Text03b1
- textpointer Text03b2
- textpointer Text03b3
- textpointer Text03b4
- textpointer Text03b5
- textpointer Text03b6
- textpointer Text03b7
- textpointer Text03b8
- textpointer Text03b9
- textpointer Text03ba
- textpointer Text03bb
- textpointer Text03bc
- textpointer Text03bd
- textpointer Text03be
- textpointer Text03bf
- textpointer Text03c0
- textpointer Text03c1
- textpointer Text03c2
- textpointer Text03c3
- textpointer Text03c4
- textpointer Text03c5
- textpointer Text03c6
- textpointer Text03c7
- textpointer Text03c8
- textpointer Text03c9
- textpointer Text03ca
- textpointer Text03cb
- textpointer Text03cc
- textpointer Text03cd
- textpointer Text03ce
- textpointer Text03cf
- textpointer Text03d0
- textpointer Text03d1
- textpointer Text03d2
- textpointer Text03d3
- textpointer Text03d4
- textpointer Text03d5
- textpointer Text03d6
- textpointer Text03d7
- textpointer Text03d8
- textpointer Text03d9
- textpointer Text03da
- textpointer Text03db
- textpointer Text03dc
- textpointer Text03dd
- textpointer Text03de
- textpointer Text03df
- textpointer Text03e0
- textpointer Text03e1
- textpointer Text03e2
- textpointer Text03e3
- textpointer Text03e4
- textpointer Text03e5
- textpointer Text03e6
- textpointer Text03e7
- textpointer Text03e8
- textpointer Text03e9
- textpointer Text03ea
- textpointer Text03eb
- textpointer Text03ec
- textpointer Text03ed
- textpointer Text03ee
- textpointer Text03ef
- textpointer Text03f0
- textpointer Text03f1
- textpointer Text03f2
- textpointer Text03f3
- textpointer Text03f4
- textpointer Text03f5
- textpointer Text03f6
- textpointer Text03f7
- textpointer Text03f8
- textpointer Text03f9
- textpointer Text03fa
- textpointer Text03fb
- textpointer Text03fc
- textpointer Text03fd
- textpointer Text03fe
- textpointer Text03ff
- textpointer Text0400
- textpointer Text0401
- textpointer Text0402
- textpointer Text0403
- textpointer Text0404
- textpointer Text0405
- textpointer Text0406
- textpointer Text0407
- textpointer Text0408
- textpointer Text0409
- textpointer Text040a
- textpointer Text040b
- textpointer Text040c
- textpointer Text040d
- textpointer Text040e
- textpointer Text040f
- textpointer Text0410
- textpointer Text0411
- textpointer Text0412
- textpointer Text0413
- textpointer Text0414
- textpointer Text0415
- textpointer Text0416
- textpointer Text0417
- textpointer Text0418
- textpointer Text0419
- textpointer Text041a
- textpointer Text041b
- textpointer Text041c
- textpointer Text041d
- textpointer Text041e
- textpointer Text041f
- textpointer Text0420
- textpointer Text0421
- textpointer Text0422
- textpointer Text0423
- textpointer Text0424
- textpointer Text0425
- textpointer Text0426
- textpointer Text0427
- textpointer Text0428
- textpointer Text0429
- textpointer Text042a
- textpointer Text042b
- textpointer Text042c
- textpointer Text042d
- textpointer Text042e
- textpointer Text042f
- textpointer Text0430
- textpointer Text0431
- textpointer Text0432
- textpointer Text0433
- textpointer Text0434
- textpointer Text0435
- textpointer Text0436
- textpointer Text0437
- textpointer Text0438
- textpointer Text0439
- textpointer Text043a
- textpointer Text043b
- textpointer Text043c
- textpointer Text043d
- textpointer Text043e
- textpointer Text043f
- textpointer Text0440
- textpointer Text0441
- textpointer Text0442
- textpointer Text0443
- textpointer Text0444
- textpointer Text0445
- textpointer Text0446
- textpointer Text0447
- textpointer Text0448
- textpointer Text0449
- textpointer Text044a
- textpointer Text044b
- textpointer Text044c
- textpointer Text044d
- textpointer Text044e
- textpointer Text044f
- textpointer Text0450
- textpointer Text0451
- textpointer Text0452
- textpointer Text0453
- textpointer Text0454
- textpointer Text0455
- textpointer Text0456
- textpointer Text0457
- textpointer Text0458
- textpointer Text0459
- textpointer Text045a
- textpointer Text045b
- textpointer Text045c
- textpointer Text045d
- textpointer Text045e
- textpointer Text045f
- textpointer Text0460
- textpointer Text0461
- textpointer Text0462
- textpointer Text0463
- textpointer Text0464
- textpointer Text0465
- textpointer Text0466
- textpointer Text0467
- textpointer Text0468
- textpointer Text0469
- textpointer Text046a
- textpointer Text046b
- textpointer Text046c
- textpointer Text046d
- textpointer Text046e
- textpointer Text046f
- textpointer Text0470
- textpointer Text0471
- textpointer Text0472
- textpointer Text0473
- textpointer Text0474
- textpointer Text0475
- textpointer Text0476
- textpointer Text0477
- textpointer Text0478
- textpointer Text0479
- textpointer Text047a
- textpointer Text047b
- textpointer Text047c
- textpointer Text047d
- textpointer Text047e
- textpointer Text047f
- textpointer Text0480
- textpointer Text0481
- textpointer Text0482
- textpointer Text0483
- textpointer Text0484
- textpointer Text0485
- textpointer Text0486
- textpointer Text0487
- textpointer Text0488
- textpointer Text0489
- textpointer Text048a
- textpointer Text048b
- textpointer Text048c
- textpointer Text048d
- textpointer Text048e
- textpointer Text048f
- textpointer Text0490
- textpointer Text0491
- textpointer Text0492
- textpointer Text0493
- textpointer Text0494
- textpointer Text0495
- textpointer Text0496
- textpointer Text0497
- textpointer Text0498
- textpointer Text0499
- textpointer Text049a
- textpointer Text049b
- textpointer Text049c
- textpointer Text049d
- textpointer Text049e
- textpointer Text049f
- textpointer Text04a0
- textpointer Text04a1
- textpointer Text04a2
- textpointer Text04a3
- textpointer Text04a4
- textpointer Text04a5
- textpointer Text04a6
- textpointer Text04a7
- textpointer Text04a8
- textpointer Text04a9
- textpointer Text04aa
- textpointer Text04ab
- textpointer Text04ac
- textpointer Text04ad
- textpointer Text04ae
- textpointer Text04af
- textpointer Text04b0
- textpointer Text04b1
- textpointer Text04b2
- textpointer Text04b3
- textpointer Text04b4
- textpointer Text04b5
- textpointer Text04b6
- textpointer Text04b7
- textpointer Text04b8
- textpointer Text04b9
- textpointer Text04ba
- textpointer Text04bb
- textpointer Text04bc
- textpointer Text04bd
- textpointer Text04be
- textpointer Text04bf
- textpointer Text04c0
- textpointer Text04c1
- textpointer Text04c2
- textpointer Text04c3
- textpointer Text04c4
- textpointer Text04c5
- textpointer Text04c6
- textpointer Text04c7
- textpointer Text04c8
- textpointer Text04c9
- textpointer Text04ca
- textpointer Text04cb
- textpointer Text04cc
- textpointer Text04cd
- textpointer Text04ce
- textpointer Text04cf
- textpointer Text04d0
- textpointer Text04d1
- textpointer Text04d2
- textpointer Text04d3
- textpointer Text04d4
- textpointer Text04d5
- textpointer Text04d6
- textpointer Text04d7
- textpointer Text04d8
- textpointer Text04d9
- textpointer Text04da
- textpointer Text04db
- textpointer Text04dc
- textpointer Text04dd
- textpointer Text04de
- textpointer Text04df
- textpointer Text04e0
- textpointer Text04e1
- textpointer Text04e2
- textpointer Text04e3
- textpointer Text04e4
- textpointer Text04e5
- textpointer Text04e6
- textpointer Text04e7
- textpointer Text04e8
- textpointer Text04e9
- textpointer Text04ea
- textpointer Text04eb
- textpointer Text04ec
- textpointer Text04ed
- textpointer Text04ee
- textpointer Text04ef
- textpointer Text04f0
- textpointer Text04f1
- textpointer Text04f2
- textpointer Text04f3
- textpointer Text04f4
- textpointer Text04f5
- textpointer Text04f6
- textpointer Text04f7
- textpointer Text04f8
- textpointer Text04f9
- textpointer Text04fa
- textpointer Text04fb
- textpointer Text04fc
- textpointer Text04fd
- textpointer Text04fe
- textpointer Text04ff
- textpointer Text0500
- textpointer Text0501
- textpointer Text0502
- textpointer Text0503
- textpointer Text0504
- textpointer Text0505
- textpointer Text0506
- textpointer Text0507
- textpointer Text0508
- textpointer Text0509
- textpointer Text050a
- textpointer Text050b
- textpointer Text050c
- textpointer Text050d
- textpointer Text050e
- textpointer Text050f
- textpointer Text0510
- textpointer Text0511
- textpointer Text0512
- textpointer Text0513
- textpointer Text0514
- textpointer Text0515
- textpointer Text0516
- textpointer Text0517
- textpointer Text0518
- textpointer Text0519
- textpointer Text051a
- textpointer Text051b
- textpointer Text051c
- textpointer Text051d
- textpointer Text051e
- textpointer Text051f
- textpointer Text0520
- textpointer Text0521
- textpointer Text0522
- textpointer Text0523
- textpointer Text0524
- textpointer Text0525
- textpointer Text0526
- textpointer Text0527
- textpointer Text0528
- textpointer Text0529
- textpointer Text052a
- textpointer Text052b
- textpointer Text052c
- textpointer Text052d
- textpointer Text052e
- textpointer Text052f
- textpointer Text0530
- textpointer Text0531
- textpointer Text0532
- textpointer Text0533
- textpointer Text0534
- textpointer Text0535
- textpointer Text0536
- textpointer Text0537
- textpointer Text0538
- textpointer Text0539
- textpointer Text053a
- textpointer Text053b
- textpointer Text053c
- textpointer Text053d
- textpointer Text053e
- textpointer Text053f
- textpointer Text0540
- textpointer Text0541
- textpointer Text0542
- textpointer Text0543
- textpointer Text0544
- textpointer Text0545
- textpointer Text0546
- textpointer Text0547
- textpointer Text0548
- textpointer Text0549
- textpointer Text054a
- textpointer Text054b
- textpointer Text054c
- textpointer Text054d
- textpointer Text054e
- textpointer Text054f
- textpointer Text0550
- textpointer Text0551
- textpointer Text0552
- textpointer Text0553
- textpointer Text0554
- textpointer Text0555
- textpointer Text0556
- textpointer Text0557
- textpointer Text0558
- textpointer Text0559
- textpointer Text055a
- textpointer Text055b
- textpointer Text055c
- textpointer Text055d
- textpointer Text055e
- textpointer Text055f
- textpointer Text0560
- textpointer Text0561
- textpointer Text0562
- textpointer Text0563
- textpointer Text0564
- textpointer Text0565
- textpointer Text0566
- textpointer Text0567
- textpointer Text0568
- textpointer Text0569
- textpointer Text056a
- textpointer Text056b
- textpointer Text056c
- textpointer Text056d
- textpointer Text056e
- textpointer Text056f
- textpointer Text0570
- textpointer Text0571
- textpointer Text0572
- textpointer Text0573
- textpointer Text0574
- textpointer Text0575
- textpointer Text0576
- textpointer Text0577
- textpointer Text0578
- textpointer Text0579
- textpointer Text057a
- textpointer Text057b
- textpointer Text057c
- textpointer Text057d
- textpointer Text057e
- textpointer Text057f
- textpointer Text0580
- textpointer Text0581
- textpointer Text0582
- textpointer Text0583
- textpointer Text0584
- textpointer Text0585
- textpointer Text0586
- textpointer Text0587
- textpointer Text0588
- textpointer Text0589
- textpointer Text058a
- textpointer Text058b
- textpointer Text058c
- textpointer Text058d
- textpointer Text058e
- textpointer Text058f
- textpointer Text0590
- textpointer Text0591
- textpointer Text0592
- textpointer Text0593
- textpointer Text0594
- textpointer Text0595
- textpointer Text0596
- textpointer Text0597
- textpointer Text0598
- textpointer Text0599
- textpointer Text059a
- textpointer Text059b
- textpointer Text059c
- textpointer Text059d
- textpointer Text059e
- textpointer Text059f
- textpointer Text05a0
- textpointer Text05a1
- textpointer Text05a2
- textpointer Text05a3
- textpointer Text05a4
- textpointer Text05a5
- textpointer Text05a6
- textpointer Text05a7
- textpointer Text05a8
- textpointer Text05a9
- textpointer Text05aa
- textpointer Text05ab
- textpointer Text05ac
- textpointer Text05ad
- textpointer Text05ae
- textpointer Text05af
- textpointer Text05b0
- textpointer Text05b1
- textpointer Text05b2
- textpointer Text05b3
- textpointer Text05b4
- textpointer Text05b5
- textpointer Text05b6
- textpointer Text05b7
- textpointer Text05b8
- textpointer Text05b9
- textpointer Text05ba
- textpointer Text05bb
- textpointer Text05bc
- textpointer Text05bd
- textpointer Text05be
- textpointer Text05bf
- textpointer Text05c0
- textpointer Text05c1
- textpointer Text05c2
- textpointer Text05c3
- textpointer Text05c4
- textpointer Text05c5
- textpointer Text05c6
- textpointer Text05c7
- textpointer Text05c8
- textpointer Text05c9
- textpointer Text05ca
- textpointer Text05cb
- textpointer Text05cc
- textpointer Text05cd
- textpointer Text05ce
- textpointer Text05cf
- textpointer Text05d0
- textpointer Text05d1
- textpointer Text05d2
- textpointer Text05d3
- textpointer Text05d4
- textpointer Text05d5
- textpointer Text05d6
- textpointer Text05d7
- textpointer Text05d8
- textpointer Text05d9
- textpointer Text05da
- textpointer Text05db
- textpointer Text05dc
- textpointer Text05dd
- textpointer Text05de
- textpointer Text05df
- textpointer Text05e0
- textpointer Text05e1
- textpointer Text05e2
- textpointer Text05e3
- textpointer Text05e4
- textpointer Text05e5
- textpointer Text05e6
- textpointer Text05e7
- textpointer Text05e8
- textpointer Text05e9
- textpointer Text05ea
- textpointer Text05eb
- textpointer Text05ec
- textpointer Text05ed
- textpointer Text05ee
- textpointer Text05ef
- textpointer Text05f0
- textpointer Text05f1
- textpointer Text05f2
- textpointer Text05f3
- textpointer Text05f4
- textpointer Text05f5
- textpointer Text05f6
- textpointer Text05f7
- textpointer Text05f8
- textpointer Text05f9
- textpointer Text05fa
- textpointer Text05fb
- textpointer Text05fc
- textpointer Text05fd
- textpointer Text05fe
- textpointer Text05ff
- textpointer Text0600
- textpointer Text0601
- textpointer Text0602
- textpointer Text0603
- textpointer Text0604
- textpointer Text0605
- textpointer Text0606
- textpointer Text0607
- textpointer Text0608
- textpointer Text0609
- textpointer Text060a
- textpointer Text060b
- textpointer Text060c
- textpointer Text060d
- textpointer Text060e
- textpointer Text060f
- textpointer Text0610
- textpointer Text0611
- textpointer Text0612
- textpointer Text0613
- textpointer Text0614
- textpointer Text0615
- textpointer Text0616
- textpointer Text0617
- textpointer Text0618
- textpointer Text0619
- textpointer Text061a
- textpointer Text061b
- textpointer Text061c
- textpointer Text061d
- textpointer Text061e
- textpointer Text061f
- textpointer Text0620
- textpointer Text0621
- textpointer Text0622
- textpointer Text0623
- textpointer Text0624
- textpointer Text0625
- textpointer Text0626
- textpointer Text0627
- textpointer Text0628
- textpointer Text0629
- textpointer Text062a
- textpointer Text062b
- textpointer Text062c
- textpointer Text062d
- textpointer Text062e
- textpointer Text062f
- textpointer Text0630
- textpointer Text0631
- textpointer Text0632
- textpointer Text0633
- textpointer Text0634
- textpointer Text0635
- textpointer Text0636
- textpointer Text0637
- textpointer Text0638
- textpointer Text0639
- textpointer Text063a
- textpointer Text063b
- textpointer Text063c
- textpointer Text063d
- textpointer Text063e
- textpointer Text063f
- textpointer Text0640
- textpointer Text0641
- textpointer Text0642
- textpointer Text0643
- textpointer Text0644
- textpointer Text0645
- textpointer Text0646
- textpointer Text0647
- textpointer Text0648
- textpointer Text0649
- textpointer Text064a
- textpointer Text064b
- textpointer Text064c
- textpointer Text064d
- textpointer Text064e
- textpointer Text064f
- textpointer Text0650
- textpointer Text0651
- textpointer Text0652
- textpointer Text0653
- textpointer Text0654
- textpointer Text0655
- textpointer Text0656
- textpointer Text0657
- textpointer Text0658
- textpointer Text0659
- textpointer Text065a
- textpointer Text065b
- textpointer Text065c
- textpointer Text065d
- textpointer Text065e
- textpointer Text065f
- textpointer Text0660
- textpointer Text0661
- textpointer Text0662
- textpointer Text0663
- textpointer Text0664
- textpointer Text0665
- textpointer Text0666
- textpointer Text0667
- textpointer Text0668
- textpointer Text0669
- textpointer Text066a
- textpointer Text066b
- textpointer Text066c
- textpointer Text066d
- textpointer Text066e
- textpointer Text066f
- textpointer Text0670
- textpointer Text0671
- textpointer Text0672
- textpointer Text0673
- textpointer Text0674
- textpointer Text0675
- textpointer Text0676
- textpointer Text0677
- textpointer Text0678
- textpointer Text0679
- textpointer Text067a
- textpointer Text067b
- textpointer Text067c
- textpointer Text067d
- textpointer Text067e
- textpointer Text067f
- textpointer Text0680
- textpointer Text0681
- textpointer Text0682
- textpointer Text0683
- textpointer Text0684
- textpointer Text0685
- textpointer Text0686
- textpointer Text0687
- textpointer Text0688
- textpointer Text0689
- textpointer Text068a
- textpointer Text068b
- textpointer Text068c
- textpointer Text068d
- textpointer Text068e
- textpointer Text068f
- textpointer Text0690
- textpointer Text0691
- textpointer Text0692
- textpointer Text0693
- textpointer Text0694
- textpointer Text0695
- textpointer Text0696
- textpointer Text0697
- textpointer Text0698
- textpointer Text0699
- textpointer Text069a
- textpointer Text069b
- textpointer Text069c
- textpointer Text069d
- textpointer Text069e
- textpointer Text069f
- textpointer Text06a0
- textpointer Text06a1
- textpointer Text06a2
- textpointer Text06a3
- textpointer Text06a4
- textpointer Text06a5
- textpointer Text06a6
- textpointer Text06a7
- textpointer Text06a8
- textpointer Text06a9
- textpointer Text06aa
- textpointer Text06ab
- textpointer Text06ac
- textpointer Text06ad
- textpointer Text06ae
- textpointer Text06af
- textpointer Text06b0
- textpointer Text06b1
- textpointer Text06b2
- textpointer Text06b3
- textpointer Text06b4
- textpointer Text06b5
- textpointer Text06b6
- textpointer Text06b7
- textpointer Text06b8
- textpointer Text06b9
- textpointer Text06ba
- textpointer Text06bb
- textpointer Text06bc
- textpointer Text06bd
- textpointer Text06be
- textpointer Text06bf
- textpointer Text06c0
- textpointer Text06c1
- textpointer Text06c2
- textpointer Text06c3
- textpointer Text06c4
- textpointer Text06c5
- textpointer Text06c6
- textpointer Text06c7
- textpointer Text06c8
- textpointer Text06c9
- textpointer Text06ca
- textpointer Text06cb
- textpointer Text06cc
- textpointer Text06cd
- textpointer Text06ce
- textpointer Text06cf
- textpointer Text06d0
- textpointer Text06d1
- textpointer Text06d2
- textpointer Text06d3
- textpointer Text06d4
- textpointer Text06d5
- textpointer Text06d6
- textpointer Text06d7
- textpointer Text06d8
- textpointer Text06d9
- textpointer Text06da
- textpointer Text06db
- textpointer Text06dc
- textpointer Text06dd
- textpointer Text06de
- textpointer Text06df
- textpointer Text06e0
- textpointer Text06e1
- textpointer Text06e2
- textpointer Text06e3
- textpointer Text06e4
- textpointer Text06e5
- textpointer Text06e6
- textpointer Text06e7
- textpointer Text06e8
- textpointer Text06e9
- textpointer Text06ea
- textpointer Text06eb
- textpointer Text06ec
- textpointer Text06ed
- textpointer Text06ee
- textpointer Text06ef
- textpointer Text06f0
- textpointer Text06f1
- textpointer Text06f2
- textpointer Text06f3
- textpointer Text06f4
- textpointer Text06f5
- textpointer Text06f6
- textpointer Text06f7
- textpointer Text06f8
- textpointer Text06f9
- textpointer Text06fa
- textpointer Text06fb
- textpointer Text06fc
- textpointer Text06fd
- textpointer Text06fe
- textpointer Text06ff
- textpointer Text0700
- textpointer Text0701
- textpointer Text0702
- textpointer Text0703
- textpointer Text0704
- textpointer Text0705
- textpointer Text0706
- textpointer Text0707
- textpointer Text0708
- textpointer Text0709
- textpointer Text070a
- textpointer Text070b
- textpointer Text070c
- textpointer Text070d
- textpointer Text070e
- textpointer Text070f
- textpointer Text0710
- textpointer Text0711
- textpointer Text0712
- textpointer Text0713
- textpointer Text0714
- textpointer Text0715
- textpointer Text0716
- textpointer Text0717
- textpointer Text0718
- textpointer Text0719
- textpointer Text071a
- textpointer Text071b
- textpointer Text071c
- textpointer Text071d
- textpointer Text071e
- textpointer Text071f
- textpointer Text0720
- textpointer Text0721
- textpointer Text0722
- textpointer Text0723
- textpointer Text0724
- textpointer Text0725
- textpointer Text0726
- textpointer Text0727
- textpointer Text0728
- textpointer Text0729
- textpointer Text072a
- textpointer Text072b
- textpointer Text072c
- textpointer Text072d
- textpointer Text072e
- textpointer Text072f
- textpointer Text0730
- textpointer Text0731
- textpointer Text0732
- textpointer Text0733
- textpointer Text0734
- textpointer Text0735
- textpointer Text0736
- textpointer Text0737
- textpointer Text0738
- textpointer Text0739
- textpointer Text073a
- textpointer Text073b
- textpointer Text073c
- textpointer Text073d
- textpointer Text073e
- textpointer Text073f
- textpointer Text0740
- textpointer Text0741
- textpointer Text0742
- textpointer Text0743
- textpointer Text0744
- textpointer Text0745
- textpointer Text0746
- textpointer Text0747
- textpointer Text0748
- textpointer Text0749
- textpointer Text074a
- textpointer Text074b
- textpointer Text074c
- textpointer Text074d
- textpointer Text074e
- textpointer Text074f
- textpointer Text0750
- textpointer Text0751
- textpointer Text0752
- textpointer Text0753
- textpointer Text0754
- textpointer Text0755
- textpointer Text0756
- textpointer Text0757
- textpointer Text0758
- textpointer Text0759
- textpointer Text075a
- textpointer Text075b
- textpointer Text075c
- textpointer Text075d
- textpointer Text075e
- textpointer Text075f
- textpointer Text0760
- textpointer Text0761
- textpointer Text0762
- textpointer Text0763
- textpointer Text0764
- textpointer Text0765
- textpointer Text0766
- textpointer Text0767
- textpointer Text0768
- textpointer Text0769
- textpointer Text076a
- textpointer Text076b
- textpointer Text076c
- textpointer Text076d
- textpointer Text076e
- textpointer Text076f
- textpointer Text0770
- textpointer Text0771
- textpointer Text0772
- textpointer Text0773
- textpointer Text0774
- textpointer Text0775
- textpointer Text0776
- textpointer Text0777
- textpointer Text0778
- textpointer Text0779
- textpointer Text077a
- textpointer Text077b
- textpointer Text077c
- textpointer Text077d
- textpointer Text077e
- textpointer Text077f
- textpointer Text0780
- textpointer Text0781
- textpointer Text0782
- textpointer Text0783
- textpointer Text0784
- textpointer Text0785
- textpointer Text0786
- textpointer Text0787
- textpointer Text0788
- textpointer Text0789
- textpointer Text078a
- textpointer Text078b
- textpointer Text078c
- textpointer Text078d
- textpointer Text078e
- textpointer Text078f
- textpointer Text0790
- textpointer Text0791
- textpointer Text0792
- textpointer Text0793
- textpointer Text0794
- textpointer Text0795
- textpointer Text0796
- textpointer Text0797
- textpointer Text0798
- textpointer Text0799
- textpointer Text079a
- textpointer Text079b
- textpointer Text079c
- textpointer Text079d
- textpointer Text079e
- textpointer Text079f
- textpointer Text07a0
- textpointer Text07a1
- textpointer Text07a2
- textpointer Text07a3
- textpointer Text07a4
- textpointer Text07a5
- textpointer Text07a6
- textpointer Text07a7
- textpointer Text07a8
- textpointer Text07a9
- textpointer Text07aa
- textpointer Text07ab
- textpointer Text07ac
- textpointer Text07ad
- textpointer Text07ae
- textpointer Text07af
- textpointer Text07b0
- textpointer Text07b1
- textpointer Text07b2
- textpointer Text07b3
- textpointer Text07b4
- textpointer Text07b5
- textpointer Text07b6
- textpointer Text07b7
- textpointer Text07b8
- textpointer Text07b9
- textpointer Text07ba
- textpointer Text07bb
- textpointer Text07bc
- textpointer Text07bd
- textpointer Text07be
- textpointer Text07bf
- textpointer Text07c0
- textpointer Text07c1
- textpointer Text07c2
- textpointer Text07c3
- textpointer Text07c4
- textpointer Text07c5
- textpointer Text07c6
- textpointer Text07c7
- textpointer Text07c8
- textpointer Text07c9
- textpointer Text07ca
- textpointer Text07cb
- textpointer Text07cc
- textpointer Text07cd
- textpointer Text07ce
- textpointer Text07cf
- textpointer Text07d0
- textpointer Text07d1
- textpointer Text07d2
- textpointer Text07d3
- textpointer Text07d4
- textpointer Text07d5
- textpointer Text07d6
- textpointer Text07d7
- textpointer Text07d8
- textpointer Text07d9
- textpointer Text07da
- textpointer Text07db
- textpointer Text07dc
- textpointer Text07dd
- textpointer Text07de
- textpointer Text07df
- textpointer Text07e0
- textpointer Text07e1
- textpointer Text07e2
- textpointer Text07e3
- textpointer Text07e4
- textpointer Text07e5
- textpointer DefeatedFiveOpponentsText
- textpointer Text07e7
- textpointer ConsecutiveWinRecordIncreasedText
- textpointer Text07e9
- textpointer Text07ea
- textpointer Text07eb
- textpointer Text07ec
- textpointer Text07ed
- textpointer Text07ee
- textpointer Text07ef
- textpointer Text07f0
- textpointer Text07f1
- textpointer Text07f2
- textpointer Text07f3
- textpointer Text07f4
- textpointer Text07f5
- textpointer Text07f6
- textpointer Text07f7
- textpointer Text07f8
- textpointer Text07f9
- textpointer Text07fa
- textpointer Text07fb
- textpointer GrassEnergyName
- textpointer GrassEnergyDescription
- textpointer FireEnergyName
- textpointer FireEnergyDescription
- textpointer WaterEnergyName
- textpointer WaterEnergyDescription
- textpointer LightningEnergyName
- textpointer LightningEnergyDescription
- textpointer FightingEnergyName
- textpointer FightingEnergyDescription
- textpointer PsychicEnergyName
- textpointer PsychicEnergyDescription
- textpointer DoubleColorlessEnergyName
- textpointer DoubleColorlessEnergyDescription
- textpointer BulbasaurName
- textpointer LeechSeedName
- textpointer BulbasaursLeechSeedDescription
- textpointer BulbasaurKind
- textpointer BulbasaurDescription
- textpointer IvysaurName
- textpointer VineWhipName
- textpointer PoisonPowderName
- textpointer InflictPoisonDescription
- textpointer IvysaurDescription
- textpointer VenusaurName
- textpointer SolarPowerName
- textpointer SolarPowerDescription
- textpointer SolarPowerDescriptionCont
- textpointer MegaDrainName
- textpointer VenusaursMegaDrainDescription
- textpointer VenusaursMegaDrainDescriptionCont
- textpointer Venusaur1Description
- textpointer EnergyTransName
- textpointer EnergyTransDescription
- textpointer SolarBeamName
- textpointer Venusaur2Description
- textpointer CaterpieName
- textpointer StringShotName
- textpointer MayInflictParalysisDescription
- textpointer CaterpieKind
- textpointer CaterpieDescription
- textpointer MetapodName
- textpointer StiffenName
- textpointer MetapodsStiffenDescription
- textpointer StunSporeName
- textpointer MetapodKind
- textpointer MetapodDescription
- textpointer ButterfreeName
- textpointer WhirlwindName
- textpointer WhirlwindDescription
- textpointer ButterfreesMegaDrainDescription
- textpointer ButterfreesMegaDrainDescriptionCont
- textpointer ButterfreeKind
- textpointer ButterfreeDescription
- textpointer WeedleName
- textpointer PoisonStingName
- textpointer MayInflictPoisonDescription
- textpointer WeedleKind
- textpointer WeedleDescription
- textpointer KakunaName
- textpointer KakunasStiffenDescription
- textpointer KakunaDescription
- textpointer BeedrillName
- textpointer TwineedleName
- textpointer DoubleAttackX30Description
- textpointer BeedrillKind
- textpointer BeedrillDescription
- textpointer EkansName
- textpointer SpitPoisonName
- textpointer WrapName
- textpointer EkansKind
- textpointer EkansDescription
- textpointer ArbokName
- textpointer TerrorStrikeName
- textpointer TerrorStrikeDescription
- textpointer PoisonFangName
- textpointer ArbokKind
- textpointer ArbokDescription
- textpointer NidoranFName
- textpointer FurySweepesName
- textpointer TripleAttackX10Description
- textpointer CallforFamilyName
- textpointer NidoranFsCallforFamilyDescription
- textpointer NidoranFKind
- textpointer NidoranFDescription
- textpointer NidorinaName
- textpointer SupersonicName
- textpointer MayInflictConfusionDescription
- textpointer DoubleKickName
- textpointer NidorinaDescription
- textpointer NidoqueenName
- textpointer BoyfriendsName
- textpointer BoyfriendsDescription
- textpointer MegaPunchName
- textpointer NidoqueenKind
- textpointer NidoqueenDescription
- textpointer NidoranMName
- textpointer HornHazardName
- textpointer MayDoNothingDescription
- textpointer NidoranMDescription
- textpointer NidorinoName
- textpointer HornDrillName
- textpointer NidorinoDescription
- textpointer NidokingName
- textpointer ThrashName
- textpointer ThrashDescriptipn
- textpointer ToxicName
- textpointer ToxicDescription
- textpointer NidokingDescription
- textpointer ZubatName
- textpointer LeechLifeName
- textpointer ZubatsLeechLifeDescription
- textpointer ZubatKind
- textpointer ZubatDescription
- textpointer GolbatName
- textpointer WingAttackName
- textpointer GolbatsLeechLifeDescription
- textpointer GolbatDescription
- textpointer OddishName
- textpointer SproutName
- textpointer SproutDescription
- textpointer OddishKind
- textpointer OddishDescription
- textpointer GloomName
- textpointer FoulOdorName
- textpointer FoulOdorDescription
- textpointer GloomDescription
- textpointer VileplumeName
- textpointer HealName
- textpointer HealDescription
- textpointer PetalDanceName
- textpointer PetalDanceDescription
- textpointer VileplumeKind
- textpointer VileplumeDescription
- textpointer ParasName
- textpointer ScratchName
- textpointer SporeName
- textpointer InflictSleepDescription
- textpointer ParasKind
- textpointer ParasDescription
- textpointer ParasectName
- textpointer SlashName
- textpointer ParasectDescription
- textpointer VenonatName
- textpointer VenonatLeechLifeDescription
- textpointer VenonatKind
- textpointer VenonatDescription
- textpointer VenomothName
- textpointer ShiftName
- textpointer ShiftDescription
- textpointer VenomPowderName
- textpointer VenomPowderDescription
- textpointer VenomothKind
- textpointer VenomothDescription
- textpointer BellsproutName
- textpointer BellsproutsCallforFamilyDescription
- textpointer BellsproutDescription
- textpointer WeepinbellName
- textpointer RazorLeafName
- textpointer WeepinbellKind
- textpointer WeepinbellDescription
- textpointer VictreebelName
- textpointer LureName
- textpointer VictreebelsLureDescription
- textpointer AcidName
- textpointer VictreebelsAcidDescription
- textpointer VictreebelDescription
- textpointer GrimerName
- textpointer NastyGooName
- textpointer MinimizeName
- textpointer GrimersMinimizeDescription
- textpointer GrimerKindOrSludgeName
- textpointer GrimerDescription
- textpointer MukName
- textpointer ToxicGasName
- textpointer ToxicGasDescription
- textpointer MukDescription
- textpointer ExeggcuteName
- textpointer DrowzeeKindOrHypnosisName
- textpointer ExeggcutesLeechSeedDescription
- textpointer ExeggcuteKind
- textpointer ExeggcuteDescription
- textpointer ExeggutorName
- textpointer TeleportName
- textpointer TeleportDescription
- textpointer BigEggsplosionName
- textpointer BigEggsplosionDescription
- textpointer ExeggutorKind
- textpointer ExeggutorDescription
- textpointer KoffingName
- textpointer FoulGasName
- textpointer FoulGasDescription
- textpointer KoffingKind
- textpointer KoffingDescription
- textpointer WeezingName
- textpointer SmogName
- textpointer SelfdestructName
- textpointer WeezingsSelfdestructDescription
- textpointer WeezingDescription
- textpointer TangelaName
- textpointer BindName
- textpointer TangelaKind
- textpointer Tangela1Description
- textpointer PoisonWhipName
- textpointer Tangela2Description
- textpointer ScytherName
- textpointer SwordsDanceName
- textpointer SwordsDanceDescription
- textpointer ScytherKind
- textpointer ScytherDescription
- textpointer PinsirName
- textpointer IronGripName
- textpointer GuillotineName
- textpointer PinsirKind
- textpointer PinsirDescription
- textpointer CharmanderName
- textpointer EmberName
- textpointer EmberDescription
- textpointer CharmanderKind
- textpointer CharmanderDescription
- textpointer CharmeleonName
- textpointer FlamethrowerName
- textpointer CharmeleonsFlamethrowerDescription
- textpointer CharmeleonKind
- textpointer CharmeleonDescription
- textpointer CharizardName
- textpointer EnergyBurnName
- textpointer EnergyBurnDescription
- textpointer FireSpinName
- textpointer FireSpinDescription
- textpointer CharizardDescription
- textpointer VulpixName
- textpointer ConfuseRayName
- textpointer VulpixKind
- textpointer VulpixDescription
- textpointer NinetailsName
- textpointer NinetailsLureDescription
- textpointer FireBlastName
- textpointer FireBlastDescription
- textpointer Ninetails1Description
- textpointer MixUpName
- textpointer MixUpDescription
- textpointer MixUpDescriptionCont
- textpointer DancingEmbersName
- textpointer DancingEmbersDescription
- textpointer Ninetails2Description
- textpointer GrowlitheName
- textpointer FlareName
- textpointer GrowlitheKind
- textpointer GrowlitheDescription
- textpointer ArcanineName
- textpointer QuickAttackName
- textpointer QuickAttackDescription
- textpointer FlamesofRageName
- textpointer FlamesofRageDescription
- textpointer ArcanineKind
- textpointer Arcanine1Description
- textpointer ArcaninesFlamethrowerDescription
- textpointer TakeDownName
- textpointer TakeDownDescription
- textpointer Arcanine2Description
- textpointer PonytaName
- textpointer SmashKickName
- textpointer FlameTailName
- textpointer PonytaKind
- textpointer PonytaDescription
- textpointer RapidashName
- textpointer StompName
- textpointer StompDescription
- textpointer AgilityName
- textpointer RapidashsAgilityDescription
- textpointer RapidashDescription
- textpointer MagmarName
- textpointer FirePunchName
- textpointer FirePunchDescription
- textpointer MagmarKind
- textpointer Magmar1Description
- textpointer SmokescreenName
- textpointer MagmarsSmokescreenDescription
- textpointer Magmar2Description
- textpointer FlareonName
- textpointer EeveeName
- textpointer BiteName
- textpointer RageName
- textpointer FlareonsRageDescription
- textpointer Flareon1Description
- textpointer FlareonsFlamethrowerDescription
- textpointer Flareon2Description
- textpointer MoltresName
- textpointer WildfireName
- textpointer WildfireDescription
- textpointer DiveBombName
- textpointer Moltres1Description
- textpointer FiregiverName
- textpointer FiregiverDescription
- textpointer Moltres2Description
- textpointer SquirtleName
- textpointer BubbleName
- textpointer WithdrawName
- textpointer SquirtlesWithdrawDescription
- textpointer SquirtleKind
- textpointer SquirtleDescription
- textpointer WartortleName
- textpointer WartortlesWithdrawDescription
- textpointer WartortleKind
- textpointer WartortleDescription
- textpointer BlastoiseName
- textpointer RainDanceName
- textpointer RainDanceDescription
- textpointer RainDanceDescriptionCont
- textpointer HydroPumpName
- textpointer HydroPumpDescription
- textpointer BlastoiseKind
- textpointer BlastoiseDescription
- textpointer PsyduckName
- textpointer HeadacheName
- textpointer HeadacheDescription
- textpointer PsyduckKind
- textpointer PsyduckDescription
- textpointer GolduckName
- textpointer PsyshockName
- textpointer HyperBeamName
- textpointer Discard1EnergyFromTargetDescription
- textpointer GolduckDescription
- textpointer PoliwagName
- textpointer WaterGunName
- textpointer PoliwagsWaterGunDescription
- textpointer PoliwagKind
- textpointer PoliwagDescription
- textpointer PoliwhirlName
- textpointer AmnesiaName
- textpointer PoliwhirlsAmnesiaDescription
- textpointer DoubleslapName
- textpointer PoliwhirlsDescription
- textpointer PoliwrathName
- textpointer PoliwrathsWaterGunDescription
- textpointer WhirlpoolName
- textpointer PoliwrathDescription
- textpointer TentacoolName
- textpointer CowardiceName
- textpointer CowardiceDescription
- textpointer TentacoolKind
- textpointer TentacoolDescription
- textpointer TentacruelName
- textpointer JellyfishStingName
- textpointer TentacruelDescription
- textpointer SeelName
- textpointer HeadbuttName
- textpointer SeelKind
- textpointer SeelDescription
- textpointer DewgongName
- textpointer AuroraBeamName
- textpointer IceBeamName
- textpointer DewgongDescription
- textpointer ShellderName
- textpointer HideinShellName
- textpointer HideinShellDescription
- textpointer ShellderKind
- textpointer ShellderDescription
- textpointer CloysterName
- textpointer ClampName
- textpointer ClampDescription
- textpointer SpikeCannonName
- textpointer CloysterDescription
- textpointer KrabbyName
- textpointer KrabbysCallforFamilyDescription
- textpointer KrabbyKind
- textpointer KrabbyDescription
- textpointer KinglerName
- textpointer FlailName
- textpointer KinglersFlailDescription
- textpointer CrabhammerName
- textpointer KinglerKind
- textpointer KinglerDescription
- textpointer HorseaName
- textpointer OpponentAttackMayDoNothingDescription
- textpointer HorseaKind
- textpointer HorseaDescription
- textpointer SeadraName
- textpointer SeadrasWaterGunDescription
- textpointer SeadrasAgilityDescription
- textpointer SeadraDescription
- textpointer GoldeenName
- textpointer HornAttackName
- textpointer GoldeenKind
- textpointer GoldeenDescription
- textpointer SeakingName
- textpointer WaterfallName
- textpointer SeakingDescription
- textpointer StaryuName
- textpointer SlapName
- textpointer StaryuKind
- textpointer StaryuDescription
- textpointer StarmieName
- textpointer RecoverName
- textpointer StarmiesRecoverDescription
- textpointer StarFreezeName
- textpointer StarmieKind
- textpointer StarmieDescription
- textpointer MagikarpName
- textpointer TackleName
- textpointer MagikarpsFlailDescription
- textpointer MagikarpKind
- textpointer MagikarpDescription
- textpointer GyaradosName
- textpointer DragonRageName
- textpointer BubblebeamName
- textpointer GyaradosKind
- textpointer GyaradosDescription
- textpointer LaprasName
- textpointer LaprasWaterGunDescription
- textpointer LaprasKind
- textpointer LaprasDescription
- textpointer VaporeonName
- textpointer FocusEnergyName
- textpointer FocusEnergyDescription
- textpointer VaporeonKind
- textpointer Vaporeon1Description
- textpointer VaporeonsWaterGunDescription
- textpointer Vaporeon2Description
- textpointer OmanyteName
- textpointer MysteriousFossilName
- textpointer ClairvoyanceName
- textpointer ClairvoyanceDescription
- textpointer OmanytesWaterGunDescription
- textpointer OmanyteKind
- textpointer OmanyteDescription
- textpointer OmastarName
- textpointer OmastarsWaterGunDescription
- textpointer OmastarDescription
- textpointer ArticunoName
- textpointer FreezeDryName
- textpointer BlizzardName
- textpointer BlizzardDescription
- textpointer ArticunoKind
- textpointer Articuno1Description
- textpointer QuickfreezeName
- textpointer QuickfreezeDescription
- textpointer IceBreathName
- textpointer IceBreathDescription
- textpointer Articuno2Description
- textpointer PikachuName
- textpointer GnawName
- textpointer ThunderJoltName
- textpointer ThunderJoltDescription
- textpointer PikachuKind
- textpointer Pikachu1Description
- textpointer SparkName
- textpointer SparkDescription
- textpointer Pikachu2Description
- textpointer GrowlName
- textpointer GrowlDescription
- textpointer ThundershockName
- textpointer Pikachu3Description
- textpointer FlyingPikachuName
- textpointer FlyName
- textpointer FlyDescription
- textpointer FlyingPikachuDescription
- textpointer SurfingPikachuName
- textpointer SurfName
- textpointer SurfingPikachuDescription
- textpointer RaichuName
- textpointer RaichusAgilityDescription
- textpointer ThunderName
- textpointer RaichusThunderDescription
- textpointer Raichu1Description
- textpointer GigashockName
- textpointer GigashockDescription
- textpointer Raichu2Description
- textpointer MagnemiteName
- textpointer ThunderWaveName
- textpointer MagnemitesSelfdestructDescription
- textpointer MagnemiteKind
- textpointer Magnemite1Description
- textpointer MagneticStormName
- textpointer MagneticStormDescription
- textpointer Magnemite2Description
- textpointer MagnetonName
- textpointer Magneton1sSelfdestructDescription
- textpointer Magneton1Description
- textpointer SonicboomName
- textpointer SonicboomDescription
- textpointer Magneton2sSelfdestructDescription
- textpointer Magneton2Description
- textpointer VoltorbName
- textpointer VoltorbKind
- textpointer VoltorbDescription
- textpointer ElectrodeName
- textpointer EnergySpikeName
- textpointer EnergySpikeDescription
- textpointer Electrode1Description
- textpointer ChainLightningName
- textpointer ChainLightningDescription
- textpointer Electrode2Description
- textpointer ElectabuzzName
- textpointer LightScreenName
- textpointer LightScreenDescription
- textpointer LightScreenDescriptionCont
- textpointer ElectabuzzsQuickAttackDescription
- textpointer ElectabuzzKind
- textpointer Electabuzz1Description
- textpointer ThunderpunchName
- textpointer ThunderpunchDescription
- textpointer Electabuzz2Description
- textpointer JolteonName
- textpointer DoubleAttackX20Description
- textpointer StunNeedleName
- textpointer JolteonKind
- textpointer Jolteon1Description
- textpointer PinMissileName
- textpointer QuadrupleAttackX20Description
- textpointer Jolteon2Description
- textpointer ZapdosName
- textpointer ThunderstormName
- textpointer ThunderstormDescription
- textpointer Zapdos1Description
- textpointer ZapdosThunderDescription
- textpointer ThunderboltName
- textpointer ThunderboltDescription
- textpointer Zapdos2Description
- textpointer PealofThunderName
- textpointer PealofThunderDescription
- textpointer BigThunderName
- textpointer BigThunderDescription
- textpointer Zapdos3Description
- textpointer SandshrewName
- textpointer SandAttackName
- textpointer SandshrewDescription
- textpointer SandslashName
- textpointer TripleAttackX20Description
- textpointer SandslashDescription
- textpointer DiglettName
- textpointer DigName
- textpointer MudSlapName
- textpointer DiglettKind
- textpointer DiglettDescription
- textpointer DugtrioName
- textpointer EarthquakeName
- textpointer EarthquakeDescription
- textpointer DugtrioDescription
- textpointer MankeyName
- textpointer PeekName
- textpointer PeekDescription
- textpointer PeekDescriptionCont
- textpointer MankeyKind
- textpointer MankeyDescription
- textpointer PrimeapeName
- textpointer TantrumName
- textpointer TantrumDescription
- textpointer PrimeapeDescription
- textpointer MachopName
- textpointer LowKickName
- textpointer MachopKindOrSuperpowerName
- textpointer MachopDescription
- textpointer MachokeName
- textpointer KarateChopName
- textpointer KarateChopDescription
- textpointer SubmissionName
- textpointer SubmissionDescription
- textpointer MachokeDescription
- textpointer MachampName
- textpointer StrikesBackName
- textpointer StrikesBackDescription
- textpointer StrikesBackDescriptionCont
- textpointer SeismicTossName
- textpointer MachampDescription
- textpointer GeodudeName
- textpointer StoneBarrageName
- textpointer StoneBarrageDescription
- textpointer GeodudeKind
- textpointer GeodudeDescription
- textpointer GravelerName
- textpointer HardenName
- textpointer GravelersHardenDescription
- textpointer RockThrowName
- textpointer GravelerDescription
- textpointer GolemName
- textpointer AvalancheName
- textpointer GolemsSelfdestructDescription
- textpointer GolemKind
- textpointer GolemDescription
- textpointer OnixName
- textpointer OnixsHardenDescription
- textpointer OnixKind
- textpointer OnixDescription
- textpointer CuboneName
- textpointer SnivelName
- textpointer SnivelDescription
- textpointer CubonesRageDescription
- textpointer CuboneKind
- textpointer CuboneDescription
- textpointer MarowakName
- textpointer BonemerangName
- textpointer CallforFriendName
- textpointer CallforFriendDescription
- textpointer MarowakKind
- textpointer Marowak1Description
- textpointer BoneAttackName
- textpointer BoneAttackDescription
- textpointer WailName
- textpointer WailDescription
- textpointer Marowak2Description
- textpointer HitmonleeName
- textpointer StretchKickName
- textpointer StretchKickDescription
- textpointer HighJumpKickName
- textpointer HitmonleeKind
- textpointer HitmonleeDescription
- textpointer HitmonchanName
- textpointer JabName
- textpointer SpecialPunch
- textpointer HitmonchanKind
- textpointer HitmonchanDescription
- textpointer RhyhornName
- textpointer LeerName
- textpointer LeerDescription
- textpointer RhyhornKind
- textpointer RhyhornDescription
- textpointer RhydonName
- textpointer RamName
- textpointer RamDescription
- textpointer RamDescriptionCont
- textpointer RhydonDescription
- textpointer KabutoName
- textpointer KabutoArmorName
- textpointer KabutoArmorDescription
- textpointer KabutoArmorDescriptionCont
- textpointer KabutoDescription
- textpointer KabutopsName
- textpointer SharpSickleName
- textpointer AbsorbName
- textpointer AbsorbDescription
- textpointer AbsorbDescriptionCont
- textpointer KabutopsDescription
- textpointer AerodactylName
- textpointer PrehistoricPowerName
- textpointer PrehistoricPowerDescription
- textpointer AerodactylKind
- textpointer AerodactylDescription
- textpointer AbraName
- textpointer AbraKind
- textpointer AbraDescription
- textpointer KadabraName
- textpointer KadabrasRecoverDescription
- textpointer SuperPsiName
- textpointer KadabraDescription
- textpointer AlakazamName
- textpointer DamageSwapName
- textpointer DamageSwapDescription
- textpointer AlakazamDescription
- textpointer SlowpokeName
- textpointer SlowpokesAmnesiaDescription
- textpointer SlowpokeKind
- textpointer Slowpoke1Description
- textpointer SpacingOutName
- textpointer SpacingOutDescription
- textpointer ScavengeName
- textpointer ScavengeDescription
- textpointer SlowbroName
- textpointer StrangeBehaviorName
- textpointer StrangeBehaviorDescription
- textpointer SlowbroKind
- textpointer SlowbroDescription
- textpointer GastlyName
- textpointer SleepingGasName
- textpointer MayInflictSleepDescription
- textpointer DestinyBondName
- textpointer DestinyBondDescription
- textpointer GastlyKind
- textpointer Gastly1Description
- textpointer LickName
- textpointer EnergyConversionName
- textpointer EnergyConversionDescription
- textpointer Gastly2Description
- textpointer HaunterName
- textpointer TransparencyName
- textpointer TransparencyDescription
- textpointer NightmareName
- textpointer HaunterDescription
- textpointer DreamEaterName
- textpointer DreamEaterDescription
- textpointer GengarName
- textpointer CurseName
- textpointer CurseDescription
- textpointer DarkMindName
- textpointer DarkMindDescription
- textpointer GengarKind
- textpointer GengarDescription
- textpointer DrowzeeName
- textpointer PoundName
- textpointer DrowzeeDescription
- textpointer HypnoName
- textpointer ProphecyName
- textpointer ProphecyDescription
- textpointer HypnoDescription
- textpointer MrMimeName
- textpointer InvisibleWallName
- textpointer InvisibleWallDescription
- textpointer InvisibleWallDescriptionCont
- textpointer MeditateName
- textpointer MrMimesMeditateDescription
- textpointer MrMimeKindOrBarrierName
- textpointer MrMimeDescription
- textpointer JynxName
- textpointer DoubleAttackX10Description
- textpointer JynxsMeditateDescription
- textpointer JynxKind
- textpointer JynxDescription
- textpointer MewtwoName
- textpointer PsychicName
- textpointer PsychicDescription
- textpointer BarrierDescription
- textpointer MewtwoKind
- textpointer Mewtwo1Description
- textpointer EnergyAbsorptionName
- textpointer EnergyAbsorptionDescription
- textpointer PsyburnName
- textpointer Mewtwo2Description
- textpointer MewName
- textpointer NeutralizingShieldName
- textpointer NeutralizingShieldDescription
- textpointer MewKind
- textpointer Mew1Description
- textpointer MysteryAttackName
- textpointer MysteryAttackDescription
- textpointer Mew2Description
- textpointer PsywaveName
- textpointer PsywaveDescription
- textpointer DevolutionBeamName
- textpointer DevolutionBeamDescription
- textpointer PidgeyName
- textpointer PidgeyKind
- textpointer PidgeyDescription
- textpointer PidgeottoName
- textpointer MirrorMoveName
- textpointer PidgeottosMirrorMoveDescription
- textpointer PidgeottoKind
- textpointer PidgeottoDescription
- textpointer PidgeotName
- textpointer SlicingWindName
- textpointer SlicingWildDescription
- textpointer GaleName
- textpointer GaleDescription
- textpointer Pidgeot1Description
- textpointer HurricaneName
- textpointer HurricaneDescription
- textpointer Pidgeot2Description
- textpointer RattataName
- textpointer RattataKind
- textpointer RattataDescription
- textpointer RaticateName
- textpointer SuperFangName
- textpointer SuperFangDescription
- textpointer RaticateDescription
- textpointer SpearowName
- textpointer PeckName
- textpointer SpearowsMirrorMoveDescription
- textpointer SpearowDescription
- textpointer FearowName
- textpointer FearowsAgilityDescription
- textpointer DrillPeckName
- textpointer FearowKind
- textpointer FearowDescription
- textpointer ClefairyName
- textpointer SingName
- textpointer MetronomeName
- textpointer ClefairysMetronomeDescription
- textpointer ClefairyKind
- textpointer ClefairyDescription
- textpointer ClefableName
- textpointer ClefablesMetronomeDescription
- textpointer ClefablesMinimizeDescription
- textpointer ClefableDescription
- textpointer JigglypuffName
- textpointer FirstAidName
- textpointer FirstAidDescription
- textpointer DoubleEdgeName
- textpointer JigglypuffsDoubleEdgeDescription
- textpointer JigglypuffKind
- textpointer Jigglypuff1Description
- textpointer FriendshipSongName
- textpointer FriendshipSongDescription
- textpointer ExpandName
- textpointer ExpandDescription
- textpointer Jigglypuff2Description
- textpointer LullabyName
- textpointer Jigglypuff3Description
- textpointer WigglytuffName
- textpointer DotheWaveName
- textpointer DotheWaveDescription
- textpointer WigglytuffDescription
- textpointer MeowthName
- textpointer CatPunchName
- textpointer CatPunchDescription
- textpointer MeowthKind
- textpointer Meowth1Description
- textpointer PayDayName
- textpointer PayDayDescription
- textpointer Meowth2Description
- textpointer PersianName
- textpointer PounceName
- textpointer PounceDescription
- textpointer PersianKind
- textpointer PersianDescription
- textpointer FarfetchdName
- textpointer LeekSlapName
- textpointer LeekSlapDescription
- textpointer PotSmashName
- textpointer FarfetchdKind
- textpointer FarfetchdDescription
- textpointer DoduoName
- textpointer FuryAttackName
- textpointer DoduoKind
- textpointer DoduoDescription
- textpointer DodrioName
- textpointer RetreatAidName
- textpointer RetreatAidDescription
- textpointer DodriosRageDescription
- textpointer DodrioKind
- textpointer DodrioDescription
- textpointer LickitungName
- textpointer TongueWrapName
- textpointer LickitungKind
- textpointer LickitungDescription
- textpointer ChanseyName
- textpointer ScrunchName
- textpointer ScrunchDescription
- textpointer ChanseysDoubleEdgeDescription
- textpointer ChanseyDescription
- textpointer KangaskhanName
- textpointer FetchName
- textpointer FetchDescription
- textpointer CometPunchName
- textpointer KangaskhanKind
- textpointer KangaskhanDescription
- textpointer TaurosName
- textpointer RampageName
- textpointer RampageDescription
- textpointer TaurosKind
- textpointer TaurosDescription
- textpointer DittoName
- textpointer MorphName
- textpointer MorphDescription
- textpointer MorphDescriptionCont
- textpointer DittoKind
- textpointer DittoDescription
- textpointer TailWagName
- textpointer TailWagDescription
- textpointer EeveeKind
- textpointer EeveeDescription
- textpointer PorygonName
- textpointer Conversion1Name
- textpointer Conversion1Description
- textpointer Conversion2Name
- textpointer Conversion2Description
- textpointer PorygonKind
- textpointer PorygonDescription
- textpointer SnorlaxName
- textpointer ThickSkinnedName
- textpointer ThickSkinnedDescription
- textpointer BodySlamName
- textpointer SnorlaxKind
- textpointer SnorlaxDescription
- textpointer DratiniName
- textpointer DratiniDescription
- textpointer DragonairName
- textpointer SlamName
- textpointer DragonairDescription
- textpointer DragoniteName
- textpointer HealingWindName
- textpointer HealingWindDescription
- textpointer Dragonite1Description
- textpointer StepInName
- textpointer StepInDescription
- textpointer DoubleAttackX40Description
- textpointer DragoniteDescription
- textpointer ProfessorOakName
- textpointer ProfessorOakDescription
- textpointer ImposterProfessorOakName
- textpointer ImposterProfessorOakDescription
- textpointer BillName
- textpointer BillDescription
- textpointer MrFujiName
- textpointer MrFujiDescription
- textpointer LassName
- textpointer LassDescription
- textpointer ImakuniName
- textpointer ImakuniDescription
- textpointer PokemonTraderName
- textpointer PokemonTraderDescription
- textpointer PokemonBreederName
- textpointer PokemonBreederDescription
- textpointer ClefairyDollName
- textpointer ClefairyDollDescription
- textpointer ClefairyDollDescriptionCont
- textpointer MysteriousFossilDescription
- textpointer MysteriousFossilDescriptionCont
- textpointer EnergyRetrievalName
- textpointer EnergyRetrievalDescription
- textpointer SuperEnergyRetrievalName
- textpointer SuperEnergyRetrievalDescription
- textpointer EnergySearchName
- textpointer EnergySearchDescription
- textpointer EnergyRemovalName
- textpointer EnergyRemovalDescription
- textpointer SuperEnergyRemovalName
- textpointer SuperEnergyRemovalDescription
- textpointer SwitchName
- textpointer SwitchDescription
- textpointer PokemonCenterName
- textpointer PokemonCenterDescription
- textpointer PokeBallName
- textpointer PokeBallDescription
- textpointer ScoopUpName
- textpointer ScoopUpDescription
- textpointer ComputerSearchName
- textpointer ComputerSearchDescription
- textpointer PokedexName
- textpointer PokedexDescription
- textpointer PlusPowerName
- textpointer PlusPowerDescription
- textpointer DefenderName
- textpointer DefenderDescription
- textpointer ItemFinderName
- textpointer ItemFinderDescription
- textpointer GustofWindName
- textpointer GustofWindDescription
- textpointer DevolutionSprayName
- textpointer DevolutionSprayDescription
- textpointer DevolutionSprayDescriptionCont
- textpointer PotionName
- textpointer PotionDescription
- textpointer SuperPotionName
- textpointer SuperPotionDescription
- textpointer FullHealName
- textpointer FullHealDescription
- textpointer ReviveName
- textpointer ReviveDescription
- textpointer MaintenanceName
- textpointer MaintenanceDescription
- textpointer PokemonFluteName
- textpointer PokemonFluteDescription
- textpointer GamblerName
- textpointer GamblerDescription
- textpointer RecycleName
- textpointer RecycleDescription
+ dwb $0000, $00 ; 0x0000
+ textpointer HandText ; 0x0001
+ textpointer CheckText ; 0x0002
+ textpointer AttackText ; 0x0003
+ textpointer PKMNPowerText ; 0x0004
+ textpointer DoneText ; 0x0005
+ textpointer TypeText ; 0x0006
+ textpointer RetreatText ; 0x0007
+ textpointer WeaknessText ; 0x0008
+ textpointer ResistanceText ; 0x0009
+ textpointer PKMNPWRText ; 0x000a
+ textpointer Text000b ; 0x000b
+ textpointer LengthText ; 0x000c
+ textpointer WeightText ; 0x000d
+ textpointer PokemonText ; 0x000e
+ textpointer Text000f ; 0x000f
+ textpointer LbsText ; 0x0010
+ textpointer Text0011 ; 0x0011
+ textpointer Text0012 ; 0x0012
+ textpointer Text0013 ; 0x0013
+ textpointer Text0014 ; 0x0014
+ textpointer Text0015 ; 0x0015
+ textpointer Text0016 ; 0x0016
+ textpointer Text0017 ; 0x0017
+ textpointer Text0018 ; 0x0018
+ textpointer Text0019 ; 0x0019
+ textpointer Text001a ; 0x001a
+ textpointer Text001b ; 0x001b
+ textpointer Text001c ; 0x001c
+ textpointer Text001d ; 0x001d
+ textpointer Text001e ; 0x001e
+ textpointer Text001f ; 0x001f
+ textpointer Text0020 ; 0x0020
+ textpointer Text0021 ; 0x0021
+ textpointer Text0022 ; 0x0022
+ textpointer NoPokemonOnTheBenchText ; 0x0023
+ textpointer UnableDueToSleepText ; 0x0024
+ textpointer UnableDueToParalysisText ; 0x0025
+ textpointer Received10DamageDueToPoisonText ; 0x0026
+ textpointer Received20DamageDueToPoisonText ; 0x0027
+ textpointer IsStillAsleepText ; 0x0028
+ textpointer IsCuredOfSleepText ; 0x0029
+ textpointer IsCuredOfParalysisText ; 0x002a
+ textpointer Text002b ; 0x002b
+ textpointer Text002c ; 0x002c
+ textpointer Text002d ; 0x002d
+ textpointer Text002e ; 0x002e
+ textpointer YesOrNoText ; 0x002f
+ textpointer DiscardName ; 0x0030
+ textpointer Text0031 ; 0x0031
+ textpointer Text0032 ; 0x0032
+ textpointer Text0033 ; 0x0033
+ textpointer Text0034 ; 0x0034
+ textpointer PokemonsAttackText ; 0x0035
+ textpointer Text0036 ; 0x0036
+ textpointer Text0037 ; 0x0037
+ textpointer Text0038 ; 0x0038
+ textpointer Text0039 ; 0x0039
+ textpointer Text003a ; 0x003a
+ textpointer Text003b ; 0x003b
+ textpointer NoSelectableAttackText ; 0x003c
+ textpointer UnableToRetreatText ; 0x003d
+ textpointer OnlyOneEnergyCardText ; 0x003e
+ textpointer Text003f ; 0x003f
+ textpointer Text0040 ; 0x0040
+ textpointer DiscardDescription ; 0x0041
+ textpointer Text0042 ; 0x0042
+ textpointer Text0043 ; 0x0043
+ textpointer Text0044 ; 0x0044
+ textpointer Text0045 ; 0x0045
+ textpointer Text0046 ; 0x0046
+ textpointer Text0047 ; 0x0047
+ textpointer Text0048 ; 0x0048
+ textpointer Text0049 ; 0x0049
+ textpointer Text004a ; 0x004a
+ textpointer Text004b ; 0x004b
+ textpointer Text004c ; 0x004c
+ textpointer Text004d ; 0x004d
+ textpointer Text004e ; 0x004e
+ textpointer DamageToSelfDueToConfusionText ; 0x004f
+ textpointer Text0050 ; 0x0050
+ textpointer Text0051 ; 0x0051
+ textpointer Text0052 ; 0x0052
+ textpointer YouPlayFirstText ; 0x0053
+ textpointer YouPlaySecondText ; 0x0054
+ textpointer TransmissionErrorText ; 0x0055
+ textpointer Text0056 ; 0x0056
+ textpointer TransmitingDataText ; 0x0057
+ textpointer Text0058 ; 0x0058
+ textpointer Text0059 ; 0x0059
+ textpointer Text005a ; 0x005a
+ textpointer Text005b ; 0x005b
+ textpointer WillUseThePokemonPowerText ; 0x005c
+ textpointer Text005d ; 0x005d
+ textpointer Text005e ; 0x005e
+ textpointer Text005f ; 0x005f
+ textpointer Text0060 ; 0x0060
+ textpointer Text0061 ; 0x0061
+ textpointer Text0062 ; 0x0062
+ textpointer Text0063 ; 0x0063
+ textpointer Text0064 ; 0x0064
+ textpointer Text0065 ; 0x0065
+ textpointer Text0066 ; 0x0066
+ textpointer Text0067 ; 0x0067
+ textpointer Text0068 ; 0x0068
+ textpointer ChooseBasicPkmnToPlaceInArenaText ; 0x0069
+ textpointer Text006a ; 0x006a
+ textpointer NeitherPlayerHasBasicPkmnText ; 0x006b
+ textpointer Text006c ; 0x006c
+ textpointer ChooseUpTo5BasicPkmnToPlaceOnBenchText ; 0x006d
+ textpointer Text006e ; 0x006e
+ textpointer Text006f ; 0x006f
+ textpointer Text0070 ; 0x0070
+ textpointer Text0071 ; 0x0071
+ textpointer PlacingThePrizesText ; 0x0072
+ textpointer PleasePlacePrizesText ; 0x0073
+ textpointer IfHeadPlayerPlaysFirstText ; 0x0074
+ textpointer CoinTossToDetermineWhoFirstText ; 0x0075
+ textpointer DecisionText ; 0x0076
+ textpointer DuelWasDrawText ; 0x0077
+ textpointer WonDuelText ; 0x0078
+ textpointer LostDuelText ; 0x0079
+ textpointer StartSuddenDeathMatchText ; 0x007a
+ textpointer Text007b ; 0x007b
+ textpointer Text007c ; 0x007c
+ textpointer Text007d ; 0x007d
+ textpointer Text007e ; 0x007e
+ textpointer Text007f ; 0x007f
+ textpointer Text0080 ; 0x0080
+ textpointer WasKnockedOutText ; 0x0081
+ textpointer HavePokemonPowerText ; 0x0082
+ textpointer UnableToUsePkmnPowerDueToToxicGasText ; 0x0083
+ textpointer Text0084 ; 0x0084
+ textpointer Text0085 ; 0x0085
+ textpointer Text0086 ; 0x0086
+ textpointer Text0087 ; 0x0087
+ textpointer DuelistIsThinkingText ; 0x0088
+ textpointer Text0089 ; 0x0089
+ textpointer Text008a ; 0x008a
+ textpointer Text008b ; 0x008b
+ textpointer Text008c ; 0x008c
+ textpointer Text008d ; 0x008d
+ textpointer Text008e ; 0x008e
+ textpointer Text008f ; 0x008f
+ textpointer Text0090 ; 0x0090
+ textpointer Text0091 ; 0x0091
+ textpointer Player2Text ; 0x0092
+ textpointer Text0093 ; 0x0093
+ textpointer Text0094 ; 0x0094
+ textpointer Text0095 ; 0x0095
+ textpointer Text0096 ; 0x0096
+ textpointer Text0097 ; 0x0097
+ textpointer Text0098 ; 0x0098
+ textpointer Text0099 ; 0x0099
+ textpointer Text009a ; 0x009a
+ textpointer Text009b ; 0x009b
+ textpointer Text009c ; 0x009c
+ textpointer Text009d ; 0x009d
+ textpointer Text009e ; 0x009e
+ textpointer Text009f ; 0x009f
+ textpointer Text00a0 ; 0x00a0
+ textpointer Text00a1 ; 0x00a1
+ textpointer ResetBackUpRamText ; 0x00a2
+ textpointer Text00a3 ; 0x00a3
+ textpointer NoCardsInHandText ; 0x00a4
+ textpointer Text00a5 ; 0x00a5
+ textpointer Text00a6 ; 0x00a6
+ textpointer Text00a7 ; 0x00a7
+ textpointer Text00a8 ; 0x00a8
+ textpointer Text00a9 ; 0x00a9
+ textpointer Text00aa ; 0x00aa
+ textpointer Text00ab ; 0x00ab
+ textpointer Text00ac ; 0x00ac
+ textpointer Text00ad ; 0x00ad
+ textpointer Text00ae ; 0x00ae
+ textpointer Text00af ; 0x00af
+ textpointer Text00b0 ; 0x00b0
+ textpointer Text00b1 ; 0x00b1
+ textpointer NoSpaceOnTheBenchText ; 0x00b2
+ textpointer Text00b3 ; 0x00b3
+ textpointer Text00b4 ; 0x00b4
+ textpointer Text00b5 ; 0x00b5
+ textpointer Text00b6 ; 0x00b6
+ textpointer Text00b7 ; 0x00b7
+ textpointer Text00b8 ; 0x00b8
+ textpointer Text00b9 ; 0x00b9
+ textpointer Text00ba ; 0x00ba
+ textpointer Text00bb ; 0x00bb
+ textpointer Text00bc ; 0x00bc
+ textpointer Text00bd ; 0x00bd
+ textpointer Text00be ; 0x00be
+ textpointer Text00bf ; 0x00bf
+ textpointer NotEnoughEnergyCardsText ; 0x00c0
+ textpointer Text00c1 ; 0x00c1
+ textpointer Text00c2 ; 0x00c2
+ textpointer Text00c3 ; 0x00c3
+ textpointer Text00c4 ; 0x00c4
+ textpointer Text00c5 ; 0x00c5
+ textpointer Text00c6 ; 0x00c6
+ textpointer Text00c7 ; 0x00c7
+ textpointer Text00c8 ; 0x00c8
+ textpointer Text00c9 ; 0x00c9
+ textpointer Text00ca ; 0x00ca
+ textpointer CannotUseDueToStatusText ; 0x00cb
+ textpointer Text00cc ; 0x00cc
+ textpointer Text00cd ; 0x00cd
+ textpointer Text00ce ; 0x00ce
+ textpointer Text00cf ; 0x00cf
+ textpointer Text00d0 ; 0x00d0
+ textpointer Text00d1 ; 0x00d1
+ textpointer Text00d2 ; 0x00d2
+ textpointer Text00d3 ; 0x00d3
+ textpointer UnableDueToToxicGasText ; 0x00d4
+ textpointer Text00d5 ; 0x00d5
+ textpointer BackUpIsBrokenText ; 0x00d6
+ textpointer Text00d7 ; 0x00d7
+ textpointer Text00d8 ; 0x00d8
+ textpointer Text00d9 ; 0x00d9
+ textpointer Text00da ; 0x00da
+ textpointer Text00db ; 0x00db
+ textpointer Text00dc ; 0x00dc
+ textpointer Text00dd ; 0x00dd
+ textpointer SandAttackCheckText ; 0x00de
+ textpointer SmokescreenCheckText ; 0x00df
+ textpointer ParalysisCheckText ; 0x00e0
+ textpointer SleepCheckText ; 0x00e1
+ textpointer PoisonCheckText ; 0x00e2
+ textpointer ConfusionCheckText ; 0x00e3
+ textpointer VenomPowderCheckText ; 0x00e4
+ textpointer Text00e5 ; 0x00e5
+ textpointer Text00e6 ; 0x00e6
+ textpointer Text00e7 ; 0x00e7
+ textpointer Text00e8 ; 0x00e8
+ textpointer Text00e9 ; 0x00e9
+ textpointer Text00ea ; 0x00ea
+ textpointer Text00eb ; 0x00eb
+ textpointer Text00ec ; 0x00ec
+ textpointer Text00ed ; 0x00ed
+ textpointer Text00ee ; 0x00ee
+ textpointer Text00ef ; 0x00ef
+ textpointer Text00f0 ; 0x00f0
+ textpointer IfHeadsNoDamageNextTurnText ; 0x00f1
+ textpointer Text00f2 ; 0x00f2
+ textpointer Text00f3 ; 0x00f3
+ textpointer Text00f4 ; 0x00f4
+ textpointer AcidCheckText ; 0x00f5
+ textpointer TransparencyCheckText ; 0x00f6
+ textpointer ConfusionCheckDamageText ; 0x00f7
+ textpointer Text00f8 ; 0x00f8
+ textpointer Text00f9 ; 0x00f9
+ textpointer Text00fa ; 0x00fa
+ textpointer Text00fb ; 0x00fb
+ textpointer Text00fc ; 0x00fc
+ textpointer AttackUnsuccessfulText ; 0x00fd
+ textpointer UnableToRetreatDueToAcidText ; 0x00fe
+ textpointer UnableToUseTrainerDueToHeadacheText ; 0x00ff
+ textpointer UnableToAttackDueToTailWagText ; 0x0100
+ textpointer UnableToAttackDueToLeerText ; 0x0101
+ textpointer UnableToAttackDueToBoneAttackText ; 0x0102
+ textpointer UnableToUseAttackDueToAmnesiaText ; 0x0103
+ textpointer KnockedOutDueToDestinyBondText ; 0x0104
+ textpointer ReceivesDamageDueToStrikesBackText ; 0x0105
+ textpointer UnableToEvolveDueToPrehistoricPowerText ; 0x0106
+ textpointer NoDamageOrEffectDueToFlyText ; 0x0107
+ textpointer NoDamageOrEffectDueToBarrierText ; 0x0108
+ textpointer NoDamageOrEffectDueToAgilityText ; 0x0109
+ textpointer UnableToUseAttackDueToNShieldText ; 0x010a
+ textpointer NoDamageOrEffectDueToNShieldText ; 0x010b
+ textpointer NoDamageOrEffectDueToTransparencyText ; 0x010c
+ textpointer Text010d ; 0x010d
+ textpointer SelectPkmnOnBenchToSwitchWithActiveText ; 0x010e
+ textpointer Text010f ; 0x010f
+ textpointer Text0110 ; 0x0110
+ textpointer Text0111 ; 0x0111
+ textpointer Text0112 ; 0x0112
+ textpointer Text0113 ; 0x0113
+ textpointer Text0114 ; 0x0114
+ textpointer Text0115 ; 0x0115
+ textpointer Text0116 ; 0x0116
+ textpointer Text0117 ; 0x0117
+ textpointer Text0118 ; 0x0118
+ textpointer Text0119 ; 0x0119
+ textpointer Text011a ; 0x011a
+ textpointer Text011b ; 0x011b
+ textpointer Text011c ; 0x011c
+ textpointer Text011d ; 0x011d
+ textpointer Text011e ; 0x011e
+ textpointer Text011f ; 0x011f
+ textpointer Text0120 ; 0x0120
+ textpointer Text0121 ; 0x0121
+ textpointer Text0122 ; 0x0122
+ textpointer Text0123 ; 0x0123
+ textpointer Text0124 ; 0x0124
+ textpointer Text0125 ; 0x0125
+ textpointer Text0126 ; 0x0126
+ textpointer Text0127 ; 0x0127
+ textpointer Text0128 ; 0x0128
+ textpointer Text0129 ; 0x0129
+ textpointer Text012a ; 0x012a
+ textpointer Text012b ; 0x012b
+ textpointer Text012c ; 0x012c
+ textpointer Text012d ; 0x012d
+ textpointer Text012e ; 0x012e
+ textpointer Text012f ; 0x012f
+ textpointer Text0130 ; 0x0130
+ textpointer Text0131 ; 0x0131
+ textpointer Text0132 ; 0x0132
+ textpointer Text0133 ; 0x0133
+ textpointer Text0134 ; 0x0134
+ textpointer Text0135 ; 0x0135
+ textpointer Text0136 ; 0x0136
+ textpointer Text0137 ; 0x0137
+ textpointer Text0138 ; 0x0138
+ textpointer Text0139 ; 0x0139
+ textpointer Text013a ; 0x013a
+ textpointer Text013b ; 0x013b
+ textpointer Text013c ; 0x013c
+ textpointer Text013d ; 0x013d
+ textpointer Text013e ; 0x013e
+ textpointer Text013f ; 0x013f
+ textpointer Text0140 ; 0x0140
+ textpointer Text0141 ; 0x0141
+ textpointer Text0142 ; 0x0142
+ textpointer Text0143 ; 0x0143
+ textpointer Text0144 ; 0x0144
+ textpointer Text0145 ; 0x0145
+ textpointer Text0146 ; 0x0146
+ textpointer Text0147 ; 0x0147
+ textpointer Text0148 ; 0x0148
+ textpointer Text0149 ; 0x0149
+ textpointer WasUnsuccessfulText ; 0x014a
+ textpointer Text014b ; 0x014b
+ textpointer Text014c ; 0x014c
+ textpointer Text014d ; 0x014d
+ textpointer Text014e ; 0x014e
+ textpointer Text014f ; 0x014f
+ textpointer Text0150 ; 0x0150
+ textpointer Text0151 ; 0x0151
+ textpointer Text0152 ; 0x0152
+ textpointer Text0153 ; 0x0153
+ textpointer Text0154 ; 0x0154
+ textpointer Text0155 ; 0x0155
+ textpointer Text0156 ; 0x0156
+ textpointer Text0157 ; 0x0157
+ textpointer Text0158 ; 0x0158
+ textpointer Text0159 ; 0x0159
+ textpointer Text015a ; 0x015a
+ textpointer Text015b ; 0x015b
+ textpointer Text015c ; 0x015c
+ textpointer Text015d ; 0x015d
+ textpointer Text015e ; 0x015e
+ textpointer Text015f ; 0x015f
+ textpointer Text0160 ; 0x0160
+ textpointer Text0161 ; 0x0161
+ textpointer Text0162 ; 0x0162
+ textpointer Text0163 ; 0x0163
+ textpointer Text0164 ; 0x0164
+ textpointer Text0165 ; 0x0165
+ textpointer Text0166 ; 0x0166
+ textpointer Text0167 ; 0x0167
+ textpointer Text0168 ; 0x0168
+ textpointer Text0169 ; 0x0169
+ textpointer Text016a ; 0x016a
+ textpointer Text016b ; 0x016b
+ textpointer Text016c ; 0x016c
+ textpointer Text016d ; 0x016d
+ textpointer Text016e ; 0x016e
+ textpointer Text016f ; 0x016f
+ textpointer Text0170 ; 0x0170
+ textpointer Text0171 ; 0x0171
+ textpointer Text0172 ; 0x0172
+ textpointer Text0173 ; 0x0173
+ textpointer Text0174 ; 0x0174
+ textpointer Text0175 ; 0x0175
+ textpointer Text0176 ; 0x0176
+ textpointer Text0177 ; 0x0177
+ textpointer Text0178 ; 0x0178
+ textpointer Text0179 ; 0x0179
+ textpointer Text017a ; 0x017a
+ textpointer Text017b ; 0x017b
+ textpointer Text017c ; 0x017c
+ textpointer Text017d ; 0x017d
+ textpointer Text017e ; 0x017e
+ textpointer Text017f ; 0x017f
+ textpointer Text0180 ; 0x0180
+ textpointer Text0181 ; 0x0181
+ textpointer Text0182 ; 0x0182
+ textpointer Text0183 ; 0x0183
+ textpointer Text0184 ; 0x0184
+ textpointer Text0185 ; 0x0185
+ textpointer Text0186 ; 0x0186
+ textpointer Text0187 ; 0x0187
+ textpointer Text0188 ; 0x0188
+ textpointer Text0189 ; 0x0189
+ textpointer Text018a ; 0x018a
+ textpointer Text018b ; 0x018b
+ textpointer Text018c ; 0x018c
+ textpointer Text018d ; 0x018d
+ textpointer Text018e ; 0x018e
+ textpointer ReceivedCardText ; 0x018f
+ textpointer ReceivedPromotionalCardText ; 0x0190
+ textpointer ReceivedLegendaryCardText ; 0x0191
+ textpointer ReceivedPromotionalFlyingPikachuText ; 0x0192
+ textpointer ReceivedPromotionalSurfingPikachuText ; 0x0193
+ textpointer Text0194 ; 0x0194
+ textpointer Text0195 ; 0x0195
+ textpointer Text0196 ; 0x0196
+ textpointer Text0197 ; 0x0197
+ textpointer Text0198 ; 0x0198
+ textpointer Text0199 ; 0x0199
+ textpointer Text019a ; 0x019a
+ textpointer Text019b ; 0x019b
+ textpointer Text019c ; 0x019c
+ textpointer Text019d ; 0x019d
+ textpointer Text019e ; 0x019e
+ textpointer Text019f ; 0x019f
+ textpointer Text01a0 ; 0x01a0
+ textpointer Text01a1 ; 0x01a1
+ textpointer Text01a2 ; 0x01a2
+ textpointer Text01a3 ; 0x01a3
+ textpointer Text01a4 ; 0x01a4
+ textpointer Text01a5 ; 0x01a5
+ textpointer Text01a6 ; 0x01a6
+ textpointer Text01a7 ; 0x01a7
+ textpointer Text01a8 ; 0x01a8
+ textpointer Text01a9 ; 0x01a9
+ textpointer Text01aa ; 0x01aa
+ textpointer Text01ab ; 0x01ab
+ textpointer Text01ac ; 0x01ac
+ textpointer Text01ad ; 0x01ad
+ textpointer Text01ae ; 0x01ae
+ textpointer Text01af ; 0x01af
+ textpointer Text01b0 ; 0x01b0
+ textpointer Text01b1 ; 0x01b1
+ textpointer Text01b2 ; 0x01b2
+ textpointer Text01b3 ; 0x01b3
+ textpointer Text01b4 ; 0x01b4
+ textpointer Text01b5 ; 0x01b5
+ textpointer Text01b6 ; 0x01b6
+ textpointer Text01b7 ; 0x01b7
+ textpointer Text01b8 ; 0x01b8
+ textpointer Text01b9 ; 0x01b9
+ textpointer Text01ba ; 0x01ba
+ textpointer Text01bb ; 0x01bb
+ textpointer Text01bc ; 0x01bc
+ textpointer Text01bd ; 0x01bd
+ textpointer Text01be ; 0x01be
+ textpointer Text01bf ; 0x01bf
+ textpointer Text01c0 ; 0x01c0
+ textpointer Text01c1 ; 0x01c1
+ textpointer Text01c2 ; 0x01c2
+ textpointer Text01c3 ; 0x01c3
+ textpointer Text01c4 ; 0x01c4
+ textpointer Text01c5 ; 0x01c5
+ textpointer Text01c6 ; 0x01c6
+ textpointer Text01c7 ; 0x01c7
+ textpointer Text01c8 ; 0x01c8
+ textpointer Text01c9 ; 0x01c9
+ textpointer Text01ca ; 0x01ca
+ textpointer Text01cb ; 0x01cb
+ textpointer Text01cc ; 0x01cc
+ textpointer Text01cd ; 0x01cd
+ textpointer Text01ce ; 0x01ce
+ textpointer Text01cf ; 0x01cf
+ textpointer Text01d0 ; 0x01d0
+ textpointer Text01d1 ; 0x01d1
+ textpointer Text01d2 ; 0x01d2
+ textpointer Text01d3 ; 0x01d3
+ textpointer Text01d4 ; 0x01d4
+ textpointer Text01d5 ; 0x01d5
+ textpointer Text01d6 ; 0x01d6
+ textpointer Text01d7 ; 0x01d7
+ textpointer Text01d8 ; 0x01d8
+ textpointer Text01d9 ; 0x01d9
+ textpointer Text01da ; 0x01da
+ textpointer Text01db ; 0x01db
+ textpointer Text01dc ; 0x01dc
+ textpointer Text01dd ; 0x01dd
+ textpointer PracticePlayerDeckName ; 0x01de
+ textpointer SamsPracticeDeckName ; 0x01df
+ textpointer CharmanderAndFriendsDeckName ; 0x01e0
+ textpointer CharmanderExtraDeckName ; 0x01e1
+ textpointer SquirtleAndFriendsDeckName ; 0x01e2
+ textpointer SquirtleExtraDeckName ; 0x01e3
+ textpointer BulbasaurAndFriendsDeckName ; 0x01e4
+ textpointer BulbasaurExtraDeckName ; 0x01e5
+ textpointer FirstStrikeDeckName ; 0x01e6
+ textpointer RockCrusherDeckName ; 0x01e7
+ textpointer GoGoRainDanceDeckName ; 0x01e8
+ textpointer ZappingSelfdestructDeckName ; 0x01e9
+ textpointer FlowerPowerDeckName ; 0x01ea
+ textpointer StrangePsyshockDeckName ; 0x01eb
+ textpointer WondersofScienceDeckName ; 0x01ec
+ textpointer FireChargeDeckName ; 0x01ed
+ textpointer LegendaryMoltresDeckName ; 0x01ee
+ textpointer LegendaryZapdosDeckName ; 0x01ef
+ textpointer LegendaryArticunoDeckName ; 0x01f0
+ textpointer LegendaryDragoniteDeckName ; 0x01f1
+ textpointer ImRonaldDeckName ; 0x01f2
+ textpointer PowerfulRonaldDeckName ; 0x01f3
+ textpointer InvincibleRonaldDeckName ; 0x01f4
+ textpointer LegendaryRonaldDeckName ; 0x01f5
+ textpointer WaterfrontPokemonDeckName ; 0x01f6
+ textpointer LonelyFriendsDeckName ; 0x01f7
+ textpointer SoundoftheWavesDeckName ; 0x01f8
+ textpointer AngerDeckName ; 0x01f9
+ textpointer FlamethrowerDeckName ; 0x01fa
+ textpointer ReshuffleDeckName ; 0x01fb
+ textpointer ExcavationDeckName ; 0x01fc
+ textpointer BlisteringPokemonDeckName ; 0x01fd
+ textpointer HardPokemonDeckName ; 0x01fe
+ textpointer EtceteraDeckName ; 0x01ff
+ textpointer FlowerGardenDeckName ; 0x0200
+ textpointer KaleidoscopeDeckName ; 0x0201
+ textpointer MusclesforBrainsDeckName ; 0x0202
+ textpointer HeatedBattleDeckName ; 0x0203
+ textpointer LovetoBattleDeckName ; 0x0204
+ textpointer PikachuDeckName ; 0x0205
+ textpointer BoomBoomSelfdestructDeckName ; 0x0206
+ textpointer PowerGeneratorDeckName ; 0x0207
+ textpointer GhostDeckName ; 0x0208
+ textpointer NapTimeDeckName ; 0x0209
+ textpointer StrangePowerDeckName ; 0x020a
+ textpointer FlyinPokemonDeckName ; 0x020b
+ textpointer LovelyNidoranDeckName ; 0x020c
+ textpointer PoisonDeckName ; 0x020d
+ textpointer ImakuniDeckName ; 0x020e
+ textpointer LightningAndFireDeckName ; 0x020f
+ textpointer WaterAndFightingDeckName ; 0x0210
+ textpointer GrassAndPsychicDeckName ; 0x0211
+ textpointer Text0212 ; 0x0212
+ textpointer Text0213 ; 0x0213
+ textpointer Text0214 ; 0x0214
+ textpointer Text0215 ; 0x0215
+ textpointer Text0216 ; 0x0216
+ textpointer Text0217 ; 0x0217
+ textpointer Text0218 ; 0x0218
+ textpointer Text0219 ; 0x0219
+ textpointer Text021a ; 0x021a
+ textpointer Text021b ; 0x021b
+ textpointer Text021c ; 0x021c
+ textpointer Text021d ; 0x021d
+ textpointer Text021e ; 0x021e
+ textpointer Text021f ; 0x021f
+ textpointer Text0220 ; 0x0220
+ textpointer Text0221 ; 0x0221
+ textpointer Text0222 ; 0x0222
+ textpointer NewDeckText ; 0x0223
+ textpointer PleaseSelectDeckText ; 0x0224
+ textpointer Text0225 ; 0x0225
+ textpointer Text0226 ; 0x0226
+ textpointer Text0227 ; 0x0227
+ textpointer Text0228 ; 0x0228
+ textpointer Text0229 ; 0x0229
+ textpointer ChosenAsDuelingDeckText ; 0x022a
+ textpointer Text022b ; 0x022b
+ textpointer Text022c ; 0x022c
+ textpointer Text022d ; 0x022d
+ textpointer Text022e ; 0x022e
+ textpointer ThereIsNoDeckHereText ; 0x022f
+ textpointer Text0230 ; 0x0230
+ textpointer Text0231 ; 0x0231
+ textpointer Text0232 ; 0x0232
+ textpointer Text0233 ; 0x0233
+ textpointer Text0234 ; 0x0234
+ textpointer Text0235 ; 0x0235
+ textpointer Text0236 ; 0x0236
+ textpointer Text0237 ; 0x0237
+ textpointer Text0238 ; 0x0238
+ textpointer Text0239 ; 0x0239
+ textpointer Text023a ; 0x023a
+ textpointer Text023b ; 0x023b
+ textpointer Text023c ; 0x023c
+ textpointer Text023d ; 0x023d
+ textpointer Text023e ; 0x023e
+ textpointer Text023f ; 0x023f
+ textpointer Text0240 ; 0x0240
+ textpointer Text0241 ; 0x0241
+ textpointer Text0242 ; 0x0242
+ textpointer Text0243 ; 0x0243
+ textpointer Text0244 ; 0x0244
+ textpointer Text0245 ; 0x0245
+ textpointer Text0246 ; 0x0246
+ textpointer Text0247 ; 0x0247
+ textpointer Text0248 ; 0x0248
+ textpointer Text0249 ; 0x0249
+ textpointer Text024a ; 0x024a
+ textpointer Text024b ; 0x024b
+ textpointer Text024c ; 0x024c
+ textpointer Text024d ; 0x024d
+ textpointer Text024e ; 0x024e
+ textpointer Text024f ; 0x024f
+ textpointer Text0250 ; 0x0250
+ textpointer Text0251 ; 0x0251
+ textpointer Text0252 ; 0x0252
+ textpointer Text0253 ; 0x0253
+ textpointer Text0254 ; 0x0254
+ textpointer Text0255 ; 0x0255
+ textpointer Text0256 ; 0x0256
+ textpointer Text0257 ; 0x0257
+ textpointer Text0258 ; 0x0258
+ textpointer Text0259 ; 0x0259
+ textpointer Text025a ; 0x025a
+ textpointer Text025b ; 0x025b
+ textpointer Text025c ; 0x025c
+ textpointer Text025d ; 0x025d
+ textpointer Text025e ; 0x025e
+ textpointer Text025f ; 0x025f
+ textpointer Text0260 ; 0x0260
+ textpointer Text0261 ; 0x0261
+ textpointer Text0262 ; 0x0262
+ textpointer Text0263 ; 0x0263
+ textpointer Text0264 ; 0x0264
+ textpointer Text0265 ; 0x0265
+ textpointer Text0266 ; 0x0266
+ textpointer Text0267 ; 0x0267
+ textpointer Text0268 ; 0x0268
+ textpointer Text0269 ; 0x0269
+ textpointer Text026a ; 0x026a
+ textpointer Text026b ; 0x026b
+ textpointer Text026c ; 0x026c
+ textpointer Text026d ; 0x026d
+ textpointer Text026e ; 0x026e
+ textpointer Text026f ; 0x026f
+ textpointer Text0270 ; 0x0270
+ textpointer Text0271 ; 0x0271
+ textpointer Text0272 ; 0x0272
+ textpointer Text0273 ; 0x0273
+ textpointer Text0274 ; 0x0274
+ textpointer Text0275 ; 0x0275
+ textpointer Text0276 ; 0x0276
+ textpointer Text0277 ; 0x0277
+ textpointer Text0278 ; 0x0278
+ textpointer Text0279 ; 0x0279
+ textpointer Text027a ; 0x027a
+ textpointer Text027b ; 0x027b
+ textpointer Text027c ; 0x027c
+ textpointer Text027d ; 0x027d
+ textpointer Text027e ; 0x027e
+ textpointer Text027f ; 0x027f
+ textpointer Text0280 ; 0x0280
+ textpointer Text0281 ; 0x0281
+ textpointer Text0282 ; 0x0282
+ textpointer Text0283 ; 0x0283
+ textpointer Text0284 ; 0x0284
+ textpointer Text0285 ; 0x0285
+ textpointer Text0286 ; 0x0286
+ textpointer Text0287 ; 0x0287
+ textpointer Text0288 ; 0x0288
+ textpointer Text0289 ; 0x0289
+ textpointer Text028a ; 0x028a
+ textpointer Text028b ; 0x028b
+ textpointer Text028c ; 0x028c
+ textpointer Text028d ; 0x028d
+ textpointer Text028e ; 0x028e
+ textpointer Text028f ; 0x028f
+ textpointer Text0290 ; 0x0290
+ textpointer Text0291 ; 0x0291
+ textpointer Text0292 ; 0x0292
+ textpointer Text0293 ; 0x0293
+ textpointer Text0294 ; 0x0294
+ textpointer Text0295 ; 0x0295
+ textpointer Text0296 ; 0x0296
+ textpointer Text0297 ; 0x0297
+ textpointer Text0298 ; 0x0298
+ textpointer Text0299 ; 0x0299
+ textpointer Text029a ; 0x029a
+ textpointer Text029b ; 0x029b
+ textpointer Text029c ; 0x029c
+ textpointer Text029d ; 0x029d
+ textpointer Text029e ; 0x029e
+ textpointer Text029f ; 0x029f
+ textpointer Text02a0 ; 0x02a0
+ textpointer Text02a1 ; 0x02a1
+ textpointer Text02a2 ; 0x02a2
+ textpointer Text02a3 ; 0x02a3
+ textpointer Text02a4 ; 0x02a4
+ textpointer Text02a5 ; 0x02a5
+ textpointer Text02a6 ; 0x02a6
+ textpointer Text02a7 ; 0x02a7
+ textpointer Text02a8 ; 0x02a8
+ textpointer Text02a9 ; 0x02a9
+ textpointer Text02aa ; 0x02aa
+ textpointer Text02ab ; 0x02ab
+ textpointer Text02ac ; 0x02ac
+ textpointer Text02ad ; 0x02ad
+ textpointer Text02ae ; 0x02ae
+ textpointer Text02af ; 0x02af
+ textpointer Text02b0 ; 0x02b0
+ textpointer Text02b1 ; 0x02b1
+ textpointer Text02b2 ; 0x02b2
+ textpointer Text02b3 ; 0x02b3
+ textpointer Text02b4 ; 0x02b4
+ textpointer Text02b5 ; 0x02b5
+ textpointer Text02b6 ; 0x02b6
+ textpointer Text02b7 ; 0x02b7
+ textpointer Text02b8 ; 0x02b8
+ textpointer Text02b9 ; 0x02b9
+ textpointer Text02ba ; 0x02ba
+ textpointer Text02bb ; 0x02bb
+ textpointer Text02bc ; 0x02bc
+ textpointer Text02bd ; 0x02bd
+ textpointer Text02be ; 0x02be
+ textpointer Text02bf ; 0x02bf
+ textpointer Text02c0 ; 0x02c0
+ textpointer Text02c1 ; 0x02c1
+ textpointer Text02c2 ; 0x02c2
+ textpointer Text02c3 ; 0x02c3
+ textpointer Text02c4 ; 0x02c4
+ textpointer Text02c5 ; 0x02c5
+ textpointer Text02c6 ; 0x02c6
+ textpointer Text02c7 ; 0x02c7
+ textpointer Text02c8 ; 0x02c8
+ textpointer Text02c9 ; 0x02c9
+ textpointer Text02ca ; 0x02ca
+ textpointer Text02cb ; 0x02cb
+ textpointer Text02cc ; 0x02cc
+ textpointer Text02cd ; 0x02cd
+ textpointer Text02ce ; 0x02ce
+ textpointer Text02cf ; 0x02cf
+ textpointer Text02d0 ; 0x02d0
+ textpointer Text02d1 ; 0x02d1
+ textpointer Text02d2 ; 0x02d2
+ textpointer Text02d3 ; 0x02d3
+ textpointer Text02d4 ; 0x02d4
+ textpointer Text02d5 ; 0x02d5
+ textpointer Text02d6 ; 0x02d6
+ textpointer Text02d7 ; 0x02d7
+ textpointer Text02d8 ; 0x02d8
+ textpointer Text02d9 ; 0x02d9
+ textpointer Text02da ; 0x02da
+ textpointer Text02db ; 0x02db
+ textpointer Text02dc ; 0x02dc
+ textpointer Text02dd ; 0x02dd
+ textpointer Text02de ; 0x02de
+ textpointer Text02df ; 0x02df
+ textpointer Text02e0 ; 0x02e0
+ textpointer Text02e1 ; 0x02e1
+ textpointer Text02e2 ; 0x02e2
+ textpointer Text02e3 ; 0x02e3
+ textpointer Text02e4 ; 0x02e4
+ textpointer Text02e5 ; 0x02e5
+ textpointer Text02e6 ; 0x02e6
+ textpointer Text02e7 ; 0x02e7
+ textpointer Text02e8 ; 0x02e8
+ textpointer Text02e9 ; 0x02e9
+ textpointer Text02ea ; 0x02ea
+ textpointer Text02eb ; 0x02eb
+ textpointer Text02ec ; 0x02ec
+ textpointer Text02ed ; 0x02ed
+ textpointer Text02ee ; 0x02ee
+ textpointer Text02ef ; 0x02ef
+ textpointer Text02f0 ; 0x02f0
+ textpointer Text02f1 ; 0x02f1
+ textpointer Text02f2 ; 0x02f2
+ textpointer Text02f3 ; 0x02f3
+ textpointer Text02f4 ; 0x02f4
+ textpointer Text02f5 ; 0x02f5
+ textpointer Text02f6 ; 0x02f6
+ textpointer Text02f7 ; 0x02f7
+ textpointer Text02f8 ; 0x02f8
+ textpointer Text02f9 ; 0x02f9
+ textpointer Text02fa ; 0x02fa
+ textpointer Text02fb ; 0x02fb
+ textpointer Text02fc ; 0x02fc
+ textpointer Text02fd ; 0x02fd
+ textpointer Text02fe ; 0x02fe
+ textpointer Text02ff ; 0x02ff
+ textpointer Text0300 ; 0x0300
+ textpointer Text0301 ; 0x0301
+ textpointer Text0302 ; 0x0302
+ textpointer Text0303 ; 0x0303
+ textpointer Text0304 ; 0x0304
+ textpointer Text0305 ; 0x0305
+ textpointer Text0306 ; 0x0306
+ textpointer Text0307 ; 0x0307
+ textpointer Text0308 ; 0x0308
+ textpointer Text0309 ; 0x0309
+ textpointer Text030a ; 0x030a
+ textpointer Text030b ; 0x030b
+ textpointer Text030c ; 0x030c
+ textpointer Text030d ; 0x030d
+ textpointer Text030e ; 0x030e
+ textpointer Text030f ; 0x030f
+ textpointer Text0310 ; 0x0310
+ textpointer Text0311 ; 0x0311
+ textpointer Text0312 ; 0x0312
+ textpointer Text0313 ; 0x0313
+ textpointer Text0314 ; 0x0314
+ textpointer Text0315 ; 0x0315
+ textpointer Text0316 ; 0x0316
+ textpointer Text0317 ; 0x0317
+ textpointer Text0318 ; 0x0318
+ textpointer Text0319 ; 0x0319
+ textpointer Text031a ; 0x031a
+ textpointer Text031b ; 0x031b
+ textpointer Text031c ; 0x031c
+ textpointer Text031d ; 0x031d
+ textpointer Text031e ; 0x031e
+ textpointer Text031f ; 0x031f
+ textpointer Text0320 ; 0x0320
+ textpointer Text0321 ; 0x0321
+ textpointer Text0322 ; 0x0322
+ textpointer Text0323 ; 0x0323
+ textpointer Text0324 ; 0x0324
+ textpointer Text0325 ; 0x0325
+ textpointer Text0326 ; 0x0326
+ textpointer Text0327 ; 0x0327
+ textpointer Text0328 ; 0x0328
+ textpointer Text0329 ; 0x0329
+ textpointer Text032a ; 0x032a
+ textpointer Text032b ; 0x032b
+ textpointer Text032c ; 0x032c
+ textpointer Text032d ; 0x032d
+ textpointer Text032e ; 0x032e
+ textpointer Text032f ; 0x032f
+ textpointer Text0330 ; 0x0330
+ textpointer Text0331 ; 0x0331
+ textpointer Text0332 ; 0x0332
+ textpointer Text0333 ; 0x0333
+ textpointer Text0334 ; 0x0334
+ textpointer Text0335 ; 0x0335
+ textpointer Text0336 ; 0x0336
+ textpointer Text0337 ; 0x0337
+ textpointer Text0338 ; 0x0338
+ textpointer Text0339 ; 0x0339
+ textpointer Text033a ; 0x033a
+ textpointer Text033b ; 0x033b
+ textpointer Text033c ; 0x033c
+ textpointer Text033d ; 0x033d
+ textpointer Text033e ; 0x033e
+ textpointer Text033f ; 0x033f
+ textpointer Text0340 ; 0x0340
+ textpointer Text0341 ; 0x0341
+ textpointer Text0342 ; 0x0342
+ textpointer Text0343 ; 0x0343
+ textpointer Text0344 ; 0x0344
+ textpointer Text0345 ; 0x0345
+ textpointer Text0346 ; 0x0346
+ textpointer Text0347 ; 0x0347
+ textpointer Text0348 ; 0x0348
+ textpointer Text0349 ; 0x0349
+ textpointer Text034a ; 0x034a
+ textpointer Text034b ; 0x034b
+ textpointer Text034c ; 0x034c
+ textpointer Text034d ; 0x034d
+ textpointer Text034e ; 0x034e
+ textpointer Text034f ; 0x034f
+ textpointer Text0350 ; 0x0350
+ textpointer Text0351 ; 0x0351
+ textpointer TurnedPCOnText ; 0x0352
+ textpointer TurnedPCOffText ; 0x0353
+ textpointer Text0354 ; 0x0354
+ textpointer Text0355 ; 0x0355
+ textpointer Text0356 ; 0x0356
+ textpointer Text0357 ; 0x0357
+ textpointer Text0358 ; 0x0358
+ textpointer Text0359 ; 0x0359
+ textpointer Text035a ; 0x035a
+ textpointer Text035b ; 0x035b
+ textpointer Text035c ; 0x035c
+ textpointer Text035d ; 0x035d
+ textpointer Text035e ; 0x035e
+ textpointer Text035f ; 0x035f
+ textpointer Text0360 ; 0x0360
+ textpointer Text0361 ; 0x0361
+ textpointer Text0362 ; 0x0362
+ textpointer Text0363 ; 0x0363
+ textpointer Text0364 ; 0x0364
+ textpointer Text0365 ; 0x0365
+ textpointer Text0366 ; 0x0366
+ textpointer Text0367 ; 0x0367
+ textpointer Text0368 ; 0x0368
+ textpointer Text0369 ; 0x0369
+ textpointer Text036a ; 0x036a
+ textpointer Text036b ; 0x036b
+ textpointer Text036c ; 0x036c
+ textpointer Text036d ; 0x036d
+ textpointer Text036e ; 0x036e
+ textpointer Text036f ; 0x036f
+ textpointer Text0370 ; 0x0370
+ textpointer Text0371 ; 0x0371
+ textpointer Text0372 ; 0x0372
+ textpointer Text0373 ; 0x0373
+ textpointer Text0374 ; 0x0374
+ textpointer Text0375 ; 0x0375
+ textpointer Text0376 ; 0x0376
+ textpointer Text0377 ; 0x0377
+ textpointer Text0378 ; 0x0378
+ textpointer Text0379 ; 0x0379
+ textpointer Text037a ; 0x037a
+ textpointer Text037b ; 0x037b
+ textpointer Text037c ; 0x037c
+ textpointer Text037d ; 0x037d
+ textpointer Text037e ; 0x037e
+ textpointer Text037f ; 0x037f
+ textpointer Text0380 ; 0x0380
+ textpointer Text0381 ; 0x0381
+ textpointer Text0382 ; 0x0382
+ textpointer Text0383 ; 0x0383
+ textpointer Text0384 ; 0x0384
+ textpointer Text0385 ; 0x0385
+ textpointer Text0386 ; 0x0386
+ textpointer ReceivedBoosterPackText ; 0x0387
+ textpointer AndAnotherBoosterPackText ; 0x0388
+ textpointer CheckedCardsInBoosterPackText ; 0x0389
+ textpointer Text038a ; 0x038a
+ textpointer WonTheMedalText ; 0x038b
+ textpointer Text038c ; 0x038c
+ textpointer Text038d ; 0x038d
+ textpointer Text038e ; 0x038e
+ textpointer Text038f ; 0x038f
+ textpointer Text0390 ; 0x0390
+ textpointer Text0391 ; 0x0391
+ textpointer Text0392 ; 0x0392
+ textpointer Text0393 ; 0x0393
+ textpointer Text0394 ; 0x0394
+ textpointer Text0395 ; 0x0395
+ textpointer Text0396 ; 0x0396
+ textpointer Text0397 ; 0x0397
+ textpointer Text0398 ; 0x0398
+ textpointer Text0399 ; 0x0399
+ textpointer Text039a ; 0x039a
+ textpointer Text039b ; 0x039b
+ textpointer Text039c ; 0x039c
+ textpointer Text039d ; 0x039d
+ textpointer Text039e ; 0x039e
+ textpointer Text039f ; 0x039f
+ textpointer Text03a0 ; 0x03a0
+ textpointer Text03a1 ; 0x03a1
+ textpointer Text03a2 ; 0x03a2
+ textpointer Text03a3 ; 0x03a3
+ textpointer Text03a4 ; 0x03a4
+ textpointer Text03a5 ; 0x03a5
+ textpointer Text03a6 ; 0x03a6
+ textpointer Text03a7 ; 0x03a7
+ textpointer Text03a8 ; 0x03a8
+ textpointer Text03a9 ; 0x03a9
+ textpointer Text03aa ; 0x03aa
+ textpointer Text03ab ; 0x03ab
+ textpointer Text03ac ; 0x03ac
+ textpointer Text03ad ; 0x03ad
+ textpointer Text03ae ; 0x03ae
+ textpointer Text03af ; 0x03af
+ textpointer Text03b0 ; 0x03b0
+ textpointer Text03b1 ; 0x03b1
+ textpointer Text03b2 ; 0x03b2
+ textpointer Text03b3 ; 0x03b3
+ textpointer Text03b4 ; 0x03b4
+ textpointer Text03b5 ; 0x03b5
+ textpointer Text03b6 ; 0x03b6
+ textpointer Text03b7 ; 0x03b7
+ textpointer Text03b8 ; 0x03b8
+ textpointer Text03b9 ; 0x03b9
+ textpointer Text03ba ; 0x03ba
+ textpointer Text03bb ; 0x03bb
+ textpointer Text03bc ; 0x03bc
+ textpointer Text03bd ; 0x03bd
+ textpointer Text03be ; 0x03be
+ textpointer Text03bf ; 0x03bf
+ textpointer Text03c0 ; 0x03c0
+ textpointer Text03c1 ; 0x03c1
+ textpointer Text03c2 ; 0x03c2
+ textpointer Text03c3 ; 0x03c3
+ textpointer Text03c4 ; 0x03c4
+ textpointer Text03c5 ; 0x03c5
+ textpointer Text03c6 ; 0x03c6
+ textpointer Text03c7 ; 0x03c7
+ textpointer Text03c8 ; 0x03c8
+ textpointer Text03c9 ; 0x03c9
+ textpointer Text03ca ; 0x03ca
+ textpointer Text03cb ; 0x03cb
+ textpointer Text03cc ; 0x03cc
+ textpointer Text03cd ; 0x03cd
+ textpointer Text03ce ; 0x03ce
+ textpointer Text03cf ; 0x03cf
+ textpointer Text03d0 ; 0x03d0
+ textpointer Text03d1 ; 0x03d1
+ textpointer Text03d2 ; 0x03d2
+ textpointer Text03d3 ; 0x03d3
+ textpointer Text03d4 ; 0x03d4
+ textpointer Text03d5 ; 0x03d5
+ textpointer Text03d6 ; 0x03d6
+ textpointer Text03d7 ; 0x03d7
+ textpointer Text03d8 ; 0x03d8
+ textpointer Text03d9 ; 0x03d9
+ textpointer Text03da ; 0x03da
+ textpointer Text03db ; 0x03db
+ textpointer Text03dc ; 0x03dc
+ textpointer Text03dd ; 0x03dd
+ textpointer Text03de ; 0x03de
+ textpointer Text03df ; 0x03df
+ textpointer Text03e0 ; 0x03e0
+ textpointer Text03e1 ; 0x03e1
+ textpointer Text03e2 ; 0x03e2
+ textpointer Text03e3 ; 0x03e3
+ textpointer Text03e4 ; 0x03e4
+ textpointer Text03e5 ; 0x03e5
+ textpointer Text03e6 ; 0x03e6
+ textpointer Text03e7 ; 0x03e7
+ textpointer Text03e8 ; 0x03e8
+ textpointer Text03e9 ; 0x03e9
+ textpointer Text03ea ; 0x03ea
+ textpointer Text03eb ; 0x03eb
+ textpointer Text03ec ; 0x03ec
+ textpointer Text03ed ; 0x03ed
+ textpointer Text03ee ; 0x03ee
+ textpointer Text03ef ; 0x03ef
+ textpointer Text03f0 ; 0x03f0
+ textpointer Text03f1 ; 0x03f1
+ textpointer Text03f2 ; 0x03f2
+ textpointer Text03f3 ; 0x03f3
+ textpointer Text03f4 ; 0x03f4
+ textpointer Text03f5 ; 0x03f5
+ textpointer Text03f6 ; 0x03f6
+ textpointer Text03f7 ; 0x03f7
+ textpointer Text03f8 ; 0x03f8
+ textpointer Text03f9 ; 0x03f9
+ textpointer Text03fa ; 0x03fa
+ textpointer Text03fb ; 0x03fb
+ textpointer Text03fc ; 0x03fc
+ textpointer Text03fd ; 0x03fd
+ textpointer Text03fe ; 0x03fe
+ textpointer Text03ff ; 0x03ff
+ textpointer Text0400 ; 0x0400
+ textpointer Text0401 ; 0x0401
+ textpointer Text0402 ; 0x0402
+ textpointer Text0403 ; 0x0403
+ textpointer Text0404 ; 0x0404
+ textpointer Text0405 ; 0x0405
+ textpointer Text0406 ; 0x0406
+ textpointer Text0407 ; 0x0407
+ textpointer Text0408 ; 0x0408
+ textpointer Text0409 ; 0x0409
+ textpointer Text040a ; 0x040a
+ textpointer Text040b ; 0x040b
+ textpointer Text040c ; 0x040c
+ textpointer Text040d ; 0x040d
+ textpointer Text040e ; 0x040e
+ textpointer Text040f ; 0x040f
+ textpointer Text0410 ; 0x0410
+ textpointer Text0411 ; 0x0411
+ textpointer Text0412 ; 0x0412
+ textpointer Text0413 ; 0x0413
+ textpointer Text0414 ; 0x0414
+ textpointer Text0415 ; 0x0415
+ textpointer Text0416 ; 0x0416
+ textpointer Text0417 ; 0x0417
+ textpointer Text0418 ; 0x0418
+ textpointer Text0419 ; 0x0419
+ textpointer Text041a ; 0x041a
+ textpointer Text041b ; 0x041b
+ textpointer Text041c ; 0x041c
+ textpointer Text041d ; 0x041d
+ textpointer Text041e ; 0x041e
+ textpointer Text041f ; 0x041f
+ textpointer Text0420 ; 0x0420
+ textpointer Text0421 ; 0x0421
+ textpointer Text0422 ; 0x0422
+ textpointer Text0423 ; 0x0423
+ textpointer Text0424 ; 0x0424
+ textpointer Text0425 ; 0x0425
+ textpointer Text0426 ; 0x0426
+ textpointer Text0427 ; 0x0427
+ textpointer Text0428 ; 0x0428
+ textpointer Text0429 ; 0x0429
+ textpointer Text042a ; 0x042a
+ textpointer Text042b ; 0x042b
+ textpointer Text042c ; 0x042c
+ textpointer Text042d ; 0x042d
+ textpointer Text042e ; 0x042e
+ textpointer Text042f ; 0x042f
+ textpointer Text0430 ; 0x0430
+ textpointer Text0431 ; 0x0431
+ textpointer Text0432 ; 0x0432
+ textpointer Text0433 ; 0x0433
+ textpointer Text0434 ; 0x0434
+ textpointer Text0435 ; 0x0435
+ textpointer Text0436 ; 0x0436
+ textpointer Text0437 ; 0x0437
+ textpointer Text0438 ; 0x0438
+ textpointer Text0439 ; 0x0439
+ textpointer Text043a ; 0x043a
+ textpointer Text043b ; 0x043b
+ textpointer Text043c ; 0x043c
+ textpointer Text043d ; 0x043d
+ textpointer Text043e ; 0x043e
+ textpointer Text043f ; 0x043f
+ textpointer Text0440 ; 0x0440
+ textpointer Text0441 ; 0x0441
+ textpointer Text0442 ; 0x0442
+ textpointer Text0443 ; 0x0443
+ textpointer Text0444 ; 0x0444
+ textpointer Text0445 ; 0x0445
+ textpointer Text0446 ; 0x0446
+ textpointer Text0447 ; 0x0447
+ textpointer Text0448 ; 0x0448
+ textpointer Text0449 ; 0x0449
+ textpointer Text044a ; 0x044a
+ textpointer Text044b ; 0x044b
+ textpointer Text044c ; 0x044c
+ textpointer Text044d ; 0x044d
+ textpointer Text044e ; 0x044e
+ textpointer Text044f ; 0x044f
+ textpointer Text0450 ; 0x0450
+ textpointer Text0451 ; 0x0451
+ textpointer Text0452 ; 0x0452
+ textpointer Text0453 ; 0x0453
+ textpointer Text0454 ; 0x0454
+ textpointer Text0455 ; 0x0455
+ textpointer Text0456 ; 0x0456
+ textpointer Text0457 ; 0x0457
+ textpointer Text0458 ; 0x0458
+ textpointer Text0459 ; 0x0459
+ textpointer Text045a ; 0x045a
+ textpointer Text045b ; 0x045b
+ textpointer Text045c ; 0x045c
+ textpointer Text045d ; 0x045d
+ textpointer Text045e ; 0x045e
+ textpointer Text045f ; 0x045f
+ textpointer Text0460 ; 0x0460
+ textpointer Text0461 ; 0x0461
+ textpointer Text0462 ; 0x0462
+ textpointer Text0463 ; 0x0463
+ textpointer Text0464 ; 0x0464
+ textpointer Text0465 ; 0x0465
+ textpointer Text0466 ; 0x0466
+ textpointer Text0467 ; 0x0467
+ textpointer Text0468 ; 0x0468
+ textpointer Text0469 ; 0x0469
+ textpointer Text046a ; 0x046a
+ textpointer Text046b ; 0x046b
+ textpointer Text046c ; 0x046c
+ textpointer Text046d ; 0x046d
+ textpointer Text046e ; 0x046e
+ textpointer Text046f ; 0x046f
+ textpointer Text0470 ; 0x0470
+ textpointer Text0471 ; 0x0471
+ textpointer Text0472 ; 0x0472
+ textpointer Text0473 ; 0x0473
+ textpointer Text0474 ; 0x0474
+ textpointer Text0475 ; 0x0475
+ textpointer Text0476 ; 0x0476
+ textpointer Text0477 ; 0x0477
+ textpointer Text0478 ; 0x0478
+ textpointer Text0479 ; 0x0479
+ textpointer Text047a ; 0x047a
+ textpointer Text047b ; 0x047b
+ textpointer Text047c ; 0x047c
+ textpointer Text047d ; 0x047d
+ textpointer Text047e ; 0x047e
+ textpointer Text047f ; 0x047f
+ textpointer Text0480 ; 0x0480
+ textpointer Text0481 ; 0x0481
+ textpointer Text0482 ; 0x0482
+ textpointer Text0483 ; 0x0483
+ textpointer Text0484 ; 0x0484
+ textpointer Text0485 ; 0x0485
+ textpointer Text0486 ; 0x0486
+ textpointer Text0487 ; 0x0487
+ textpointer Text0488 ; 0x0488
+ textpointer Text0489 ; 0x0489
+ textpointer Text048a ; 0x048a
+ textpointer Text048b ; 0x048b
+ textpointer Text048c ; 0x048c
+ textpointer Text048d ; 0x048d
+ textpointer Text048e ; 0x048e
+ textpointer Text048f ; 0x048f
+ textpointer Text0490 ; 0x0490
+ textpointer Text0491 ; 0x0491
+ textpointer Text0492 ; 0x0492
+ textpointer Text0493 ; 0x0493
+ textpointer Text0494 ; 0x0494
+ textpointer Text0495 ; 0x0495
+ textpointer Text0496 ; 0x0496
+ textpointer Text0497 ; 0x0497
+ textpointer Text0498 ; 0x0498
+ textpointer Text0499 ; 0x0499
+ textpointer Text049a ; 0x049a
+ textpointer Text049b ; 0x049b
+ textpointer Text049c ; 0x049c
+ textpointer Text049d ; 0x049d
+ textpointer Text049e ; 0x049e
+ textpointer Text049f ; 0x049f
+ textpointer Text04a0 ; 0x04a0
+ textpointer Text04a1 ; 0x04a1
+ textpointer Text04a2 ; 0x04a2
+ textpointer Text04a3 ; 0x04a3
+ textpointer Text04a4 ; 0x04a4
+ textpointer Text04a5 ; 0x04a5
+ textpointer Text04a6 ; 0x04a6
+ textpointer Text04a7 ; 0x04a7
+ textpointer Text04a8 ; 0x04a8
+ textpointer Text04a9 ; 0x04a9
+ textpointer Text04aa ; 0x04aa
+ textpointer Text04ab ; 0x04ab
+ textpointer Text04ac ; 0x04ac
+ textpointer Text04ad ; 0x04ad
+ textpointer Text04ae ; 0x04ae
+ textpointer Text04af ; 0x04af
+ textpointer Text04b0 ; 0x04b0
+ textpointer Text04b1 ; 0x04b1
+ textpointer Text04b2 ; 0x04b2
+ textpointer Text04b3 ; 0x04b3
+ textpointer Text04b4 ; 0x04b4
+ textpointer Text04b5 ; 0x04b5
+ textpointer Text04b6 ; 0x04b6
+ textpointer Text04b7 ; 0x04b7
+ textpointer Text04b8 ; 0x04b8
+ textpointer Text04b9 ; 0x04b9
+ textpointer Text04ba ; 0x04ba
+ textpointer Text04bb ; 0x04bb
+ textpointer Text04bc ; 0x04bc
+ textpointer Text04bd ; 0x04bd
+ textpointer Text04be ; 0x04be
+ textpointer Text04bf ; 0x04bf
+ textpointer Text04c0 ; 0x04c0
+ textpointer Text04c1 ; 0x04c1
+ textpointer Text04c2 ; 0x04c2
+ textpointer Text04c3 ; 0x04c3
+ textpointer Text04c4 ; 0x04c4
+ textpointer Text04c5 ; 0x04c5
+ textpointer Text04c6 ; 0x04c6
+ textpointer Text04c7 ; 0x04c7
+ textpointer Text04c8 ; 0x04c8
+ textpointer Text04c9 ; 0x04c9
+ textpointer Text04ca ; 0x04ca
+ textpointer Text04cb ; 0x04cb
+ textpointer Text04cc ; 0x04cc
+ textpointer Text04cd ; 0x04cd
+ textpointer Text04ce ; 0x04ce
+ textpointer Text04cf ; 0x04cf
+ textpointer Text04d0 ; 0x04d0
+ textpointer Text04d1 ; 0x04d1
+ textpointer Text04d2 ; 0x04d2
+ textpointer Text04d3 ; 0x04d3
+ textpointer Text04d4 ; 0x04d4
+ textpointer Text04d5 ; 0x04d5
+ textpointer Text04d6 ; 0x04d6
+ textpointer Text04d7 ; 0x04d7
+ textpointer Text04d8 ; 0x04d8
+ textpointer Text04d9 ; 0x04d9
+ textpointer Text04da ; 0x04da
+ textpointer Text04db ; 0x04db
+ textpointer Text04dc ; 0x04dc
+ textpointer Text04dd ; 0x04dd
+ textpointer Text04de ; 0x04de
+ textpointer Text04df ; 0x04df
+ textpointer Text04e0 ; 0x04e0
+ textpointer Text04e1 ; 0x04e1
+ textpointer Text04e2 ; 0x04e2
+ textpointer Text04e3 ; 0x04e3
+ textpointer Text04e4 ; 0x04e4
+ textpointer Text04e5 ; 0x04e5
+ textpointer Text04e6 ; 0x04e6
+ textpointer Text04e7 ; 0x04e7
+ textpointer Text04e8 ; 0x04e8
+ textpointer Text04e9 ; 0x04e9
+ textpointer Text04ea ; 0x04ea
+ textpointer Text04eb ; 0x04eb
+ textpointer Text04ec ; 0x04ec
+ textpointer Text04ed ; 0x04ed
+ textpointer Text04ee ; 0x04ee
+ textpointer Text04ef ; 0x04ef
+ textpointer Text04f0 ; 0x04f0
+ textpointer Text04f1 ; 0x04f1
+ textpointer Text04f2 ; 0x04f2
+ textpointer Text04f3 ; 0x04f3
+ textpointer Text04f4 ; 0x04f4
+ textpointer Text04f5 ; 0x04f5
+ textpointer Text04f6 ; 0x04f6
+ textpointer Text04f7 ; 0x04f7
+ textpointer Text04f8 ; 0x04f8
+ textpointer Text04f9 ; 0x04f9
+ textpointer Text04fa ; 0x04fa
+ textpointer Text04fb ; 0x04fb
+ textpointer Text04fc ; 0x04fc
+ textpointer Text04fd ; 0x04fd
+ textpointer Text04fe ; 0x04fe
+ textpointer Text04ff ; 0x04ff
+ textpointer Text0500 ; 0x0500
+ textpointer Text0501 ; 0x0501
+ textpointer Text0502 ; 0x0502
+ textpointer Text0503 ; 0x0503
+ textpointer Text0504 ; 0x0504
+ textpointer Text0505 ; 0x0505
+ textpointer Text0506 ; 0x0506
+ textpointer Text0507 ; 0x0507
+ textpointer Text0508 ; 0x0508
+ textpointer Text0509 ; 0x0509
+ textpointer Text050a ; 0x050a
+ textpointer Text050b ; 0x050b
+ textpointer Text050c ; 0x050c
+ textpointer Text050d ; 0x050d
+ textpointer Text050e ; 0x050e
+ textpointer Text050f ; 0x050f
+ textpointer Text0510 ; 0x0510
+ textpointer Text0511 ; 0x0511
+ textpointer Text0512 ; 0x0512
+ textpointer Text0513 ; 0x0513
+ textpointer Text0514 ; 0x0514
+ textpointer Text0515 ; 0x0515
+ textpointer Text0516 ; 0x0516
+ textpointer Text0517 ; 0x0517
+ textpointer Text0518 ; 0x0518
+ textpointer Text0519 ; 0x0519
+ textpointer Text051a ; 0x051a
+ textpointer Text051b ; 0x051b
+ textpointer Text051c ; 0x051c
+ textpointer Text051d ; 0x051d
+ textpointer Text051e ; 0x051e
+ textpointer Text051f ; 0x051f
+ textpointer Text0520 ; 0x0520
+ textpointer Text0521 ; 0x0521
+ textpointer Text0522 ; 0x0522
+ textpointer Text0523 ; 0x0523
+ textpointer Text0524 ; 0x0524
+ textpointer Text0525 ; 0x0525
+ textpointer Text0526 ; 0x0526
+ textpointer Text0527 ; 0x0527
+ textpointer Text0528 ; 0x0528
+ textpointer Text0529 ; 0x0529
+ textpointer Text052a ; 0x052a
+ textpointer Text052b ; 0x052b
+ textpointer Text052c ; 0x052c
+ textpointer Text052d ; 0x052d
+ textpointer Text052e ; 0x052e
+ textpointer Text052f ; 0x052f
+ textpointer Text0530 ; 0x0530
+ textpointer Text0531 ; 0x0531
+ textpointer Text0532 ; 0x0532
+ textpointer Text0533 ; 0x0533
+ textpointer Text0534 ; 0x0534
+ textpointer Text0535 ; 0x0535
+ textpointer Text0536 ; 0x0536
+ textpointer Text0537 ; 0x0537
+ textpointer Text0538 ; 0x0538
+ textpointer Text0539 ; 0x0539
+ textpointer Text053a ; 0x053a
+ textpointer Text053b ; 0x053b
+ textpointer Text053c ; 0x053c
+ textpointer Text053d ; 0x053d
+ textpointer Text053e ; 0x053e
+ textpointer Text053f ; 0x053f
+ textpointer Text0540 ; 0x0540
+ textpointer Text0541 ; 0x0541
+ textpointer Text0542 ; 0x0542
+ textpointer Text0543 ; 0x0543
+ textpointer Text0544 ; 0x0544
+ textpointer Text0545 ; 0x0545
+ textpointer Text0546 ; 0x0546
+ textpointer Text0547 ; 0x0547
+ textpointer Text0548 ; 0x0548
+ textpointer Text0549 ; 0x0549
+ textpointer Text054a ; 0x054a
+ textpointer Text054b ; 0x054b
+ textpointer Text054c ; 0x054c
+ textpointer Text054d ; 0x054d
+ textpointer Text054e ; 0x054e
+ textpointer Text054f ; 0x054f
+ textpointer Text0550 ; 0x0550
+ textpointer Text0551 ; 0x0551
+ textpointer Text0552 ; 0x0552
+ textpointer Text0553 ; 0x0553
+ textpointer Text0554 ; 0x0554
+ textpointer Text0555 ; 0x0555
+ textpointer Text0556 ; 0x0556
+ textpointer Text0557 ; 0x0557
+ textpointer Text0558 ; 0x0558
+ textpointer Text0559 ; 0x0559
+ textpointer Text055a ; 0x055a
+ textpointer Text055b ; 0x055b
+ textpointer Text055c ; 0x055c
+ textpointer Text055d ; 0x055d
+ textpointer Text055e ; 0x055e
+ textpointer Text055f ; 0x055f
+ textpointer Text0560 ; 0x0560
+ textpointer Text0561 ; 0x0561
+ textpointer Text0562 ; 0x0562
+ textpointer Text0563 ; 0x0563
+ textpointer Text0564 ; 0x0564
+ textpointer Text0565 ; 0x0565
+ textpointer Text0566 ; 0x0566
+ textpointer Text0567 ; 0x0567
+ textpointer Text0568 ; 0x0568
+ textpointer Text0569 ; 0x0569
+ textpointer Text056a ; 0x056a
+ textpointer Text056b ; 0x056b
+ textpointer Text056c ; 0x056c
+ textpointer Text056d ; 0x056d
+ textpointer Text056e ; 0x056e
+ textpointer Text056f ; 0x056f
+ textpointer Text0570 ; 0x0570
+ textpointer Text0571 ; 0x0571
+ textpointer Text0572 ; 0x0572
+ textpointer Text0573 ; 0x0573
+ textpointer Text0574 ; 0x0574
+ textpointer Text0575 ; 0x0575
+ textpointer Text0576 ; 0x0576
+ textpointer Text0577 ; 0x0577
+ textpointer Text0578 ; 0x0578
+ textpointer Text0579 ; 0x0579
+ textpointer Text057a ; 0x057a
+ textpointer Text057b ; 0x057b
+ textpointer Text057c ; 0x057c
+ textpointer Text057d ; 0x057d
+ textpointer Text057e ; 0x057e
+ textpointer Text057f ; 0x057f
+ textpointer Text0580 ; 0x0580
+ textpointer Text0581 ; 0x0581
+ textpointer Text0582 ; 0x0582
+ textpointer Text0583 ; 0x0583
+ textpointer Text0584 ; 0x0584
+ textpointer Text0585 ; 0x0585
+ textpointer Text0586 ; 0x0586
+ textpointer Text0587 ; 0x0587
+ textpointer Text0588 ; 0x0588
+ textpointer Text0589 ; 0x0589
+ textpointer Text058a ; 0x058a
+ textpointer Text058b ; 0x058b
+ textpointer Text058c ; 0x058c
+ textpointer Text058d ; 0x058d
+ textpointer Text058e ; 0x058e
+ textpointer Text058f ; 0x058f
+ textpointer Text0590 ; 0x0590
+ textpointer Text0591 ; 0x0591
+ textpointer Text0592 ; 0x0592
+ textpointer Text0593 ; 0x0593
+ textpointer Text0594 ; 0x0594
+ textpointer Text0595 ; 0x0595
+ textpointer Text0596 ; 0x0596
+ textpointer Text0597 ; 0x0597
+ textpointer Text0598 ; 0x0598
+ textpointer Text0599 ; 0x0599
+ textpointer Text059a ; 0x059a
+ textpointer Text059b ; 0x059b
+ textpointer Text059c ; 0x059c
+ textpointer Text059d ; 0x059d
+ textpointer Text059e ; 0x059e
+ textpointer Text059f ; 0x059f
+ textpointer Text05a0 ; 0x05a0
+ textpointer Text05a1 ; 0x05a1
+ textpointer Text05a2 ; 0x05a2
+ textpointer Text05a3 ; 0x05a3
+ textpointer Text05a4 ; 0x05a4
+ textpointer Text05a5 ; 0x05a5
+ textpointer Text05a6 ; 0x05a6
+ textpointer Text05a7 ; 0x05a7
+ textpointer Text05a8 ; 0x05a8
+ textpointer Text05a9 ; 0x05a9
+ textpointer Text05aa ; 0x05aa
+ textpointer Text05ab ; 0x05ab
+ textpointer Text05ac ; 0x05ac
+ textpointer Text05ad ; 0x05ad
+ textpointer Text05ae ; 0x05ae
+ textpointer Text05af ; 0x05af
+ textpointer Text05b0 ; 0x05b0
+ textpointer Text05b1 ; 0x05b1
+ textpointer Text05b2 ; 0x05b2
+ textpointer Text05b3 ; 0x05b3
+ textpointer Text05b4 ; 0x05b4
+ textpointer Text05b5 ; 0x05b5
+ textpointer Text05b6 ; 0x05b6
+ textpointer Text05b7 ; 0x05b7
+ textpointer Text05b8 ; 0x05b8
+ textpointer Text05b9 ; 0x05b9
+ textpointer Text05ba ; 0x05ba
+ textpointer Text05bb ; 0x05bb
+ textpointer Text05bc ; 0x05bc
+ textpointer Text05bd ; 0x05bd
+ textpointer Text05be ; 0x05be
+ textpointer Text05bf ; 0x05bf
+ textpointer Text05c0 ; 0x05c0
+ textpointer Text05c1 ; 0x05c1
+ textpointer Text05c2 ; 0x05c2
+ textpointer Text05c3 ; 0x05c3
+ textpointer Text05c4 ; 0x05c4
+ textpointer Text05c5 ; 0x05c5
+ textpointer Text05c6 ; 0x05c6
+ textpointer Text05c7 ; 0x05c7
+ textpointer Text05c8 ; 0x05c8
+ textpointer Text05c9 ; 0x05c9
+ textpointer Text05ca ; 0x05ca
+ textpointer Text05cb ; 0x05cb
+ textpointer Text05cc ; 0x05cc
+ textpointer Text05cd ; 0x05cd
+ textpointer Text05ce ; 0x05ce
+ textpointer Text05cf ; 0x05cf
+ textpointer Text05d0 ; 0x05d0
+ textpointer Text05d1 ; 0x05d1
+ textpointer Text05d2 ; 0x05d2
+ textpointer Text05d3 ; 0x05d3
+ textpointer Text05d4 ; 0x05d4
+ textpointer Text05d5 ; 0x05d5
+ textpointer Text05d6 ; 0x05d6
+ textpointer Text05d7 ; 0x05d7
+ textpointer Text05d8 ; 0x05d8
+ textpointer Text05d9 ; 0x05d9
+ textpointer Text05da ; 0x05da
+ textpointer Text05db ; 0x05db
+ textpointer Text05dc ; 0x05dc
+ textpointer Text05dd ; 0x05dd
+ textpointer Text05de ; 0x05de
+ textpointer Text05df ; 0x05df
+ textpointer Text05e0 ; 0x05e0
+ textpointer Text05e1 ; 0x05e1
+ textpointer Text05e2 ; 0x05e2
+ textpointer Text05e3 ; 0x05e3
+ textpointer Text05e4 ; 0x05e4
+ textpointer Text05e5 ; 0x05e5
+ textpointer Text05e6 ; 0x05e6
+ textpointer Text05e7 ; 0x05e7
+ textpointer Text05e8 ; 0x05e8
+ textpointer Text05e9 ; 0x05e9
+ textpointer Text05ea ; 0x05ea
+ textpointer Text05eb ; 0x05eb
+ textpointer Text05ec ; 0x05ec
+ textpointer Text05ed ; 0x05ed
+ textpointer Text05ee ; 0x05ee
+ textpointer Text05ef ; 0x05ef
+ textpointer Text05f0 ; 0x05f0
+ textpointer Text05f1 ; 0x05f1
+ textpointer Text05f2 ; 0x05f2
+ textpointer Text05f3 ; 0x05f3
+ textpointer Text05f4 ; 0x05f4
+ textpointer Text05f5 ; 0x05f5
+ textpointer Text05f6 ; 0x05f6
+ textpointer Text05f7 ; 0x05f7
+ textpointer Text05f8 ; 0x05f8
+ textpointer Text05f9 ; 0x05f9
+ textpointer Text05fa ; 0x05fa
+ textpointer Text05fb ; 0x05fb
+ textpointer Text05fc ; 0x05fc
+ textpointer Text05fd ; 0x05fd
+ textpointer Text05fe ; 0x05fe
+ textpointer Text05ff ; 0x05ff
+ textpointer Text0600 ; 0x0600
+ textpointer Text0601 ; 0x0601
+ textpointer Text0602 ; 0x0602
+ textpointer Text0603 ; 0x0603
+ textpointer Text0604 ; 0x0604
+ textpointer Text0605 ; 0x0605
+ textpointer Text0606 ; 0x0606
+ textpointer Text0607 ; 0x0607
+ textpointer Text0608 ; 0x0608
+ textpointer Text0609 ; 0x0609
+ textpointer Text060a ; 0x060a
+ textpointer Text060b ; 0x060b
+ textpointer Text060c ; 0x060c
+ textpointer Text060d ; 0x060d
+ textpointer Text060e ; 0x060e
+ textpointer Text060f ; 0x060f
+ textpointer Text0610 ; 0x0610
+ textpointer Text0611 ; 0x0611
+ textpointer Text0612 ; 0x0612
+ textpointer Text0613 ; 0x0613
+ textpointer Text0614 ; 0x0614
+ textpointer Text0615 ; 0x0615
+ textpointer Text0616 ; 0x0616
+ textpointer Text0617 ; 0x0617
+ textpointer Text0618 ; 0x0618
+ textpointer Text0619 ; 0x0619
+ textpointer Text061a ; 0x061a
+ textpointer Text061b ; 0x061b
+ textpointer Text061c ; 0x061c
+ textpointer Text061d ; 0x061d
+ textpointer Text061e ; 0x061e
+ textpointer Text061f ; 0x061f
+ textpointer Text0620 ; 0x0620
+ textpointer Text0621 ; 0x0621
+ textpointer Text0622 ; 0x0622
+ textpointer Text0623 ; 0x0623
+ textpointer Text0624 ; 0x0624
+ textpointer Text0625 ; 0x0625
+ textpointer Text0626 ; 0x0626
+ textpointer Text0627 ; 0x0627
+ textpointer Text0628 ; 0x0628
+ textpointer Text0629 ; 0x0629
+ textpointer Text062a ; 0x062a
+ textpointer Text062b ; 0x062b
+ textpointer Text062c ; 0x062c
+ textpointer Text062d ; 0x062d
+ textpointer Text062e ; 0x062e
+ textpointer Text062f ; 0x062f
+ textpointer Text0630 ; 0x0630
+ textpointer Text0631 ; 0x0631
+ textpointer Text0632 ; 0x0632
+ textpointer Text0633 ; 0x0633
+ textpointer Text0634 ; 0x0634
+ textpointer Text0635 ; 0x0635
+ textpointer Text0636 ; 0x0636
+ textpointer Text0637 ; 0x0637
+ textpointer Text0638 ; 0x0638
+ textpointer Text0639 ; 0x0639
+ textpointer Text063a ; 0x063a
+ textpointer Text063b ; 0x063b
+ textpointer Text063c ; 0x063c
+ textpointer Text063d ; 0x063d
+ textpointer Text063e ; 0x063e
+ textpointer Text063f ; 0x063f
+ textpointer Text0640 ; 0x0640
+ textpointer Text0641 ; 0x0641
+ textpointer Text0642 ; 0x0642
+ textpointer Text0643 ; 0x0643
+ textpointer Text0644 ; 0x0644
+ textpointer Text0645 ; 0x0645
+ textpointer Text0646 ; 0x0646
+ textpointer Text0647 ; 0x0647
+ textpointer Text0648 ; 0x0648
+ textpointer Text0649 ; 0x0649
+ textpointer Text064a ; 0x064a
+ textpointer Text064b ; 0x064b
+ textpointer Text064c ; 0x064c
+ textpointer Text064d ; 0x064d
+ textpointer Text064e ; 0x064e
+ textpointer Text064f ; 0x064f
+ textpointer Text0650 ; 0x0650
+ textpointer Text0651 ; 0x0651
+ textpointer Text0652 ; 0x0652
+ textpointer Text0653 ; 0x0653
+ textpointer Text0654 ; 0x0654
+ textpointer Text0655 ; 0x0655
+ textpointer Text0656 ; 0x0656
+ textpointer Text0657 ; 0x0657
+ textpointer Text0658 ; 0x0658
+ textpointer Text0659 ; 0x0659
+ textpointer Text065a ; 0x065a
+ textpointer Text065b ; 0x065b
+ textpointer Text065c ; 0x065c
+ textpointer Text065d ; 0x065d
+ textpointer Text065e ; 0x065e
+ textpointer Text065f ; 0x065f
+ textpointer Text0660 ; 0x0660
+ textpointer Text0661 ; 0x0661
+ textpointer Text0662 ; 0x0662
+ textpointer Text0663 ; 0x0663
+ textpointer Text0664 ; 0x0664
+ textpointer Text0665 ; 0x0665
+ textpointer Text0666 ; 0x0666
+ textpointer Text0667 ; 0x0667
+ textpointer Text0668 ; 0x0668
+ textpointer Text0669 ; 0x0669
+ textpointer Text066a ; 0x066a
+ textpointer Text066b ; 0x066b
+ textpointer Text066c ; 0x066c
+ textpointer Text066d ; 0x066d
+ textpointer Text066e ; 0x066e
+ textpointer Text066f ; 0x066f
+ textpointer Text0670 ; 0x0670
+ textpointer Text0671 ; 0x0671
+ textpointer Text0672 ; 0x0672
+ textpointer Text0673 ; 0x0673
+ textpointer Text0674 ; 0x0674
+ textpointer Text0675 ; 0x0675
+ textpointer Text0676 ; 0x0676
+ textpointer Text0677 ; 0x0677
+ textpointer Text0678 ; 0x0678
+ textpointer Text0679 ; 0x0679
+ textpointer Text067a ; 0x067a
+ textpointer Text067b ; 0x067b
+ textpointer Text067c ; 0x067c
+ textpointer Text067d ; 0x067d
+ textpointer Text067e ; 0x067e
+ textpointer Text067f ; 0x067f
+ textpointer Text0680 ; 0x0680
+ textpointer Text0681 ; 0x0681
+ textpointer Text0682 ; 0x0682
+ textpointer Text0683 ; 0x0683
+ textpointer Text0684 ; 0x0684
+ textpointer Text0685 ; 0x0685
+ textpointer Text0686 ; 0x0686
+ textpointer Text0687 ; 0x0687
+ textpointer Text0688 ; 0x0688
+ textpointer Text0689 ; 0x0689
+ textpointer Text068a ; 0x068a
+ textpointer Text068b ; 0x068b
+ textpointer Text068c ; 0x068c
+ textpointer Text068d ; 0x068d
+ textpointer Text068e ; 0x068e
+ textpointer Text068f ; 0x068f
+ textpointer Text0690 ; 0x0690
+ textpointer Text0691 ; 0x0691
+ textpointer Text0692 ; 0x0692
+ textpointer Text0693 ; 0x0693
+ textpointer Text0694 ; 0x0694
+ textpointer Text0695 ; 0x0695
+ textpointer Text0696 ; 0x0696
+ textpointer Text0697 ; 0x0697
+ textpointer Text0698 ; 0x0698
+ textpointer Text0699 ; 0x0699
+ textpointer Text069a ; 0x069a
+ textpointer Text069b ; 0x069b
+ textpointer Text069c ; 0x069c
+ textpointer Text069d ; 0x069d
+ textpointer Text069e ; 0x069e
+ textpointer Text069f ; 0x069f
+ textpointer Text06a0 ; 0x06a0
+ textpointer Text06a1 ; 0x06a1
+ textpointer Text06a2 ; 0x06a2
+ textpointer Text06a3 ; 0x06a3
+ textpointer Text06a4 ; 0x06a4
+ textpointer Text06a5 ; 0x06a5
+ textpointer Text06a6 ; 0x06a6
+ textpointer Text06a7 ; 0x06a7
+ textpointer Text06a8 ; 0x06a8
+ textpointer Text06a9 ; 0x06a9
+ textpointer Text06aa ; 0x06aa
+ textpointer Text06ab ; 0x06ab
+ textpointer Text06ac ; 0x06ac
+ textpointer Text06ad ; 0x06ad
+ textpointer Text06ae ; 0x06ae
+ textpointer Text06af ; 0x06af
+ textpointer Text06b0 ; 0x06b0
+ textpointer Text06b1 ; 0x06b1
+ textpointer Text06b2 ; 0x06b2
+ textpointer Text06b3 ; 0x06b3
+ textpointer Text06b4 ; 0x06b4
+ textpointer Text06b5 ; 0x06b5
+ textpointer Text06b6 ; 0x06b6
+ textpointer Text06b7 ; 0x06b7
+ textpointer Text06b8 ; 0x06b8
+ textpointer Text06b9 ; 0x06b9
+ textpointer Text06ba ; 0x06ba
+ textpointer Text06bb ; 0x06bb
+ textpointer Text06bc ; 0x06bc
+ textpointer Text06bd ; 0x06bd
+ textpointer Text06be ; 0x06be
+ textpointer Text06bf ; 0x06bf
+ textpointer Text06c0 ; 0x06c0
+ textpointer Text06c1 ; 0x06c1
+ textpointer Text06c2 ; 0x06c2
+ textpointer Text06c3 ; 0x06c3
+ textpointer Text06c4 ; 0x06c4
+ textpointer Text06c5 ; 0x06c5
+ textpointer Text06c6 ; 0x06c6
+ textpointer Text06c7 ; 0x06c7
+ textpointer Text06c8 ; 0x06c8
+ textpointer Text06c9 ; 0x06c9
+ textpointer Text06ca ; 0x06ca
+ textpointer Text06cb ; 0x06cb
+ textpointer Text06cc ; 0x06cc
+ textpointer Text06cd ; 0x06cd
+ textpointer Text06ce ; 0x06ce
+ textpointer Text06cf ; 0x06cf
+ textpointer Text06d0 ; 0x06d0
+ textpointer Text06d1 ; 0x06d1
+ textpointer Text06d2 ; 0x06d2
+ textpointer Text06d3 ; 0x06d3
+ textpointer Text06d4 ; 0x06d4
+ textpointer Text06d5 ; 0x06d5
+ textpointer Text06d6 ; 0x06d6
+ textpointer Text06d7 ; 0x06d7
+ textpointer Text06d8 ; 0x06d8
+ textpointer Text06d9 ; 0x06d9
+ textpointer Text06da ; 0x06da
+ textpointer Text06db ; 0x06db
+ textpointer Text06dc ; 0x06dc
+ textpointer Text06dd ; 0x06dd
+ textpointer Text06de ; 0x06de
+ textpointer Text06df ; 0x06df
+ textpointer Text06e0 ; 0x06e0
+ textpointer Text06e1 ; 0x06e1
+ textpointer Text06e2 ; 0x06e2
+ textpointer Text06e3 ; 0x06e3
+ textpointer Text06e4 ; 0x06e4
+ textpointer Text06e5 ; 0x06e5
+ textpointer Text06e6 ; 0x06e6
+ textpointer Text06e7 ; 0x06e7
+ textpointer Text06e8 ; 0x06e8
+ textpointer Text06e9 ; 0x06e9
+ textpointer Text06ea ; 0x06ea
+ textpointer Text06eb ; 0x06eb
+ textpointer Text06ec ; 0x06ec
+ textpointer Text06ed ; 0x06ed
+ textpointer Text06ee ; 0x06ee
+ textpointer Text06ef ; 0x06ef
+ textpointer Text06f0 ; 0x06f0
+ textpointer Text06f1 ; 0x06f1
+ textpointer Text06f2 ; 0x06f2
+ textpointer Text06f3 ; 0x06f3
+ textpointer Text06f4 ; 0x06f4
+ textpointer Text06f5 ; 0x06f5
+ textpointer Text06f6 ; 0x06f6
+ textpointer Text06f7 ; 0x06f7
+ textpointer Text06f8 ; 0x06f8
+ textpointer Text06f9 ; 0x06f9
+ textpointer Text06fa ; 0x06fa
+ textpointer Text06fb ; 0x06fb
+ textpointer Text06fc ; 0x06fc
+ textpointer Text06fd ; 0x06fd
+ textpointer Text06fe ; 0x06fe
+ textpointer Text06ff ; 0x06ff
+ textpointer Text0700 ; 0x0700
+ textpointer Text0701 ; 0x0701
+ textpointer Text0702 ; 0x0702
+ textpointer Text0703 ; 0x0703
+ textpointer Text0704 ; 0x0704
+ textpointer Text0705 ; 0x0705
+ textpointer Text0706 ; 0x0706
+ textpointer Text0707 ; 0x0707
+ textpointer Text0708 ; 0x0708
+ textpointer Text0709 ; 0x0709
+ textpointer Text070a ; 0x070a
+ textpointer Text070b ; 0x070b
+ textpointer Text070c ; 0x070c
+ textpointer Text070d ; 0x070d
+ textpointer Text070e ; 0x070e
+ textpointer Text070f ; 0x070f
+ textpointer Text0710 ; 0x0710
+ textpointer Text0711 ; 0x0711
+ textpointer Text0712 ; 0x0712
+ textpointer Text0713 ; 0x0713
+ textpointer Text0714 ; 0x0714
+ textpointer Text0715 ; 0x0715
+ textpointer Text0716 ; 0x0716
+ textpointer Text0717 ; 0x0717
+ textpointer Text0718 ; 0x0718
+ textpointer Text0719 ; 0x0719
+ textpointer Text071a ; 0x071a
+ textpointer Text071b ; 0x071b
+ textpointer Text071c ; 0x071c
+ textpointer Text071d ; 0x071d
+ textpointer Text071e ; 0x071e
+ textpointer Text071f ; 0x071f
+ textpointer Text0720 ; 0x0720
+ textpointer Text0721 ; 0x0721
+ textpointer Text0722 ; 0x0722
+ textpointer Text0723 ; 0x0723
+ textpointer Text0724 ; 0x0724
+ textpointer Text0725 ; 0x0725
+ textpointer Text0726 ; 0x0726
+ textpointer Text0727 ; 0x0727
+ textpointer Text0728 ; 0x0728
+ textpointer Text0729 ; 0x0729
+ textpointer Text072a ; 0x072a
+ textpointer Text072b ; 0x072b
+ textpointer Text072c ; 0x072c
+ textpointer Text072d ; 0x072d
+ textpointer Text072e ; 0x072e
+ textpointer Text072f ; 0x072f
+ textpointer Text0730 ; 0x0730
+ textpointer Text0731 ; 0x0731
+ textpointer Text0732 ; 0x0732
+ textpointer Text0733 ; 0x0733
+ textpointer Text0734 ; 0x0734
+ textpointer Text0735 ; 0x0735
+ textpointer Text0736 ; 0x0736
+ textpointer Text0737 ; 0x0737
+ textpointer Text0738 ; 0x0738
+ textpointer Text0739 ; 0x0739
+ textpointer Text073a ; 0x073a
+ textpointer Text073b ; 0x073b
+ textpointer Text073c ; 0x073c
+ textpointer Text073d ; 0x073d
+ textpointer Text073e ; 0x073e
+ textpointer Text073f ; 0x073f
+ textpointer Text0740 ; 0x0740
+ textpointer Text0741 ; 0x0741
+ textpointer Text0742 ; 0x0742
+ textpointer Text0743 ; 0x0743
+ textpointer Text0744 ; 0x0744
+ textpointer Text0745 ; 0x0745
+ textpointer Text0746 ; 0x0746
+ textpointer Text0747 ; 0x0747
+ textpointer Text0748 ; 0x0748
+ textpointer Text0749 ; 0x0749
+ textpointer Text074a ; 0x074a
+ textpointer Text074b ; 0x074b
+ textpointer Text074c ; 0x074c
+ textpointer Text074d ; 0x074d
+ textpointer Text074e ; 0x074e
+ textpointer Text074f ; 0x074f
+ textpointer Text0750 ; 0x0750
+ textpointer Text0751 ; 0x0751
+ textpointer Text0752 ; 0x0752
+ textpointer Text0753 ; 0x0753
+ textpointer Text0754 ; 0x0754
+ textpointer Text0755 ; 0x0755
+ textpointer Text0756 ; 0x0756
+ textpointer Text0757 ; 0x0757
+ textpointer Text0758 ; 0x0758
+ textpointer Text0759 ; 0x0759
+ textpointer Text075a ; 0x075a
+ textpointer Text075b ; 0x075b
+ textpointer Text075c ; 0x075c
+ textpointer Text075d ; 0x075d
+ textpointer Text075e ; 0x075e
+ textpointer Text075f ; 0x075f
+ textpointer Text0760 ; 0x0760
+ textpointer Text0761 ; 0x0761
+ textpointer Text0762 ; 0x0762
+ textpointer Text0763 ; 0x0763
+ textpointer Text0764 ; 0x0764
+ textpointer Text0765 ; 0x0765
+ textpointer Text0766 ; 0x0766
+ textpointer Text0767 ; 0x0767
+ textpointer Text0768 ; 0x0768
+ textpointer Text0769 ; 0x0769
+ textpointer Text076a ; 0x076a
+ textpointer Text076b ; 0x076b
+ textpointer Text076c ; 0x076c
+ textpointer Text076d ; 0x076d
+ textpointer Text076e ; 0x076e
+ textpointer Text076f ; 0x076f
+ textpointer Text0770 ; 0x0770
+ textpointer Text0771 ; 0x0771
+ textpointer Text0772 ; 0x0772
+ textpointer Text0773 ; 0x0773
+ textpointer Text0774 ; 0x0774
+ textpointer Text0775 ; 0x0775
+ textpointer Text0776 ; 0x0776
+ textpointer Text0777 ; 0x0777
+ textpointer Text0778 ; 0x0778
+ textpointer Text0779 ; 0x0779
+ textpointer Text077a ; 0x077a
+ textpointer Text077b ; 0x077b
+ textpointer Text077c ; 0x077c
+ textpointer Text077d ; 0x077d
+ textpointer Text077e ; 0x077e
+ textpointer Text077f ; 0x077f
+ textpointer Text0780 ; 0x0780
+ textpointer Text0781 ; 0x0781
+ textpointer Text0782 ; 0x0782
+ textpointer Text0783 ; 0x0783
+ textpointer Text0784 ; 0x0784
+ textpointer Text0785 ; 0x0785
+ textpointer Text0786 ; 0x0786
+ textpointer Text0787 ; 0x0787
+ textpointer Text0788 ; 0x0788
+ textpointer Text0789 ; 0x0789
+ textpointer Text078a ; 0x078a
+ textpointer Text078b ; 0x078b
+ textpointer Text078c ; 0x078c
+ textpointer Text078d ; 0x078d
+ textpointer Text078e ; 0x078e
+ textpointer Text078f ; 0x078f
+ textpointer Text0790 ; 0x0790
+ textpointer Text0791 ; 0x0791
+ textpointer Text0792 ; 0x0792
+ textpointer Text0793 ; 0x0793
+ textpointer Text0794 ; 0x0794
+ textpointer Text0795 ; 0x0795
+ textpointer Text0796 ; 0x0796
+ textpointer Text0797 ; 0x0797
+ textpointer Text0798 ; 0x0798
+ textpointer Text0799 ; 0x0799
+ textpointer Text079a ; 0x079a
+ textpointer Text079b ; 0x079b
+ textpointer Text079c ; 0x079c
+ textpointer Text079d ; 0x079d
+ textpointer Text079e ; 0x079e
+ textpointer Text079f ; 0x079f
+ textpointer Text07a0 ; 0x07a0
+ textpointer Text07a1 ; 0x07a1
+ textpointer Text07a2 ; 0x07a2
+ textpointer Text07a3 ; 0x07a3
+ textpointer Text07a4 ; 0x07a4
+ textpointer Text07a5 ; 0x07a5
+ textpointer Text07a6 ; 0x07a6
+ textpointer Text07a7 ; 0x07a7
+ textpointer Text07a8 ; 0x07a8
+ textpointer Text07a9 ; 0x07a9
+ textpointer Text07aa ; 0x07aa
+ textpointer Text07ab ; 0x07ab
+ textpointer Text07ac ; 0x07ac
+ textpointer Text07ad ; 0x07ad
+ textpointer Text07ae ; 0x07ae
+ textpointer Text07af ; 0x07af
+ textpointer Text07b0 ; 0x07b0
+ textpointer Text07b1 ; 0x07b1
+ textpointer Text07b2 ; 0x07b2
+ textpointer Text07b3 ; 0x07b3
+ textpointer Text07b4 ; 0x07b4
+ textpointer Text07b5 ; 0x07b5
+ textpointer Text07b6 ; 0x07b6
+ textpointer Text07b7 ; 0x07b7
+ textpointer Text07b8 ; 0x07b8
+ textpointer Text07b9 ; 0x07b9
+ textpointer Text07ba ; 0x07ba
+ textpointer Text07bb ; 0x07bb
+ textpointer Text07bc ; 0x07bc
+ textpointer Text07bd ; 0x07bd
+ textpointer Text07be ; 0x07be
+ textpointer Text07bf ; 0x07bf
+ textpointer Text07c0 ; 0x07c0
+ textpointer Text07c1 ; 0x07c1
+ textpointer Text07c2 ; 0x07c2
+ textpointer Text07c3 ; 0x07c3
+ textpointer Text07c4 ; 0x07c4
+ textpointer Text07c5 ; 0x07c5
+ textpointer Text07c6 ; 0x07c6
+ textpointer Text07c7 ; 0x07c7
+ textpointer Text07c8 ; 0x07c8
+ textpointer Text07c9 ; 0x07c9
+ textpointer Text07ca ; 0x07ca
+ textpointer Text07cb ; 0x07cb
+ textpointer Text07cc ; 0x07cc
+ textpointer Text07cd ; 0x07cd
+ textpointer Text07ce ; 0x07ce
+ textpointer Text07cf ; 0x07cf
+ textpointer Text07d0 ; 0x07d0
+ textpointer Text07d1 ; 0x07d1
+ textpointer Text07d2 ; 0x07d2
+ textpointer Text07d3 ; 0x07d3
+ textpointer Text07d4 ; 0x07d4
+ textpointer Text07d5 ; 0x07d5
+ textpointer Text07d6 ; 0x07d6
+ textpointer Text07d7 ; 0x07d7
+ textpointer Text07d8 ; 0x07d8
+ textpointer Text07d9 ; 0x07d9
+ textpointer Text07da ; 0x07da
+ textpointer Text07db ; 0x07db
+ textpointer Text07dc ; 0x07dc
+ textpointer Text07dd ; 0x07dd
+ textpointer Text07de ; 0x07de
+ textpointer Text07df ; 0x07df
+ textpointer Text07e0 ; 0x07e0
+ textpointer Text07e1 ; 0x07e1
+ textpointer Text07e2 ; 0x07e2
+ textpointer Text07e3 ; 0x07e3
+ textpointer Text07e4 ; 0x07e4
+ textpointer Text07e5 ; 0x07e5
+ textpointer DefeatedFiveOpponentsText ; 0x07e6
+ textpointer Text07e7 ; 0x07e7
+ textpointer ConsecutiveWinRecordIncreasedText ; 0x07e8
+ textpointer Text07e9 ; 0x07e9
+ textpointer Text07ea ; 0x07ea
+ textpointer Text07eb ; 0x07eb
+ textpointer Text07ec ; 0x07ec
+ textpointer Text07ed ; 0x07ed
+ textpointer Text07ee ; 0x07ee
+ textpointer Text07ef ; 0x07ef
+ textpointer Text07f0 ; 0x07f0
+ textpointer Text07f1 ; 0x07f1
+ textpointer Text07f2 ; 0x07f2
+ textpointer Text07f3 ; 0x07f3
+ textpointer Text07f4 ; 0x07f4
+ textpointer Text07f5 ; 0x07f5
+ textpointer Text07f6 ; 0x07f6
+ textpointer Text07f7 ; 0x07f7
+ textpointer Text07f8 ; 0x07f8
+ textpointer Text07f9 ; 0x07f9
+ textpointer Text07fa ; 0x07fa
+ textpointer Text07fb ; 0x07fb
+ textpointer GrassEnergyName ; 0x07fc
+ textpointer GrassEnergyDescription ; 0x07fd
+ textpointer FireEnergyName ; 0x07fe
+ textpointer FireEnergyDescription ; 0x07ff
+ textpointer WaterEnergyName ; 0x0800
+ textpointer WaterEnergyDescription ; 0x0801
+ textpointer LightningEnergyName ; 0x0802
+ textpointer LightningEnergyDescription ; 0x0803
+ textpointer FightingEnergyName ; 0x0804
+ textpointer FightingEnergyDescription ; 0x0805
+ textpointer PsychicEnergyName ; 0x0806
+ textpointer PsychicEnergyDescription ; 0x0807
+ textpointer DoubleColorlessEnergyName ; 0x0808
+ textpointer DoubleColorlessEnergyDescription ; 0x0809
+ textpointer BulbasaurName ; 0x080a
+ textpointer LeechSeedName ; 0x080b
+ textpointer BulbasaursLeechSeedDescription ; 0x080c
+ textpointer BulbasaurKind ; 0x080d
+ textpointer BulbasaurDescription ; 0x080e
+ textpointer IvysaurName ; 0x080f
+ textpointer VineWhipName ; 0x0810
+ textpointer PoisonPowderName ; 0x0811
+ textpointer InflictPoisonDescription ; 0x0812
+ textpointer IvysaurDescription ; 0x0813
+ textpointer VenusaurName ; 0x0814
+ textpointer SolarPowerName ; 0x0815
+ textpointer SolarPowerDescription ; 0x0816
+ textpointer SolarPowerDescriptionCont ; 0x0817
+ textpointer MegaDrainName ; 0x0818
+ textpointer VenusaursMegaDrainDescription ; 0x0819
+ textpointer VenusaursMegaDrainDescriptionCont ; 0x081a
+ textpointer Venusaur1Description ; 0x081b
+ textpointer EnergyTransName ; 0x081c
+ textpointer EnergyTransDescription ; 0x081d
+ textpointer SolarBeamName ; 0x081e
+ textpointer Venusaur2Description ; 0x081f
+ textpointer CaterpieName ; 0x0820
+ textpointer StringShotName ; 0x0821
+ textpointer MayInflictParalysisDescription ; 0x0822
+ textpointer CaterpieKind ; 0x0823
+ textpointer CaterpieDescription ; 0x0824
+ textpointer MetapodName ; 0x0825
+ textpointer StiffenName ; 0x0826
+ textpointer MetapodsStiffenDescription ; 0x0827
+ textpointer StunSporeName ; 0x0828
+ textpointer MetapodKind ; 0x0829
+ textpointer MetapodDescription ; 0x082a
+ textpointer ButterfreeName ; 0x082b
+ textpointer WhirlwindName ; 0x082c
+ textpointer WhirlwindDescription ; 0x082d
+ textpointer ButterfreesMegaDrainDescription ; 0x082e
+ textpointer ButterfreesMegaDrainDescriptionCont ; 0x082f
+ textpointer ButterfreeKind ; 0x0830
+ textpointer ButterfreeDescription ; 0x0831
+ textpointer WeedleName ; 0x0832
+ textpointer PoisonStingName ; 0x0833
+ textpointer MayInflictPoisonDescription ; 0x0834
+ textpointer WeedleKind ; 0x0835
+ textpointer WeedleDescription ; 0x0836
+ textpointer KakunaName ; 0x0837
+ textpointer KakunasStiffenDescription ; 0x0838
+ textpointer KakunaDescription ; 0x0839
+ textpointer BeedrillName ; 0x083a
+ textpointer TwineedleName ; 0x083b
+ textpointer DoubleAttackX30Description ; 0x083c
+ textpointer BeedrillKind ; 0x083d
+ textpointer BeedrillDescription ; 0x083e
+ textpointer EkansName ; 0x083f
+ textpointer SpitPoisonName ; 0x0840
+ textpointer WrapName ; 0x0841
+ textpointer EkansKind ; 0x0842
+ textpointer EkansDescription ; 0x0843
+ textpointer ArbokName ; 0x0844
+ textpointer TerrorStrikeName ; 0x0845
+ textpointer TerrorStrikeDescription ; 0x0846
+ textpointer PoisonFangName ; 0x0847
+ textpointer ArbokKind ; 0x0848
+ textpointer ArbokDescription ; 0x0849
+ textpointer NidoranFName ; 0x084a
+ textpointer FurySweepesName ; 0x084b
+ textpointer TripleAttackX10Description ; 0x084c
+ textpointer CallForFamilyName ; 0x084d
+ textpointer NidoranFsCallForFamilyDescription ; 0x084e
+ textpointer NidoranFKind ; 0x084f
+ textpointer NidoranFDescription ; 0x0850
+ textpointer NidorinaName ; 0x0851
+ textpointer SupersonicName ; 0x0852
+ textpointer MayInflictConfusionDescription ; 0x0853
+ textpointer DoubleKickName ; 0x0854
+ textpointer NidorinaDescription ; 0x0855
+ textpointer NidoqueenName ; 0x0856
+ textpointer BoyfriendsName ; 0x0857
+ textpointer BoyfriendsDescription ; 0x0858
+ textpointer MegaPunchName ; 0x0859
+ textpointer NidoqueenKind ; 0x085a
+ textpointer NidoqueenDescription ; 0x085b
+ textpointer NidoranMName ; 0x085c
+ textpointer HornHazardName ; 0x085d
+ textpointer MayDoNothingDescription ; 0x085e
+ textpointer NidoranMDescription ; 0x085f
+ textpointer NidorinoName ; 0x0860
+ textpointer HornDrillName ; 0x0861
+ textpointer NidorinoDescription ; 0x0862
+ textpointer NidokingName ; 0x0863
+ textpointer ThrashName ; 0x0864
+ textpointer ThrashDescriptipn ; 0x0865
+ textpointer ToxicName ; 0x0866
+ textpointer ToxicDescription ; 0x0867
+ textpointer NidokingDescription ; 0x0868
+ textpointer ZubatName ; 0x0869
+ textpointer LeechLifeName ; 0x086a
+ textpointer ZubatsLeechLifeDescription ; 0x086b
+ textpointer ZubatKind ; 0x086c
+ textpointer ZubatDescription ; 0x086d
+ textpointer GolbatName ; 0x086e
+ textpointer WingAttackName ; 0x086f
+ textpointer GolbatsLeechLifeDescription ; 0x0870
+ textpointer GolbatDescription ; 0x0871
+ textpointer OddishName ; 0x0872
+ textpointer SproutName ; 0x0873
+ textpointer SproutDescription ; 0x0874
+ textpointer OddishKind ; 0x0875
+ textpointer OddishDescription ; 0x0876
+ textpointer GloomName ; 0x0877
+ textpointer FoulOdorName ; 0x0878
+ textpointer FoulOdorDescription ; 0x0879
+ textpointer GloomDescription ; 0x087a
+ textpointer VileplumeName ; 0x087b
+ textpointer HealName ; 0x087c
+ textpointer HealDescription ; 0x087d
+ textpointer PetalDanceName ; 0x087e
+ textpointer PetalDanceDescription ; 0x087f
+ textpointer VileplumeKind ; 0x0880
+ textpointer VileplumeDescription ; 0x0881
+ textpointer ParasName ; 0x0882
+ textpointer ScratchName ; 0x0883
+ textpointer SporeName ; 0x0884
+ textpointer InflictSleepDescription ; 0x0885
+ textpointer ParasKind ; 0x0886
+ textpointer ParasDescription ; 0x0887
+ textpointer ParasectName ; 0x0888
+ textpointer SlashName ; 0x0889
+ textpointer ParasectDescription ; 0x088a
+ textpointer VenonatName ; 0x088b
+ textpointer VenonatLeechLifeDescription ; 0x088c
+ textpointer VenonatKind ; 0x088d
+ textpointer VenonatDescription ; 0x088e
+ textpointer VenomothName ; 0x088f
+ textpointer ShiftName ; 0x0890
+ textpointer ShiftDescription ; 0x0891
+ textpointer VenomPowderName ; 0x0892
+ textpointer VenomPowderDescription ; 0x0893
+ textpointer VenomothKind ; 0x0894
+ textpointer VenomothDescription ; 0x0895
+ textpointer BellsproutName ; 0x0896
+ textpointer BellsproutsCallForFamilyDescription ; 0x0897
+ textpointer BellsproutDescription ; 0x0898
+ textpointer WeepinbellName ; 0x0899
+ textpointer RazorLeafName ; 0x089a
+ textpointer WeepinbellKind ; 0x089b
+ textpointer WeepinbellDescription ; 0x089c
+ textpointer VictreebelName ; 0x089d
+ textpointer LureName ; 0x089e
+ textpointer VictreebelsLureDescription ; 0x089f
+ textpointer AcidName ; 0x08a0
+ textpointer VictreebelsAcidDescription ; 0x08a1
+ textpointer VictreebelDescription ; 0x08a2
+ textpointer GrimerName ; 0x08a3
+ textpointer NastyGooName ; 0x08a4
+ textpointer MinimizeName ; 0x08a5
+ textpointer GrimersMinimizeDescription ; 0x08a6
+ textpointer GrimerKindOrSludgeName ; 0x08a7
+ textpointer GrimerDescription ; 0x08a8
+ textpointer MukName ; 0x08a9
+ textpointer ToxicGasName ; 0x08aa
+ textpointer ToxicGasDescription ; 0x08ab
+ textpointer MukDescription ; 0x08ac
+ textpointer ExeggcuteName ; 0x08ad
+ textpointer DrowzeeKindOrHypnosisName ; 0x08ae
+ textpointer ExeggcutesLeechSeedDescription ; 0x08af
+ textpointer ExeggcuteKind ; 0x08b0
+ textpointer ExeggcuteDescription ; 0x08b1
+ textpointer ExeggutorName ; 0x08b2
+ textpointer TeleportName ; 0x08b3
+ textpointer TeleportDescription ; 0x08b4
+ textpointer BigEggsplosionName ; 0x08b5
+ textpointer BigEggsplosionDescription ; 0x08b6
+ textpointer ExeggutorKind ; 0x08b7
+ textpointer ExeggutorDescription ; 0x08b8
+ textpointer KoffingName ; 0x08b9
+ textpointer FoulGasName ; 0x08ba
+ textpointer FoulGasDescription ; 0x08bb
+ textpointer KoffingKind ; 0x08bc
+ textpointer KoffingDescription ; 0x08bd
+ textpointer WeezingName ; 0x08be
+ textpointer SmogName ; 0x08bf
+ textpointer SelfdestructName ; 0x08c0
+ textpointer WeezingsSelfdestructDescription ; 0x08c1
+ textpointer WeezingDescription ; 0x08c2
+ textpointer TangelaName ; 0x08c3
+ textpointer BindName ; 0x08c4
+ textpointer TangelaKind ; 0x08c5
+ textpointer Tangela1Description ; 0x08c6
+ textpointer PoisonWhipName ; 0x08c7
+ textpointer Tangela2Description ; 0x08c8
+ textpointer ScytherName ; 0x08c9
+ textpointer SwordsDanceName ; 0x08ca
+ textpointer SwordsDanceDescription ; 0x08cb
+ textpointer ScytherKind ; 0x08cc
+ textpointer ScytherDescription ; 0x08cd
+ textpointer PinsirName ; 0x08ce
+ textpointer IronGripName ; 0x08cf
+ textpointer GuillotineName ; 0x08d0
+ textpointer PinsirKind ; 0x08d1
+ textpointer PinsirDescription ; 0x08d2
+ textpointer CharmanderName ; 0x08d3
+ textpointer EmberName ; 0x08d4
+ textpointer EmberDescription ; 0x08d5
+ textpointer CharmanderKind ; 0x08d6
+ textpointer CharmanderDescription ; 0x08d7
+ textpointer CharmeleonName ; 0x08d8
+ textpointer FlamethrowerName ; 0x08d9
+ textpointer CharmeleonsFlamethrowerDescription ; 0x08da
+ textpointer CharmeleonKind ; 0x08db
+ textpointer CharmeleonDescription ; 0x08dc
+ textpointer CharizardName ; 0x08dd
+ textpointer EnergyBurnName ; 0x08de
+ textpointer EnergyBurnDescription ; 0x08df
+ textpointer FireSpinName ; 0x08e0
+ textpointer FireSpinDescription ; 0x08e1
+ textpointer CharizardDescription ; 0x08e2
+ textpointer VulpixName ; 0x08e3
+ textpointer ConfuseRayName ; 0x08e4
+ textpointer VulpixKind ; 0x08e5
+ textpointer VulpixDescription ; 0x08e6
+ textpointer NinetailsName ; 0x08e7
+ textpointer NinetailsLureDescription ; 0x08e8
+ textpointer FireBlastName ; 0x08e9
+ textpointer FireBlastDescription ; 0x08ea
+ textpointer Ninetails1Description ; 0x08eb
+ textpointer MixUpName ; 0x08ec
+ textpointer MixUpDescription ; 0x08ed
+ textpointer MixUpDescriptionCont ; 0x08ee
+ textpointer DancingEmbersName ; 0x08ef
+ textpointer DancingEmbersDescription ; 0x08f0
+ textpointer Ninetails2Description ; 0x08f1
+ textpointer GrowlitheName ; 0x08f2
+ textpointer FlareName ; 0x08f3
+ textpointer GrowlitheKind ; 0x08f4
+ textpointer GrowlitheDescription ; 0x08f5
+ textpointer ArcanineName ; 0x08f6
+ textpointer QuickAttackName ; 0x08f7
+ textpointer QuickAttackDescription ; 0x08f8
+ textpointer FlamesOfRageName ; 0x08f9
+ textpointer FlamesOfRageDescription ; 0x08fa
+ textpointer ArcanineKind ; 0x08fb
+ textpointer Arcanine1Description ; 0x08fc
+ textpointer ArcaninesFlamethrowerDescription ; 0x08fd
+ textpointer TakeDownName ; 0x08fe
+ textpointer TakeDownDescription ; 0x08ff
+ textpointer Arcanine2Description ; 0x0900
+ textpointer PonytaName ; 0x0901
+ textpointer SmashKickName ; 0x0902
+ textpointer FlameTailName ; 0x0903
+ textpointer PonytaKind ; 0x0904
+ textpointer PonytaDescription ; 0x0905
+ textpointer RapidashName ; 0x0906
+ textpointer StompName ; 0x0907
+ textpointer StompDescription ; 0x0908
+ textpointer AgilityName ; 0x0909
+ textpointer RapidashsAgilityDescription ; 0x090a
+ textpointer RapidashDescription ; 0x090b
+ textpointer MagmarName ; 0x090c
+ textpointer FirePunchName ; 0x090d
+ textpointer FirePunchDescription ; 0x090e
+ textpointer MagmarKind ; 0x090f
+ textpointer Magmar1Description ; 0x0910
+ textpointer SmokescreenName ; 0x0911
+ textpointer MagmarsSmokescreenDescription ; 0x0912
+ textpointer Magmar2Description ; 0x0913
+ textpointer FlareonName ; 0x0914
+ textpointer EeveeName ; 0x0915
+ textpointer BiteName ; 0x0916
+ textpointer RageName ; 0x0917
+ textpointer FlareonsRageDescription ; 0x0918
+ textpointer Flareon1Description ; 0x0919
+ textpointer FlareonsFlamethrowerDescription ; 0x091a
+ textpointer Flareon2Description ; 0x091b
+ textpointer MoltresName ; 0x091c
+ textpointer WildfireName ; 0x091d
+ textpointer WildfireDescription ; 0x091e
+ textpointer DiveBombName ; 0x091f
+ textpointer Moltres1Description ; 0x0920
+ textpointer FiregiverName ; 0x0921
+ textpointer FiregiverDescription ; 0x0922
+ textpointer Moltres2Description ; 0x0923
+ textpointer SquirtleName ; 0x0924
+ textpointer BubbleName ; 0x0925
+ textpointer WithdrawName ; 0x0926
+ textpointer SquirtlesWithdrawDescription ; 0x0927
+ textpointer SquirtleKind ; 0x0928
+ textpointer SquirtleDescription ; 0x0929
+ textpointer WartortleName ; 0x092a
+ textpointer WartortlesWithdrawDescription ; 0x092b
+ textpointer WartortleKind ; 0x092c
+ textpointer WartortleDescription ; 0x092d
+ textpointer BlastoiseName ; 0x092e
+ textpointer RainDanceName ; 0x092f
+ textpointer RainDanceDescription ; 0x0930
+ textpointer RainDanceDescriptionCont ; 0x0931
+ textpointer HydroPumpName ; 0x0932
+ textpointer HydroPumpDescription ; 0x0933
+ textpointer BlastoiseKind ; 0x0934
+ textpointer BlastoiseDescription ; 0x0935
+ textpointer PsyduckName ; 0x0936
+ textpointer HeadacheName ; 0x0937
+ textpointer HeadacheDescription ; 0x0938
+ textpointer PsyduckKind ; 0x0939
+ textpointer PsyduckDescription ; 0x093a
+ textpointer GolduckName ; 0x093b
+ textpointer PsyshockName ; 0x093c
+ textpointer HyperBeamName ; 0x093d
+ textpointer Discard1EnergyFromTargetDescription ; 0x093e
+ textpointer GolduckDescription ; 0x093f
+ textpointer PoliwagName ; 0x0940
+ textpointer WaterGunName ; 0x0941
+ textpointer PoliwagsWaterGunDescription ; 0x0942
+ textpointer PoliwagKind ; 0x0943
+ textpointer PoliwagDescription ; 0x0944
+ textpointer PoliwhirlName ; 0x0945
+ textpointer AmnesiaName ; 0x0946
+ textpointer PoliwhirlsAmnesiaDescription ; 0x0947
+ textpointer DoubleslapName ; 0x0948
+ textpointer PoliwhirlsDescription ; 0x0949
+ textpointer PoliwrathName ; 0x094a
+ textpointer PoliwrathsWaterGunDescription ; 0x094b
+ textpointer WhirlpoolName ; 0x094c
+ textpointer PoliwrathDescription ; 0x094d
+ textpointer TentacoolName ; 0x094e
+ textpointer CowardiceName ; 0x094f
+ textpointer CowardiceDescription ; 0x0950
+ textpointer TentacoolKind ; 0x0951
+ textpointer TentacoolDescription ; 0x0952
+ textpointer TentacruelName ; 0x0953
+ textpointer JellyfishStingName ; 0x0954
+ textpointer TentacruelDescription ; 0x0955
+ textpointer SeelName ; 0x0956
+ textpointer HeadbuttName ; 0x0957
+ textpointer SeelKind ; 0x0958
+ textpointer SeelDescription ; 0x0959
+ textpointer DewgongName ; 0x095a
+ textpointer AuroraBeamName ; 0x095b
+ textpointer IceBeamName ; 0x095c
+ textpointer DewgongDescription ; 0x095d
+ textpointer ShellderName ; 0x095e
+ textpointer HideInShellName ; 0x095f
+ textpointer HideInShellDescription ; 0x0960
+ textpointer ShellderKind ; 0x0961
+ textpointer ShellderDescription ; 0x0962
+ textpointer CloysterName ; 0x0963
+ textpointer ClampName ; 0x0964
+ textpointer ClampDescription ; 0x0965
+ textpointer SpikeCannonName ; 0x0966
+ textpointer CloysterDescription ; 0x0967
+ textpointer KrabbyName ; 0x0968
+ textpointer KrabbysCallForFamilyDescription ; 0x0969
+ textpointer KrabbyKind ; 0x096a
+ textpointer KrabbyDescription ; 0x096b
+ textpointer KinglerName ; 0x096c
+ textpointer FlailName ; 0x096d
+ textpointer KinglersFlailDescription ; 0x096e
+ textpointer CrabhammerName ; 0x096f
+ textpointer KinglerKind ; 0x0970
+ textpointer KinglerDescription ; 0x0971
+ textpointer HorseaName ; 0x0972
+ textpointer OpponentAttackMayDoNothingDescription ; 0x0973
+ textpointer HorseaKind ; 0x0974
+ textpointer HorseaDescription ; 0x0975
+ textpointer SeadraName ; 0x0976
+ textpointer SeadrasWaterGunDescription ; 0x0977
+ textpointer SeadrasAgilityDescription ; 0x0978
+ textpointer SeadraDescription ; 0x0979
+ textpointer GoldeenName ; 0x097a
+ textpointer HornAttackName ; 0x097b
+ textpointer GoldeenKind ; 0x097c
+ textpointer GoldeenDescription ; 0x097d
+ textpointer SeakingName ; 0x097e
+ textpointer WaterfallName ; 0x097f
+ textpointer SeakingDescription ; 0x0980
+ textpointer StaryuName ; 0x0981
+ textpointer SlapName ; 0x0982
+ textpointer StaryuKind ; 0x0983
+ textpointer StaryuDescription ; 0x0984
+ textpointer StarmieName ; 0x0985
+ textpointer RecoverName ; 0x0986
+ textpointer StarmiesRecoverDescription ; 0x0987
+ textpointer StarFreezeName ; 0x0988
+ textpointer StarmieKind ; 0x0989
+ textpointer StarmieDescription ; 0x098a
+ textpointer MagikarpName ; 0x098b
+ textpointer TackleName ; 0x098c
+ textpointer MagikarpsFlailDescription ; 0x098d
+ textpointer MagikarpKind ; 0x098e
+ textpointer MagikarpDescription ; 0x098f
+ textpointer GyaradosName ; 0x0990
+ textpointer DragonRageName ; 0x0991
+ textpointer BubblebeamName ; 0x0992
+ textpointer GyaradosKind ; 0x0993
+ textpointer GyaradosDescription ; 0x0994
+ textpointer LaprasName ; 0x0995
+ textpointer LaprasWaterGunDescription ; 0x0996
+ textpointer LaprasKind ; 0x0997
+ textpointer LaprasDescription ; 0x0998
+ textpointer VaporeonName ; 0x0999
+ textpointer FocusEnergyName ; 0x099a
+ textpointer FocusEnergyDescription ; 0x099b
+ textpointer VaporeonKind ; 0x099c
+ textpointer Vaporeon1Description ; 0x099d
+ textpointer VaporeonsWaterGunDescription ; 0x099e
+ textpointer Vaporeon2Description ; 0x099f
+ textpointer OmanyteName ; 0x09a0
+ textpointer MysteriousFossilName ; 0x09a1
+ textpointer ClairvoyanceName ; 0x09a2
+ textpointer ClairvoyanceDescription ; 0x09a3
+ textpointer OmanytesWaterGunDescription ; 0x09a4
+ textpointer OmanyteKind ; 0x09a5
+ textpointer OmanyteDescription ; 0x09a6
+ textpointer OmastarName ; 0x09a7
+ textpointer OmastarsWaterGunDescription ; 0x09a8
+ textpointer OmastarDescription ; 0x09a9
+ textpointer ArticunoName ; 0x09aa
+ textpointer FreezeDryName ; 0x09ab
+ textpointer BlizzardName ; 0x09ac
+ textpointer BlizzardDescription ; 0x09ad
+ textpointer ArticunoKind ; 0x09ae
+ textpointer Articuno1Description ; 0x09af
+ textpointer QuickfreezeName ; 0x09b0
+ textpointer QuickfreezeDescription ; 0x09b1
+ textpointer IceBreathName ; 0x09b2
+ textpointer IceBreathDescription ; 0x09b3
+ textpointer Articuno2Description ; 0x09b4
+ textpointer PikachuName ; 0x09b5
+ textpointer GnawName ; 0x09b6
+ textpointer ThunderJoltName ; 0x09b7
+ textpointer ThunderJoltDescription ; 0x09b8
+ textpointer PikachuKind ; 0x09b9
+ textpointer Pikachu1Description ; 0x09ba
+ textpointer SparkName ; 0x09bb
+ textpointer SparkDescription ; 0x09bc
+ textpointer Pikachu2Description ; 0x09bd
+ textpointer GrowlName ; 0x09be
+ textpointer GrowlDescription ; 0x09bf
+ textpointer ThundershockName ; 0x09c0
+ textpointer Pikachu3Description ; 0x09c1
+ textpointer FlyingPikachuName ; 0x09c2
+ textpointer FlyName ; 0x09c3
+ textpointer FlyDescription ; 0x09c4
+ textpointer FlyingPikachuDescription ; 0x09c5
+ textpointer SurfingPikachuName ; 0x09c6
+ textpointer SurfName ; 0x09c7
+ textpointer SurfingPikachuDescription ; 0x09c8
+ textpointer RaichuName ; 0x09c9
+ textpointer RaichusAgilityDescription ; 0x09ca
+ textpointer ThunderName ; 0x09cb
+ textpointer RaichusThunderDescription ; 0x09cc
+ textpointer Raichu1Description ; 0x09cd
+ textpointer GigashockName ; 0x09ce
+ textpointer GigashockDescription ; 0x09cf
+ textpointer Raichu2Description ; 0x09d0
+ textpointer MagnemiteName ; 0x09d1
+ textpointer ThunderWaveName ; 0x09d2
+ textpointer MagnemitesSelfdestructDescription ; 0x09d3
+ textpointer MagnemiteKind ; 0x09d4
+ textpointer Magnemite1Description ; 0x09d5
+ textpointer MagneticStormName ; 0x09d6
+ textpointer MagneticStormDescription ; 0x09d7
+ textpointer Magnemite2Description ; 0x09d8
+ textpointer MagnetonName ; 0x09d9
+ textpointer Magneton1sSelfdestructDescription ; 0x09da
+ textpointer Magneton1Description ; 0x09db
+ textpointer SonicboomName ; 0x09dc
+ textpointer SonicboomDescription ; 0x09dd
+ textpointer Magneton2sSelfdestructDescription ; 0x09de
+ textpointer Magneton2Description ; 0x09df
+ textpointer VoltorbName ; 0x09e0
+ textpointer VoltorbKind ; 0x09e1
+ textpointer VoltorbDescription ; 0x09e2
+ textpointer ElectrodeName ; 0x09e3
+ textpointer EnergySpikeName ; 0x09e4
+ textpointer EnergySpikeDescription ; 0x09e5
+ textpointer Electrode1Description ; 0x09e6
+ textpointer ChainLightningName ; 0x09e7
+ textpointer ChainLightningDescription ; 0x09e8
+ textpointer Electrode2Description ; 0x09e9
+ textpointer ElectabuzzName ; 0x09ea
+ textpointer LightScreenName ; 0x09eb
+ textpointer LightScreenDescription ; 0x09ec
+ textpointer LightScreenDescriptionCont ; 0x09ed
+ textpointer ElectabuzzsQuickAttackDescription ; 0x09ee
+ textpointer ElectabuzzKind ; 0x09ef
+ textpointer Electabuzz1Description ; 0x09f0
+ textpointer ThunderpunchName ; 0x09f1
+ textpointer ThunderpunchDescription ; 0x09f2
+ textpointer Electabuzz2Description ; 0x09f3
+ textpointer JolteonName ; 0x09f4
+ textpointer DoubleAttackX20Description ; 0x09f5
+ textpointer StunNeedleName ; 0x09f6
+ textpointer JolteonKind ; 0x09f7
+ textpointer Jolteon1Description ; 0x09f8
+ textpointer PinMissileName ; 0x09f9
+ textpointer QuadrupleAttackX20Description ; 0x09fa
+ textpointer Jolteon2Description ; 0x09fb
+ textpointer ZapdosName ; 0x09fc
+ textpointer ThunderstormName ; 0x09fd
+ textpointer ThunderstormDescription ; 0x09fe
+ textpointer Zapdos1Description ; 0x09ff
+ textpointer ZapdosThunderDescription ; 0x0a00
+ textpointer ThunderboltName ; 0x0a01
+ textpointer ThunderboltDescription ; 0x0a02
+ textpointer Zapdos2Description ; 0x0a03
+ textpointer PealOfThunderName ; 0x0a04
+ textpointer PealOfThunderDescription ; 0x0a05
+ textpointer BigThunderName ; 0x0a06
+ textpointer BigThunderDescription ; 0x0a07
+ textpointer Zapdos3Description ; 0x0a08
+ textpointer SandshrewName ; 0x0a09
+ textpointer SandAttackName ; 0x0a0a
+ textpointer SandshrewDescription ; 0x0a0b
+ textpointer SandslashName ; 0x0a0c
+ textpointer TripleAttackX20Description ; 0x0a0d
+ textpointer SandslashDescription ; 0x0a0e
+ textpointer DiglettName ; 0x0a0f
+ textpointer DigName ; 0x0a10
+ textpointer MudSlapName ; 0x0a11
+ textpointer DiglettKind ; 0x0a12
+ textpointer DiglettDescription ; 0x0a13
+ textpointer DugtrioName ; 0x0a14
+ textpointer EarthquakeName ; 0x0a15
+ textpointer EarthquakeDescription ; 0x0a16
+ textpointer DugtrioDescription ; 0x0a17
+ textpointer MankeyName ; 0x0a18
+ textpointer PeekName ; 0x0a19
+ textpointer PeekDescription ; 0x0a1a
+ textpointer PeekDescriptionCont ; 0x0a1b
+ textpointer MankeyKind ; 0x0a1c
+ textpointer MankeyDescription ; 0x0a1d
+ textpointer PrimeapeName ; 0x0a1e
+ textpointer TantrumName ; 0x0a1f
+ textpointer TantrumDescription ; 0x0a20
+ textpointer PrimeapeDescription ; 0x0a21
+ textpointer MachopName ; 0x0a22
+ textpointer LowKickName ; 0x0a23
+ textpointer MachopKindOrSuperpowerName ; 0x0a24
+ textpointer MachopDescription ; 0x0a25
+ textpointer MachokeName ; 0x0a26
+ textpointer KarateChopName ; 0x0a27
+ textpointer KarateChopDescription ; 0x0a28
+ textpointer SubmissionName ; 0x0a29
+ textpointer SubmissionDescription ; 0x0a2a
+ textpointer MachokeDescription ; 0x0a2b
+ textpointer MachampName ; 0x0a2c
+ textpointer StrikesBackName ; 0x0a2d
+ textpointer StrikesBackDescription ; 0x0a2e
+ textpointer StrikesBackDescriptionCont ; 0x0a2f
+ textpointer SeismicTossName ; 0x0a30
+ textpointer MachampDescription ; 0x0a31
+ textpointer GeodudeName ; 0x0a32
+ textpointer StoneBarrageName ; 0x0a33
+ textpointer StoneBarrageDescription ; 0x0a34
+ textpointer GeodudeKind ; 0x0a35
+ textpointer GeodudeDescription ; 0x0a36
+ textpointer GravelerName ; 0x0a37
+ textpointer HardenName ; 0x0a38
+ textpointer GravelersHardenDescription ; 0x0a39
+ textpointer RockThrowName ; 0x0a3a
+ textpointer GravelerDescription ; 0x0a3b
+ textpointer GolemName ; 0x0a3c
+ textpointer AvalancheName ; 0x0a3d
+ textpointer GolemsSelfdestructDescription ; 0x0a3e
+ textpointer GolemKind ; 0x0a3f
+ textpointer GolemDescription ; 0x0a40
+ textpointer OnixName ; 0x0a41
+ textpointer OnixsHardenDescription ; 0x0a42
+ textpointer OnixKind ; 0x0a43
+ textpointer OnixDescription ; 0x0a44
+ textpointer CuboneName ; 0x0a45
+ textpointer SnivelName ; 0x0a46
+ textpointer SnivelDescription ; 0x0a47
+ textpointer CubonesRageDescription ; 0x0a48
+ textpointer CuboneKind ; 0x0a49
+ textpointer CuboneDescription ; 0x0a4a
+ textpointer MarowakName ; 0x0a4b
+ textpointer BonemerangName ; 0x0a4c
+ textpointer CallforFriendName ; 0x0a4d
+ textpointer CallforFriendDescription ; 0x0a4e
+ textpointer MarowakKind ; 0x0a4f
+ textpointer Marowak1Description ; 0x0a50
+ textpointer BoneAttackName ; 0x0a51
+ textpointer BoneAttackDescription ; 0x0a52
+ textpointer WailName ; 0x0a53
+ textpointer WailDescription ; 0x0a54
+ textpointer Marowak2Description ; 0x0a55
+ textpointer HitmonleeName ; 0x0a56
+ textpointer StretchKickName ; 0x0a57
+ textpointer StretchKickDescription ; 0x0a58
+ textpointer HighJumpKickName ; 0x0a59
+ textpointer HitmonleeKind ; 0x0a5a
+ textpointer HitmonleeDescription ; 0x0a5b
+ textpointer HitmonchanName ; 0x0a5c
+ textpointer JabName ; 0x0a5d
+ textpointer SpecialPunch ; 0x0a5e
+ textpointer HitmonchanKind ; 0x0a5f
+ textpointer HitmonchanDescription ; 0x0a60
+ textpointer RhyhornName ; 0x0a61
+ textpointer LeerName ; 0x0a62
+ textpointer LeerDescription ; 0x0a63
+ textpointer RhyhornKind ; 0x0a64
+ textpointer RhyhornDescription ; 0x0a65
+ textpointer RhydonName ; 0x0a66
+ textpointer RamName ; 0x0a67
+ textpointer RamDescription ; 0x0a68
+ textpointer RamDescriptionCont ; 0x0a69
+ textpointer RhydonDescription ; 0x0a6a
+ textpointer KabutoName ; 0x0a6b
+ textpointer KabutoArmorName ; 0x0a6c
+ textpointer KabutoArmorDescription ; 0x0a6d
+ textpointer KabutoArmorDescriptionCont ; 0x0a6e
+ textpointer KabutoDescription ; 0x0a6f
+ textpointer KabutopsName ; 0x0a70
+ textpointer SharpSickleName ; 0x0a71
+ textpointer AbsorbName ; 0x0a72
+ textpointer AbsorbDescription ; 0x0a73
+ textpointer AbsorbDescriptionCont ; 0x0a74
+ textpointer KabutopsDescription ; 0x0a75
+ textpointer AerodactylName ; 0x0a76
+ textpointer PrehistoricPowerName ; 0x0a77
+ textpointer PrehistoricPowerDescription ; 0x0a78
+ textpointer AerodactylKind ; 0x0a79
+ textpointer AerodactylDescription ; 0x0a7a
+ textpointer AbraName ; 0x0a7b
+ textpointer AbraKind ; 0x0a7c
+ textpointer AbraDescription ; 0x0a7d
+ textpointer KadabraName ; 0x0a7e
+ textpointer KadabrasRecoverDescription ; 0x0a7f
+ textpointer SuperPsiName ; 0x0a80
+ textpointer KadabraDescription ; 0x0a81
+ textpointer AlakazamName ; 0x0a82
+ textpointer DamageSwapName ; 0x0a83
+ textpointer DamageSwapDescription ; 0x0a84
+ textpointer AlakazamDescription ; 0x0a85
+ textpointer SlowpokeName ; 0x0a86
+ textpointer SlowpokesAmnesiaDescription ; 0x0a87
+ textpointer SlowpokeKind ; 0x0a88
+ textpointer Slowpoke1Description ; 0x0a89
+ textpointer SpacingOutName ; 0x0a8a
+ textpointer SpacingOutDescription ; 0x0a8b
+ textpointer ScavengeName ; 0x0a8c
+ textpointer ScavengeDescription ; 0x0a8d
+ textpointer SlowbroName ; 0x0a8e
+ textpointer StrangeBehaviorName ; 0x0a8f
+ textpointer StrangeBehaviorDescription ; 0x0a90
+ textpointer SlowbroKind ; 0x0a91
+ textpointer SlowbroDescription ; 0x0a92
+ textpointer GastlyName ; 0x0a93
+ textpointer SleepingGasName ; 0x0a94
+ textpointer MayInflictSleepDescription ; 0x0a95
+ textpointer DestinyBondName ; 0x0a96
+ textpointer DestinyBondDescription ; 0x0a97
+ textpointer GastlyKind ; 0x0a98
+ textpointer Gastly1Description ; 0x0a99
+ textpointer LickName ; 0x0a9a
+ textpointer EnergyConversionName ; 0x0a9b
+ textpointer EnergyConversionDescription ; 0x0a9c
+ textpointer Gastly2Description ; 0x0a9d
+ textpointer HaunterName ; 0x0a9e
+ textpointer TransparencyName ; 0x0a9f
+ textpointer TransparencyDescription ; 0x0aa0
+ textpointer NightmareName ; 0x0aa1
+ textpointer HaunterDescription ; 0x0aa2
+ textpointer DreamEaterName ; 0x0aa3
+ textpointer DreamEaterDescription ; 0x0aa4
+ textpointer GengarName ; 0x0aa5
+ textpointer CurseName ; 0x0aa6
+ textpointer CurseDescription ; 0x0aa7
+ textpointer DarkMindName ; 0x0aa8
+ textpointer DarkMindDescription ; 0x0aa9
+ textpointer GengarKind ; 0x0aaa
+ textpointer GengarDescription ; 0x0aab
+ textpointer DrowzeeName ; 0x0aac
+ textpointer PoundName ; 0x0aad
+ textpointer DrowzeeDescription ; 0x0aae
+ textpointer HypnoName ; 0x0aaf
+ textpointer ProphecyName ; 0x0ab0
+ textpointer ProphecyDescription ; 0x0ab1
+ textpointer HypnoDescription ; 0x0ab2
+ textpointer MrMimeName ; 0x0ab3
+ textpointer InvisibleWallName ; 0x0ab4
+ textpointer InvisibleWallDescription ; 0x0ab5
+ textpointer InvisibleWallDescriptionCont ; 0x0ab6
+ textpointer MeditateName ; 0x0ab7
+ textpointer MrMimesMeditateDescription ; 0x0ab8
+ textpointer MrMimeKindOrBarrierName ; 0x0ab9
+ textpointer MrMimeDescription ; 0x0aba
+ textpointer JynxName ; 0x0abb
+ textpointer DoubleAttackX10Description ; 0x0abc
+ textpointer JynxsMeditateDescription ; 0x0abd
+ textpointer JynxKind ; 0x0abe
+ textpointer JynxDescription ; 0x0abf
+ textpointer MewtwoName ; 0x0ac0
+ textpointer PsychicName ; 0x0ac1
+ textpointer PsychicDescription ; 0x0ac2
+ textpointer BarrierDescription ; 0x0ac3
+ textpointer MewtwoKind ; 0x0ac4
+ textpointer Mewtwo1Description ; 0x0ac5
+ textpointer EnergyAbsorptionName ; 0x0ac6
+ textpointer EnergyAbsorptionDescription ; 0x0ac7
+ textpointer PsyburnName ; 0x0ac8
+ textpointer Mewtwo2Description ; 0x0ac9
+ textpointer MewName ; 0x0aca
+ textpointer NeutralizingShieldName ; 0x0acb
+ textpointer NeutralizingShieldDescription ; 0x0acc
+ textpointer MewKind ; 0x0acd
+ textpointer Mew1Description ; 0x0ace
+ textpointer MysteryAttackName ; 0x0acf
+ textpointer MysteryAttackDescription ; 0x0ad0
+ textpointer Mew2Description ; 0x0ad1
+ textpointer PsywaveName ; 0x0ad2
+ textpointer PsywaveDescription ; 0x0ad3
+ textpointer DevolutionBeamName ; 0x0ad4
+ textpointer DevolutionBeamDescription ; 0x0ad5
+ textpointer PidgeyName ; 0x0ad6
+ textpointer PidgeyKind ; 0x0ad7
+ textpointer PidgeyDescription ; 0x0ad8
+ textpointer PidgeottoName ; 0x0ad9
+ textpointer MirrorMoveName ; 0x0ada
+ textpointer PidgeottosMirrorMoveDescription ; 0x0adb
+ textpointer PidgeottoKind ; 0x0adc
+ textpointer PidgeottoDescription ; 0x0add
+ textpointer PidgeotName ; 0x0ade
+ textpointer SlicingWindName ; 0x0adf
+ textpointer SlicingWildDescription ; 0x0ae0
+ textpointer GaleName ; 0x0ae1
+ textpointer GaleDescription ; 0x0ae2
+ textpointer Pidgeot1Description ; 0x0ae3
+ textpointer HurricaneName ; 0x0ae4
+ textpointer HurricaneDescription ; 0x0ae5
+ textpointer Pidgeot2Description ; 0x0ae6
+ textpointer RattataName ; 0x0ae7
+ textpointer RattataKind ; 0x0ae8
+ textpointer RattataDescription ; 0x0ae9
+ textpointer RaticateName ; 0x0aea
+ textpointer SuperFangName ; 0x0aeb
+ textpointer SuperFangDescription ; 0x0aec
+ textpointer RaticateDescription ; 0x0aed
+ textpointer SpearowName ; 0x0aee
+ textpointer PeckName ; 0x0aef
+ textpointer SpearowsMirrorMoveDescription ; 0x0af0
+ textpointer SpearowDescription ; 0x0af1
+ textpointer FearowName ; 0x0af2
+ textpointer FearowsAgilityDescription ; 0x0af3
+ textpointer DrillPeckName ; 0x0af4
+ textpointer FearowKind ; 0x0af5
+ textpointer FearowDescription ; 0x0af6
+ textpointer ClefairyName ; 0x0af7
+ textpointer SingName ; 0x0af8
+ textpointer MetronomeName ; 0x0af9
+ textpointer ClefairysMetronomeDescription ; 0x0afa
+ textpointer ClefairyKind ; 0x0afb
+ textpointer ClefairyDescription ; 0x0afc
+ textpointer ClefableName ; 0x0afd
+ textpointer ClefablesMetronomeDescription ; 0x0afe
+ textpointer ClefablesMinimizeDescription ; 0x0aff
+ textpointer ClefableDescription ; 0x0b00
+ textpointer JigglypuffName ; 0x0b01
+ textpointer FirstAidName ; 0x0b02
+ textpointer FirstAidDescription ; 0x0b03
+ textpointer DoubleEdgeName ; 0x0b04
+ textpointer JigglypuffsDoubleEdgeDescription ; 0x0b05
+ textpointer JigglypuffKind ; 0x0b06
+ textpointer Jigglypuff1Description ; 0x0b07
+ textpointer FriendshipSongName ; 0x0b08
+ textpointer FriendshipSongDescription ; 0x0b09
+ textpointer ExpandName ; 0x0b0a
+ textpointer ExpandDescription ; 0x0b0b
+ textpointer Jigglypuff2Description ; 0x0b0c
+ textpointer LullabyName ; 0x0b0d
+ textpointer Jigglypuff3Description ; 0x0b0e
+ textpointer WigglytuffName ; 0x0b0f
+ textpointer DoTheWaveName ; 0x0b10
+ textpointer DoTheWaveDescription ; 0x0b11
+ textpointer WigglytuffDescription ; 0x0b12
+ textpointer MeowthName ; 0x0b13
+ textpointer CatPunchName ; 0x0b14
+ textpointer CatPunchDescription ; 0x0b15
+ textpointer MeowthKind ; 0x0b16
+ textpointer Meowth1Description ; 0x0b17
+ textpointer PayDayName ; 0x0b18
+ textpointer PayDayDescription ; 0x0b19
+ textpointer Meowth2Description ; 0x0b1a
+ textpointer PersianName ; 0x0b1b
+ textpointer PounceName ; 0x0b1c
+ textpointer PounceDescription ; 0x0b1d
+ textpointer PersianKind ; 0x0b1e
+ textpointer PersianDescription ; 0x0b1f
+ textpointer FarfetchdName ; 0x0b20
+ textpointer LeekSlapName ; 0x0b21
+ textpointer LeekSlapDescription ; 0x0b22
+ textpointer PotSmashName ; 0x0b23
+ textpointer FarfetchdKind ; 0x0b24
+ textpointer FarfetchdDescription ; 0x0b25
+ textpointer DoduoName ; 0x0b26
+ textpointer FuryAttackName ; 0x0b27
+ textpointer DoduoKind ; 0x0b28
+ textpointer DoduoDescription ; 0x0b29
+ textpointer DodrioName ; 0x0b2a
+ textpointer RetreatAidName ; 0x0b2b
+ textpointer RetreatAidDescription ; 0x0b2c
+ textpointer DodriosRageDescription ; 0x0b2d
+ textpointer DodrioKind ; 0x0b2e
+ textpointer DodrioDescription ; 0x0b2f
+ textpointer LickitungName ; 0x0b30
+ textpointer TongueWrapName ; 0x0b31
+ textpointer LickitungKind ; 0x0b32
+ textpointer LickitungDescription ; 0x0b33
+ textpointer ChanseyName ; 0x0b34
+ textpointer ScrunchName ; 0x0b35
+ textpointer ScrunchDescription ; 0x0b36
+ textpointer ChanseysDoubleEdgeDescription ; 0x0b37
+ textpointer ChanseyDescription ; 0x0b38
+ textpointer KangaskhanName ; 0x0b39
+ textpointer FetchName ; 0x0b3a
+ textpointer FetchDescription ; 0x0b3b
+ textpointer CometPunchName ; 0x0b3c
+ textpointer KangaskhanKind ; 0x0b3d
+ textpointer KangaskhanDescription ; 0x0b3e
+ textpointer TaurosName ; 0x0b3f
+ textpointer RampageName ; 0x0b40
+ textpointer RampageDescription ; 0x0b41
+ textpointer TaurosKind ; 0x0b42
+ textpointer TaurosDescription ; 0x0b43
+ textpointer DittoName ; 0x0b44
+ textpointer MorphName ; 0x0b45
+ textpointer MorphDescription ; 0x0b46
+ textpointer MorphDescriptionCont ; 0x0b47
+ textpointer DittoKind ; 0x0b48
+ textpointer DittoDescription ; 0x0b49
+ textpointer TailWagName ; 0x0b4a
+ textpointer TailWagDescription ; 0x0b4b
+ textpointer EeveeKind ; 0x0b4c
+ textpointer EeveeDescription ; 0x0b4d
+ textpointer PorygonName ; 0x0b4e
+ textpointer Conversion1Name ; 0x0b4f
+ textpointer Conversion1Description ; 0x0b50
+ textpointer Conversion2Name ; 0x0b51
+ textpointer Conversion2Description ; 0x0b52
+ textpointer PorygonKind ; 0x0b53
+ textpointer PorygonDescription ; 0x0b54
+ textpointer SnorlaxName ; 0x0b55
+ textpointer ThickSkinnedName ; 0x0b56
+ textpointer ThickSkinnedDescription ; 0x0b57
+ textpointer BodySlamName ; 0x0b58
+ textpointer SnorlaxKind ; 0x0b59
+ textpointer SnorlaxDescription ; 0x0b5a
+ textpointer DratiniName ; 0x0b5b
+ textpointer DratiniDescription ; 0x0b5c
+ textpointer DragonairName ; 0x0b5d
+ textpointer SlamName ; 0x0b5e
+ textpointer DragonairDescription ; 0x0b5f
+ textpointer DragoniteName ; 0x0b60
+ textpointer HealingWindName ; 0x0b61
+ textpointer HealingWindDescription ; 0x0b62
+ textpointer Dragonite1Description ; 0x0b63
+ textpointer StepInName ; 0x0b64
+ textpointer StepInDescription ; 0x0b65
+ textpointer DoubleAttackX40Description ; 0x0b66
+ textpointer DragoniteDescription ; 0x0b67
+ textpointer ProfessorOakName ; 0x0b68
+ textpointer ProfessorOakDescription ; 0x0b69
+ textpointer ImposterProfessorOakName ; 0x0b6a
+ textpointer ImposterProfessorOakDescription ; 0x0b6b
+ textpointer BillName ; 0x0b6c
+ textpointer BillDescription ; 0x0b6d
+ textpointer MrFujiName ; 0x0b6e
+ textpointer MrFujiDescription ; 0x0b6f
+ textpointer LassName ; 0x0b70
+ textpointer LassDescription ; 0x0b71
+ textpointer ImakuniName ; 0x0b72
+ textpointer ImakuniDescription ; 0x0b73
+ textpointer PokemonTraderName ; 0x0b74
+ textpointer PokemonTraderDescription ; 0x0b75
+ textpointer PokemonBreederName ; 0x0b76
+ textpointer PokemonBreederDescription ; 0x0b77
+ textpointer ClefairyDollName ; 0x0b78
+ textpointer ClefairyDollDescription ; 0x0b79
+ textpointer ClefairyDollDescriptionCont ; 0x0b7a
+ textpointer MysteriousFossilDescription ; 0x0b7b
+ textpointer MysteriousFossilDescriptionCont ; 0x0b7c
+ textpointer EnergyRetrievalName ; 0x0b7d
+ textpointer EnergyRetrievalDescription ; 0x0b7e
+ textpointer SuperEnergyRetrievalName ; 0x0b7f
+ textpointer SuperEnergyRetrievalDescription ; 0x0b80
+ textpointer EnergySearchName ; 0x0b81
+ textpointer EnergySearchDescription ; 0x0b82
+ textpointer EnergyRemovalName ; 0x0b83
+ textpointer EnergyRemovalDescription ; 0x0b84
+ textpointer SuperEnergyRemovalName ; 0x0b85
+ textpointer SuperEnergyRemovalDescription ; 0x0b86
+ textpointer SwitchName ; 0x0b87
+ textpointer SwitchDescription ; 0x0b88
+ textpointer PokemonCenterName ; 0x0b89
+ textpointer PokemonCenterDescription ; 0x0b8a
+ textpointer PokeBallName ; 0x0b8b
+ textpointer PokeBallDescription ; 0x0b8c
+ textpointer ScoopUpName ; 0x0b8d
+ textpointer ScoopUpDescription ; 0x0b8e
+ textpointer ComputerSearchName ; 0x0b8f
+ textpointer ComputerSearchDescription ; 0x0b90
+ textpointer PokedexName ; 0x0b91
+ textpointer PokedexDescription ; 0x0b92
+ textpointer PlusPowerName ; 0x0b93
+ textpointer PlusPowerDescription ; 0x0b94
+ textpointer DefenderName ; 0x0b95
+ textpointer DefenderDescription ; 0x0b96
+ textpointer ItemFinderName ; 0x0b97
+ textpointer ItemFinderDescription ; 0x0b98
+ textpointer GustOfWindName ; 0x0b99
+ textpointer GustOfWindDescription ; 0x0b9a
+ textpointer DevolutionSprayName ; 0x0b9b
+ textpointer DevolutionSprayDescription ; 0x0b9c
+ textpointer DevolutionSprayDescriptionCont ; 0x0b9d
+ textpointer PotionName ; 0x0b9e
+ textpointer PotionDescription ; 0x0b9f
+ textpointer SuperPotionName ; 0x0ba0
+ textpointer SuperPotionDescription ; 0x0ba1
+ textpointer FullHealName ; 0x0ba2
+ textpointer FullHealDescription ; 0x0ba3
+ textpointer ReviveName ; 0x0ba4
+ textpointer ReviveDescription ; 0x0ba5
+ textpointer MaintenanceName ; 0x0ba6
+ textpointer MaintenanceDescription ; 0x0ba7
+ textpointer PokemonFluteName ; 0x0ba8
+ textpointer PokemonFluteDescription ; 0x0ba9
+ textpointer GamblerName ; 0x0baa
+ textpointer GamblerDescription ; 0x0bab
+ textpointer RecycleName ; 0x0bac
+ textpointer RecycleDescription ; 0x0bad
diff --git a/src/vram.asm b/src/vram.asm
index b4a34b2..7adca0a 100644
--- a/src/vram.asm
+++ b/src/vram.asm
@@ -1,10 +1,21 @@
-SECTION "VRAM", VRAM
+SECTION "VRAM0", VRAM
-vTiles0:: ds $800 ; 8000
-vTiles1:: ds $800 ; 8800
-vTiles2:: ds $800 ; 9000
+v0Tiles0:: ds $800 ; 8000
+v0Tiles1:: ds $800 ; 8800
+v0Tiles2:: ds $800 ; 9000
-vBGMapTiles:: ds $400 ; 9800
-vBGMapAttrs:: ds $400 ; 9c00
+v0BGMapTiles1:: ds $400 ; 9800
+v0BGMapTiles2:: ds $400 ; 9c00
-vEnd:: ; a000
+v0End:: ; a000
+
+SECTION "VRAM1", VRAM
+
+v1Tiles0:: ds $800 ; 8000
+v1Tiles1:: ds $800 ; 8800
+v1Tiles2:: ds $800 ; 9000
+
+v1BGMapTiles1:: ds $400 ; 9800
+v1BGMapTiles2:: ds $400 ; 9c00
+
+v1End:: ; a000
diff --git a/src/wram.asm b/src/wram.asm
index 4431587..b100a57 100755..100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -3,7 +3,7 @@ INCLUDE "constants.asm"
INCLUDE "vram.asm"
-SECTION "WRAM 0", WRAM0
+SECTION "WRAM0", WRAM0
wTempCardCollection:: ; c000
ds $100
@@ -12,11 +12,17 @@ wTempCardCollection:: ; c000
SECTION "WRAM Duels 1", WRAM0
-wPlayerDuelVariables:: ; c200
-
; In order to be identified during a duel, the 60 cards of each duelist are given an index between 0 and 59.
-; These indexes are assigned following the internal order of the cards that make up the deck.
-; This temporary index identifies the card during the current duel and within the duelist's deck.
+; These indexes are assigned following the order of the card list in wPlayerDeck or wOpponentDeck,
+; which, in turn, follows the internal order of the cards.
+; This temporary index of a card identifies the card within the duelist's deck during an ongoing duel.
+
+; Terminology used in labels and comments:
+; - The deck index, or the index within the deck of a card refers to the identifier mentioned just above,
+; that is, its temporary position in the wPlayerDeck or wOpponentDeck card list during the current duel.
+; - The card ID is its actual internal identifier, that is, its number from card_constants.asm.
+
+wPlayerDuelVariables:: ; c200
; 60-byte array that indicates where each of the 60 cards is.
; $00 - deck
@@ -34,26 +40,29 @@ wPlayerCardLocations:: ; c200
wPlayerHand:: ; c242
ds DECK_SIZE
-; 60-byte array that maps each card to its position in the deck.
+; 60-byte array that maps each card to its position in the deck or anywhere else
; This array is initialized to 00, 01, 02, ..., 59, until deck is shuffled.
+; Cards in the discard pile go first, cards still in the deck go last, and others go in-between.
wPlayerDeckCards:: ; c27e
ds DECK_SIZE
-; Stores x = (60 - deck remaining cards)
-; The first x cards in the wPlayerDeckCards array are no longer in the drawable deck this duel
-; The top card of the player's deck is at wPlayerDeckCards + [wPlayerNumberOfCardsNotInDeck]
+; Stores x = (60 - deck remaining cards).
+; The first x cards in the wPlayerDeckCards array are no longer in the drawable deck this duel.
+; The top card of the player's deck is at wPlayerDeckCards + [wPlayerNumberOfCardsNotInDeck].
wPlayerNumberOfCardsNotInDeck:: ; c2ba
ds $1
; Which card is in player's side of the field, as number 0 to 59
+; -1 indicates no pokemon
wPlayerArenaCard:: ; c2bb
ds $1
-; Which cards are in player's bench, as numbers 0 to 59
+; Which cards are in player's bench, as numbers 0 to 59, plus an $ff (-1) terminator
+; -1 indicates no pokemon
wPlayerBench:: ; c2bc
- ds BENCH_SIZE
+ ds MAX_BENCH_POKEMON + 1
- ds $7
+ ds $6
wPlayerArenaCardHP:: ; c2c8
ds $1
@@ -68,7 +77,35 @@ wPlayerBench4CardHP:: ; c2cc
wPlayerBench5CardHP:: ; c2cd
ds $1
- ds $19
+wPlayerArenaCardStage:: ; c2ce
+ ds $1
+wPlayerBench1CardStage:: ; c2cf
+ ds $1
+wPlayerBench2CardStage:: ; c2d0
+ ds $1
+wPlayerBench3CardStage:: ; c2d1
+ ds $1
+wPlayerBench4CardStage:: ; c2d2
+ ds $1
+wPlayerBench5CardStage:: ; c2d3
+ ds $1
+
+; changed type from Venomoth's Shift Pokemon Power
+; if bit 7 == 1, then bits 0-3 override the Pokemon's actual type
+wPlayerArenaCardChangedType:: ; c2d4
+ ds $1
+wPlayerBench1CardChangedType:: ; c2d5
+ ds $1
+wPlayerBench2CardChangedType:: ; c2d6
+ ds $1
+wPlayerBench3CardChangedType:: ; c2d7
+ ds $1
+wPlayerBench4CardChangedType:: ; c2d8
+ ds $1
+wPlayerBench5CardChangedType:: ; c2d9
+ ds $1
+
+ ds $d
wPlayerArenaCardSubstatus1:: ; c2e7
ds $1
@@ -76,13 +113,15 @@ wPlayerArenaCardSubstatus1:: ; c2e7
wPlayerArenaCardSubstatus2:: ; c2e8
ds $1
-wPlayerArenaCardSubstatus3:: ; c2e9
+; changed weakness from Conversion 1
+wPlayerArenaCardChangedWeakness:: ; c2e9
ds $1
-wPlayerArenaCardSubstatus4:: ; c2ea
+; changed resistance from Conversion 2
+wPlayerArenaCardChangedResistance:: ; c2ea
ds $1
-wPlayerArenaCardSubstatus5:: ; c2eb
+wPlayerArenaCardSubstatus3:: ; c2eb
ds $1
; Each bit represents a prize (1 = not taken ; 0 = taken)
@@ -134,9 +173,9 @@ wOpponentArenaCard:: ; c3bb
ds $1
wOpponentBench:: ; c3bc
- ds BENCH_SIZE
+ ds MAX_BENCH_POKEMON + 1
- ds $7
+ ds $6
wOpponentArenaCardHP:: ; c3c8
ds $1
@@ -151,7 +190,33 @@ wOpponentBench4CardHP:: ; c3cc
wOpponentBench5CardHP:: ; c3cd
ds $1
- ds $19
+wOpponentArenaCardStage:: ; c3ce
+ ds $1
+wOpponentBench1CardStage:: ; c3cf
+ ds $1
+wOpponentBench2CardStage:: ; c3d0
+ ds $1
+wOpponentBench3CardStage:: ; c3d1
+ ds $1
+wOpponentBench4CardStage:: ; c3d2
+ ds $1
+wOpponentBench5CardStage:: ; c3d3
+ ds $1
+
+wOpponentArenaCardChangedType:: ; c2d4
+ ds $1
+wOpponentBench1CardChangedType:: ; c2d5
+ ds $1
+wOpponentBench2CardChangedType:: ; c2d6
+ ds $1
+wOpponentBench3CardChangedType:: ; c2d7
+ ds $1
+wOpponentBench4CardChangedType:: ; c2d8
+ ds $1
+wOpponentBench5CardChangedType:: ; c2d9
+ ds $1
+
+ ds $d
wOpponentArenaCardSubstatus1:: ; c3e7
ds $1
@@ -159,13 +224,13 @@ wOpponentArenaCardSubstatus1:: ; c3e7
wOpponentArenaCardSubstatus2:: ; c3e8
ds $1
-wOpponentArenaCardSubstatus3:: ; c3e9
+wOpponentArenaCardChangedWeakness:: ; c3e9
ds $1
-wOpponentArenaCardSubstatus4:: ; c3ea
+wOpponentArenaCardChangedResistance:: ; c3ea
ds $1
-wOpponentArenaCardSubstatus5:: ; c3eb
+wOpponentArenaCardSubstatus3:: ; c3eb
ds $1
wOpponentPrizes:: ; c3ec
@@ -214,15 +279,17 @@ ENDU
wOpponentDeck:: ; c480
ds $80
+wc500:: ; c500
ds $10
-; this holds a list of cards (e.g. in hand or in bench) or the attack list of a pokemon card
-wDuelCardOrAttackList:: ; c510
+; this holds an $ff-terminated list of card deck indexes (e.g. cards in hand or in bench)
+; or (less often) the attack list of a Pokemon card
+wDuelTempList:: ; c510
ds $80
-; this appears to be kept updated with some default text that is used
+; this is kept updated with some default text that is used
; when the text printing functions are called with text id $0000
-wc590:: ; c590
+wDefaultText:: ; c590
ds $70
SECTION "WRAM Text Engine", WRAM0
@@ -241,7 +308,7 @@ wc900:: ; c900
SECTION "WRAM Engine 1", WRAM0
-wBufOAM:: ; ca00
+wOAM:: ; ca00
ds $a0
wcaa0:: ; caa0
@@ -347,20 +414,45 @@ wcad4:: ; cad4
wcad5:: ; cad5
ds $1
- ds $8
+wcad6:: ; cad6
+ ds $2
+
+wcad8:: ; cad8
+ ds $1
+
+wcad9:: ; cad9
+ ds $1
+
+wcada:: ; cada
+ ds $1
+
+wcadb:: ; cadb
+ ds $1
+
+wcadc:: ; cadc
+ ds $1
+
+wcadd:: ; cadd
+ ds $1
wcade:: ; cade
- ds $4
+ ds $1
-wcae2:: ; cae2
- ds $e
+ ds $1
-wBufPalette:: ; caf0
- ds $80
+wTempSGBPacket:: ; cae0
+ ds $10
+
+; temporal CGB palette data buffer to eventually save into BGPD or OBPD registers.
+wBackgroundPalettesCGB:: ; caf0
+ ds 8 * CGB_PAL_SIZE
+
+wObjectPalettesCGB:: ; cb30
+ ds 8 * CGB_PAL_SIZE
ds $4
-SECTION "WRAM Serial transfer bytes", WRAM0
+SECTION "WRAM Serial Transfer", WRAM0
wSerialOp:: ; cb74
ds $1
@@ -406,7 +498,7 @@ wcba3:: ; cba3
wSerialRecvIndex:: ; cba4
ds $1
-wSerialRecvBuf:: ; cba5 - cbc4
+wSerialRecvBuf:: ; cba5
ds $20
ds $1
@@ -427,14 +519,17 @@ wCardPageNumber:: ; cbc7
ds $1
+; 2-byte something
wcbc9:: ; cbc9
ds $2
+; selected bench slot (1-5, that is, a PLAY_AREA_BENCH_* constant)
wBenchSelectedPokemon:: ; cbcb
ds $1
ds $2
+; used in CheckIfEnoughEnergies for the calculation
wAttachedEnergiesAccum:: ; cbce
ds $1
@@ -446,22 +541,36 @@ wSelectedDuelSubMenuItem:: ; cbcf
wSelectedDuelSubMenuScrollOffset:: ; cbd0
ds $1
- ds $14
+ ds $5
-wcbe5:: ; cbe5
+wcbd6:: ; cbd6
ds $1
-wcbe6:: ; cbe6
+ ds $a
+
+wcbe1:: ; cbe1
ds $1
+wcbe2:: ; cbe2
+ ds $3
+
+wcbe5:: ; cbe5
+ ds $2
+
wcbe7:: ; cbe7
- ds $6
+ ds $1
+
+ ds $5
wcbed:: ; cbed
- ds $c
+ ds $8
+
+ ds $4
wcbf9:: ; cbf9
- ds $b
+ ds $1
+
+ ds $a
wcc04:: ; cc04
ds $1
@@ -469,7 +578,8 @@ wcc04:: ; cc04
wcc05:: ; cc05
ds $1
-wcc06:: ; cc06
+; number of turns taken by both players
+wDuelTurns:: ; cc06
ds $1
; 0 = no one has won duel yet
@@ -494,13 +604,14 @@ wAlreadyPlayedEnergy:: ; cc0b
wcc0c:: ; cc0c
ds $1
-wcc0d:: ; cc0d
+; DUELIST_TYPE_* of the turn holder
+wDuelistType:: ; cc0d
ds $1
; this seems to hold the current opponent's deck id - 2,
; perhaps to account for the two unused pointers at the
; beginning of DeckPointers
-wOpponentDeckId:: ; cc0e
+wOpponentDeckID:: ; cc0e
ds $1
ds $1
@@ -517,16 +628,15 @@ wcc12:: ; cc12
wIsPracticeDuel:: ; cc13
ds $1
+wcc14:: ; cc14
ds $1
-wcc15:: ; cc15
+wOpponentPortrait:: ; cc15
ds $1
-wcc16:: ; cc16
- ds $1
-
-wcc17:: ; cc17
- ds $1
+; text id of the opponent's name
+wOpponentName:: ; cc16
+ ds $2
wcc18:: ; cc18
ds $1
@@ -561,27 +671,28 @@ wDamage:: ; ccb9
ds $2
; wccbb and wccbc appear to be used for AI scoring
-wccbb::
+wccbb:: ; ccbb
ds $1
-wccbc::
+wccbc:: ; ccbc
ds $1
ds $2
-wccbf:: ; ccbf
+wTempDamage_ccbf:: ; ccbf
ds $2
-wccc1:: ; ccc1
+wDamageEffectiveness:: ; ccc1
ds $1
-wTempCardId:: ; ccc2
+; used in damage related functions
+wTempCardID_ccc2:: ; ccc2
ds $1
-wTempTurnDuelistCardId:: ; ccc3
+wTempTurnDuelistCardID:: ; ccc3
ds $1
-wTempNonTurnDuelistCardId:: ; ccc4
+wTempNonTurnDuelistCardID:: ; ccc4
ds $1
ds $1
@@ -594,26 +705,40 @@ wSelectedMoveIndex:: ; ccc6
wNoDamageOrEffect:: ; ccc7
ds $2
+; set to 1 if the coin toss in the confusion check is heads (CheckSelfConfusionDamage)
wccc9:: ; ccc9
- ds $4
+ ds $1
+
+ ds $3
wcccd:: ; cccd
ds $1
+; some array used in effect functions with wcccd as the index. unknown length
wccce:: ; ccce
ds $18
-wcce6:: ; cce6
- ds $5
+; this is 1 (non-0) if dealing damage to self due to confusion
+wDamageToSelfMode:: ; cce6
+ ds $1
+
+ ds $2
-wcceb:: ; cceb
+; used in CopyDeckData
+wcce9:: ; cce9
+ ds $2
+
+wTempPlayAreaLocationOffset_cceb:: ; cceb
ds $1
wccec:: ; ccec
ds $1
wcced:: ; cced
- ds $2
+ ds $1
+
+wccee:: ; ccee
+ ds $1
wccef:: ; ccef
ds $1
@@ -632,10 +757,16 @@ SECTION "WRAM Engine 2", WRAM0
; color/pattern of the text box border. Values between 0-7?. Interpreted differently depending on console type
; Note that this doesn't appear to be a selectable option, just changes with the situation.
; For example the value 4 seems to be used a lot during duels.
-wFrameType:: ; ccf3
+wTextBoxFrameType:: ; ccf3
ds $1
- ds $10
+wccf4:: ; ccf4
+ ds $1
+
+wccf5:: ; ccf5
+ ds $1
+
+ ds $e
wcd04:: ; cd04
ds $1
@@ -692,22 +823,27 @@ wTileBehindCursor:: ; cd16
ds $1
wcd17:: ; cd17
- ds 2
+ ds $2
ds $7f
+; x coord of the leftmost item in a horizontal menu
wLeftmostItemCursorX:: ; cd98
ds $1
+; used in RefreshMenuCursor_CheckPlaySFX to play a sound during any frame when this address is non-0
wRefreshMenuCursorSFX:: ; cd99
ds $1
wcd9a:: ; cd9a
- ds $2
+ ds $1
+
+ ds $1
wcd9c:: ; cd9c
ds $1
+; this stores the result from a coin toss (number of heads)
wcd9d:: ; cd9d
ds $1
@@ -715,31 +851,83 @@ wcd9e:: ; cd9e
ds $1
wcd9f:: ; cd9f
- ds $83
+ ds $1
-; During a duel, this is always $b after the first attack.
-; $b is the bank where the functions associated to card or effect commands are.
-; Its only purpose seems to be store this value to be read by TryExecuteEffectCommandFunction.
-wce22:: ; ce22
- ds $1d
+ ds $5
-wce3f:: ; cd3f
+wcda5:: ; cda5
ds $1
-wce40:: ; ce40
+wcda6:: ; cda6
ds $1
-wce41:: ; ce41
+wcda7:: ; cda7
ds $1
-wce42:: ; ce42
+ ds $33
+
+wcddb:: ; cddb
ds $1
-wce43:: ; ce43
+wcddc:: ; cddc
ds $1
-wce44:: ; ce44
- ds $3
+ ds $26
+
+wce03:: ; ce03
+ ds $1
+
+ ds $12
+
+wce16:: ; ce16
+ ds $1
+
+wce17:: ; ce17
+ ds $1
+
+wce18:: ; ce18
+ ds $1
+
+wce19:: ; ce19
+ ds $1
+
+ ds $6
+
+wce20:: ; ce20
+ ds $1
+
+wce21:: ; ce21
+ ds $1
+
+; During a duel, this is always $b after the first attack.
+; $b is the bank where the functions associated to card or effect commands are.
+; Its only purpose seems to be store this value to be read by TryExecuteEffectCommandFunction.
+wce22:: ; ce22
+ ds $1
+
+; LoadCardGfx loads the card's palette here
+wce23:: ; ce23
+ ds CGB_PAL_SIZE
+
+wce2b:: ; ce2b
+ ds $1
+
+ ds $13
+
+; text pointer for the first TX_RAM2 of a text
+; prints from wDefaultText if $0000
+wTxRam2:: ; cd3f
+ ds $2
+
+; text pointer for the second TX_RAM2 on a text
+wTxRam2_b:: ; ce41
+ ds $2
+
+; a number between 0 and 65535 for TX_RAM3
+wTxRam3:: ; ce43
+ ds $2
+
+ ds $2
; when printing text, number of frames to wait between each text tile
wTextSpeed:: ; ce47
@@ -755,25 +943,63 @@ wce4a:: ; ce4a
ds $1
wce4b:: ; ce4b
- ds $3
+ ds $1
-wCoinTossScreenTextId:: ; ce4e
+wce4c:: ; ce4c
+ ds $2
+
+wCoinTossScreenTextID:: ; ce4e
ds $2
wce50:: ; ce50
ds $1
wce51:: ; ce51
- ds $8
+ ds $1
-wce59:: ; ce59
ds $7
+wce59:: ; ce59
+ ds $1
+
+ ds $4
+
+wce5e:: ; ce5e
+ ds $1
+
+ ds $1
+
wce60:: ; ce60
- ds $3
+ ds $1
+
+ ds $2
wce63:: ; ce63
- ds $9
+ ds $1
+
+wce64:: ; ce64
+ ds $1
+
+wce65:: ; ce65
+ ds $1
+
+wce66:: ; ce66
+ ds $1
+
+wce67:: ; ce67
+ ds $1
+
+wce68:: ; ce68
+ ds $1
+
+wce69:: ; ce69
+ ds $1
+
+wce6a:: ; ce6a
+ ds $1
+
+wce6b:: ; ce6b
+ ds $1
wce6c:: ; ce6c
ds $1
@@ -785,13 +1011,36 @@ wce6e:: ; ce6e
ds $1
wce6f:: ; ce6f
- ds $d
+ ds $1
-wce7c:: ; ce7c
- ds $27
+wce70:: ; ce70
+ ds $1
+
+wce71:: ; ce71
+ ds $1
+
+ ds $a
+
+; used in CountPokemonIDInPlayArea
+wTempPokemonID_ce7e:: ; ce7c
+ ds $1
+
+ ds $24
+
+wcea1:: ; cea1
+ ds $1
+
+ ds $1
wcea3:: ; cea3
- ds $c
+ ds $1
+
+ ds $5
+
+wcea9:: ; cea9
+ ds $1
+
+ ds $5
wceaf:: ; ceaf
ds $1
@@ -812,29 +1061,100 @@ wceb4:: ; ceb4
ds $1
wceb5:: ; ceb5
- ds $17
+ ds $1
+
+ ds $5
+
+wcebb:: ; cebb
+ ds $1
+
+ ds $10
wcecc:: ; cecc
- ds $9c
+ ds $1
-wHandCardBuffer:: ; cf68
- ds $51
+ ds $1
+
+wcece:: ; cece
+ ds $2
+
+ ds $47
+
+; used in bank2, probably related to wTempHandCardList (another temp list?)
+wcf17:: ; cf17
+ ds DECK_SIZE
+
+ ds $15
+
+; used by Func_200e5, AI related
+wTempHandCardList:: ; cf68
+ ds DECK_SIZE
+
+ ds $15
wcfb9:: ; cfb9
- ds $2a
+ ds $1
+
+ ds $17
+
+wcfd1:: ; cfd1
+ ds $1
+
+ ds $8
+
+wcfda:: ; cfda
+ ds $2
+
+ ds $7
wcfe3:: ; cfe3
+ ds $1
+
+ ds $1c
SECTION "WRAM1", WRAMX
- ds $a9
+
+ ds $d
+
+wd00d:: ; d00d
+ ds $1
+
+ ds $78
+
+wd086:: ; d086
+ ds $1
+
+wd087:: ; d087
+ ds $1
+
+wd088:: ; d088
+ ds $1
+
+ ds $19
+
+wd0a2:: ; d0a2
+ ds $2
+
+wd0a4:: ; d0a4
+ ds $1
+
+wd0a5:: ; d0a5
+ ds $1
+
+ ds $3
wd0a9:: ; d0a9
- ds $b
+ ds $1
+
+wd0aa:: ; d0aa
+ ds $1
+
+ ds $9
wd0b4:: ; d0b4
ds $1
-wd0b5:: ; d0b5
+wGameEvent:: ; d0b5
ds $1
wSCX:: ; d0b6
@@ -901,7 +1221,10 @@ wd0ca:: ; d0ca
ds $1
wd0cb:: ; d0cb
- ds $41
+ ds $1
+
+wd0cc:: ; d0cc
+ ds 8 * CGB_PAL_SIZE
wd10c:: ; d10c
ds $1
@@ -937,10 +1260,14 @@ wd116:: ; d116
ds $1
wd117:: ; d117
- ds $4
+ ds $1
+
+ ds $3
wd11b:: ; d11b
- ds $2
+ ds $1
+
+ ds $1
wPCPackSelection:: ; d11d
ds $1
@@ -954,7 +1281,13 @@ wPCPacks:: ; d11e
wPCLastDirectionPressed:: ; d12d
ds $1
- ds $3
+ ds $1
+
+wd12f:: ; d12f
+ ds $1
+
+wd130:: ; d130
+ ds $1
wd131:: ; d131
ds $1
@@ -962,10 +1295,19 @@ wd131:: ; d131
wd132:: ; d132
ds $1
+UNION
+
wBoosterViableCardList:: ; d133
-wFloorObjectMap:: ; map of the current room with unpassable objects (walls, NPCs, etc). Might be a permission map
ds $100
+NEXTU
+
+; map of the current room with unpassable objects (walls, NPCs, etc). Might be a permission map
+wFloorObjectMap::
+ ds $100
+
+ENDU
+
wd233:: ; d233
ds $1
@@ -982,7 +1324,26 @@ wd237:: ; d237
ds $1
wd238:: ; d238
- ds $57
+ ds $1
+
+ ds $1
+
+wd23a:: ; d23a
+ ds $1
+
+wd23b:: ; d23b
+ ds $1
+
+wd23c:: ; d23c
+ ds $1
+
+wd23d:: ; d23d
+ ds $1
+
+wd23e:: ; d23e
+ ds $1
+
+ ds $50
wd28f:: ; d28f
ds $1
@@ -991,13 +1352,20 @@ wd290:: ; d290
ds $1
wd291:: ; d291
- ds $92
+ ds $1
+
+wd292:: ; d292
+ ds $1
+
+ ds $90
wd323:: ; d323
ds $1
wd324:: ; d324
- ds $a
+ ds $1
+
+ ds $9
wd32e:: ; d32e
ds $1
@@ -1030,7 +1398,13 @@ wd337:: ; d337
ds $1
wd338:: ; d338
- ds $3
+ ds $1
+
+wd339:: ; d339
+ ds $1
+
+wd33a:: ; d33a
+ ds $1
wd33b:: ; d33b
ds $1
@@ -1051,7 +1425,9 @@ wd340:: ; d340
ds $1
wd341:: ; d341
- ds $2
+ ds $1
+
+ ds $1
wd343:: ; d343
ds $1
@@ -1069,13 +1445,28 @@ wd347:: ; d347
ds $1
wd348:: ; d348
- ds $62
+ ds $1
+
+wd349:: ; d349
+ ds $1
+
+wd34a:: ; d34a
+ ds $60
wd3aa:: ; d3aa
ds $1
wd3ab:: ; d3ab
- ds $4
+ ds $1
+
+wd3ac:: ; d3ac
+ ds $1
+
+wd3ad:: ; d3ad
+ ds $1
+
+wd3ae:: ; d3ae
+ ds $1
wd3af:: ; d3af
ds $1
@@ -1087,13 +1478,29 @@ wd3b1:: ; d3b1
ds $1
wd3b2:: ; d3b2
- ds $4
+ ds $1
+
+wd3b3:: ; d3b3
+ ds $1
-wd3b6:: ; d3b6
ds $2
+wd3b6:: ; d3b6
+ ds $1
+
+wc3b7:: ; d3b7
+ ds $1
+
wd3b8:: ; d3b8
- ds $18
+ ds $1
+
+wd3b9:: ; d3b9
+ ds $2
+
+wd3bb:: ; d3bb
+ ds $1
+
+ ds $14
wd3d0:: ; d3d0
ds $1
@@ -1114,7 +1521,16 @@ wBreakOWScriptLoop:: ; d412
wOWScriptPointer:: ; d413
ds $2
- ds $8
+wd415:: ; d415
+ ds $1
+
+wd416:: ; d416
+ ds $1
+
+wd417:: ; d417
+ ds $1
+
+ ds $5
wd41d:: ; d41d
ds $1
@@ -1132,16 +1548,33 @@ wd421:: ; d421
ds $1
wd422:: ; d422
- ds $8
+ ds $1
+
+wd423:: ; d423
+ ds $7
wd42a:: ; d42a
- ds $82
+ ds $1
+
+ ds $81
wd4ac:: ; d4ac
- ds $12
+ ds $1
+
+wd4ad:: ; d4ad
+ ds $1
+
+ ds $10
wd4be:: ; d4be
- ds $4
+ ds $1
+
+ ds $1
+
+wd4c0:: ; d4c0
+ ds $1
+
+ ds $1
wd4c2:: ; d4c2
ds $1
@@ -1162,39 +1595,73 @@ wd4c7:: ; d4c7
ds $1
wd4c8:: ; d4c8
- ds $2
+ ds $1
+
+ ds $1
wd4ca:: ; d4ca
ds $1
wd4cb:: ; d4cb
- ds $4
-
-; some sort of control bit for the OAMBuffer
-wd4cf:: ; d4cf
ds $1
-; this might be more of an animation buffer as I can't find any properties like which tile sprites go where.
-wOAMBuffer:: ; d4d0
- ds $103
+ ds $3
+
+; used as an index to manipulate a sprite from wSpriteAnimBuffer
+wWhichSprite:: ; d4cf
+ ds $1
+
+; 16-byte data for up to 16 sprites
+wSpriteAnimBuffer:: ; d4d0
+ sprite_anim_struct wSprite1
+ sprite_anim_struct wSprite2
+ sprite_anim_struct wSprite3
+ sprite_anim_struct wSprite4
+ sprite_anim_struct wSprite5
+ sprite_anim_struct wSprite6
+ sprite_anim_struct wSprite7
+ sprite_anim_struct wSprite8
+ sprite_anim_struct wSprite9
+ sprite_anim_struct wSprite10
+ sprite_anim_struct wSprite11
+ sprite_anim_struct wSprite12
+ sprite_anim_struct wSprite13
+ sprite_anim_struct wSprite14
+ sprite_anim_struct wSprite15
+ sprite_anim_struct wSprite16
+
+ ds $3
wd5d3:: ; d5d3
- ds $4
+ ds $1
+
+ ds $3
wd5d7:: ; d5d7
- ds $41
+ ds $1
+
+wd5d8:: ; d5d8
+ ds $40
wd618:: ; d618
- ds $3
+ ds $1
+
+ ds $2
wd61b:: ; d61b
- ds $3
+ ds $1
+
+ ds $2
wd61e:: ; d61e
- ds $6
+ ds $1
+
+ ds $5
wd624:: ; d624
- ds $2
+ ds $1
+
+ ds $1
wd626:: ; d626
ds $1
@@ -1203,29 +1670,45 @@ wd627:: ; d627
ds $1
wd628:: ; d628
- ds $b
+ ds $1
+
+ ds $a
wd633:: ; d633
- ds $2
+ ds $1
+
+ ds $1
wd635:: ; d635
- ds $34
+ ds $1
+
+wd636:: ; d635
+ ds $1
-wBoosterIndex:: ; d669
+ ds $32
+
+; which BoosterPack_* corresponds to the booster pack that the player is opening
+wBoosterPackID:: ; d669
ds $1
-wBoosterTempCard:: ; d66a
+; card being currently processed by the booster pack engine functions
+wBoosterCurrentCard:: ; d66a
ds $1
-wBoosterSelectedCardType:: ; d66b
+; booster card type of the card that has just been drawn from the pack
+wBoosterJustDrawnCardType:: ; d66b
ds $1
-wBoosterCurRarity:: ; d66c
+; rarity of the cards being currently generated (non-energy cards are generated ordered by rarity)
+wBoosterCurrentRarity:: ; d66c
ds $1
+; the averaged value of all values in wBoosterDataTypeChances
+; used to recalculate the chances of a booster card type when a card of said type is drawn from the pack
wBoosterAveragedTypeChances:: ; d66d
ds $1
+; data of the booster pack copied from the corresponding BoosterSetRarityAmountsTable entry
wBoosterDataCommonAmount:: ; d66e
ds $1
@@ -1235,12 +1718,16 @@ wBoosterDataUncommonAmount:: ; d66f
wBoosterDataRareAmount:: ; d670
ds $1
+; how many cards of each type are available of a certain rarity in the booster pack's set
wBoosterAmountOfCardTypeTable:: ; d671
ds NUM_BOOSTER_CARD_TYPES
-wBoosterTempTypeChanceTable:: ; d67a
+; holds information similar to wBoosterDataTypeChances, except that it contains 00 on any type
+; of which there are no cards remaining in the set for the current rarity
+wBoosterTempTypeChancesTable:: ; d67a
ds NUM_BOOSTER_CARD_TYPES
+; properties of the card being currently processed by the booster pack engine functions
wBoosterCurrentCardType:: ; d683
ds $1
@@ -1250,6 +1737,8 @@ wBoosterCurrentCardRarity:: ; d684
wBoosterCurrentCardSet:: ; d685
ds $1
+; data of the booster pack copied from the corresponding BoosterPack_* structure.
+; wBoosterDataTypeChances is updated after each card is drawn, to re-balance the type chances.
wBoosterDataSet:: ; d686
ds $1
@@ -1259,7 +1748,24 @@ wBoosterDataEnergyFunctionPointer:: ; d687
wBoosterDataTypeChances:: ; d689
ds NUM_BOOSTER_CARD_TYPES
- ds $6ee
+ ds $1
+
+wd693:: ; d693
+ ds $1
+
+wd694:: ; d694
+ ds $1
+
+wd695:: ; d695
+ ds $1
+
+wd696:: ; d696
+ ds $1
+
+wd697:: ; d697
+ ds $1
+
+ ds $6e8
SECTION "WRAM Music", WRAMX
@@ -1287,7 +1793,9 @@ wMusicDuty1:: ; dd86
ds $1
wMusicDuty2:: ; dd87
- ds $3
+ ds $1
+
+ ds $2
wMusicWave:: ; dd8a
ds $1
@@ -1334,7 +1842,9 @@ wddab:: ; ddab
ds $1
wddac:: ; ddac
- ds $3
+ ds $1
+
+ ds $2
wMusicOctave:: ; ddaf
ds $4
diff --git a/tcg.link b/tcg.link
index 99b1866..9ec553d 100644
--- a/tcg.link
+++ b/tcg.link
@@ -156,11 +156,11 @@ ROMX $3e
ROMX $3f
"Audio 3"
WRAM0
- "WRAM 0"
+ "WRAM0"
"WRAM Duels 1"
"WRAM Text Engine"
"WRAM Engine 1"
- "WRAM Serial transfer bytes"
+ "WRAM Serial Transfer"
"WRAM Duels 2"
"WRAM Engine 2"
WRAMX 1
@@ -168,6 +168,8 @@ WRAMX 1
"WRAM Music"
"WRAM Sfx"
VRAM $00
- "VRAM"
+ "VRAM0"
+VRAM $01
+ "VRAM1"
SRAM $00
- "Working Cards"
+ "SRAM"