diff options
Diffstat (limited to 'src')
-rw-r--r--[-rwxr-xr-x] | src/audio.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/music1.asm | 90 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/music1_headers.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/music2.asm | 84 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/music2_headers.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/noise_instruments.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/sfx.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/sfx_headers.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/vibrato_types.asm | 46 | ||||
-rw-r--r--[-rwxr-xr-x] | src/audio/wave_instruments.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants.asm | 19 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/booster_constants.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/card_constants.asm | 0 | ||||
-rw-r--r-- | src/constants/card_data_constants.asm | 141 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/deck_constants.asm | 0 | ||||
-rw-r--r-- | src/constants/duel_constants.asm | 119 | ||||
-rw-r--r-- | src/constants/gfx_constants.asm | 41 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/map_constants.asm | 0 | ||||
-rw-r--r-- | src/constants/misc_constants.asm | 21 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/music_constants.asm | 62 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/npc_constants.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/overworld_script_constants.asm | 0 | ||||
-rw-r--r-- | src/constants/sgb_constants.asm | 13 | ||||
-rw-r--r--[-rwxr-xr-x] | src/constants/text_constants.asm | 20 | ||||
-rw-r--r-- | src/data/booster_packs.asm | 720 | ||||
-rw-r--r--[-rwxr-xr-x] | src/data/cards.asm | 54 | ||||
-rw-r--r--[-rwxr-xr-x] | src/data/decks.asm | 0 | ||||
-rw-r--r-- | src/data/effect_commands.asm | 16 | ||||
-rw-r--r--[-rwxr-xr-x] | src/data/map_scripts.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/data/map_songs.asm | 20 | ||||
-rw-r--r--[-rwxr-xr-x] | src/data/overworld_indexes.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank1.asm | 785 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank1c.asm | 68 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank2.asm | 294 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank20.asm | 78 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank3.asm | 338 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank4.asm | 258 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank5.asm | 94 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank6.asm | 52 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank7.asm | 26 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/bank8.asm | 60 | ||||
-rw-r--r-- | src/engine/booster_packs.asm | 355 | ||||
-rw-r--r-- | src/engine/effect_functions.asm | 52 | ||||
-rw-r--r--[-rwxr-xr-x] | src/engine/home.asm | 3773 | ||||
-rw-r--r-- | src/gfx.asm | 253 | ||||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/colosseum1.png (renamed from src/gfx/boosterpacks/colosseum1.png) | bin | 1175 -> 1175 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/colosseum2.t10.png (renamed from src/gfx/boosterpacks/colosseum2.t10.png) | bin | 1033 -> 1033 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/evolution1.png (renamed from src/gfx/boosterpacks/evolution1.png) | bin | 1191 -> 1191 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/evolution2.t10.png (renamed from src/gfx/boosterpacks/evolution2.t10.png) | bin | 1068 -> 1068 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/laboratory1.png (renamed from src/gfx/boosterpacks/laboratory1.png) | bin | 1206 -> 1206 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/laboratory2.t10.png (renamed from src/gfx/boosterpacks/laboratory2.t10.png) | bin | 1068 -> 1068 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/mystery1.png (renamed from src/gfx/boosterpacks/mystery1.png) | bin | 1259 -> 1259 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/mystery2.t10.png (renamed from src/gfx/boosterpacks/mystery2.t10.png) | bin | 1136 -> 1136 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/booster_packs/oam.png (renamed from src/gfx/boosterpacks/boosterpack_oam.png) | bin | 355 -> 355 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cardpop/cardpop1.t3.png (renamed from src/gfx/cardpop1.t3.png) | bin | 1452 -> 1452 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cardpop/cardpop2.t3.png (renamed from src/gfx/cardpop2.t3.png) | bin | 803 -> 803 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cardpop/cardpop3.t3.png (renamed from src/gfx/cardpop3.t3.png) | bin | 784 -> 784 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/abra.8x6.png | bin | 745 -> 745 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/aerodactyl.8x6.png | bin | 759 -> 759 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/alakazam.8x6.png | bin | 755 -> 755 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/arbok.8x6.png | bin | 831 -> 831 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/arcanine1.8x6.png | bin | 760 -> 760 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/arcanine2.8x6.png | bin | 772 -> 772 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/articuno1.8x6.png | bin | 793 -> 793 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/articuno2.8x6.png | bin | 795 -> 795 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/beedrill.8x6.png | bin | 825 -> 825 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/bellsprout.8x6.png | bin | 775 -> 775 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/bill.8x6.png | bin | 519 -> 519 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/blastoise.8x6.png | bin | 737 -> 737 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/bulbasaur.8x6.png | bin | 830 -> 830 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/butterfree.8x6.png | bin | 808 -> 808 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/caterpie.8x6.png | bin | 801 -> 801 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/chansey.8x6.png | bin | 764 -> 764 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/charizard.8x6.png | bin | 801 -> 801 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/charmander.8x6.png | bin | 744 -> 744 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/charmeleon.8x6.png | bin | 745 -> 745 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/clefable.8x6.png | bin | 702 -> 702 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/clefairy.8x6.png | bin | 683 -> 683 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/clefairydoll.8x6.png | bin | 631 -> 631 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/cloyster.8x6.png | bin | 752 -> 752 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/computersearch.8x6.png | bin | 731 -> 731 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/cubone.8x6.png | bin | 675 -> 675 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/defender.8x6.png | bin | 478 -> 478 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/devolutionspray.8x6.png | bin | 481 -> 481 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dewgong.8x6.png | bin | 775 -> 775 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/diglett.8x6.png | bin | 662 -> 662 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/ditto.8x6.png | bin | 593 -> 593 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dodrio.8x6.png | bin | 662 -> 662 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/doduo.8x6.png | bin | 618 -> 618 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/doublecolorlessenergy.8x6.png | bin | 538 -> 538 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dragonair.8x6.png | bin | 755 -> 755 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dragonite1.8x6.png | bin | 659 -> 659 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dragonite2.8x6.png | bin | 775 -> 775 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dratini.8x6.png | bin | 730 -> 730 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/drowzee.8x6.png | bin | 732 -> 732 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/dugtrio.8x6.png | bin | 657 -> 657 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/eevee.8x6.png | bin | 784 -> 784 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/ekans.8x6.png | bin | 770 -> 770 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/electabuzz1.8x6.png | bin | 704 -> 704 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/electabuzz2.8x6.png | bin | 616 -> 616 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/electrode1.8x6.png | bin | 732 -> 732 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/electrode2.8x6.png | bin | 688 -> 688 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/energyremoval.8x6.png | bin | 651 -> 651 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/energyretrieval.8x6.png | bin | 479 -> 479 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/energysearch.8x6.png | bin | 596 -> 596 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/exeggcute.8x6.png | bin | 756 -> 756 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/exeggutor.8x6.png | bin | 783 -> 783 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/farfetchd.8x6.png | bin | 718 -> 718 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/fearow.8x6.png | bin | 725 -> 725 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/fightingenergy.8x6.png | bin | 514 -> 514 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/fireenergy.8x6.png | bin | 558 -> 558 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/flareon1.8x6.png | bin | 844 -> 844 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/flareon2.8x6.png | bin | 808 -> 808 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/flyingpikachu.8x6.png | bin | 633 -> 633 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/fullheal.8x6.png | bin | 561 -> 561 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gambler.8x6.png | bin | 449 -> 449 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gastly1.8x6.png | bin | 612 -> 612 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gastly2.8x6.png | bin | 744 -> 744 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gengar.8x6.png | bin | 664 -> 664 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/geodude.8x6.png | bin | 810 -> 810 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gloom.8x6.png | bin | 622 -> 622 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/golbat.8x6.png | bin | 795 -> 795 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/goldeen.8x6.png | bin | 766 -> 766 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/golduck.8x6.png | bin | 816 -> 816 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/golem.8x6.png | bin | 809 -> 809 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/grassenergy.8x6.png | bin | 597 -> 597 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/graveler.8x6.png | bin | 836 -> 836 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/grimer.8x6.png | bin | 698 -> 698 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/growlithe.8x6.png | bin | 673 -> 673 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gustofwind.8x6.png | bin | 775 -> 775 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/gyarados.8x6.png | bin | 734 -> 734 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/haunter1.8x6.png | bin | 594 -> 594 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/haunter2.8x6.png | bin | 470 -> 470 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/hitmonchan.8x6.png | bin | 772 -> 772 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/hitmonlee.8x6.png | bin | 704 -> 704 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/horsea.8x6.png | bin | 703 -> 703 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/hypno.8x6.png | bin | 715 -> 715 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/imakuni.8x6.png | bin | 708 -> 708 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/imposterprofessoroak.8x6.png | bin | 658 -> 658 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/itemfinder.8x6.png | bin | 468 -> 468 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/ivysaur.8x6.png | bin | 785 -> 785 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/jigglypuff1.8x6.png | bin | 751 -> 751 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/jigglypuff2.8x6.png | bin | 648 -> 648 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/jigglypuff3.8x6.png | bin | 710 -> 710 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/jolteon1.8x6.png | bin | 725 -> 725 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/jolteon2.8x6.png | bin | 778 -> 778 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/jynx.8x6.png | bin | 638 -> 638 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/kabuto.8x6.png | bin | 736 -> 736 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/kabutops.8x6.png | bin | 691 -> 691 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/kadabra.8x6.png | bin | 608 -> 608 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/kakuna.8x6.png | bin | 760 -> 760 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/kangaskhan.8x6.png | bin | 757 -> 757 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/kingler.8x6.png | bin | 767 -> 767 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/koffing.8x6.png | bin | 802 -> 802 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/krabby.8x6.png | bin | 676 -> 676 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/lapras.8x6.png | bin | 639 -> 639 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/lass.8x6.png | bin | 621 -> 621 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/lickitung.8x6.png | bin | 813 -> 813 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/lightningenergy.8x6.png | bin | 537 -> 537 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/machamp.8x6.png | bin | 776 -> 776 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/machoke.8x6.png | bin | 709 -> 709 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/machop.8x6.png | bin | 728 -> 728 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magikarp.8x6.png | bin | 813 -> 813 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magmar1.8x6.png | bin | 712 -> 712 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magmar2.8x6.png | bin | 794 -> 794 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magnemite1.8x6.png | bin | 652 -> 652 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magnemite2.8x6.png | bin | 650 -> 650 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magneton1.8x6.png | bin | 736 -> 736 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/magneton2.8x6.png | bin | 663 -> 663 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/maintenance.8x6.png | bin | 467 -> 467 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mankey.8x6.png | bin | 797 -> 797 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/marowak1.8x6.png | bin | 731 -> 731 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/marowak2.8x6.png | bin | 763 -> 763 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/meowth1.8x6.png | bin | 794 -> 794 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/meowth2.8x6.png | bin | 773 -> 773 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/metapod.8x6.png | bin | 675 -> 675 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mew1.8x6.png | bin | 767 -> 767 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mew2.8x6.png | bin | 754 -> 754 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mew3.8x6.png | bin | 699 -> 699 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mewtwo1.8x6.png | bin | 659 -> 659 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mewtwo2.8x6.png | bin | 695 -> 695 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mewtwo3.8x6.png | bin | 788 -> 788 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/moltres1.8x6.png | bin | 790 -> 790 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/moltres2.8x6.png | bin | 796 -> 796 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mrfuji.8x6.png | bin | 746 -> 746 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mrmime.8x6.png | bin | 709 -> 709 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/muk.8x6.png | bin | 738 -> 738 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/mysteriousfossil.8x6.png | bin | 717 -> 717 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/nidoking.8x6.png | bin | 810 -> 810 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/nidoqueen.8x6.png | bin | 752 -> 752 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/nidoranf.8x6.png | bin | 769 -> 769 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/nidoranm.8x6.png | bin | 714 -> 714 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/nidorina.8x6.png | bin | 723 -> 723 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/nidorino.8x6.png | bin | 834 -> 834 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/ninetails1.8x6.png | bin | 760 -> 760 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/ninetails2.8x6.png | bin | 670 -> 670 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/oddish.8x6.png | bin | 708 -> 708 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/omanyte.8x6.png | bin | 792 -> 792 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/omastar.8x6.png | bin | 810 -> 810 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/onix.8x6.png | bin | 762 -> 762 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/paras.8x6.png | bin | 779 -> 779 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/parasect.8x6.png | bin | 813 -> 813 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/persian.8x6.png | bin | 690 -> 690 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pidgeot1.8x6.png | bin | 782 -> 782 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pidgeot2.8x6.png | bin | 749 -> 749 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pidgeotto.8x6.png | bin | 675 -> 675 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pidgey.8x6.png | bin | 611 -> 611 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pikachu1.8x6.png | bin | 728 -> 728 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pikachu2.8x6.png | bin | 754 -> 754 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pikachu3.8x6.png | bin | 675 -> 675 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pikachu4.8x6.png | bin | 753 -> 753 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pinsir.8x6.png | bin | 745 -> 745 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pluspower.8x6.png | bin | 531 -> 531 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pokeball.8x6.png | bin | 549 -> 549 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pokedex.8x6.png | bin | 750 -> 750 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pokemonbreeder.8x6.png | bin | 616 -> 616 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pokemoncenter.8x6.png | bin | 529 -> 529 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pokemonflute.8x6.png | bin | 582 -> 582 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/pokemontrader.8x6.png | bin | 697 -> 697 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/poliwag.8x6.png | bin | 764 -> 764 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/poliwhirl.8x6.png | bin | 761 -> 761 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/poliwrath.8x6.png | bin | 773 -> 773 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/ponyta.8x6.png | bin | 668 -> 668 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/porygon.8x6.png | bin | 619 -> 619 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/potion.8x6.png | bin | 508 -> 508 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/primeape.8x6.png | bin | 756 -> 756 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/professoroak.8x6.png | bin | 738 -> 738 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/psychicenergy.8x6.png | bin | 536 -> 536 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/psyduck.8x6.png | bin | 782 -> 782 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/raichu1.8x6.png | bin | 771 -> 771 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/raichu2.8x6.png | bin | 789 -> 789 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/rapidash.8x6.png | bin | 686 -> 686 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/raticate.8x6.png | bin | 702 -> 702 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/rattata.8x6.png | bin | 748 -> 748 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/recycle.8x6.png | bin | 554 -> 554 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/revive.8x6.png | bin | 603 -> 603 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/rhydon.8x6.png | bin | 781 -> 781 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/rhyhorn.8x6.png | bin | 725 -> 725 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/sandshrew.8x6.png | bin | 776 -> 776 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/sandslash.8x6.png | bin | 789 -> 789 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/scoopup.8x6.png | bin | 726 -> 726 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/scyther.8x6.png | bin | 720 -> 720 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/seadra.8x6.png | bin | 789 -> 789 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/seaking.8x6.png | bin | 782 -> 782 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/seel.8x6.png | bin | 759 -> 759 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/shellder.8x6.png | bin | 693 -> 693 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/slowbro.8x6.png | bin | 757 -> 757 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/slowpoke1.8x6.png | bin | 721 -> 721 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/slowpoke2.8x6.png | bin | 359 -> 359 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/snorlax.8x6.png | bin | 675 -> 675 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/spearow.8x6.png | bin | 781 -> 781 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/squirtle.8x6.png | bin | 775 -> 775 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/starmie.8x6.png | bin | 599 -> 599 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/staryu.8x6.png | bin | 627 -> 627 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/superenergyremoval.8x6.png | bin | 602 -> 602 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/superenergyretrieval.8x6.png | bin | 743 -> 743 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/superpotion.8x6.png | bin | 666 -> 666 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/surfingpikachu1.8x6.png | bin | 603 -> 603 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/surfingpikachu2.8x6.png | bin | 694 -> 694 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/switch.8x6.png | bin | 544 -> 544 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/tangela1.8x6.png | bin | 808 -> 808 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/tangela2.8x6.png | bin | 774 -> 774 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/tauros.8x6.png | bin | 774 -> 774 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/tentacool.8x6.png | bin | 763 -> 763 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/tentacruel.8x6.png | bin | 755 -> 755 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/vaporeon1.8x6.png | bin | 697 -> 697 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/vaporeon2.8x6.png | bin | 760 -> 760 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/venomoth.8x6.png | bin | 784 -> 784 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/venonat.8x6.png | bin | 680 -> 680 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/venusaur1.8x6.png | bin | 731 -> 731 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/venusaur2.8x6.png | bin | 801 -> 801 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/victreebel.8x6.png | bin | 736 -> 736 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/vileplume.8x6.png | bin | 662 -> 662 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/voltorb.8x6.png | bin | 583 -> 583 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/vulpix.8x6.png | bin | 620 -> 620 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/wartortle.8x6.png | bin | 759 -> 759 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/waterenergy.8x6.png | bin | 501 -> 501 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/weedle.8x6.png | bin | 808 -> 808 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/weepinbell.8x6.png | bin | 763 -> 763 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/weezing.8x6.png | bin | 736 -> 736 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/wigglytuff.8x6.png | bin | 639 -> 639 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/zapdos1.8x6.png | bin | 705 -> 705 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/zapdos2.8x6.png | bin | 662 -> 662 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/zapdos3.8x6.png | bin | 585 -> 585 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/cards/zubat.8x6.png | bin | 777 -> 777 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/companies.png | bin | 310 -> 310 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/0.png | bin | 186 -> 186 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/1.png | bin | 144 -> 144 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/10.png | bin | 1052 -> 1052 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/11.png | bin | 374 -> 374 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/12.png | bin | 206 -> 206 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/13.png | bin | 200 -> 200 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/14.png | bin | 378 -> 378 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/15.png | bin | 414 -> 414 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/16.png | bin | 184 -> 184 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/17.png | bin | 577 -> 577 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/18.png | bin | 332 -> 332 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/19.png | bin | 428 -> 428 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/2.png | bin | 187 -> 187 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/20.png | bin | 177 -> 177 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/21.png | bin | 222 -> 222 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/22.png | bin | 422 -> 422 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/23.png | bin | 201 -> 201 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/24.png | bin | 511 -> 511 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/25.png | bin | 542 -> 542 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/26.png | bin | 243 -> 243 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/27.png | bin | 764 -> 764 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/28.png | bin | 193 -> 193 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/29.png | bin | 212 -> 212 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/3.png | bin | 207 -> 207 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/30.png | bin | 368 -> 368 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/31.png | bin | 194 -> 194 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/32.png | bin | 479 -> 479 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/33.png | bin | 186 -> 186 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/34.png | bin | 183 -> 183 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/35.png | bin | 380 -> 380 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/36.png | bin | 164 -> 164 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/37.png | bin | 200 -> 200 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/38.png | bin | 272 -> 272 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/39.png | bin | 317 -> 317 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/4.png | bin | 277 -> 277 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/40.png | bin | 223 -> 223 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/41.png | bin | 293 -> 293 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/42.png | bin | 155 -> 155 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/43.png | bin | 191 -> 191 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/44.png | bin | 205 -> 205 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/45.png | bin | 123 -> 123 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/46.png | bin | 157 -> 157 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/47.png | bin | 277 -> 277 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/48.png | bin | 118 -> 118 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/49.png | bin | 111 -> 111 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/5.png | bin | 212 -> 212 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/50.png | bin | 364 -> 364 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/51.t10.png | bin | 552 -> 552 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/52.png | bin | 192 -> 192 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/53.png | bin | 149 -> 149 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/54.png | bin | 284 -> 284 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/55.png (renamed from src/gfx/unnamed/1.png) | bin | 114 -> 114 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/56.png (renamed from src/gfx/unnamed/2.png) | bin | 85 -> 85 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/57.png (renamed from src/gfx/unnamed/3.png) | bin | 90 -> 90 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/58.png (renamed from src/gfx/duel/poison.png) | bin | 94 -> 94 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/59.png (renamed from src/gfx/unnamed/4.png) | bin | 120 -> 120 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/6.png | bin | 316 -> 316 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/60.png (renamed from src/gfx/unnamed/5.png) | bin | 97 -> 97 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/61.png (renamed from src/gfx/unnamed/6.png) | bin | 95 -> 95 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/62.png (renamed from src/gfx/unnamed/7.png) | bin | 85 -> 85 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/63.png (renamed from src/gfx/unnamed/8.png) | bin | 199 -> 199 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/64.png (renamed from src/gfx/unnamed/9.png) | bin | 102 -> 102 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/65.png (renamed from src/gfx/unnamed/10.png) | bin | 183 -> 183 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/66.png (renamed from src/gfx/unnamed/11.png) | bin | 135 -> 135 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/7.png | bin | 609 -> 609 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/8.png | bin | 293 -> 293 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/9.png | bin | 462 -> 462 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/box_messages.png (renamed from src/gfx/duel/duel2.png) | bin | 1081 -> 1081 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duel/duel_graphics.t5.png (renamed from src/gfx/duel/duel1.t5.png) | bin | 3283 -> 3283 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/aaron.png | bin | 399 -> 399 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/adam.png | bin | 432 -> 432 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/amanda.png | bin | 442 -> 442 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/amy.png | bin | 555 -> 555 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/andrew.png | bin | 447 -> 447 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/brandon.png | bin | 451 -> 451 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/brittany.png | bin | 404 -> 404 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/chris.png | bin | 466 -> 466 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/courtney.png | bin | 540 -> 540 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/daniel.png | bin | 473 -> 473 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/david.png | bin | 491 -> 491 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/erik.png | bin | 435 -> 435 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/gene.png | bin | 562 -> 562 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/heather.png | bin | 400 -> 400 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/imakuni.png | bin | 454 -> 454 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/isaac.png | bin | 521 -> 521 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/jack.png | bin | 465 -> 465 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/jennifer.png | bin | 462 -> 462 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/jessica.png | bin | 524 -> 524 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/john.png | bin | 391 -> 391 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/jonathan.png | bin | 440 -> 440 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/joseph.png | bin | 397 -> 397 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/joshua.png | bin | 383 -> 383 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/ken.png | bin | 511 -> 511 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/kristin.png | bin | 437 -> 437 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/matthew.png | bin | 480 -> 480 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/michael.png | bin | 414 -> 414 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/mitch.png | bin | 510 -> 510 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/murray.png | bin | 488 -> 488 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/nicholas.png | bin | 438 -> 438 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/nikki.png | bin | 551 -> 551 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/player.png | bin | 444 -> 444 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/rick.png | bin | 512 -> 512 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/robert.png | bin | 408 -> 408 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/rod.png | bin | 586 -> 586 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/ronald.png | bin | 528 -> 528 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/ryan.png | bin | 403 -> 403 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/sam.png | bin | 412 -> 412 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/sara.png | bin | 428 -> 428 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/stephanie.png | bin | 412 -> 412 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/duelists/steve.png | bin | 536 -> 536 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/fonts.t3.png | bin | 7972 -> 7972 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/medals.png | bin | 699 -> 699 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_map.t15.png | bin | 2176 -> 2176 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_map_oam.png (renamed from src/gfx/ow_map_oam.png) | bin | 174 -> 174 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/0.png (renamed from src/gfx/ow/sprite0.png) | bin | 282 -> 282 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/1.png (renamed from src/gfx/ow/sprite1.png) | bin | 254 -> 254 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/10.png (renamed from src/gfx/ow/sprite10.png) | bin | 303 -> 303 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/11.png (renamed from src/gfx/ow/sprite11.png) | bin | 275 -> 275 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/12.png (renamed from src/gfx/ow/sprite12.png) | bin | 294 -> 294 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/13.png (renamed from src/gfx/ow/sprite13.png) | bin | 274 -> 274 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/14.png (renamed from src/gfx/ow/sprite14.png) | bin | 271 -> 271 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/15.png (renamed from src/gfx/ow/sprite15.png) | bin | 284 -> 284 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/16.png (renamed from src/gfx/ow/sprite16.png) | bin | 267 -> 267 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/17.png (renamed from src/gfx/ow/sprite17.png) | bin | 274 -> 274 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/18.png (renamed from src/gfx/ow/sprite18.png) | bin | 271 -> 271 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/19.png (renamed from src/gfx/ow/sprite19.png) | bin | 277 -> 277 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/2.png (renamed from src/gfx/ow/sprite2.png) | bin | 276 -> 276 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/20.png (renamed from src/gfx/ow/sprite20.png) | bin | 274 -> 274 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/21.png (renamed from src/gfx/ow/sprite21.png) | bin | 272 -> 272 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/22.png (renamed from src/gfx/ow/sprite22.png) | bin | 271 -> 271 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/23.png (renamed from src/gfx/ow/sprite23.png) | bin | 281 -> 281 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/24.png (renamed from src/gfx/ow/sprite24.png) | bin | 309 -> 309 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/25.png (renamed from src/gfx/ow/sprite25.png) | bin | 270 -> 270 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/26.png (renamed from src/gfx/ow/sprite26.png) | bin | 300 -> 300 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/27.png (renamed from src/gfx/ow/sprite27.png) | bin | 280 -> 280 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/28.png (renamed from src/gfx/ow/sprite28.png) | bin | 277 -> 277 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/29.png (renamed from src/gfx/ow/sprite29.png) | bin | 292 -> 292 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/3.png (renamed from src/gfx/ow/sprite3.png) | bin | 264 -> 264 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/30.png (renamed from src/gfx/ow/sprite30.png) | bin | 263 -> 263 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/31.png (renamed from src/gfx/ow/sprite31.png) | bin | 295 -> 295 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/32.png (renamed from src/gfx/ow/sprite32.png) | bin | 332 -> 332 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/4.png (renamed from src/gfx/ow/sprite4.png) | bin | 290 -> 290 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/5.png (renamed from src/gfx/ow/sprite5.png) | bin | 375 -> 375 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/6.png (renamed from src/gfx/ow/sprite6.png) | bin | 280 -> 280 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/7.png (renamed from src/gfx/ow/sprite7.png) | bin | 273 -> 273 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/8.png (renamed from src/gfx/ow/sprite8.png) | bin | 288 -> 288 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/9.png (renamed from src/gfx/ow/sprite9.png) | bin | 270 -> 270 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/doctormason.png (renamed from src/gfx/ow/doctormason.png) | bin | 288 -> 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) | bin | 184 -> 184 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/player.png (renamed from src/gfx/ow/player.png) | bin | 323 -> 323 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/overworld_sprites/ronald.png (renamed from src/gfx/ow/ronald.png) | bin | 272 -> 272 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/challengehall.t3.png | bin | 1736 -> 1736 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/clubentrance.t15.png | bin | 1573 -> 1573 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/clublobby.t8.png | bin | 1401 -> 1401 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/fightingclub.t13.png | bin | 1080 -> 1080 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/fireclub.t9.png | bin | 1066 -> 1066 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/grassclub.t9.png | bin | 1155 -> 1155 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/hallofhonor.t7.png | bin | 1369 -> 1369 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/ishihara.t3.png | bin | 926 -> 926 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/lightningclub.t13.png | bin | 1305 -> 1305 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/masonlaboratory.t9.png | bin | 1664 -> 1664 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/pokemondome.t1.png | bin | 2298 -> 2298 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/pokemondomeentrance.t2.png | bin | 941 -> 941 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/psychicclub.t6.png | bin | 690 -> 690 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/rockclub.t4.png | bin | 828 -> 828 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/scienceclub.t14.png | bin | 1051 -> 1051 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/tilesets/waterclub.t15.png | bin | 1825 -> 1825 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/booster_packs/aerodactylintro1.png (renamed from src/gfx/boosterpacks/aerodactylintro1.png) | bin | 1260 -> 1260 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/booster_packs/aerodactylintro2.png (renamed from src/gfx/boosterpacks/aerodactylintro2.png) | bin | 1259 -> 1259 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/booster_packs/charizardintro1.png (renamed from src/gfx/boosterpacks/charizardintro1.png) | bin | 1465 -> 1465 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/booster_packs/charizardintro2.png (renamed from src/gfx/boosterpacks/charizardintro2.png) | bin | 1482 -> 1482 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/booster_packs/scytherintro1.png (renamed from src/gfx/boosterpacks/scytherintro1.png) | bin | 1377 -> 1377 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/booster_packs/scytherintro2.png (renamed from src/gfx/boosterpacks/scytherintro2.png) | bin | 1375 -> 1375 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/colorless.png (renamed from src/gfx/titlescreen/colorless.png) | bin | 123 -> 123 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/fighting.png (renamed from src/gfx/titlescreen/fighting.png) | bin | 128 -> 128 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/fire.png (renamed from src/gfx/titlescreen/fire.png) | bin | 135 -> 135 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/grass.png (renamed from src/gfx/titlescreen/grass.png) | bin | 137 -> 137 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/lightning.png (renamed from src/gfx/titlescreen/lightning.png) | bin | 131 -> 131 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/psychic.png (renamed from src/gfx/titlescreen/psychic.png) | bin | 130 -> 130 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/energies/water.png (renamed from src/gfx/titlescreen/water.png) | bin | 126 -> 126 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/press_start.png | bin | 212 -> 212 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/titlescreen1.t15.png | bin | 909 -> 909 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/titlescreen2.t15.png | bin | 950 -> 950 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/titlescreen3.t12.png | bin | 2572 -> 2572 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/titlescreen4.t5.png | bin | 3602 -> 3602 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/titlescreen5.t4.png | bin | 2007 -> 2007 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/titlescreen/titlescreen6.t12.png | bin | 2005 -> 2005 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/gfx/vwf.png | bin | 387 -> 387 bytes | |||
-rw-r--r-- | src/hram.asm | 61 | ||||
-rw-r--r--[-rwxr-xr-x] | src/macros.asm | 0 | ||||
-rw-r--r-- | src/macros/audio.asm | 8 | ||||
-rw-r--r-- | src/macros/code.asm | 13 | ||||
-rw-r--r-- | src/macros/data.asm | 2 | ||||
-rw-r--r-- | src/macros/wram.asm | 88 | ||||
-rw-r--r--[-rwxr-xr-x] | src/main.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/sram.asm | 25 | ||||
-rw-r--r--[-rwxr-xr-x] | src/text.asm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/text/text1.asm | 154 | ||||
-rw-r--r-- | src/text/text10.asm | 46 | ||||
-rw-r--r-- | src/text/text11.asm | 20 | ||||
-rw-r--r-- | src/text/text12.asm | 12 | ||||
-rw-r--r-- | src/text/text13.asm | 4 | ||||
-rw-r--r-- | src/text/text2.asm | 128 | ||||
-rw-r--r-- | src/text/text3.asm | 92 | ||||
-rw-r--r-- | src/text/text4.asm | 56 | ||||
-rw-r--r-- | src/text/text5.asm | 40 | ||||
-rw-r--r-- | src/text/text6.asm | 130 | ||||
-rw-r--r-- | src/text/text7.asm | 72 | ||||
-rw-r--r-- | src/text/text8.asm | 58 | ||||
-rw-r--r-- | src/text/text9.asm | 70 | ||||
-rw-r--r--[-rwxr-xr-x] | src/text/text_offsets.asm | 5983 | ||||
-rw-r--r-- | src/vram.asm | 25 | ||||
-rw-r--r--[-rwxr-xr-x] | src/wram.asm | 794 |
499 files changed, 9349 insertions, 6484 deletions
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 Binary files differindex 9ce2500..9ce2500 100755..100644 --- a/src/gfx/boosterpacks/colosseum1.png +++ b/src/gfx/booster_packs/colosseum1.png diff --git a/src/gfx/boosterpacks/colosseum2.t10.png b/src/gfx/booster_packs/colosseum2.t10.png Binary files differindex 1da1a52..1da1a52 100755..100644 --- a/src/gfx/boosterpacks/colosseum2.t10.png +++ b/src/gfx/booster_packs/colosseum2.t10.png diff --git a/src/gfx/boosterpacks/evolution1.png b/src/gfx/booster_packs/evolution1.png Binary files differindex 15caac5..15caac5 100755..100644 --- a/src/gfx/boosterpacks/evolution1.png +++ b/src/gfx/booster_packs/evolution1.png diff --git a/src/gfx/boosterpacks/evolution2.t10.png b/src/gfx/booster_packs/evolution2.t10.png Binary files differindex 09affa5..09affa5 100755..100644 --- a/src/gfx/boosterpacks/evolution2.t10.png +++ b/src/gfx/booster_packs/evolution2.t10.png diff --git a/src/gfx/boosterpacks/laboratory1.png b/src/gfx/booster_packs/laboratory1.png Binary files differindex 5444be5..5444be5 100755..100644 --- a/src/gfx/boosterpacks/laboratory1.png +++ b/src/gfx/booster_packs/laboratory1.png diff --git a/src/gfx/boosterpacks/laboratory2.t10.png b/src/gfx/booster_packs/laboratory2.t10.png Binary files differindex 4feb880..4feb880 100755..100644 --- a/src/gfx/boosterpacks/laboratory2.t10.png +++ b/src/gfx/booster_packs/laboratory2.t10.png diff --git a/src/gfx/boosterpacks/mystery1.png b/src/gfx/booster_packs/mystery1.png Binary files differindex 06a5749..06a5749 100755..100644 --- a/src/gfx/boosterpacks/mystery1.png +++ b/src/gfx/booster_packs/mystery1.png diff --git a/src/gfx/boosterpacks/mystery2.t10.png b/src/gfx/booster_packs/mystery2.t10.png Binary files differindex fc04dbf..fc04dbf 100755..100644 --- a/src/gfx/boosterpacks/mystery2.t10.png +++ b/src/gfx/booster_packs/mystery2.t10.png diff --git a/src/gfx/boosterpacks/boosterpack_oam.png b/src/gfx/booster_packs/oam.png Binary files differindex dcb3850..dcb3850 100755..100644 --- a/src/gfx/boosterpacks/boosterpack_oam.png +++ b/src/gfx/booster_packs/oam.png diff --git a/src/gfx/cardpop1.t3.png b/src/gfx/cardpop/cardpop1.t3.png Binary files differindex c607d8d..c607d8d 100755..100644 --- a/src/gfx/cardpop1.t3.png +++ b/src/gfx/cardpop/cardpop1.t3.png diff --git a/src/gfx/cardpop2.t3.png b/src/gfx/cardpop/cardpop2.t3.png Binary files differindex 75e5149..75e5149 100755..100644 --- a/src/gfx/cardpop2.t3.png +++ b/src/gfx/cardpop/cardpop2.t3.png diff --git a/src/gfx/cardpop3.t3.png b/src/gfx/cardpop/cardpop3.t3.png Binary files differindex 48bd233..48bd233 100755..100644 --- a/src/gfx/cardpop3.t3.png +++ b/src/gfx/cardpop/cardpop3.t3.png diff --git a/src/gfx/cards/abra.8x6.png b/src/gfx/cards/abra.8x6.png Binary files differindex 336068c..336068c 100755..100644 --- a/src/gfx/cards/abra.8x6.png +++ b/src/gfx/cards/abra.8x6.png diff --git a/src/gfx/cards/aerodactyl.8x6.png b/src/gfx/cards/aerodactyl.8x6.png Binary files differindex f250570..f250570 100755..100644 --- a/src/gfx/cards/aerodactyl.8x6.png +++ b/src/gfx/cards/aerodactyl.8x6.png diff --git a/src/gfx/cards/alakazam.8x6.png b/src/gfx/cards/alakazam.8x6.png Binary files differindex de51bc8..de51bc8 100755..100644 --- a/src/gfx/cards/alakazam.8x6.png +++ b/src/gfx/cards/alakazam.8x6.png diff --git a/src/gfx/cards/arbok.8x6.png b/src/gfx/cards/arbok.8x6.png Binary files differindex 4d0bccb..4d0bccb 100755..100644 --- a/src/gfx/cards/arbok.8x6.png +++ b/src/gfx/cards/arbok.8x6.png diff --git a/src/gfx/cards/arcanine1.8x6.png b/src/gfx/cards/arcanine1.8x6.png Binary files differindex 31cb8b0..31cb8b0 100755..100644 --- a/src/gfx/cards/arcanine1.8x6.png +++ b/src/gfx/cards/arcanine1.8x6.png diff --git a/src/gfx/cards/arcanine2.8x6.png b/src/gfx/cards/arcanine2.8x6.png Binary files differindex 64fc0bd..64fc0bd 100755..100644 --- a/src/gfx/cards/arcanine2.8x6.png +++ b/src/gfx/cards/arcanine2.8x6.png diff --git a/src/gfx/cards/articuno1.8x6.png b/src/gfx/cards/articuno1.8x6.png Binary files differindex f9c54c4..f9c54c4 100755..100644 --- a/src/gfx/cards/articuno1.8x6.png +++ b/src/gfx/cards/articuno1.8x6.png diff --git a/src/gfx/cards/articuno2.8x6.png b/src/gfx/cards/articuno2.8x6.png Binary files differindex d7bdc49..d7bdc49 100755..100644 --- a/src/gfx/cards/articuno2.8x6.png +++ b/src/gfx/cards/articuno2.8x6.png diff --git a/src/gfx/cards/beedrill.8x6.png b/src/gfx/cards/beedrill.8x6.png Binary files differindex ec6af50..ec6af50 100755..100644 --- a/src/gfx/cards/beedrill.8x6.png +++ b/src/gfx/cards/beedrill.8x6.png diff --git a/src/gfx/cards/bellsprout.8x6.png b/src/gfx/cards/bellsprout.8x6.png Binary files differindex 6dd6297..6dd6297 100755..100644 --- a/src/gfx/cards/bellsprout.8x6.png +++ b/src/gfx/cards/bellsprout.8x6.png diff --git a/src/gfx/cards/bill.8x6.png b/src/gfx/cards/bill.8x6.png Binary files differindex f730116..f730116 100755..100644 --- a/src/gfx/cards/bill.8x6.png +++ b/src/gfx/cards/bill.8x6.png diff --git a/src/gfx/cards/blastoise.8x6.png b/src/gfx/cards/blastoise.8x6.png Binary files differindex 68c7ddb..68c7ddb 100755..100644 --- a/src/gfx/cards/blastoise.8x6.png +++ b/src/gfx/cards/blastoise.8x6.png diff --git a/src/gfx/cards/bulbasaur.8x6.png b/src/gfx/cards/bulbasaur.8x6.png Binary files differindex fdb0552..fdb0552 100755..100644 --- a/src/gfx/cards/bulbasaur.8x6.png +++ b/src/gfx/cards/bulbasaur.8x6.png diff --git a/src/gfx/cards/butterfree.8x6.png b/src/gfx/cards/butterfree.8x6.png Binary files differindex 5c02eb1..5c02eb1 100755..100644 --- a/src/gfx/cards/butterfree.8x6.png +++ b/src/gfx/cards/butterfree.8x6.png diff --git a/src/gfx/cards/caterpie.8x6.png b/src/gfx/cards/caterpie.8x6.png Binary files differindex c1784e0..c1784e0 100755..100644 --- a/src/gfx/cards/caterpie.8x6.png +++ b/src/gfx/cards/caterpie.8x6.png diff --git a/src/gfx/cards/chansey.8x6.png b/src/gfx/cards/chansey.8x6.png Binary files differindex e63a246..e63a246 100755..100644 --- a/src/gfx/cards/chansey.8x6.png +++ b/src/gfx/cards/chansey.8x6.png diff --git a/src/gfx/cards/charizard.8x6.png b/src/gfx/cards/charizard.8x6.png Binary files differindex d5d22ef..d5d22ef 100755..100644 --- a/src/gfx/cards/charizard.8x6.png +++ b/src/gfx/cards/charizard.8x6.png diff --git a/src/gfx/cards/charmander.8x6.png b/src/gfx/cards/charmander.8x6.png Binary files differindex 7fadeaf..7fadeaf 100755..100644 --- a/src/gfx/cards/charmander.8x6.png +++ b/src/gfx/cards/charmander.8x6.png diff --git a/src/gfx/cards/charmeleon.8x6.png b/src/gfx/cards/charmeleon.8x6.png Binary files differindex c996d81..c996d81 100755..100644 --- a/src/gfx/cards/charmeleon.8x6.png +++ b/src/gfx/cards/charmeleon.8x6.png diff --git a/src/gfx/cards/clefable.8x6.png b/src/gfx/cards/clefable.8x6.png Binary files differindex 014b1b9..014b1b9 100755..100644 --- a/src/gfx/cards/clefable.8x6.png +++ b/src/gfx/cards/clefable.8x6.png diff --git a/src/gfx/cards/clefairy.8x6.png b/src/gfx/cards/clefairy.8x6.png Binary files differindex cfc66ef..cfc66ef 100755..100644 --- a/src/gfx/cards/clefairy.8x6.png +++ b/src/gfx/cards/clefairy.8x6.png diff --git a/src/gfx/cards/clefairydoll.8x6.png b/src/gfx/cards/clefairydoll.8x6.png Binary files differindex c12f8c4..c12f8c4 100755..100644 --- a/src/gfx/cards/clefairydoll.8x6.png +++ b/src/gfx/cards/clefairydoll.8x6.png diff --git a/src/gfx/cards/cloyster.8x6.png b/src/gfx/cards/cloyster.8x6.png Binary files differindex 5f59e88..5f59e88 100755..100644 --- a/src/gfx/cards/cloyster.8x6.png +++ b/src/gfx/cards/cloyster.8x6.png diff --git a/src/gfx/cards/computersearch.8x6.png b/src/gfx/cards/computersearch.8x6.png Binary files differindex 79f1c78..79f1c78 100755..100644 --- a/src/gfx/cards/computersearch.8x6.png +++ b/src/gfx/cards/computersearch.8x6.png diff --git a/src/gfx/cards/cubone.8x6.png b/src/gfx/cards/cubone.8x6.png Binary files differindex 49d5b23..49d5b23 100755..100644 --- a/src/gfx/cards/cubone.8x6.png +++ b/src/gfx/cards/cubone.8x6.png diff --git a/src/gfx/cards/defender.8x6.png b/src/gfx/cards/defender.8x6.png Binary files differindex adde4fc..adde4fc 100755..100644 --- a/src/gfx/cards/defender.8x6.png +++ b/src/gfx/cards/defender.8x6.png diff --git a/src/gfx/cards/devolutionspray.8x6.png b/src/gfx/cards/devolutionspray.8x6.png Binary files differindex b3b69a4..b3b69a4 100755..100644 --- a/src/gfx/cards/devolutionspray.8x6.png +++ b/src/gfx/cards/devolutionspray.8x6.png diff --git a/src/gfx/cards/dewgong.8x6.png b/src/gfx/cards/dewgong.8x6.png Binary files differindex c4be81b..c4be81b 100755..100644 --- a/src/gfx/cards/dewgong.8x6.png +++ b/src/gfx/cards/dewgong.8x6.png diff --git a/src/gfx/cards/diglett.8x6.png b/src/gfx/cards/diglett.8x6.png Binary files differindex cae6aef..cae6aef 100755..100644 --- a/src/gfx/cards/diglett.8x6.png +++ b/src/gfx/cards/diglett.8x6.png diff --git a/src/gfx/cards/ditto.8x6.png b/src/gfx/cards/ditto.8x6.png Binary files differindex 566dcf4..566dcf4 100755..100644 --- a/src/gfx/cards/ditto.8x6.png +++ b/src/gfx/cards/ditto.8x6.png diff --git a/src/gfx/cards/dodrio.8x6.png b/src/gfx/cards/dodrio.8x6.png Binary files differindex 222bb79..222bb79 100755..100644 --- a/src/gfx/cards/dodrio.8x6.png +++ b/src/gfx/cards/dodrio.8x6.png diff --git a/src/gfx/cards/doduo.8x6.png b/src/gfx/cards/doduo.8x6.png Binary files differindex fad2467..fad2467 100755..100644 --- a/src/gfx/cards/doduo.8x6.png +++ b/src/gfx/cards/doduo.8x6.png diff --git a/src/gfx/cards/doublecolorlessenergy.8x6.png b/src/gfx/cards/doublecolorlessenergy.8x6.png Binary files differindex b3b367b..b3b367b 100755..100644 --- a/src/gfx/cards/doublecolorlessenergy.8x6.png +++ b/src/gfx/cards/doublecolorlessenergy.8x6.png diff --git a/src/gfx/cards/dragonair.8x6.png b/src/gfx/cards/dragonair.8x6.png Binary files differindex e0cf766..e0cf766 100755..100644 --- a/src/gfx/cards/dragonair.8x6.png +++ b/src/gfx/cards/dragonair.8x6.png diff --git a/src/gfx/cards/dragonite1.8x6.png b/src/gfx/cards/dragonite1.8x6.png Binary files differindex 10c4ed9..10c4ed9 100755..100644 --- a/src/gfx/cards/dragonite1.8x6.png +++ b/src/gfx/cards/dragonite1.8x6.png diff --git a/src/gfx/cards/dragonite2.8x6.png b/src/gfx/cards/dragonite2.8x6.png Binary files differindex 9d15c00..9d15c00 100755..100644 --- a/src/gfx/cards/dragonite2.8x6.png +++ b/src/gfx/cards/dragonite2.8x6.png diff --git a/src/gfx/cards/dratini.8x6.png b/src/gfx/cards/dratini.8x6.png Binary files differindex 1c66ac3..1c66ac3 100755..100644 --- a/src/gfx/cards/dratini.8x6.png +++ b/src/gfx/cards/dratini.8x6.png diff --git a/src/gfx/cards/drowzee.8x6.png b/src/gfx/cards/drowzee.8x6.png Binary files differindex 3239903..3239903 100755..100644 --- a/src/gfx/cards/drowzee.8x6.png +++ b/src/gfx/cards/drowzee.8x6.png diff --git a/src/gfx/cards/dugtrio.8x6.png b/src/gfx/cards/dugtrio.8x6.png Binary files differindex bffe640..bffe640 100755..100644 --- a/src/gfx/cards/dugtrio.8x6.png +++ b/src/gfx/cards/dugtrio.8x6.png diff --git a/src/gfx/cards/eevee.8x6.png b/src/gfx/cards/eevee.8x6.png Binary files differindex 3114928..3114928 100755..100644 --- a/src/gfx/cards/eevee.8x6.png +++ b/src/gfx/cards/eevee.8x6.png diff --git a/src/gfx/cards/ekans.8x6.png b/src/gfx/cards/ekans.8x6.png Binary files differindex 416e073..416e073 100755..100644 --- a/src/gfx/cards/ekans.8x6.png +++ b/src/gfx/cards/ekans.8x6.png diff --git a/src/gfx/cards/electabuzz1.8x6.png b/src/gfx/cards/electabuzz1.8x6.png Binary files differindex 75ed8f5..75ed8f5 100755..100644 --- a/src/gfx/cards/electabuzz1.8x6.png +++ b/src/gfx/cards/electabuzz1.8x6.png diff --git a/src/gfx/cards/electabuzz2.8x6.png b/src/gfx/cards/electabuzz2.8x6.png Binary files differindex 8ca64a8..8ca64a8 100755..100644 --- a/src/gfx/cards/electabuzz2.8x6.png +++ b/src/gfx/cards/electabuzz2.8x6.png diff --git a/src/gfx/cards/electrode1.8x6.png b/src/gfx/cards/electrode1.8x6.png Binary files differindex cdc1fca..cdc1fca 100755..100644 --- a/src/gfx/cards/electrode1.8x6.png +++ b/src/gfx/cards/electrode1.8x6.png diff --git a/src/gfx/cards/electrode2.8x6.png b/src/gfx/cards/electrode2.8x6.png Binary files differindex 29ccc8b..29ccc8b 100755..100644 --- a/src/gfx/cards/electrode2.8x6.png +++ b/src/gfx/cards/electrode2.8x6.png diff --git a/src/gfx/cards/energyremoval.8x6.png b/src/gfx/cards/energyremoval.8x6.png Binary files differindex 1958df7..1958df7 100755..100644 --- a/src/gfx/cards/energyremoval.8x6.png +++ b/src/gfx/cards/energyremoval.8x6.png diff --git a/src/gfx/cards/energyretrieval.8x6.png b/src/gfx/cards/energyretrieval.8x6.png Binary files differindex 270f967..270f967 100755..100644 --- a/src/gfx/cards/energyretrieval.8x6.png +++ b/src/gfx/cards/energyretrieval.8x6.png diff --git a/src/gfx/cards/energysearch.8x6.png b/src/gfx/cards/energysearch.8x6.png Binary files differindex d5d5328..d5d5328 100755..100644 --- a/src/gfx/cards/energysearch.8x6.png +++ b/src/gfx/cards/energysearch.8x6.png diff --git a/src/gfx/cards/exeggcute.8x6.png b/src/gfx/cards/exeggcute.8x6.png Binary files differindex 585aa5d..585aa5d 100755..100644 --- a/src/gfx/cards/exeggcute.8x6.png +++ b/src/gfx/cards/exeggcute.8x6.png diff --git a/src/gfx/cards/exeggutor.8x6.png b/src/gfx/cards/exeggutor.8x6.png Binary files differindex 6687638..6687638 100755..100644 --- a/src/gfx/cards/exeggutor.8x6.png +++ b/src/gfx/cards/exeggutor.8x6.png diff --git a/src/gfx/cards/farfetchd.8x6.png b/src/gfx/cards/farfetchd.8x6.png Binary files differindex b156585..b156585 100755..100644 --- a/src/gfx/cards/farfetchd.8x6.png +++ b/src/gfx/cards/farfetchd.8x6.png diff --git a/src/gfx/cards/fearow.8x6.png b/src/gfx/cards/fearow.8x6.png Binary files differindex 25f0d12..25f0d12 100755..100644 --- a/src/gfx/cards/fearow.8x6.png +++ b/src/gfx/cards/fearow.8x6.png diff --git a/src/gfx/cards/fightingenergy.8x6.png b/src/gfx/cards/fightingenergy.8x6.png Binary files differindex 2c63c5b..2c63c5b 100755..100644 --- a/src/gfx/cards/fightingenergy.8x6.png +++ b/src/gfx/cards/fightingenergy.8x6.png diff --git a/src/gfx/cards/fireenergy.8x6.png b/src/gfx/cards/fireenergy.8x6.png Binary files differindex 2cb3419..2cb3419 100755..100644 --- a/src/gfx/cards/fireenergy.8x6.png +++ b/src/gfx/cards/fireenergy.8x6.png diff --git a/src/gfx/cards/flareon1.8x6.png b/src/gfx/cards/flareon1.8x6.png Binary files differindex eb5ebe3..eb5ebe3 100755..100644 --- a/src/gfx/cards/flareon1.8x6.png +++ b/src/gfx/cards/flareon1.8x6.png diff --git a/src/gfx/cards/flareon2.8x6.png b/src/gfx/cards/flareon2.8x6.png Binary files differindex 6c32566..6c32566 100755..100644 --- a/src/gfx/cards/flareon2.8x6.png +++ b/src/gfx/cards/flareon2.8x6.png diff --git a/src/gfx/cards/flyingpikachu.8x6.png b/src/gfx/cards/flyingpikachu.8x6.png Binary files differindex 14168a3..14168a3 100755..100644 --- a/src/gfx/cards/flyingpikachu.8x6.png +++ b/src/gfx/cards/flyingpikachu.8x6.png diff --git a/src/gfx/cards/fullheal.8x6.png b/src/gfx/cards/fullheal.8x6.png Binary files differindex 281cc20..281cc20 100755..100644 --- a/src/gfx/cards/fullheal.8x6.png +++ b/src/gfx/cards/fullheal.8x6.png diff --git a/src/gfx/cards/gambler.8x6.png b/src/gfx/cards/gambler.8x6.png Binary files differindex 1aeb1e3..1aeb1e3 100755..100644 --- a/src/gfx/cards/gambler.8x6.png +++ b/src/gfx/cards/gambler.8x6.png diff --git a/src/gfx/cards/gastly1.8x6.png b/src/gfx/cards/gastly1.8x6.png Binary files differindex 2a7bd88..2a7bd88 100755..100644 --- a/src/gfx/cards/gastly1.8x6.png +++ b/src/gfx/cards/gastly1.8x6.png diff --git a/src/gfx/cards/gastly2.8x6.png b/src/gfx/cards/gastly2.8x6.png Binary files differindex b9d56b2..b9d56b2 100755..100644 --- a/src/gfx/cards/gastly2.8x6.png +++ b/src/gfx/cards/gastly2.8x6.png diff --git a/src/gfx/cards/gengar.8x6.png b/src/gfx/cards/gengar.8x6.png Binary files differindex 53d9bf9..53d9bf9 100755..100644 --- a/src/gfx/cards/gengar.8x6.png +++ b/src/gfx/cards/gengar.8x6.png diff --git a/src/gfx/cards/geodude.8x6.png b/src/gfx/cards/geodude.8x6.png Binary files differindex 1c5a0fb..1c5a0fb 100755..100644 --- a/src/gfx/cards/geodude.8x6.png +++ b/src/gfx/cards/geodude.8x6.png diff --git a/src/gfx/cards/gloom.8x6.png b/src/gfx/cards/gloom.8x6.png Binary files differindex 973001b..973001b 100755..100644 --- a/src/gfx/cards/gloom.8x6.png +++ b/src/gfx/cards/gloom.8x6.png diff --git a/src/gfx/cards/golbat.8x6.png b/src/gfx/cards/golbat.8x6.png Binary files differindex 342b48c..342b48c 100755..100644 --- a/src/gfx/cards/golbat.8x6.png +++ b/src/gfx/cards/golbat.8x6.png diff --git a/src/gfx/cards/goldeen.8x6.png b/src/gfx/cards/goldeen.8x6.png Binary files differindex 8427b7b..8427b7b 100755..100644 --- a/src/gfx/cards/goldeen.8x6.png +++ b/src/gfx/cards/goldeen.8x6.png diff --git a/src/gfx/cards/golduck.8x6.png b/src/gfx/cards/golduck.8x6.png Binary files differindex cdbdf51..cdbdf51 100755..100644 --- a/src/gfx/cards/golduck.8x6.png +++ b/src/gfx/cards/golduck.8x6.png diff --git a/src/gfx/cards/golem.8x6.png b/src/gfx/cards/golem.8x6.png Binary files differindex e64b911..e64b911 100755..100644 --- a/src/gfx/cards/golem.8x6.png +++ b/src/gfx/cards/golem.8x6.png diff --git a/src/gfx/cards/grassenergy.8x6.png b/src/gfx/cards/grassenergy.8x6.png Binary files differindex b9c482f..b9c482f 100755..100644 --- a/src/gfx/cards/grassenergy.8x6.png +++ b/src/gfx/cards/grassenergy.8x6.png diff --git a/src/gfx/cards/graveler.8x6.png b/src/gfx/cards/graveler.8x6.png Binary files differindex 13a8892..13a8892 100755..100644 --- a/src/gfx/cards/graveler.8x6.png +++ b/src/gfx/cards/graveler.8x6.png diff --git a/src/gfx/cards/grimer.8x6.png b/src/gfx/cards/grimer.8x6.png Binary files differindex 19a6737..19a6737 100755..100644 --- a/src/gfx/cards/grimer.8x6.png +++ b/src/gfx/cards/grimer.8x6.png diff --git a/src/gfx/cards/growlithe.8x6.png b/src/gfx/cards/growlithe.8x6.png Binary files differindex 76ce33c..76ce33c 100755..100644 --- a/src/gfx/cards/growlithe.8x6.png +++ b/src/gfx/cards/growlithe.8x6.png diff --git a/src/gfx/cards/gustofwind.8x6.png b/src/gfx/cards/gustofwind.8x6.png Binary files differindex 70de29d..70de29d 100755..100644 --- a/src/gfx/cards/gustofwind.8x6.png +++ b/src/gfx/cards/gustofwind.8x6.png diff --git a/src/gfx/cards/gyarados.8x6.png b/src/gfx/cards/gyarados.8x6.png Binary files differindex 20c5dac..20c5dac 100755..100644 --- a/src/gfx/cards/gyarados.8x6.png +++ b/src/gfx/cards/gyarados.8x6.png diff --git a/src/gfx/cards/haunter1.8x6.png b/src/gfx/cards/haunter1.8x6.png Binary files differindex 1dc1869..1dc1869 100755..100644 --- a/src/gfx/cards/haunter1.8x6.png +++ b/src/gfx/cards/haunter1.8x6.png diff --git a/src/gfx/cards/haunter2.8x6.png b/src/gfx/cards/haunter2.8x6.png Binary files differindex ffb76a2..ffb76a2 100755..100644 --- a/src/gfx/cards/haunter2.8x6.png +++ b/src/gfx/cards/haunter2.8x6.png diff --git a/src/gfx/cards/hitmonchan.8x6.png b/src/gfx/cards/hitmonchan.8x6.png Binary files differindex e9869ac..e9869ac 100755..100644 --- a/src/gfx/cards/hitmonchan.8x6.png +++ b/src/gfx/cards/hitmonchan.8x6.png diff --git a/src/gfx/cards/hitmonlee.8x6.png b/src/gfx/cards/hitmonlee.8x6.png Binary files differindex e67fe78..e67fe78 100755..100644 --- a/src/gfx/cards/hitmonlee.8x6.png +++ b/src/gfx/cards/hitmonlee.8x6.png diff --git a/src/gfx/cards/horsea.8x6.png b/src/gfx/cards/horsea.8x6.png Binary files differindex 19a95d8..19a95d8 100755..100644 --- a/src/gfx/cards/horsea.8x6.png +++ b/src/gfx/cards/horsea.8x6.png diff --git a/src/gfx/cards/hypno.8x6.png b/src/gfx/cards/hypno.8x6.png Binary files differindex e58a6c2..e58a6c2 100755..100644 --- a/src/gfx/cards/hypno.8x6.png +++ b/src/gfx/cards/hypno.8x6.png diff --git a/src/gfx/cards/imakuni.8x6.png b/src/gfx/cards/imakuni.8x6.png Binary files differindex ff95e64..ff95e64 100755..100644 --- a/src/gfx/cards/imakuni.8x6.png +++ b/src/gfx/cards/imakuni.8x6.png diff --git a/src/gfx/cards/imposterprofessoroak.8x6.png b/src/gfx/cards/imposterprofessoroak.8x6.png Binary files differindex 2f78301..2f78301 100755..100644 --- a/src/gfx/cards/imposterprofessoroak.8x6.png +++ b/src/gfx/cards/imposterprofessoroak.8x6.png diff --git a/src/gfx/cards/itemfinder.8x6.png b/src/gfx/cards/itemfinder.8x6.png Binary files differindex 3ba1499..3ba1499 100755..100644 --- a/src/gfx/cards/itemfinder.8x6.png +++ b/src/gfx/cards/itemfinder.8x6.png diff --git a/src/gfx/cards/ivysaur.8x6.png b/src/gfx/cards/ivysaur.8x6.png Binary files differindex 4220b52..4220b52 100755..100644 --- a/src/gfx/cards/ivysaur.8x6.png +++ b/src/gfx/cards/ivysaur.8x6.png diff --git a/src/gfx/cards/jigglypuff1.8x6.png b/src/gfx/cards/jigglypuff1.8x6.png Binary files differindex 0986137..0986137 100755..100644 --- a/src/gfx/cards/jigglypuff1.8x6.png +++ b/src/gfx/cards/jigglypuff1.8x6.png diff --git a/src/gfx/cards/jigglypuff2.8x6.png b/src/gfx/cards/jigglypuff2.8x6.png Binary files differindex 8fb626e..8fb626e 100755..100644 --- a/src/gfx/cards/jigglypuff2.8x6.png +++ b/src/gfx/cards/jigglypuff2.8x6.png diff --git a/src/gfx/cards/jigglypuff3.8x6.png b/src/gfx/cards/jigglypuff3.8x6.png Binary files differindex b67b5ba..b67b5ba 100755..100644 --- a/src/gfx/cards/jigglypuff3.8x6.png +++ b/src/gfx/cards/jigglypuff3.8x6.png diff --git a/src/gfx/cards/jolteon1.8x6.png b/src/gfx/cards/jolteon1.8x6.png Binary files differindex 81d403b..81d403b 100755..100644 --- a/src/gfx/cards/jolteon1.8x6.png +++ b/src/gfx/cards/jolteon1.8x6.png diff --git a/src/gfx/cards/jolteon2.8x6.png b/src/gfx/cards/jolteon2.8x6.png Binary files differindex 308966c..308966c 100755..100644 --- a/src/gfx/cards/jolteon2.8x6.png +++ b/src/gfx/cards/jolteon2.8x6.png diff --git a/src/gfx/cards/jynx.8x6.png b/src/gfx/cards/jynx.8x6.png Binary files differindex 048ae21..048ae21 100755..100644 --- a/src/gfx/cards/jynx.8x6.png +++ b/src/gfx/cards/jynx.8x6.png diff --git a/src/gfx/cards/kabuto.8x6.png b/src/gfx/cards/kabuto.8x6.png Binary files differindex 3ebcaf7..3ebcaf7 100755..100644 --- a/src/gfx/cards/kabuto.8x6.png +++ b/src/gfx/cards/kabuto.8x6.png diff --git a/src/gfx/cards/kabutops.8x6.png b/src/gfx/cards/kabutops.8x6.png Binary files differindex 4efff6b..4efff6b 100755..100644 --- a/src/gfx/cards/kabutops.8x6.png +++ b/src/gfx/cards/kabutops.8x6.png diff --git a/src/gfx/cards/kadabra.8x6.png b/src/gfx/cards/kadabra.8x6.png Binary files differindex fe66443..fe66443 100755..100644 --- a/src/gfx/cards/kadabra.8x6.png +++ b/src/gfx/cards/kadabra.8x6.png diff --git a/src/gfx/cards/kakuna.8x6.png b/src/gfx/cards/kakuna.8x6.png Binary files differindex 9739a1b..9739a1b 100755..100644 --- a/src/gfx/cards/kakuna.8x6.png +++ b/src/gfx/cards/kakuna.8x6.png diff --git a/src/gfx/cards/kangaskhan.8x6.png b/src/gfx/cards/kangaskhan.8x6.png Binary files differindex 192fba2..192fba2 100755..100644 --- a/src/gfx/cards/kangaskhan.8x6.png +++ b/src/gfx/cards/kangaskhan.8x6.png diff --git a/src/gfx/cards/kingler.8x6.png b/src/gfx/cards/kingler.8x6.png Binary files differindex 19966d9..19966d9 100755..100644 --- a/src/gfx/cards/kingler.8x6.png +++ b/src/gfx/cards/kingler.8x6.png diff --git a/src/gfx/cards/koffing.8x6.png b/src/gfx/cards/koffing.8x6.png Binary files differindex cda1a9d..cda1a9d 100755..100644 --- a/src/gfx/cards/koffing.8x6.png +++ b/src/gfx/cards/koffing.8x6.png diff --git a/src/gfx/cards/krabby.8x6.png b/src/gfx/cards/krabby.8x6.png Binary files differindex 5dda9a9..5dda9a9 100755..100644 --- a/src/gfx/cards/krabby.8x6.png +++ b/src/gfx/cards/krabby.8x6.png diff --git a/src/gfx/cards/lapras.8x6.png b/src/gfx/cards/lapras.8x6.png Binary files differindex 2212622..2212622 100755..100644 --- a/src/gfx/cards/lapras.8x6.png +++ b/src/gfx/cards/lapras.8x6.png diff --git a/src/gfx/cards/lass.8x6.png b/src/gfx/cards/lass.8x6.png Binary files differindex aad9f17..aad9f17 100755..100644 --- a/src/gfx/cards/lass.8x6.png +++ b/src/gfx/cards/lass.8x6.png diff --git a/src/gfx/cards/lickitung.8x6.png b/src/gfx/cards/lickitung.8x6.png Binary files differindex 857e21a..857e21a 100755..100644 --- a/src/gfx/cards/lickitung.8x6.png +++ b/src/gfx/cards/lickitung.8x6.png diff --git a/src/gfx/cards/lightningenergy.8x6.png b/src/gfx/cards/lightningenergy.8x6.png Binary files differindex 3fdc83c..3fdc83c 100755..100644 --- a/src/gfx/cards/lightningenergy.8x6.png +++ b/src/gfx/cards/lightningenergy.8x6.png diff --git a/src/gfx/cards/machamp.8x6.png b/src/gfx/cards/machamp.8x6.png Binary files differindex 55f52fb..55f52fb 100755..100644 --- a/src/gfx/cards/machamp.8x6.png +++ b/src/gfx/cards/machamp.8x6.png diff --git a/src/gfx/cards/machoke.8x6.png b/src/gfx/cards/machoke.8x6.png Binary files differindex 943d13a..943d13a 100755..100644 --- a/src/gfx/cards/machoke.8x6.png +++ b/src/gfx/cards/machoke.8x6.png diff --git a/src/gfx/cards/machop.8x6.png b/src/gfx/cards/machop.8x6.png Binary files differindex 256a710..256a710 100755..100644 --- a/src/gfx/cards/machop.8x6.png +++ b/src/gfx/cards/machop.8x6.png diff --git a/src/gfx/cards/magikarp.8x6.png b/src/gfx/cards/magikarp.8x6.png Binary files differindex 0f40b78..0f40b78 100755..100644 --- a/src/gfx/cards/magikarp.8x6.png +++ b/src/gfx/cards/magikarp.8x6.png diff --git a/src/gfx/cards/magmar1.8x6.png b/src/gfx/cards/magmar1.8x6.png Binary files differindex 571bdc6..571bdc6 100755..100644 --- a/src/gfx/cards/magmar1.8x6.png +++ b/src/gfx/cards/magmar1.8x6.png diff --git a/src/gfx/cards/magmar2.8x6.png b/src/gfx/cards/magmar2.8x6.png Binary files differindex 64cd043..64cd043 100755..100644 --- a/src/gfx/cards/magmar2.8x6.png +++ b/src/gfx/cards/magmar2.8x6.png diff --git a/src/gfx/cards/magnemite1.8x6.png b/src/gfx/cards/magnemite1.8x6.png Binary files differindex d81dfb3..d81dfb3 100755..100644 --- a/src/gfx/cards/magnemite1.8x6.png +++ b/src/gfx/cards/magnemite1.8x6.png diff --git a/src/gfx/cards/magnemite2.8x6.png b/src/gfx/cards/magnemite2.8x6.png Binary files differindex 8cb3f4d..8cb3f4d 100755..100644 --- a/src/gfx/cards/magnemite2.8x6.png +++ b/src/gfx/cards/magnemite2.8x6.png diff --git a/src/gfx/cards/magneton1.8x6.png b/src/gfx/cards/magneton1.8x6.png Binary files differindex efcc9f9..efcc9f9 100755..100644 --- a/src/gfx/cards/magneton1.8x6.png +++ b/src/gfx/cards/magneton1.8x6.png diff --git a/src/gfx/cards/magneton2.8x6.png b/src/gfx/cards/magneton2.8x6.png Binary files differindex e20b2f4..e20b2f4 100755..100644 --- a/src/gfx/cards/magneton2.8x6.png +++ b/src/gfx/cards/magneton2.8x6.png diff --git a/src/gfx/cards/maintenance.8x6.png b/src/gfx/cards/maintenance.8x6.png Binary files differindex 915487a..915487a 100755..100644 --- a/src/gfx/cards/maintenance.8x6.png +++ b/src/gfx/cards/maintenance.8x6.png diff --git a/src/gfx/cards/mankey.8x6.png b/src/gfx/cards/mankey.8x6.png Binary files differindex 06b4ab3..06b4ab3 100755..100644 --- a/src/gfx/cards/mankey.8x6.png +++ b/src/gfx/cards/mankey.8x6.png diff --git a/src/gfx/cards/marowak1.8x6.png b/src/gfx/cards/marowak1.8x6.png Binary files differindex 10d6eca..10d6eca 100755..100644 --- a/src/gfx/cards/marowak1.8x6.png +++ b/src/gfx/cards/marowak1.8x6.png diff --git a/src/gfx/cards/marowak2.8x6.png b/src/gfx/cards/marowak2.8x6.png Binary files differindex a7023bc..a7023bc 100755..100644 --- a/src/gfx/cards/marowak2.8x6.png +++ b/src/gfx/cards/marowak2.8x6.png diff --git a/src/gfx/cards/meowth1.8x6.png b/src/gfx/cards/meowth1.8x6.png Binary files differindex 3225611..3225611 100755..100644 --- a/src/gfx/cards/meowth1.8x6.png +++ b/src/gfx/cards/meowth1.8x6.png diff --git a/src/gfx/cards/meowth2.8x6.png b/src/gfx/cards/meowth2.8x6.png Binary files differindex 6dd0c10..6dd0c10 100755..100644 --- a/src/gfx/cards/meowth2.8x6.png +++ b/src/gfx/cards/meowth2.8x6.png diff --git a/src/gfx/cards/metapod.8x6.png b/src/gfx/cards/metapod.8x6.png Binary files differindex 3c1df91..3c1df91 100755..100644 --- a/src/gfx/cards/metapod.8x6.png +++ b/src/gfx/cards/metapod.8x6.png diff --git a/src/gfx/cards/mew1.8x6.png b/src/gfx/cards/mew1.8x6.png Binary files differindex aa5e5d5..aa5e5d5 100755..100644 --- a/src/gfx/cards/mew1.8x6.png +++ b/src/gfx/cards/mew1.8x6.png diff --git a/src/gfx/cards/mew2.8x6.png b/src/gfx/cards/mew2.8x6.png Binary files differindex 8658006..8658006 100755..100644 --- a/src/gfx/cards/mew2.8x6.png +++ b/src/gfx/cards/mew2.8x6.png diff --git a/src/gfx/cards/mew3.8x6.png b/src/gfx/cards/mew3.8x6.png Binary files differindex 189a97b..189a97b 100755..100644 --- a/src/gfx/cards/mew3.8x6.png +++ b/src/gfx/cards/mew3.8x6.png diff --git a/src/gfx/cards/mewtwo1.8x6.png b/src/gfx/cards/mewtwo1.8x6.png Binary files differindex b5566c5..b5566c5 100755..100644 --- a/src/gfx/cards/mewtwo1.8x6.png +++ b/src/gfx/cards/mewtwo1.8x6.png diff --git a/src/gfx/cards/mewtwo2.8x6.png b/src/gfx/cards/mewtwo2.8x6.png Binary files differindex 9f36308..9f36308 100755..100644 --- a/src/gfx/cards/mewtwo2.8x6.png +++ b/src/gfx/cards/mewtwo2.8x6.png diff --git a/src/gfx/cards/mewtwo3.8x6.png b/src/gfx/cards/mewtwo3.8x6.png Binary files differindex bbe8c6e..bbe8c6e 100755..100644 --- a/src/gfx/cards/mewtwo3.8x6.png +++ b/src/gfx/cards/mewtwo3.8x6.png diff --git a/src/gfx/cards/moltres1.8x6.png b/src/gfx/cards/moltres1.8x6.png Binary files differindex cc867ea..cc867ea 100755..100644 --- a/src/gfx/cards/moltres1.8x6.png +++ b/src/gfx/cards/moltres1.8x6.png diff --git a/src/gfx/cards/moltres2.8x6.png b/src/gfx/cards/moltres2.8x6.png Binary files differindex 220cbee..220cbee 100755..100644 --- a/src/gfx/cards/moltres2.8x6.png +++ b/src/gfx/cards/moltres2.8x6.png diff --git a/src/gfx/cards/mrfuji.8x6.png b/src/gfx/cards/mrfuji.8x6.png Binary files differindex f012d07..f012d07 100755..100644 --- a/src/gfx/cards/mrfuji.8x6.png +++ b/src/gfx/cards/mrfuji.8x6.png diff --git a/src/gfx/cards/mrmime.8x6.png b/src/gfx/cards/mrmime.8x6.png Binary files differindex 2c16ea4..2c16ea4 100755..100644 --- a/src/gfx/cards/mrmime.8x6.png +++ b/src/gfx/cards/mrmime.8x6.png diff --git a/src/gfx/cards/muk.8x6.png b/src/gfx/cards/muk.8x6.png Binary files differindex 972d445..972d445 100755..100644 --- a/src/gfx/cards/muk.8x6.png +++ b/src/gfx/cards/muk.8x6.png diff --git a/src/gfx/cards/mysteriousfossil.8x6.png b/src/gfx/cards/mysteriousfossil.8x6.png Binary files differindex 93752fc..93752fc 100755..100644 --- a/src/gfx/cards/mysteriousfossil.8x6.png +++ b/src/gfx/cards/mysteriousfossil.8x6.png diff --git a/src/gfx/cards/nidoking.8x6.png b/src/gfx/cards/nidoking.8x6.png Binary files differindex eff3ccf..eff3ccf 100755..100644 --- a/src/gfx/cards/nidoking.8x6.png +++ b/src/gfx/cards/nidoking.8x6.png diff --git a/src/gfx/cards/nidoqueen.8x6.png b/src/gfx/cards/nidoqueen.8x6.png Binary files differindex 5c67daa..5c67daa 100755..100644 --- a/src/gfx/cards/nidoqueen.8x6.png +++ b/src/gfx/cards/nidoqueen.8x6.png diff --git a/src/gfx/cards/nidoranf.8x6.png b/src/gfx/cards/nidoranf.8x6.png Binary files differindex 17de19e..17de19e 100755..100644 --- a/src/gfx/cards/nidoranf.8x6.png +++ b/src/gfx/cards/nidoranf.8x6.png diff --git a/src/gfx/cards/nidoranm.8x6.png b/src/gfx/cards/nidoranm.8x6.png Binary files differindex 00718d9..00718d9 100755..100644 --- a/src/gfx/cards/nidoranm.8x6.png +++ b/src/gfx/cards/nidoranm.8x6.png diff --git a/src/gfx/cards/nidorina.8x6.png b/src/gfx/cards/nidorina.8x6.png Binary files differindex c879610..c879610 100755..100644 --- a/src/gfx/cards/nidorina.8x6.png +++ b/src/gfx/cards/nidorina.8x6.png diff --git a/src/gfx/cards/nidorino.8x6.png b/src/gfx/cards/nidorino.8x6.png Binary files differindex 65f851c..65f851c 100755..100644 --- a/src/gfx/cards/nidorino.8x6.png +++ b/src/gfx/cards/nidorino.8x6.png diff --git a/src/gfx/cards/ninetails1.8x6.png b/src/gfx/cards/ninetails1.8x6.png Binary files differindex eba870d..eba870d 100755..100644 --- a/src/gfx/cards/ninetails1.8x6.png +++ b/src/gfx/cards/ninetails1.8x6.png diff --git a/src/gfx/cards/ninetails2.8x6.png b/src/gfx/cards/ninetails2.8x6.png Binary files differindex 2003e52..2003e52 100755..100644 --- a/src/gfx/cards/ninetails2.8x6.png +++ b/src/gfx/cards/ninetails2.8x6.png diff --git a/src/gfx/cards/oddish.8x6.png b/src/gfx/cards/oddish.8x6.png Binary files differindex b37f1c0..b37f1c0 100755..100644 --- a/src/gfx/cards/oddish.8x6.png +++ b/src/gfx/cards/oddish.8x6.png diff --git a/src/gfx/cards/omanyte.8x6.png b/src/gfx/cards/omanyte.8x6.png Binary files differindex b56b359..b56b359 100755..100644 --- a/src/gfx/cards/omanyte.8x6.png +++ b/src/gfx/cards/omanyte.8x6.png diff --git a/src/gfx/cards/omastar.8x6.png b/src/gfx/cards/omastar.8x6.png Binary files differindex ba090fc..ba090fc 100755..100644 --- a/src/gfx/cards/omastar.8x6.png +++ b/src/gfx/cards/omastar.8x6.png diff --git a/src/gfx/cards/onix.8x6.png b/src/gfx/cards/onix.8x6.png Binary files differindex 5d48c2c..5d48c2c 100755..100644 --- a/src/gfx/cards/onix.8x6.png +++ b/src/gfx/cards/onix.8x6.png diff --git a/src/gfx/cards/paras.8x6.png b/src/gfx/cards/paras.8x6.png Binary files differindex 6054beb..6054beb 100755..100644 --- a/src/gfx/cards/paras.8x6.png +++ b/src/gfx/cards/paras.8x6.png diff --git a/src/gfx/cards/parasect.8x6.png b/src/gfx/cards/parasect.8x6.png Binary files differindex 3c772f4..3c772f4 100755..100644 --- a/src/gfx/cards/parasect.8x6.png +++ b/src/gfx/cards/parasect.8x6.png diff --git a/src/gfx/cards/persian.8x6.png b/src/gfx/cards/persian.8x6.png Binary files differindex 0cdc9ee..0cdc9ee 100755..100644 --- a/src/gfx/cards/persian.8x6.png +++ b/src/gfx/cards/persian.8x6.png diff --git a/src/gfx/cards/pidgeot1.8x6.png b/src/gfx/cards/pidgeot1.8x6.png Binary files differindex 4f3422a..4f3422a 100755..100644 --- a/src/gfx/cards/pidgeot1.8x6.png +++ b/src/gfx/cards/pidgeot1.8x6.png diff --git a/src/gfx/cards/pidgeot2.8x6.png b/src/gfx/cards/pidgeot2.8x6.png Binary files differindex ede4ad5..ede4ad5 100755..100644 --- a/src/gfx/cards/pidgeot2.8x6.png +++ b/src/gfx/cards/pidgeot2.8x6.png diff --git a/src/gfx/cards/pidgeotto.8x6.png b/src/gfx/cards/pidgeotto.8x6.png Binary files differindex ec7e03d..ec7e03d 100755..100644 --- a/src/gfx/cards/pidgeotto.8x6.png +++ b/src/gfx/cards/pidgeotto.8x6.png diff --git a/src/gfx/cards/pidgey.8x6.png b/src/gfx/cards/pidgey.8x6.png Binary files differindex 5fc97a5..5fc97a5 100755..100644 --- a/src/gfx/cards/pidgey.8x6.png +++ b/src/gfx/cards/pidgey.8x6.png diff --git a/src/gfx/cards/pikachu1.8x6.png b/src/gfx/cards/pikachu1.8x6.png Binary files differindex 5696eb2..5696eb2 100755..100644 --- a/src/gfx/cards/pikachu1.8x6.png +++ b/src/gfx/cards/pikachu1.8x6.png diff --git a/src/gfx/cards/pikachu2.8x6.png b/src/gfx/cards/pikachu2.8x6.png Binary files differindex b97b530..b97b530 100755..100644 --- a/src/gfx/cards/pikachu2.8x6.png +++ b/src/gfx/cards/pikachu2.8x6.png diff --git a/src/gfx/cards/pikachu3.8x6.png b/src/gfx/cards/pikachu3.8x6.png Binary files differindex 4dec614..4dec614 100755..100644 --- a/src/gfx/cards/pikachu3.8x6.png +++ b/src/gfx/cards/pikachu3.8x6.png diff --git a/src/gfx/cards/pikachu4.8x6.png b/src/gfx/cards/pikachu4.8x6.png Binary files differindex b355807..b355807 100755..100644 --- a/src/gfx/cards/pikachu4.8x6.png +++ b/src/gfx/cards/pikachu4.8x6.png diff --git a/src/gfx/cards/pinsir.8x6.png b/src/gfx/cards/pinsir.8x6.png Binary files differindex 1e23b81..1e23b81 100755..100644 --- a/src/gfx/cards/pinsir.8x6.png +++ b/src/gfx/cards/pinsir.8x6.png diff --git a/src/gfx/cards/pluspower.8x6.png b/src/gfx/cards/pluspower.8x6.png Binary files differindex efb4b1c..efb4b1c 100755..100644 --- a/src/gfx/cards/pluspower.8x6.png +++ b/src/gfx/cards/pluspower.8x6.png diff --git a/src/gfx/cards/pokeball.8x6.png b/src/gfx/cards/pokeball.8x6.png Binary files differindex bd99dfd..bd99dfd 100755..100644 --- a/src/gfx/cards/pokeball.8x6.png +++ b/src/gfx/cards/pokeball.8x6.png diff --git a/src/gfx/cards/pokedex.8x6.png b/src/gfx/cards/pokedex.8x6.png Binary files differindex 970be3e..970be3e 100755..100644 --- a/src/gfx/cards/pokedex.8x6.png +++ b/src/gfx/cards/pokedex.8x6.png diff --git a/src/gfx/cards/pokemonbreeder.8x6.png b/src/gfx/cards/pokemonbreeder.8x6.png Binary files differindex 0661bde..0661bde 100755..100644 --- a/src/gfx/cards/pokemonbreeder.8x6.png +++ b/src/gfx/cards/pokemonbreeder.8x6.png diff --git a/src/gfx/cards/pokemoncenter.8x6.png b/src/gfx/cards/pokemoncenter.8x6.png Binary files differindex 2ddffb8..2ddffb8 100755..100644 --- a/src/gfx/cards/pokemoncenter.8x6.png +++ b/src/gfx/cards/pokemoncenter.8x6.png diff --git a/src/gfx/cards/pokemonflute.8x6.png b/src/gfx/cards/pokemonflute.8x6.png Binary files differindex f9cb9df..f9cb9df 100755..100644 --- a/src/gfx/cards/pokemonflute.8x6.png +++ b/src/gfx/cards/pokemonflute.8x6.png diff --git a/src/gfx/cards/pokemontrader.8x6.png b/src/gfx/cards/pokemontrader.8x6.png Binary files differindex c35959d..c35959d 100755..100644 --- a/src/gfx/cards/pokemontrader.8x6.png +++ b/src/gfx/cards/pokemontrader.8x6.png diff --git a/src/gfx/cards/poliwag.8x6.png b/src/gfx/cards/poliwag.8x6.png Binary files differindex e555007..e555007 100755..100644 --- a/src/gfx/cards/poliwag.8x6.png +++ b/src/gfx/cards/poliwag.8x6.png diff --git a/src/gfx/cards/poliwhirl.8x6.png b/src/gfx/cards/poliwhirl.8x6.png Binary files differindex bf73eca..bf73eca 100755..100644 --- a/src/gfx/cards/poliwhirl.8x6.png +++ b/src/gfx/cards/poliwhirl.8x6.png diff --git a/src/gfx/cards/poliwrath.8x6.png b/src/gfx/cards/poliwrath.8x6.png Binary files differindex d4af8a2..d4af8a2 100755..100644 --- a/src/gfx/cards/poliwrath.8x6.png +++ b/src/gfx/cards/poliwrath.8x6.png diff --git a/src/gfx/cards/ponyta.8x6.png b/src/gfx/cards/ponyta.8x6.png Binary files differindex 051665a..051665a 100755..100644 --- a/src/gfx/cards/ponyta.8x6.png +++ b/src/gfx/cards/ponyta.8x6.png diff --git a/src/gfx/cards/porygon.8x6.png b/src/gfx/cards/porygon.8x6.png Binary files differindex bd21d61..bd21d61 100755..100644 --- a/src/gfx/cards/porygon.8x6.png +++ b/src/gfx/cards/porygon.8x6.png diff --git a/src/gfx/cards/potion.8x6.png b/src/gfx/cards/potion.8x6.png Binary files differindex 2ea8805..2ea8805 100755..100644 --- a/src/gfx/cards/potion.8x6.png +++ b/src/gfx/cards/potion.8x6.png diff --git a/src/gfx/cards/primeape.8x6.png b/src/gfx/cards/primeape.8x6.png Binary files differindex 6b3186d..6b3186d 100755..100644 --- a/src/gfx/cards/primeape.8x6.png +++ b/src/gfx/cards/primeape.8x6.png diff --git a/src/gfx/cards/professoroak.8x6.png b/src/gfx/cards/professoroak.8x6.png Binary files differindex 1073c5a..1073c5a 100755..100644 --- a/src/gfx/cards/professoroak.8x6.png +++ b/src/gfx/cards/professoroak.8x6.png diff --git a/src/gfx/cards/psychicenergy.8x6.png b/src/gfx/cards/psychicenergy.8x6.png Binary files differindex d2ed9ab..d2ed9ab 100755..100644 --- a/src/gfx/cards/psychicenergy.8x6.png +++ b/src/gfx/cards/psychicenergy.8x6.png diff --git a/src/gfx/cards/psyduck.8x6.png b/src/gfx/cards/psyduck.8x6.png Binary files differindex 22f2188..22f2188 100755..100644 --- a/src/gfx/cards/psyduck.8x6.png +++ b/src/gfx/cards/psyduck.8x6.png diff --git a/src/gfx/cards/raichu1.8x6.png b/src/gfx/cards/raichu1.8x6.png Binary files differindex 84aa606..84aa606 100755..100644 --- a/src/gfx/cards/raichu1.8x6.png +++ b/src/gfx/cards/raichu1.8x6.png diff --git a/src/gfx/cards/raichu2.8x6.png b/src/gfx/cards/raichu2.8x6.png Binary files differindex 708699a..708699a 100755..100644 --- a/src/gfx/cards/raichu2.8x6.png +++ b/src/gfx/cards/raichu2.8x6.png diff --git a/src/gfx/cards/rapidash.8x6.png b/src/gfx/cards/rapidash.8x6.png Binary files differindex 0ae1186..0ae1186 100755..100644 --- a/src/gfx/cards/rapidash.8x6.png +++ b/src/gfx/cards/rapidash.8x6.png diff --git a/src/gfx/cards/raticate.8x6.png b/src/gfx/cards/raticate.8x6.png Binary files differindex 8c79e7f..8c79e7f 100755..100644 --- a/src/gfx/cards/raticate.8x6.png +++ b/src/gfx/cards/raticate.8x6.png diff --git a/src/gfx/cards/rattata.8x6.png b/src/gfx/cards/rattata.8x6.png Binary files differindex 2bf4f19..2bf4f19 100755..100644 --- a/src/gfx/cards/rattata.8x6.png +++ b/src/gfx/cards/rattata.8x6.png diff --git a/src/gfx/cards/recycle.8x6.png b/src/gfx/cards/recycle.8x6.png Binary files differindex e7e809c..e7e809c 100755..100644 --- a/src/gfx/cards/recycle.8x6.png +++ b/src/gfx/cards/recycle.8x6.png diff --git a/src/gfx/cards/revive.8x6.png b/src/gfx/cards/revive.8x6.png Binary files differindex 6cf1afa..6cf1afa 100755..100644 --- a/src/gfx/cards/revive.8x6.png +++ b/src/gfx/cards/revive.8x6.png diff --git a/src/gfx/cards/rhydon.8x6.png b/src/gfx/cards/rhydon.8x6.png Binary files differindex c420a66..c420a66 100755..100644 --- a/src/gfx/cards/rhydon.8x6.png +++ b/src/gfx/cards/rhydon.8x6.png diff --git a/src/gfx/cards/rhyhorn.8x6.png b/src/gfx/cards/rhyhorn.8x6.png Binary files differindex 591f7b5..591f7b5 100755..100644 --- a/src/gfx/cards/rhyhorn.8x6.png +++ b/src/gfx/cards/rhyhorn.8x6.png diff --git a/src/gfx/cards/sandshrew.8x6.png b/src/gfx/cards/sandshrew.8x6.png Binary files differindex db01d0c..db01d0c 100755..100644 --- a/src/gfx/cards/sandshrew.8x6.png +++ b/src/gfx/cards/sandshrew.8x6.png diff --git a/src/gfx/cards/sandslash.8x6.png b/src/gfx/cards/sandslash.8x6.png Binary files differindex 438b2e2..438b2e2 100755..100644 --- a/src/gfx/cards/sandslash.8x6.png +++ b/src/gfx/cards/sandslash.8x6.png diff --git a/src/gfx/cards/scoopup.8x6.png b/src/gfx/cards/scoopup.8x6.png Binary files differindex 3e75ec7..3e75ec7 100755..100644 --- a/src/gfx/cards/scoopup.8x6.png +++ b/src/gfx/cards/scoopup.8x6.png diff --git a/src/gfx/cards/scyther.8x6.png b/src/gfx/cards/scyther.8x6.png Binary files differindex 85d9255..85d9255 100755..100644 --- a/src/gfx/cards/scyther.8x6.png +++ b/src/gfx/cards/scyther.8x6.png diff --git a/src/gfx/cards/seadra.8x6.png b/src/gfx/cards/seadra.8x6.png Binary files differindex 168eb4e..168eb4e 100755..100644 --- a/src/gfx/cards/seadra.8x6.png +++ b/src/gfx/cards/seadra.8x6.png diff --git a/src/gfx/cards/seaking.8x6.png b/src/gfx/cards/seaking.8x6.png Binary files differindex ada6702..ada6702 100755..100644 --- a/src/gfx/cards/seaking.8x6.png +++ b/src/gfx/cards/seaking.8x6.png diff --git a/src/gfx/cards/seel.8x6.png b/src/gfx/cards/seel.8x6.png Binary files differindex 9face9f..9face9f 100755..100644 --- a/src/gfx/cards/seel.8x6.png +++ b/src/gfx/cards/seel.8x6.png diff --git a/src/gfx/cards/shellder.8x6.png b/src/gfx/cards/shellder.8x6.png Binary files differindex ad49832..ad49832 100755..100644 --- a/src/gfx/cards/shellder.8x6.png +++ b/src/gfx/cards/shellder.8x6.png diff --git a/src/gfx/cards/slowbro.8x6.png b/src/gfx/cards/slowbro.8x6.png Binary files differindex ad59fd6..ad59fd6 100755..100644 --- a/src/gfx/cards/slowbro.8x6.png +++ b/src/gfx/cards/slowbro.8x6.png diff --git a/src/gfx/cards/slowpoke1.8x6.png b/src/gfx/cards/slowpoke1.8x6.png Binary files differindex a74d1a4..a74d1a4 100755..100644 --- a/src/gfx/cards/slowpoke1.8x6.png +++ b/src/gfx/cards/slowpoke1.8x6.png diff --git a/src/gfx/cards/slowpoke2.8x6.png b/src/gfx/cards/slowpoke2.8x6.png Binary files differindex 834cf05..834cf05 100755..100644 --- a/src/gfx/cards/slowpoke2.8x6.png +++ b/src/gfx/cards/slowpoke2.8x6.png diff --git a/src/gfx/cards/snorlax.8x6.png b/src/gfx/cards/snorlax.8x6.png Binary files differindex 4eb26a4..4eb26a4 100755..100644 --- a/src/gfx/cards/snorlax.8x6.png +++ b/src/gfx/cards/snorlax.8x6.png diff --git a/src/gfx/cards/spearow.8x6.png b/src/gfx/cards/spearow.8x6.png Binary files differindex f76c643..f76c643 100755..100644 --- a/src/gfx/cards/spearow.8x6.png +++ b/src/gfx/cards/spearow.8x6.png diff --git a/src/gfx/cards/squirtle.8x6.png b/src/gfx/cards/squirtle.8x6.png Binary files differindex e8907eb..e8907eb 100755..100644 --- a/src/gfx/cards/squirtle.8x6.png +++ b/src/gfx/cards/squirtle.8x6.png diff --git a/src/gfx/cards/starmie.8x6.png b/src/gfx/cards/starmie.8x6.png Binary files differindex 5e4c0b1..5e4c0b1 100755..100644 --- a/src/gfx/cards/starmie.8x6.png +++ b/src/gfx/cards/starmie.8x6.png diff --git a/src/gfx/cards/staryu.8x6.png b/src/gfx/cards/staryu.8x6.png Binary files differindex 1e63f1c..1e63f1c 100755..100644 --- a/src/gfx/cards/staryu.8x6.png +++ b/src/gfx/cards/staryu.8x6.png diff --git a/src/gfx/cards/superenergyremoval.8x6.png b/src/gfx/cards/superenergyremoval.8x6.png Binary files differindex f71ac87..f71ac87 100755..100644 --- a/src/gfx/cards/superenergyremoval.8x6.png +++ b/src/gfx/cards/superenergyremoval.8x6.png diff --git a/src/gfx/cards/superenergyretrieval.8x6.png b/src/gfx/cards/superenergyretrieval.8x6.png Binary files differindex be4c186..be4c186 100755..100644 --- a/src/gfx/cards/superenergyretrieval.8x6.png +++ b/src/gfx/cards/superenergyretrieval.8x6.png diff --git a/src/gfx/cards/superpotion.8x6.png b/src/gfx/cards/superpotion.8x6.png Binary files differindex b476aba..b476aba 100755..100644 --- a/src/gfx/cards/superpotion.8x6.png +++ b/src/gfx/cards/superpotion.8x6.png diff --git a/src/gfx/cards/surfingpikachu1.8x6.png b/src/gfx/cards/surfingpikachu1.8x6.png Binary files differindex 9b84774..9b84774 100755..100644 --- a/src/gfx/cards/surfingpikachu1.8x6.png +++ b/src/gfx/cards/surfingpikachu1.8x6.png diff --git a/src/gfx/cards/surfingpikachu2.8x6.png b/src/gfx/cards/surfingpikachu2.8x6.png Binary files differindex 53e796a..53e796a 100755..100644 --- a/src/gfx/cards/surfingpikachu2.8x6.png +++ b/src/gfx/cards/surfingpikachu2.8x6.png diff --git a/src/gfx/cards/switch.8x6.png b/src/gfx/cards/switch.8x6.png Binary files differindex cdcec01..cdcec01 100755..100644 --- a/src/gfx/cards/switch.8x6.png +++ b/src/gfx/cards/switch.8x6.png diff --git a/src/gfx/cards/tangela1.8x6.png b/src/gfx/cards/tangela1.8x6.png Binary files differindex 0907f14..0907f14 100755..100644 --- a/src/gfx/cards/tangela1.8x6.png +++ b/src/gfx/cards/tangela1.8x6.png diff --git a/src/gfx/cards/tangela2.8x6.png b/src/gfx/cards/tangela2.8x6.png Binary files differindex 5fb06c8..5fb06c8 100755..100644 --- a/src/gfx/cards/tangela2.8x6.png +++ b/src/gfx/cards/tangela2.8x6.png diff --git a/src/gfx/cards/tauros.8x6.png b/src/gfx/cards/tauros.8x6.png Binary files differindex 8a372a2..8a372a2 100755..100644 --- a/src/gfx/cards/tauros.8x6.png +++ b/src/gfx/cards/tauros.8x6.png diff --git a/src/gfx/cards/tentacool.8x6.png b/src/gfx/cards/tentacool.8x6.png Binary files differindex 7da303a..7da303a 100755..100644 --- a/src/gfx/cards/tentacool.8x6.png +++ b/src/gfx/cards/tentacool.8x6.png diff --git a/src/gfx/cards/tentacruel.8x6.png b/src/gfx/cards/tentacruel.8x6.png Binary files differindex 74b2c43..74b2c43 100755..100644 --- a/src/gfx/cards/tentacruel.8x6.png +++ b/src/gfx/cards/tentacruel.8x6.png diff --git a/src/gfx/cards/vaporeon1.8x6.png b/src/gfx/cards/vaporeon1.8x6.png Binary files differindex 3ac523a..3ac523a 100755..100644 --- a/src/gfx/cards/vaporeon1.8x6.png +++ b/src/gfx/cards/vaporeon1.8x6.png diff --git a/src/gfx/cards/vaporeon2.8x6.png b/src/gfx/cards/vaporeon2.8x6.png Binary files differindex a90ba62..a90ba62 100755..100644 --- a/src/gfx/cards/vaporeon2.8x6.png +++ b/src/gfx/cards/vaporeon2.8x6.png diff --git a/src/gfx/cards/venomoth.8x6.png b/src/gfx/cards/venomoth.8x6.png Binary files differindex d1c9fce..d1c9fce 100755..100644 --- a/src/gfx/cards/venomoth.8x6.png +++ b/src/gfx/cards/venomoth.8x6.png diff --git a/src/gfx/cards/venonat.8x6.png b/src/gfx/cards/venonat.8x6.png Binary files differindex 1638261..1638261 100755..100644 --- a/src/gfx/cards/venonat.8x6.png +++ b/src/gfx/cards/venonat.8x6.png diff --git a/src/gfx/cards/venusaur1.8x6.png b/src/gfx/cards/venusaur1.8x6.png Binary files differindex d2d3989..d2d3989 100755..100644 --- a/src/gfx/cards/venusaur1.8x6.png +++ b/src/gfx/cards/venusaur1.8x6.png diff --git a/src/gfx/cards/venusaur2.8x6.png b/src/gfx/cards/venusaur2.8x6.png Binary files differindex dcfa858..dcfa858 100755..100644 --- a/src/gfx/cards/venusaur2.8x6.png +++ b/src/gfx/cards/venusaur2.8x6.png diff --git a/src/gfx/cards/victreebel.8x6.png b/src/gfx/cards/victreebel.8x6.png Binary files differindex d8536a0..d8536a0 100755..100644 --- a/src/gfx/cards/victreebel.8x6.png +++ b/src/gfx/cards/victreebel.8x6.png diff --git a/src/gfx/cards/vileplume.8x6.png b/src/gfx/cards/vileplume.8x6.png Binary files differindex a3766d5..a3766d5 100755..100644 --- a/src/gfx/cards/vileplume.8x6.png +++ b/src/gfx/cards/vileplume.8x6.png diff --git a/src/gfx/cards/voltorb.8x6.png b/src/gfx/cards/voltorb.8x6.png Binary files differindex cb39c66..cb39c66 100755..100644 --- a/src/gfx/cards/voltorb.8x6.png +++ b/src/gfx/cards/voltorb.8x6.png diff --git a/src/gfx/cards/vulpix.8x6.png b/src/gfx/cards/vulpix.8x6.png Binary files differindex e83d888..e83d888 100755..100644 --- a/src/gfx/cards/vulpix.8x6.png +++ b/src/gfx/cards/vulpix.8x6.png diff --git a/src/gfx/cards/wartortle.8x6.png b/src/gfx/cards/wartortle.8x6.png Binary files differindex fad87c7..fad87c7 100755..100644 --- a/src/gfx/cards/wartortle.8x6.png +++ b/src/gfx/cards/wartortle.8x6.png diff --git a/src/gfx/cards/waterenergy.8x6.png b/src/gfx/cards/waterenergy.8x6.png Binary files differindex 1fe022e..1fe022e 100755..100644 --- a/src/gfx/cards/waterenergy.8x6.png +++ b/src/gfx/cards/waterenergy.8x6.png diff --git a/src/gfx/cards/weedle.8x6.png b/src/gfx/cards/weedle.8x6.png Binary files differindex f53e060..f53e060 100755..100644 --- a/src/gfx/cards/weedle.8x6.png +++ b/src/gfx/cards/weedle.8x6.png diff --git a/src/gfx/cards/weepinbell.8x6.png b/src/gfx/cards/weepinbell.8x6.png Binary files differindex bdff148..bdff148 100755..100644 --- a/src/gfx/cards/weepinbell.8x6.png +++ b/src/gfx/cards/weepinbell.8x6.png diff --git a/src/gfx/cards/weezing.8x6.png b/src/gfx/cards/weezing.8x6.png Binary files differindex 12d3514..12d3514 100755..100644 --- a/src/gfx/cards/weezing.8x6.png +++ b/src/gfx/cards/weezing.8x6.png diff --git a/src/gfx/cards/wigglytuff.8x6.png b/src/gfx/cards/wigglytuff.8x6.png Binary files differindex 3429ddf..3429ddf 100755..100644 --- a/src/gfx/cards/wigglytuff.8x6.png +++ b/src/gfx/cards/wigglytuff.8x6.png diff --git a/src/gfx/cards/zapdos1.8x6.png b/src/gfx/cards/zapdos1.8x6.png Binary files differindex b34c5c7..b34c5c7 100755..100644 --- a/src/gfx/cards/zapdos1.8x6.png +++ b/src/gfx/cards/zapdos1.8x6.png diff --git a/src/gfx/cards/zapdos2.8x6.png b/src/gfx/cards/zapdos2.8x6.png Binary files differindex 1583f11..1583f11 100755..100644 --- a/src/gfx/cards/zapdos2.8x6.png +++ b/src/gfx/cards/zapdos2.8x6.png diff --git a/src/gfx/cards/zapdos3.8x6.png b/src/gfx/cards/zapdos3.8x6.png Binary files differindex 3683243..3683243 100755..100644 --- a/src/gfx/cards/zapdos3.8x6.png +++ b/src/gfx/cards/zapdos3.8x6.png diff --git a/src/gfx/cards/zubat.8x6.png b/src/gfx/cards/zubat.8x6.png Binary files differindex 2a0c346..2a0c346 100755..100644 --- a/src/gfx/cards/zubat.8x6.png +++ b/src/gfx/cards/zubat.8x6.png diff --git a/src/gfx/companies.png b/src/gfx/companies.png Binary files differindex c51bd7d..c51bd7d 100755..100644 --- a/src/gfx/companies.png +++ b/src/gfx/companies.png diff --git a/src/gfx/duel/0.png b/src/gfx/duel/0.png Binary files differindex f74b710..f74b710 100755..100644 --- a/src/gfx/duel/0.png +++ b/src/gfx/duel/0.png diff --git a/src/gfx/duel/1.png b/src/gfx/duel/1.png Binary files differindex fbdd03d..fbdd03d 100755..100644 --- a/src/gfx/duel/1.png +++ b/src/gfx/duel/1.png diff --git a/src/gfx/duel/10.png b/src/gfx/duel/10.png Binary files differindex abf7bf4..abf7bf4 100755..100644 --- a/src/gfx/duel/10.png +++ b/src/gfx/duel/10.png diff --git a/src/gfx/duel/11.png b/src/gfx/duel/11.png Binary files differindex 73a3564..73a3564 100755..100644 --- a/src/gfx/duel/11.png +++ b/src/gfx/duel/11.png diff --git a/src/gfx/duel/12.png b/src/gfx/duel/12.png Binary files differindex 55a7aff..55a7aff 100755..100644 --- a/src/gfx/duel/12.png +++ b/src/gfx/duel/12.png diff --git a/src/gfx/duel/13.png b/src/gfx/duel/13.png Binary files differindex 56cfaae..56cfaae 100755..100644 --- a/src/gfx/duel/13.png +++ b/src/gfx/duel/13.png diff --git a/src/gfx/duel/14.png b/src/gfx/duel/14.png Binary files differindex 4d7d038..4d7d038 100755..100644 --- a/src/gfx/duel/14.png +++ b/src/gfx/duel/14.png diff --git a/src/gfx/duel/15.png b/src/gfx/duel/15.png Binary files differindex 7003067..7003067 100755..100644 --- a/src/gfx/duel/15.png +++ b/src/gfx/duel/15.png diff --git a/src/gfx/duel/16.png b/src/gfx/duel/16.png Binary files differindex 8f15645..8f15645 100755..100644 --- a/src/gfx/duel/16.png +++ b/src/gfx/duel/16.png diff --git a/src/gfx/duel/17.png b/src/gfx/duel/17.png Binary files differindex 87cfac5..87cfac5 100755..100644 --- a/src/gfx/duel/17.png +++ b/src/gfx/duel/17.png diff --git a/src/gfx/duel/18.png b/src/gfx/duel/18.png Binary files differindex e1a10b1..e1a10b1 100755..100644 --- a/src/gfx/duel/18.png +++ b/src/gfx/duel/18.png diff --git a/src/gfx/duel/19.png b/src/gfx/duel/19.png Binary files differindex b2642f4..b2642f4 100755..100644 --- a/src/gfx/duel/19.png +++ b/src/gfx/duel/19.png diff --git a/src/gfx/duel/2.png b/src/gfx/duel/2.png Binary files differindex 6e10c3b..6e10c3b 100755..100644 --- a/src/gfx/duel/2.png +++ b/src/gfx/duel/2.png diff --git a/src/gfx/duel/20.png b/src/gfx/duel/20.png Binary files differindex 0b7fdaa..0b7fdaa 100755..100644 --- a/src/gfx/duel/20.png +++ b/src/gfx/duel/20.png diff --git a/src/gfx/duel/21.png b/src/gfx/duel/21.png Binary files differindex 8a6a885..8a6a885 100755..100644 --- a/src/gfx/duel/21.png +++ b/src/gfx/duel/21.png diff --git a/src/gfx/duel/22.png b/src/gfx/duel/22.png Binary files differindex 79f7a26..79f7a26 100755..100644 --- a/src/gfx/duel/22.png +++ b/src/gfx/duel/22.png diff --git a/src/gfx/duel/23.png b/src/gfx/duel/23.png Binary files differindex f04ef12..f04ef12 100755..100644 --- a/src/gfx/duel/23.png +++ b/src/gfx/duel/23.png diff --git a/src/gfx/duel/24.png b/src/gfx/duel/24.png Binary files differindex bfc7f47..bfc7f47 100755..100644 --- a/src/gfx/duel/24.png +++ b/src/gfx/duel/24.png diff --git a/src/gfx/duel/25.png b/src/gfx/duel/25.png Binary files differindex e71cec1..e71cec1 100755..100644 --- a/src/gfx/duel/25.png +++ b/src/gfx/duel/25.png diff --git a/src/gfx/duel/26.png b/src/gfx/duel/26.png Binary files differindex f8ed483..f8ed483 100755..100644 --- a/src/gfx/duel/26.png +++ b/src/gfx/duel/26.png diff --git a/src/gfx/duel/27.png b/src/gfx/duel/27.png Binary files differindex 4efe481..4efe481 100755..100644 --- a/src/gfx/duel/27.png +++ b/src/gfx/duel/27.png diff --git a/src/gfx/duel/28.png b/src/gfx/duel/28.png Binary files differindex 5962e5b..5962e5b 100755..100644 --- a/src/gfx/duel/28.png +++ b/src/gfx/duel/28.png diff --git a/src/gfx/duel/29.png b/src/gfx/duel/29.png Binary files differindex d73be15..d73be15 100755..100644 --- a/src/gfx/duel/29.png +++ b/src/gfx/duel/29.png diff --git a/src/gfx/duel/3.png b/src/gfx/duel/3.png Binary files differindex a4cd613..a4cd613 100755..100644 --- a/src/gfx/duel/3.png +++ b/src/gfx/duel/3.png diff --git a/src/gfx/duel/30.png b/src/gfx/duel/30.png Binary files differindex eb4f993..eb4f993 100755..100644 --- a/src/gfx/duel/30.png +++ b/src/gfx/duel/30.png diff --git a/src/gfx/duel/31.png b/src/gfx/duel/31.png Binary files differindex 726a9de..726a9de 100755..100644 --- a/src/gfx/duel/31.png +++ b/src/gfx/duel/31.png diff --git a/src/gfx/duel/32.png b/src/gfx/duel/32.png Binary files differindex 5696434..5696434 100755..100644 --- a/src/gfx/duel/32.png +++ b/src/gfx/duel/32.png diff --git a/src/gfx/duel/33.png b/src/gfx/duel/33.png Binary files differindex cec3c5c..cec3c5c 100755..100644 --- a/src/gfx/duel/33.png +++ b/src/gfx/duel/33.png diff --git a/src/gfx/duel/34.png b/src/gfx/duel/34.png Binary files differindex 3a23454..3a23454 100755..100644 --- a/src/gfx/duel/34.png +++ b/src/gfx/duel/34.png diff --git a/src/gfx/duel/35.png b/src/gfx/duel/35.png Binary files differindex 88b9a8a..88b9a8a 100755..100644 --- a/src/gfx/duel/35.png +++ b/src/gfx/duel/35.png diff --git a/src/gfx/duel/36.png b/src/gfx/duel/36.png Binary files differindex 75c6606..75c6606 100755..100644 --- a/src/gfx/duel/36.png +++ b/src/gfx/duel/36.png diff --git a/src/gfx/duel/37.png b/src/gfx/duel/37.png Binary files differindex 124a4aa..124a4aa 100755..100644 --- a/src/gfx/duel/37.png +++ b/src/gfx/duel/37.png diff --git a/src/gfx/duel/38.png b/src/gfx/duel/38.png Binary files differindex d13659f..d13659f 100755..100644 --- a/src/gfx/duel/38.png +++ b/src/gfx/duel/38.png diff --git a/src/gfx/duel/39.png b/src/gfx/duel/39.png Binary files differindex 72a5047..72a5047 100755..100644 --- a/src/gfx/duel/39.png +++ b/src/gfx/duel/39.png diff --git a/src/gfx/duel/4.png b/src/gfx/duel/4.png Binary files differindex bb53fa0..bb53fa0 100755..100644 --- a/src/gfx/duel/4.png +++ b/src/gfx/duel/4.png diff --git a/src/gfx/duel/40.png b/src/gfx/duel/40.png Binary files differindex f5c374a..f5c374a 100755..100644 --- a/src/gfx/duel/40.png +++ b/src/gfx/duel/40.png diff --git a/src/gfx/duel/41.png b/src/gfx/duel/41.png Binary files differindex fdd1218..fdd1218 100755..100644 --- a/src/gfx/duel/41.png +++ b/src/gfx/duel/41.png diff --git a/src/gfx/duel/42.png b/src/gfx/duel/42.png Binary files differindex 099ca70..099ca70 100755..100644 --- a/src/gfx/duel/42.png +++ b/src/gfx/duel/42.png diff --git a/src/gfx/duel/43.png b/src/gfx/duel/43.png Binary files differindex 216de05..216de05 100755..100644 --- a/src/gfx/duel/43.png +++ b/src/gfx/duel/43.png diff --git a/src/gfx/duel/44.png b/src/gfx/duel/44.png Binary files differindex b3a043e..b3a043e 100755..100644 --- a/src/gfx/duel/44.png +++ b/src/gfx/duel/44.png diff --git a/src/gfx/duel/45.png b/src/gfx/duel/45.png Binary files differindex b466614..b466614 100755..100644 --- a/src/gfx/duel/45.png +++ b/src/gfx/duel/45.png diff --git a/src/gfx/duel/46.png b/src/gfx/duel/46.png Binary files differindex 9a01563..9a01563 100755..100644 --- a/src/gfx/duel/46.png +++ b/src/gfx/duel/46.png diff --git a/src/gfx/duel/47.png b/src/gfx/duel/47.png Binary files differindex 9bf5047..9bf5047 100755..100644 --- a/src/gfx/duel/47.png +++ b/src/gfx/duel/47.png diff --git a/src/gfx/duel/48.png b/src/gfx/duel/48.png Binary files differindex 100bb49..100bb49 100755..100644 --- a/src/gfx/duel/48.png +++ b/src/gfx/duel/48.png diff --git a/src/gfx/duel/49.png b/src/gfx/duel/49.png Binary files differindex 07ba688..07ba688 100755..100644 --- a/src/gfx/duel/49.png +++ b/src/gfx/duel/49.png diff --git a/src/gfx/duel/5.png b/src/gfx/duel/5.png Binary files differindex baf7475..baf7475 100755..100644 --- a/src/gfx/duel/5.png +++ b/src/gfx/duel/5.png diff --git a/src/gfx/duel/50.png b/src/gfx/duel/50.png Binary files differindex b82049f..b82049f 100755..100644 --- a/src/gfx/duel/50.png +++ b/src/gfx/duel/50.png diff --git a/src/gfx/duel/51.t10.png b/src/gfx/duel/51.t10.png Binary files differindex 98eb770..98eb770 100755..100644 --- a/src/gfx/duel/51.t10.png +++ b/src/gfx/duel/51.t10.png diff --git a/src/gfx/duel/52.png b/src/gfx/duel/52.png Binary files differindex 420136f..420136f 100755..100644 --- a/src/gfx/duel/52.png +++ b/src/gfx/duel/52.png diff --git a/src/gfx/duel/53.png b/src/gfx/duel/53.png Binary files differindex 10a21f5..10a21f5 100755..100644 --- a/src/gfx/duel/53.png +++ b/src/gfx/duel/53.png diff --git a/src/gfx/duel/54.png b/src/gfx/duel/54.png Binary files differindex 7dbb527..7dbb527 100755..100644 --- a/src/gfx/duel/54.png +++ b/src/gfx/duel/54.png diff --git a/src/gfx/unnamed/1.png b/src/gfx/duel/55.png Binary files differindex ebab414..ebab414 100755..100644 --- a/src/gfx/unnamed/1.png +++ b/src/gfx/duel/55.png diff --git a/src/gfx/unnamed/2.png b/src/gfx/duel/56.png Binary files differindex dd82623..dd82623 100755..100644 --- a/src/gfx/unnamed/2.png +++ b/src/gfx/duel/56.png diff --git a/src/gfx/unnamed/3.png b/src/gfx/duel/57.png Binary files differindex 7b97f92..7b97f92 100755..100644 --- a/src/gfx/unnamed/3.png +++ b/src/gfx/duel/57.png diff --git a/src/gfx/duel/poison.png b/src/gfx/duel/58.png Binary files differindex 8f8b22c..8f8b22c 100755..100644 --- a/src/gfx/duel/poison.png +++ b/src/gfx/duel/58.png diff --git a/src/gfx/unnamed/4.png b/src/gfx/duel/59.png Binary files differindex 16b7344..16b7344 100755..100644 --- a/src/gfx/unnamed/4.png +++ b/src/gfx/duel/59.png diff --git a/src/gfx/duel/6.png b/src/gfx/duel/6.png Binary files differindex 80cc739..80cc739 100755..100644 --- a/src/gfx/duel/6.png +++ b/src/gfx/duel/6.png diff --git a/src/gfx/unnamed/5.png b/src/gfx/duel/60.png Binary files differindex dc60679..dc60679 100755..100644 --- a/src/gfx/unnamed/5.png +++ b/src/gfx/duel/60.png diff --git a/src/gfx/unnamed/6.png b/src/gfx/duel/61.png Binary files differindex de82420..de82420 100755..100644 --- a/src/gfx/unnamed/6.png +++ b/src/gfx/duel/61.png diff --git a/src/gfx/unnamed/7.png b/src/gfx/duel/62.png Binary files differindex c40fc22..c40fc22 100755..100644 --- a/src/gfx/unnamed/7.png +++ b/src/gfx/duel/62.png diff --git a/src/gfx/unnamed/8.png b/src/gfx/duel/63.png Binary files differindex 5ea882f..5ea882f 100755..100644 --- a/src/gfx/unnamed/8.png +++ b/src/gfx/duel/63.png diff --git a/src/gfx/unnamed/9.png b/src/gfx/duel/64.png Binary files differindex 36310a4..36310a4 100755..100644 --- a/src/gfx/unnamed/9.png +++ b/src/gfx/duel/64.png diff --git a/src/gfx/unnamed/10.png b/src/gfx/duel/65.png Binary files differindex 212a40d..212a40d 100755..100644 --- a/src/gfx/unnamed/10.png +++ b/src/gfx/duel/65.png diff --git a/src/gfx/unnamed/11.png b/src/gfx/duel/66.png Binary files differindex 65bebfb..65bebfb 100755..100644 --- a/src/gfx/unnamed/11.png +++ b/src/gfx/duel/66.png diff --git a/src/gfx/duel/7.png b/src/gfx/duel/7.png Binary files differindex c309ce9..c309ce9 100755..100644 --- a/src/gfx/duel/7.png +++ b/src/gfx/duel/7.png diff --git a/src/gfx/duel/8.png b/src/gfx/duel/8.png Binary files differindex 479b251..479b251 100755..100644 --- a/src/gfx/duel/8.png +++ b/src/gfx/duel/8.png diff --git a/src/gfx/duel/9.png b/src/gfx/duel/9.png Binary files differindex 3667ca8..3667ca8 100755..100644 --- a/src/gfx/duel/9.png +++ b/src/gfx/duel/9.png diff --git a/src/gfx/duel/duel2.png b/src/gfx/duel/box_messages.png Binary files differindex c8ce50f..c8ce50f 100755..100644 --- a/src/gfx/duel/duel2.png +++ b/src/gfx/duel/box_messages.png diff --git a/src/gfx/duel/duel1.t5.png b/src/gfx/duel/duel_graphics.t5.png Binary files differindex e36c5fb..e36c5fb 100755..100644 --- a/src/gfx/duel/duel1.t5.png +++ b/src/gfx/duel/duel_graphics.t5.png diff --git a/src/gfx/duelists/aaron.png b/src/gfx/duelists/aaron.png Binary files differindex bbd8bbc..bbd8bbc 100755..100644 --- a/src/gfx/duelists/aaron.png +++ b/src/gfx/duelists/aaron.png diff --git a/src/gfx/duelists/adam.png b/src/gfx/duelists/adam.png Binary files differindex 859bc86..859bc86 100755..100644 --- a/src/gfx/duelists/adam.png +++ b/src/gfx/duelists/adam.png diff --git a/src/gfx/duelists/amanda.png b/src/gfx/duelists/amanda.png Binary files differindex be16167..be16167 100755..100644 --- a/src/gfx/duelists/amanda.png +++ b/src/gfx/duelists/amanda.png diff --git a/src/gfx/duelists/amy.png b/src/gfx/duelists/amy.png Binary files differindex 0ca501d..0ca501d 100755..100644 --- a/src/gfx/duelists/amy.png +++ b/src/gfx/duelists/amy.png diff --git a/src/gfx/duelists/andrew.png b/src/gfx/duelists/andrew.png Binary files differindex 45508af..45508af 100755..100644 --- a/src/gfx/duelists/andrew.png +++ b/src/gfx/duelists/andrew.png diff --git a/src/gfx/duelists/brandon.png b/src/gfx/duelists/brandon.png Binary files differindex 32b1934..32b1934 100755..100644 --- a/src/gfx/duelists/brandon.png +++ b/src/gfx/duelists/brandon.png diff --git a/src/gfx/duelists/brittany.png b/src/gfx/duelists/brittany.png Binary files differindex 4e5e2a0..4e5e2a0 100755..100644 --- a/src/gfx/duelists/brittany.png +++ b/src/gfx/duelists/brittany.png diff --git a/src/gfx/duelists/chris.png b/src/gfx/duelists/chris.png Binary files differindex c645e12..c645e12 100755..100644 --- a/src/gfx/duelists/chris.png +++ b/src/gfx/duelists/chris.png diff --git a/src/gfx/duelists/courtney.png b/src/gfx/duelists/courtney.png Binary files differindex fff4a8a..fff4a8a 100755..100644 --- a/src/gfx/duelists/courtney.png +++ b/src/gfx/duelists/courtney.png diff --git a/src/gfx/duelists/daniel.png b/src/gfx/duelists/daniel.png Binary files differindex f3a36ac..f3a36ac 100755..100644 --- a/src/gfx/duelists/daniel.png +++ b/src/gfx/duelists/daniel.png diff --git a/src/gfx/duelists/david.png b/src/gfx/duelists/david.png Binary files differindex f1de43e..f1de43e 100755..100644 --- a/src/gfx/duelists/david.png +++ b/src/gfx/duelists/david.png diff --git a/src/gfx/duelists/erik.png b/src/gfx/duelists/erik.png Binary files differindex 287b615..287b615 100755..100644 --- a/src/gfx/duelists/erik.png +++ b/src/gfx/duelists/erik.png diff --git a/src/gfx/duelists/gene.png b/src/gfx/duelists/gene.png Binary files differindex ee368c1..ee368c1 100755..100644 --- a/src/gfx/duelists/gene.png +++ b/src/gfx/duelists/gene.png diff --git a/src/gfx/duelists/heather.png b/src/gfx/duelists/heather.png Binary files differindex 69baa70..69baa70 100755..100644 --- a/src/gfx/duelists/heather.png +++ b/src/gfx/duelists/heather.png diff --git a/src/gfx/duelists/imakuni.png b/src/gfx/duelists/imakuni.png Binary files differindex 1c6e8a7..1c6e8a7 100755..100644 --- a/src/gfx/duelists/imakuni.png +++ b/src/gfx/duelists/imakuni.png diff --git a/src/gfx/duelists/isaac.png b/src/gfx/duelists/isaac.png Binary files differindex 2aab212..2aab212 100755..100644 --- a/src/gfx/duelists/isaac.png +++ b/src/gfx/duelists/isaac.png diff --git a/src/gfx/duelists/jack.png b/src/gfx/duelists/jack.png Binary files differindex e8c3799..e8c3799 100755..100644 --- a/src/gfx/duelists/jack.png +++ b/src/gfx/duelists/jack.png diff --git a/src/gfx/duelists/jennifer.png b/src/gfx/duelists/jennifer.png Binary files differindex c218186..c218186 100755..100644 --- a/src/gfx/duelists/jennifer.png +++ b/src/gfx/duelists/jennifer.png diff --git a/src/gfx/duelists/jessica.png b/src/gfx/duelists/jessica.png Binary files differindex 0460d52..0460d52 100755..100644 --- a/src/gfx/duelists/jessica.png +++ b/src/gfx/duelists/jessica.png diff --git a/src/gfx/duelists/john.png b/src/gfx/duelists/john.png Binary files differindex 51ea430..51ea430 100755..100644 --- a/src/gfx/duelists/john.png +++ b/src/gfx/duelists/john.png diff --git a/src/gfx/duelists/jonathan.png b/src/gfx/duelists/jonathan.png Binary files differindex 40d6593..40d6593 100755..100644 --- a/src/gfx/duelists/jonathan.png +++ b/src/gfx/duelists/jonathan.png diff --git a/src/gfx/duelists/joseph.png b/src/gfx/duelists/joseph.png Binary files differindex 6ca588f..6ca588f 100755..100644 --- a/src/gfx/duelists/joseph.png +++ b/src/gfx/duelists/joseph.png diff --git a/src/gfx/duelists/joshua.png b/src/gfx/duelists/joshua.png Binary files differindex 5dd8b7f..5dd8b7f 100755..100644 --- a/src/gfx/duelists/joshua.png +++ b/src/gfx/duelists/joshua.png diff --git a/src/gfx/duelists/ken.png b/src/gfx/duelists/ken.png Binary files differindex 4da8ca2..4da8ca2 100755..100644 --- a/src/gfx/duelists/ken.png +++ b/src/gfx/duelists/ken.png diff --git a/src/gfx/duelists/kristin.png b/src/gfx/duelists/kristin.png Binary files differindex d265ae3..d265ae3 100755..100644 --- a/src/gfx/duelists/kristin.png +++ b/src/gfx/duelists/kristin.png diff --git a/src/gfx/duelists/matthew.png b/src/gfx/duelists/matthew.png Binary files differindex bd828e6..bd828e6 100755..100644 --- a/src/gfx/duelists/matthew.png +++ b/src/gfx/duelists/matthew.png diff --git a/src/gfx/duelists/michael.png b/src/gfx/duelists/michael.png Binary files differindex 454cdc3..454cdc3 100755..100644 --- a/src/gfx/duelists/michael.png +++ b/src/gfx/duelists/michael.png diff --git a/src/gfx/duelists/mitch.png b/src/gfx/duelists/mitch.png Binary files differindex 38c58fe..38c58fe 100755..100644 --- a/src/gfx/duelists/mitch.png +++ b/src/gfx/duelists/mitch.png diff --git a/src/gfx/duelists/murray.png b/src/gfx/duelists/murray.png Binary files differindex 32bd818..32bd818 100755..100644 --- a/src/gfx/duelists/murray.png +++ b/src/gfx/duelists/murray.png diff --git a/src/gfx/duelists/nicholas.png b/src/gfx/duelists/nicholas.png Binary files differindex 81f5b53..81f5b53 100755..100644 --- a/src/gfx/duelists/nicholas.png +++ b/src/gfx/duelists/nicholas.png diff --git a/src/gfx/duelists/nikki.png b/src/gfx/duelists/nikki.png Binary files differindex 2c4e205..2c4e205 100755..100644 --- a/src/gfx/duelists/nikki.png +++ b/src/gfx/duelists/nikki.png diff --git a/src/gfx/duelists/player.png b/src/gfx/duelists/player.png Binary files differindex 8b81fbe..8b81fbe 100755..100644 --- a/src/gfx/duelists/player.png +++ b/src/gfx/duelists/player.png diff --git a/src/gfx/duelists/rick.png b/src/gfx/duelists/rick.png Binary files differindex 7dcbdc0..7dcbdc0 100755..100644 --- a/src/gfx/duelists/rick.png +++ b/src/gfx/duelists/rick.png diff --git a/src/gfx/duelists/robert.png b/src/gfx/duelists/robert.png Binary files differindex 2172ae6..2172ae6 100755..100644 --- a/src/gfx/duelists/robert.png +++ b/src/gfx/duelists/robert.png diff --git a/src/gfx/duelists/rod.png b/src/gfx/duelists/rod.png Binary files differindex 4c57dd7..4c57dd7 100755..100644 --- a/src/gfx/duelists/rod.png +++ b/src/gfx/duelists/rod.png diff --git a/src/gfx/duelists/ronald.png b/src/gfx/duelists/ronald.png Binary files differindex 26a1245..26a1245 100755..100644 --- a/src/gfx/duelists/ronald.png +++ b/src/gfx/duelists/ronald.png diff --git a/src/gfx/duelists/ryan.png b/src/gfx/duelists/ryan.png Binary files differindex ab0f84c..ab0f84c 100755..100644 --- a/src/gfx/duelists/ryan.png +++ b/src/gfx/duelists/ryan.png diff --git a/src/gfx/duelists/sam.png b/src/gfx/duelists/sam.png Binary files differindex 7a52ac3..7a52ac3 100755..100644 --- a/src/gfx/duelists/sam.png +++ b/src/gfx/duelists/sam.png diff --git a/src/gfx/duelists/sara.png b/src/gfx/duelists/sara.png Binary files differindex f6319bb..f6319bb 100755..100644 --- a/src/gfx/duelists/sara.png +++ b/src/gfx/duelists/sara.png diff --git a/src/gfx/duelists/stephanie.png b/src/gfx/duelists/stephanie.png Binary files differindex a0a3ff8..a0a3ff8 100755..100644 --- a/src/gfx/duelists/stephanie.png +++ b/src/gfx/duelists/stephanie.png diff --git a/src/gfx/duelists/steve.png b/src/gfx/duelists/steve.png Binary files differindex 216cee0..216cee0 100755..100644 --- a/src/gfx/duelists/steve.png +++ b/src/gfx/duelists/steve.png diff --git a/src/gfx/fonts.t3.png b/src/gfx/fonts.t3.png Binary files differindex 5dc1fe8..5dc1fe8 100755..100644 --- a/src/gfx/fonts.t3.png +++ b/src/gfx/fonts.t3.png diff --git a/src/gfx/medals.png b/src/gfx/medals.png Binary files differindex 024bd9a..024bd9a 100755..100644 --- a/src/gfx/medals.png +++ b/src/gfx/medals.png diff --git a/src/gfx/overworld_map.t15.png b/src/gfx/overworld_map.t15.png Binary files differindex 5d8e819..5d8e819 100755..100644 --- a/src/gfx/overworld_map.t15.png +++ b/src/gfx/overworld_map.t15.png diff --git a/src/gfx/ow_map_oam.png b/src/gfx/overworld_map_oam.png Binary files differindex 323fc59..323fc59 100755..100644 --- a/src/gfx/ow_map_oam.png +++ b/src/gfx/overworld_map_oam.png diff --git a/src/gfx/ow/sprite0.png b/src/gfx/overworld_sprites/0.png Binary files differindex 0eceeb6..0eceeb6 100755..100644 --- a/src/gfx/ow/sprite0.png +++ b/src/gfx/overworld_sprites/0.png diff --git a/src/gfx/ow/sprite1.png b/src/gfx/overworld_sprites/1.png Binary files differindex b3fa35f..b3fa35f 100755..100644 --- a/src/gfx/ow/sprite1.png +++ b/src/gfx/overworld_sprites/1.png diff --git a/src/gfx/ow/sprite10.png b/src/gfx/overworld_sprites/10.png Binary files differindex e63ba2b..e63ba2b 100755..100644 --- a/src/gfx/ow/sprite10.png +++ b/src/gfx/overworld_sprites/10.png diff --git a/src/gfx/ow/sprite11.png b/src/gfx/overworld_sprites/11.png Binary files differindex 4a231fe..4a231fe 100755..100644 --- a/src/gfx/ow/sprite11.png +++ b/src/gfx/overworld_sprites/11.png diff --git a/src/gfx/ow/sprite12.png b/src/gfx/overworld_sprites/12.png Binary files differindex b24cd69..b24cd69 100755..100644 --- a/src/gfx/ow/sprite12.png +++ b/src/gfx/overworld_sprites/12.png diff --git a/src/gfx/ow/sprite13.png b/src/gfx/overworld_sprites/13.png Binary files differindex d55c62c..d55c62c 100755..100644 --- a/src/gfx/ow/sprite13.png +++ b/src/gfx/overworld_sprites/13.png diff --git a/src/gfx/ow/sprite14.png b/src/gfx/overworld_sprites/14.png Binary files differindex 0026093..0026093 100755..100644 --- a/src/gfx/ow/sprite14.png +++ b/src/gfx/overworld_sprites/14.png diff --git a/src/gfx/ow/sprite15.png b/src/gfx/overworld_sprites/15.png Binary files differindex 67a227d..67a227d 100755..100644 --- a/src/gfx/ow/sprite15.png +++ b/src/gfx/overworld_sprites/15.png diff --git a/src/gfx/ow/sprite16.png b/src/gfx/overworld_sprites/16.png Binary files differindex 0baa4eb..0baa4eb 100755..100644 --- a/src/gfx/ow/sprite16.png +++ b/src/gfx/overworld_sprites/16.png diff --git a/src/gfx/ow/sprite17.png b/src/gfx/overworld_sprites/17.png Binary files differindex 2f696e6..2f696e6 100755..100644 --- a/src/gfx/ow/sprite17.png +++ b/src/gfx/overworld_sprites/17.png diff --git a/src/gfx/ow/sprite18.png b/src/gfx/overworld_sprites/18.png Binary files differindex 97281b6..97281b6 100755..100644 --- a/src/gfx/ow/sprite18.png +++ b/src/gfx/overworld_sprites/18.png diff --git a/src/gfx/ow/sprite19.png b/src/gfx/overworld_sprites/19.png Binary files differindex 437a376..437a376 100755..100644 --- a/src/gfx/ow/sprite19.png +++ b/src/gfx/overworld_sprites/19.png diff --git a/src/gfx/ow/sprite2.png b/src/gfx/overworld_sprites/2.png Binary files differindex 0bda3be..0bda3be 100755..100644 --- a/src/gfx/ow/sprite2.png +++ b/src/gfx/overworld_sprites/2.png diff --git a/src/gfx/ow/sprite20.png b/src/gfx/overworld_sprites/20.png Binary files differindex 3da8ad9..3da8ad9 100755..100644 --- a/src/gfx/ow/sprite20.png +++ b/src/gfx/overworld_sprites/20.png diff --git a/src/gfx/ow/sprite21.png b/src/gfx/overworld_sprites/21.png Binary files differindex 7d07d78..7d07d78 100755..100644 --- a/src/gfx/ow/sprite21.png +++ b/src/gfx/overworld_sprites/21.png diff --git a/src/gfx/ow/sprite22.png b/src/gfx/overworld_sprites/22.png Binary files differindex 2d47555..2d47555 100755..100644 --- a/src/gfx/ow/sprite22.png +++ b/src/gfx/overworld_sprites/22.png diff --git a/src/gfx/ow/sprite23.png b/src/gfx/overworld_sprites/23.png Binary files differindex 8432c39..8432c39 100755..100644 --- a/src/gfx/ow/sprite23.png +++ b/src/gfx/overworld_sprites/23.png diff --git a/src/gfx/ow/sprite24.png b/src/gfx/overworld_sprites/24.png Binary files differindex 0d7b908..0d7b908 100755..100644 --- a/src/gfx/ow/sprite24.png +++ b/src/gfx/overworld_sprites/24.png diff --git a/src/gfx/ow/sprite25.png b/src/gfx/overworld_sprites/25.png Binary files differindex 1e161da..1e161da 100755..100644 --- a/src/gfx/ow/sprite25.png +++ b/src/gfx/overworld_sprites/25.png diff --git a/src/gfx/ow/sprite26.png b/src/gfx/overworld_sprites/26.png Binary files differindex 6a5f4cd..6a5f4cd 100755..100644 --- a/src/gfx/ow/sprite26.png +++ b/src/gfx/overworld_sprites/26.png diff --git a/src/gfx/ow/sprite27.png b/src/gfx/overworld_sprites/27.png Binary files differindex 7b738e4..7b738e4 100755..100644 --- a/src/gfx/ow/sprite27.png +++ b/src/gfx/overworld_sprites/27.png diff --git a/src/gfx/ow/sprite28.png b/src/gfx/overworld_sprites/28.png Binary files differindex 0ba9e64..0ba9e64 100755..100644 --- a/src/gfx/ow/sprite28.png +++ b/src/gfx/overworld_sprites/28.png diff --git a/src/gfx/ow/sprite29.png b/src/gfx/overworld_sprites/29.png Binary files differindex 5926395..5926395 100755..100644 --- a/src/gfx/ow/sprite29.png +++ b/src/gfx/overworld_sprites/29.png diff --git a/src/gfx/ow/sprite3.png b/src/gfx/overworld_sprites/3.png Binary files differindex 2fac558..2fac558 100755..100644 --- a/src/gfx/ow/sprite3.png +++ b/src/gfx/overworld_sprites/3.png diff --git a/src/gfx/ow/sprite30.png b/src/gfx/overworld_sprites/30.png Binary files differindex ef25140..ef25140 100755..100644 --- a/src/gfx/ow/sprite30.png +++ b/src/gfx/overworld_sprites/30.png diff --git a/src/gfx/ow/sprite31.png b/src/gfx/overworld_sprites/31.png Binary files differindex 1494e05..1494e05 100755..100644 --- a/src/gfx/ow/sprite31.png +++ b/src/gfx/overworld_sprites/31.png diff --git a/src/gfx/ow/sprite32.png b/src/gfx/overworld_sprites/32.png Binary files differindex 7d3fac1..7d3fac1 100755..100644 --- a/src/gfx/ow/sprite32.png +++ b/src/gfx/overworld_sprites/32.png diff --git a/src/gfx/ow/sprite4.png b/src/gfx/overworld_sprites/4.png Binary files differindex a12569b..a12569b 100755..100644 --- a/src/gfx/ow/sprite4.png +++ b/src/gfx/overworld_sprites/4.png diff --git a/src/gfx/ow/sprite5.png b/src/gfx/overworld_sprites/5.png Binary files differindex d46c9bb..d46c9bb 100755..100644 --- a/src/gfx/ow/sprite5.png +++ b/src/gfx/overworld_sprites/5.png diff --git a/src/gfx/ow/sprite6.png b/src/gfx/overworld_sprites/6.png Binary files differindex 2423fd1..2423fd1 100755..100644 --- a/src/gfx/ow/sprite6.png +++ b/src/gfx/overworld_sprites/6.png diff --git a/src/gfx/ow/sprite7.png b/src/gfx/overworld_sprites/7.png Binary files differindex c7f1d29..c7f1d29 100755..100644 --- a/src/gfx/ow/sprite7.png +++ b/src/gfx/overworld_sprites/7.png diff --git a/src/gfx/ow/sprite8.png b/src/gfx/overworld_sprites/8.png Binary files differindex 2527ae9..2527ae9 100755..100644 --- a/src/gfx/ow/sprite8.png +++ b/src/gfx/overworld_sprites/8.png diff --git a/src/gfx/ow/sprite9.png b/src/gfx/overworld_sprites/9.png Binary files differindex 69c5451..69c5451 100755..100644 --- a/src/gfx/ow/sprite9.png +++ b/src/gfx/overworld_sprites/9.png diff --git a/src/gfx/ow/doctormason.png b/src/gfx/overworld_sprites/doctormason.png Binary files differindex 8b0f384..8b0f384 100755..100644 --- a/src/gfx/ow/doctormason.png +++ b/src/gfx/overworld_sprites/doctormason.png diff --git a/src/gfx/ow/help_desk_lady.png b/src/gfx/overworld_sprites/help_desk_lady.png Binary files differindex 92bb5ef..92bb5ef 100755..100644 --- a/src/gfx/ow/help_desk_lady.png +++ b/src/gfx/overworld_sprites/help_desk_lady.png diff --git a/src/gfx/ow/player.png b/src/gfx/overworld_sprites/player.png Binary files differindex 2f891ef..2f891ef 100755..100644 --- a/src/gfx/ow/player.png +++ b/src/gfx/overworld_sprites/player.png diff --git a/src/gfx/ow/ronald.png b/src/gfx/overworld_sprites/ronald.png Binary files differindex 4cd2be0..4cd2be0 100755..100644 --- a/src/gfx/ow/ronald.png +++ b/src/gfx/overworld_sprites/ronald.png diff --git a/src/gfx/tilesets/challengehall.t3.png b/src/gfx/tilesets/challengehall.t3.png Binary files differindex 9783378..9783378 100755..100644 --- a/src/gfx/tilesets/challengehall.t3.png +++ b/src/gfx/tilesets/challengehall.t3.png diff --git a/src/gfx/tilesets/clubentrance.t15.png b/src/gfx/tilesets/clubentrance.t15.png Binary files differindex e641020..e641020 100755..100644 --- a/src/gfx/tilesets/clubentrance.t15.png +++ b/src/gfx/tilesets/clubentrance.t15.png diff --git a/src/gfx/tilesets/clublobby.t8.png b/src/gfx/tilesets/clublobby.t8.png Binary files differindex 7a5a7be..7a5a7be 100755..100644 --- a/src/gfx/tilesets/clublobby.t8.png +++ b/src/gfx/tilesets/clublobby.t8.png diff --git a/src/gfx/tilesets/fightingclub.t13.png b/src/gfx/tilesets/fightingclub.t13.png Binary files differindex 6747644..6747644 100755..100644 --- a/src/gfx/tilesets/fightingclub.t13.png +++ b/src/gfx/tilesets/fightingclub.t13.png diff --git a/src/gfx/tilesets/fireclub.t9.png b/src/gfx/tilesets/fireclub.t9.png Binary files differindex 28638bd..28638bd 100755..100644 --- a/src/gfx/tilesets/fireclub.t9.png +++ b/src/gfx/tilesets/fireclub.t9.png diff --git a/src/gfx/tilesets/grassclub.t9.png b/src/gfx/tilesets/grassclub.t9.png Binary files differindex 69496ad..69496ad 100755..100644 --- a/src/gfx/tilesets/grassclub.t9.png +++ b/src/gfx/tilesets/grassclub.t9.png diff --git a/src/gfx/tilesets/hallofhonor.t7.png b/src/gfx/tilesets/hallofhonor.t7.png Binary files differindex 358630d..358630d 100755..100644 --- a/src/gfx/tilesets/hallofhonor.t7.png +++ b/src/gfx/tilesets/hallofhonor.t7.png diff --git a/src/gfx/tilesets/ishihara.t3.png b/src/gfx/tilesets/ishihara.t3.png Binary files differindex 4761a69..4761a69 100755..100644 --- a/src/gfx/tilesets/ishihara.t3.png +++ b/src/gfx/tilesets/ishihara.t3.png diff --git a/src/gfx/tilesets/lightningclub.t13.png b/src/gfx/tilesets/lightningclub.t13.png Binary files differindex bbe0572..bbe0572 100755..100644 --- a/src/gfx/tilesets/lightningclub.t13.png +++ b/src/gfx/tilesets/lightningclub.t13.png diff --git a/src/gfx/tilesets/masonlaboratory.t9.png b/src/gfx/tilesets/masonlaboratory.t9.png Binary files differindex 4c5d90b..4c5d90b 100755..100644 --- a/src/gfx/tilesets/masonlaboratory.t9.png +++ b/src/gfx/tilesets/masonlaboratory.t9.png diff --git a/src/gfx/tilesets/pokemondome.t1.png b/src/gfx/tilesets/pokemondome.t1.png Binary files differindex b4abf6c..b4abf6c 100755..100644 --- a/src/gfx/tilesets/pokemondome.t1.png +++ b/src/gfx/tilesets/pokemondome.t1.png diff --git a/src/gfx/tilesets/pokemondomeentrance.t2.png b/src/gfx/tilesets/pokemondomeentrance.t2.png Binary files differindex c80ef7f..c80ef7f 100755..100644 --- a/src/gfx/tilesets/pokemondomeentrance.t2.png +++ b/src/gfx/tilesets/pokemondomeentrance.t2.png diff --git a/src/gfx/tilesets/psychicclub.t6.png b/src/gfx/tilesets/psychicclub.t6.png Binary files differindex 6a3a00f..6a3a00f 100755..100644 --- a/src/gfx/tilesets/psychicclub.t6.png +++ b/src/gfx/tilesets/psychicclub.t6.png diff --git a/src/gfx/tilesets/rockclub.t4.png b/src/gfx/tilesets/rockclub.t4.png Binary files differindex 59bf1bb..59bf1bb 100755..100644 --- a/src/gfx/tilesets/rockclub.t4.png +++ b/src/gfx/tilesets/rockclub.t4.png diff --git a/src/gfx/tilesets/scienceclub.t14.png b/src/gfx/tilesets/scienceclub.t14.png Binary files differindex a736fe1..a736fe1 100755..100644 --- a/src/gfx/tilesets/scienceclub.t14.png +++ b/src/gfx/tilesets/scienceclub.t14.png diff --git a/src/gfx/tilesets/waterclub.t15.png b/src/gfx/tilesets/waterclub.t15.png Binary files differindex 815e5ae..815e5ae 100755..100644 --- a/src/gfx/tilesets/waterclub.t15.png +++ b/src/gfx/tilesets/waterclub.t15.png diff --git a/src/gfx/boosterpacks/aerodactylintro1.png b/src/gfx/titlescreen/booster_packs/aerodactylintro1.png Binary files differindex e18b96b..e18b96b 100755..100644 --- a/src/gfx/boosterpacks/aerodactylintro1.png +++ b/src/gfx/titlescreen/booster_packs/aerodactylintro1.png diff --git a/src/gfx/boosterpacks/aerodactylintro2.png b/src/gfx/titlescreen/booster_packs/aerodactylintro2.png Binary files differindex ba347b5..ba347b5 100755..100644 --- a/src/gfx/boosterpacks/aerodactylintro2.png +++ b/src/gfx/titlescreen/booster_packs/aerodactylintro2.png diff --git a/src/gfx/boosterpacks/charizardintro1.png b/src/gfx/titlescreen/booster_packs/charizardintro1.png Binary files differindex 50e757f..50e757f 100755..100644 --- a/src/gfx/boosterpacks/charizardintro1.png +++ b/src/gfx/titlescreen/booster_packs/charizardintro1.png diff --git a/src/gfx/boosterpacks/charizardintro2.png b/src/gfx/titlescreen/booster_packs/charizardintro2.png Binary files differindex c7ec7b4..c7ec7b4 100755..100644 --- a/src/gfx/boosterpacks/charizardintro2.png +++ b/src/gfx/titlescreen/booster_packs/charizardintro2.png diff --git a/src/gfx/boosterpacks/scytherintro1.png b/src/gfx/titlescreen/booster_packs/scytherintro1.png Binary files differindex 3e6bd36..3e6bd36 100755..100644 --- a/src/gfx/boosterpacks/scytherintro1.png +++ b/src/gfx/titlescreen/booster_packs/scytherintro1.png diff --git a/src/gfx/boosterpacks/scytherintro2.png b/src/gfx/titlescreen/booster_packs/scytherintro2.png Binary files differindex c6fd814..c6fd814 100755..100644 --- a/src/gfx/boosterpacks/scytherintro2.png +++ b/src/gfx/titlescreen/booster_packs/scytherintro2.png diff --git a/src/gfx/titlescreen/colorless.png b/src/gfx/titlescreen/energies/colorless.png Binary files differindex fe55d79..fe55d79 100755..100644 --- a/src/gfx/titlescreen/colorless.png +++ b/src/gfx/titlescreen/energies/colorless.png diff --git a/src/gfx/titlescreen/fighting.png b/src/gfx/titlescreen/energies/fighting.png Binary files differindex 849d5d6..849d5d6 100755..100644 --- a/src/gfx/titlescreen/fighting.png +++ b/src/gfx/titlescreen/energies/fighting.png diff --git a/src/gfx/titlescreen/fire.png b/src/gfx/titlescreen/energies/fire.png Binary files differindex 518fcfc..518fcfc 100755..100644 --- a/src/gfx/titlescreen/fire.png +++ b/src/gfx/titlescreen/energies/fire.png diff --git a/src/gfx/titlescreen/grass.png b/src/gfx/titlescreen/energies/grass.png Binary files differindex b864fc4..b864fc4 100755..100644 --- a/src/gfx/titlescreen/grass.png +++ b/src/gfx/titlescreen/energies/grass.png diff --git a/src/gfx/titlescreen/lightning.png b/src/gfx/titlescreen/energies/lightning.png Binary files differindex 9dcddef..9dcddef 100755..100644 --- a/src/gfx/titlescreen/lightning.png +++ b/src/gfx/titlescreen/energies/lightning.png diff --git a/src/gfx/titlescreen/psychic.png b/src/gfx/titlescreen/energies/psychic.png Binary files differindex 60bbe0b..60bbe0b 100755..100644 --- a/src/gfx/titlescreen/psychic.png +++ b/src/gfx/titlescreen/energies/psychic.png diff --git a/src/gfx/titlescreen/water.png b/src/gfx/titlescreen/energies/water.png Binary files differindex 124f54c..124f54c 100755..100644 --- a/src/gfx/titlescreen/water.png +++ b/src/gfx/titlescreen/energies/water.png diff --git a/src/gfx/titlescreen/press_start.png b/src/gfx/titlescreen/press_start.png Binary files differindex de9dc9f..de9dc9f 100755..100644 --- a/src/gfx/titlescreen/press_start.png +++ b/src/gfx/titlescreen/press_start.png diff --git a/src/gfx/titlescreen/titlescreen1.t15.png b/src/gfx/titlescreen/titlescreen1.t15.png Binary files differindex 82b39e5..82b39e5 100755..100644 --- a/src/gfx/titlescreen/titlescreen1.t15.png +++ b/src/gfx/titlescreen/titlescreen1.t15.png diff --git a/src/gfx/titlescreen/titlescreen2.t15.png b/src/gfx/titlescreen/titlescreen2.t15.png Binary files differindex f54b7c3..f54b7c3 100755..100644 --- a/src/gfx/titlescreen/titlescreen2.t15.png +++ b/src/gfx/titlescreen/titlescreen2.t15.png diff --git a/src/gfx/titlescreen/titlescreen3.t12.png b/src/gfx/titlescreen/titlescreen3.t12.png Binary files differindex adddee4..adddee4 100755..100644 --- a/src/gfx/titlescreen/titlescreen3.t12.png +++ b/src/gfx/titlescreen/titlescreen3.t12.png diff --git a/src/gfx/titlescreen/titlescreen4.t5.png b/src/gfx/titlescreen/titlescreen4.t5.png Binary files differindex 1d3cb92..1d3cb92 100755..100644 --- a/src/gfx/titlescreen/titlescreen4.t5.png +++ b/src/gfx/titlescreen/titlescreen4.t5.png diff --git a/src/gfx/titlescreen/titlescreen5.t4.png b/src/gfx/titlescreen/titlescreen5.t4.png Binary files differindex 3cb6ab3..3cb6ab3 100755..100644 --- a/src/gfx/titlescreen/titlescreen5.t4.png +++ b/src/gfx/titlescreen/titlescreen5.t4.png diff --git a/src/gfx/titlescreen/titlescreen6.t12.png b/src/gfx/titlescreen/titlescreen6.t12.png Binary files differindex 4f0dbe8..4f0dbe8 100755..100644 --- a/src/gfx/titlescreen/titlescreen6.t12.png +++ b/src/gfx/titlescreen/titlescreen6.t12.png diff --git a/src/gfx/vwf.png b/src/gfx/vwf.png Binary files differindex 39e783e..39e783e 100755..100644 --- a/src/gfx/vwf.png +++ b/src/gfx/vwf.png 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 |