diff options
author | anmart <andrewrmartinek@gmail.com> | 2016-02-19 23:41:44 -0500 |
---|---|---|
committer | anmart <andrewrmartinek@gmail.com> | 2016-02-19 23:41:44 -0500 |
commit | 595988d101d7c7264099ee3b9f559214bfda436c (patch) | |
tree | 7acf01ef7fa41e056f98dda982f47fccaf3eddab /src | |
parent | dc06e764c0d0a4f56d01474c5397a8e47aa0aa13 (diff) | |
parent | 6fb06a07dace26443a064d56be25972c2cddd8ae (diff) |
Merge remote-tracking branch 'refs/remotes/pret/master'
Diffstat (limited to 'src')
-rwxr-xr-x | src/constants.asm | 2 | ||||
-rw-r--r-- | src/constants/card_data_constants.asm | 31 | ||||
-rw-r--r-- | src/constants/duel_constants.asm | 25 | ||||
-rw-r--r-- | src/constants/misc_constants.asm | 4 | ||||
-rwxr-xr-x | src/constants/set_constants.asm | 21 | ||||
-rw-r--r-- | src/data/effect_commands.asm | 908 | ||||
-rwxr-xr-x | src/engine/bank1.asm | 190 | ||||
-rwxr-xr-x | src/engine/bank3.asm | 2 | ||||
-rwxr-xr-x | src/engine/bank4.asm | 22 | ||||
-rwxr-xr-x | src/engine/bank6.asm | 2 | ||||
-rwxr-xr-x | src/engine/bank7.asm | 4 | ||||
-rwxr-xr-x | src/engine/home.asm | 2111 | ||||
-rw-r--r-- | src/hram.asm | 6 | ||||
-rwxr-xr-x | src/wram.asm | 389 |
14 files changed, 2904 insertions, 813 deletions
diff --git a/src/constants.asm b/src/constants.asm index c3b9f2d..3cf9cd1 100755 --- a/src/constants.asm +++ b/src/constants.asm @@ -1,11 +1,11 @@ INCLUDE "constants/map_constants.asm" INCLUDE "constants/music_constants.asm" INCLUDE "constants/text_constants.asm" +INCLUDE "constants/duel_constants.asm" INCLUDE "constants/duelist_constants.asm" INCLUDE "constants/card_constants.asm" INCLUDE "constants/deck_constants.asm" INCLUDE "constants/card_data_constants.asm" -INCLUDE "constants/set_constants.asm" INCLUDE "constants/misc_constants.asm" INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/sgb_constants.asm" diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm index 7c1359c..6ea7a74 100644 --- a/src/constants/card_data_constants.asm +++ b/src/constants/card_data_constants.asm @@ -2,7 +2,7 @@ CARD_DATA_LENGTH EQU $41 DECK_SIZE EQU 60 BENCH_SIZE EQU 5 -;;; card types (byte 1 of every card data) +;;; card types FIRE EQU $0 GRASS EQU $1 LIGHTNING EQU $2 @@ -21,7 +21,32 @@ DOUBLE_COLORLESS_ENERGY_CARD EQU $E TRAINER_CARD EQU $10 -;;; weakness/resistance (bytes 2 and 3 of Pokemon cards post-move data) +;;; rarity +CIRCLE EQU $0 +DIAMOND EQU $1 +STAR EQU $2 +PROMOSTAR EQU $FF + +;;; set +COLOSSEUM EQU $00 +EVOLUTION EQU $10 +MYSTERY EQU $20 +LABORATORY EQU $30 +PROMOTIONAL EQU $40 +ENERGY EQU $50 + +NONE EQU $0 +JUNGLE EQU $1 +FOSSIL EQU $2 +GB EQU $7 +PRO EQU $8 + +;;; evolution stage +BASIC EQU $0 +STAGE1 EQU $1 +STAGE2 EQU $2 + +;;; weakness/resistance WR_FIRE EQU $80 WR_GRASS EQU $40 WR_LIGHTNING EQU $20 @@ -58,7 +83,7 @@ FLAG_2_BIT_5 EQU %00100000 FLAG_2_BIT_6 EQU %01000000 FLAG_2_BIT_7 EQU %10000000 -;;; flags 2 (10th param of Pokemon cards move data) +;;; flags 3 (10th param of Pokemon cards move data) ; bit 1 covers a wide variety of effects ; bits 2-7 are unused BOOST_IF_TAKEN_DAMAGE EQU %00000001 diff --git a/src/constants/duel_constants.asm b/src/constants/duel_constants.asm new file mode 100644 index 0000000..0eb4b5b --- /dev/null +++ b/src/constants/duel_constants.asm @@ -0,0 +1,25 @@ +PLAYER_TURN EQUS "wPlayerDuelVariables >> $8" +OPPONENT_TURN EQUS "wOpponentDuelVariables >> $8" + +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_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 diff --git a/src/constants/misc_constants.asm b/src/constants/misc_constants.asm index 08b6c35..d985e77 100644 --- a/src/constants/misc_constants.asm +++ b/src/constants/misc_constants.asm @@ -2,7 +2,3 @@ CONSOLE_DMG EQU $00 CONSOLE_SGB EQU $01 CONSOLE_CGB EQU $02 - -; dueling constants -PLAYER_TURN EQUS "wPlayerDuelVariables >> $8" -OPPONENT_TURN EQUS "wOpponentDuelVariables >> $8"
\ No newline at end of file diff --git a/src/constants/set_constants.asm b/src/constants/set_constants.asm deleted file mode 100755 index d3cfa57..0000000 --- a/src/constants/set_constants.asm +++ /dev/null @@ -1,21 +0,0 @@ -COLOSSEUM EQU $00 -EVOLUTION EQU $10 -MYSTERY EQU $20 -LABORATORY EQU $30 -PROMOTIONAL EQU $40 -ENERGY EQU $50 - -NONE EQU $0 -JUNGLE EQU $1 -FOSSIL EQU $2 -GB EQU $7 -PRO EQU $8 - -BASIC EQU $0 -STAGE1 EQU $1 -STAGE2 EQU $2 - -CIRCLE EQU $0 -DIAMOND EQU $1 -STAR EQU $2 -PROMOSTAR EQU $FF diff --git a/src/data/effect_commands.asm b/src/data/effect_commands.asm index 46ff81c..39bc603 100644 --- a/src/data/effect_commands.asm +++ b/src/data/effect_commands.asm @@ -16,52 +16,52 @@ EffectCommands: ; 186f7 (6:46f7) ; xxx use <TrainerCardName>EffectCommands or <EnergyCardName>EffectCommands for these types of cards. EkansSpitPoisonEffectCommands: - dbw $03, $46F8 - dbw $09, $46F0 + dbw $03, $46f8 + dbw $09, $46f0 db $00 - + EkansWrapEffectCommands: dbw $03, $4011 db $00 - + ArbokTerrorStrikeEffectCommands: dbw $04, $4726 - dbw $05, $470A - dbw $0A, $470A + dbw $05, $470a + dbw $0a, $470a db $00 - + ArbokPoisonFangEffectCommands: dbw $03, $4007 dbw $09, $4730 db $00 - + WeepinbellPoisonPowderEffectCommands: dbw $03, $4000 dbw $09, $4738 db $00 - + VictreebelLureEffectCommands: dbw $01, $4740 - dbw $04, $476A - dbw $05, $474B + dbw $04, $476a + dbw $05, $474b dbw $08, $4764 db $00 - + VictreebelAcidEffectCommands: - dbw $03, $477E + dbw $03, $477e db $00 - + PinsirIronGripEffectCommands: dbw $03, $4011 db $00 - + CaterpieStringShotEffectCommands: dbw $03, $4011 db $00 GloomPoisonPowderEffectCommands: dbw $03, $4007 - dbw $09, $478B + dbw $09, $478b db $00 GloomFoulOdorEffectCommands: @@ -69,16 +69,16 @@ GloomFoulOdorEffectCommands: db $00 KakunaStiffenEffectCommands: - dbw $03, $47A0 + dbw $03, $47a0 db $00 KakunaPoisonPowderEffectCommands: dbw $03, $4000 - dbw $09, $47B4 + dbw $09, $47b4 db $00 GolbatLeechLifeEffectCommands: - dbw $04, $47BC + dbw $04, $47bc db $00 VenonatStunSporeEffectCommands: @@ -86,29 +86,29 @@ VenonatStunSporeEffectCommands: db $00 VenonatLeechLifeEffectCommands: - dbw $04, $47C6 + dbw $04, $47c6 db $00 ScytherSwordsDanceEffectCommands: - dbw $03, $47D0 + dbw $03, $47d0 db $00 ZubatSupersonicEffectCommands: - dbw $03, $47DC + dbw $03, $47dc db $00 ZubatLeechLifeEffectCommands: - dbw $04, $47E3 + dbw $04, $47e3 db $00 BeedrillTwineedleEffectCommands: - dbw $03, $47F5 - dbw $09, $47ED + dbw $03, $47f5 + dbw $09, $47ed db $00 BeedrillPoisonStingEffectCommands: dbw $03, $4000 - dbw $09, $480D + dbw $09, $480d db $00 ExeggcuteHypnosisEffectCommands: @@ -120,7 +120,7 @@ ExeggcuteLeechSeedEffectCommands: db $00 KoffingFoulGasEffectCommands: - dbw $03, $482A + dbw $03, $482a dbw $09, $4822 db $00 @@ -137,17 +137,17 @@ OddishStunSporeEffectCommands: db $00 OddishSproutEffectCommands: - dbw $01, $484A - dbw $04, $48CC - dbw $05, $485A - dbw $08, $48B7 + dbw $01, $484a + dbw $04, $48cc + dbw $05, $485a + dbw $08, $48b7 db $00 ExeggutorTeleportEffectCommands: - dbw $01, $48EC - dbw $04, $491A - dbw $05, $48F7 - dbw $08, $490F + dbw $01, $48ec + dbw $04, $491a + dbw $05, $48f7 + dbw $08, $490f db $00 ExeggutorBigEggsplosionEffectCommands: @@ -158,12 +158,12 @@ ExeggutorBigEggsplosionEffectCommands: NidokingThrashEffectCommands: dbw $03, $4973 dbw $04, $4982 - dbw $09, $496B + dbw $09, $496b db $00 NidokingToxicEffectCommands: dbw $03, $4994 - dbw $09, $498C + dbw $09, $498c db $00 NidoqueenBoyfriendsEffectCommands: @@ -171,44 +171,44 @@ NidoqueenBoyfriendsEffectCommands: db $00 NidoranFFurySweepesEffectCommands: - dbw $03, $49C6 - dbw $09, $49BE + dbw $03, $49c6 + dbw $09, $49be db $00 NidoranFCallforFamilyEffectCommands: - dbw $01, $49DB - dbw $04, $4A6E - dbw $05, $49EB - dbw $08, $4A55 + dbw $01, $49db + dbw $04, $4a6e + dbw $05, $49eb + dbw $08, $4a55 db $00 NidoranMHornHazardEffectCommands: - dbw $03, $4A96 - dbw $09, $4A8E + dbw $03, $4a96 + dbw $09, $4a8e db $00 NidorinaSupersonicEffectCommands: - dbw $03, $4AAC + dbw $03, $4aac db $00 NidorinaDoubleKickEffectCommands: - dbw $03, $4ABB - dbw $09, $4AB3 + dbw $03, $4abb + dbw $09, $4ab3 db $00 NidorinoDoubleKickEffectCommands: - dbw $03, $4ADB - dbw $09, $4AD3 + dbw $03, $4adb + dbw $09, $4ad3 db $00 ButterfreeWhirlwindEffectCommands: - dbw $04, $4B09 - dbw $05, $4AF3 - dbw $0A, $4AF3 + dbw $04, $4b09 + dbw $05, $4af3 + dbw $0a, $4af3 db $00 ButterfreeMegaDrainEffectCommands: - dbw $04, $4B0F + dbw $04, $4b0f db $00 ParasSporeEffectCommands: @@ -221,23 +221,23 @@ ParasectSporeEffectCommands: WeedlePoisonStingEffectCommands: dbw $03, $4000 - dbw $09, $4B27 + dbw $09, $4b27 db $00 IvysaurPoisonPowderEffectCommands: dbw $03, $4007 - dbw $09, $4B2F + dbw $09, $4b2f db $00 BulbasaurLeechSeedEffectCommands: - dbw $04, $4B37 + dbw $04, $4b37 db $00 VenusaurEnergyTransEffectCommands: - dbw $02, $4B44 - dbw $03, $4B77 - dbw $04, $4BFB - dbw $05, $4B6F + dbw $02, $4b44 + dbw $03, $4b77 + dbw $04, $4bfb + dbw $05, $4b6f db $00 GrimerNastyGooEffectCommands: @@ -245,43 +245,43 @@ GrimerNastyGooEffectCommands: db $00 GrimerMinimizeEffectCommands: - dbw $03, $4C30 + dbw $03, $4c30 db $00 MukToxicGasEffectCommands: - dbw $01, $4C36 + dbw $01, $4c36 db $00 MukSludgeEffectCommands: dbw $03, $4000 - dbw $09, $4C38 + dbw $09, $4c38 db $00 BellsproutCallforFamilyEffectCommands: - dbw $01, $4C40 - dbw $04, $4CC2 - dbw $05, $4C50 - dbw $08, $4CAD + dbw $01, $4c40 + dbw $04, $4cc2 + dbw $05, $4c50 + dbw $08, $4cad db $00 WeezingSmogEffectCommands: dbw $03, $4000 - dbw $09, $4CE2 + dbw $09, $4ce2 db $00 WeezingSelfdestructEffectCommands: - dbw $04, $4CEA + dbw $04, $4cea db $00 VenomothShiftEffectCommands: - dbw $02, $4D09 - dbw $03, $4D5D - dbw $05, $4D21 + dbw $02, $4d09 + dbw $03, $4d5d + dbw $05, $4d21 db $00 VenomothVenomPowderEffectCommands: - dbw $03, $4D8C - dbw $09, $4D84 + dbw $03, $4d8c + dbw $09, $4d84 db $00 TangelaBindEffectCommands: @@ -290,17 +290,17 @@ TangelaBindEffectCommands: TangelaPoisonPowderEffectCommands: dbw $03, $4007 - dbw $09, $4DA0 + dbw $09, $4da0 db $00 VileplumeHealEffectCommands: - dbw $02, $4DA8 - dbw $03, $4DC7 + dbw $02, $4da8 + dbw $03, $4dc7 db $00 VileplumePetalDanceEffectCommands: - dbw $03, $4E2B - dbw $09, $4E23 + dbw $03, $4e2b + dbw $09, $4e23 db $00 TangelaStunSporeEffectCommands: @@ -309,48 +309,48 @@ TangelaStunSporeEffectCommands: TangelaPoisonWhipEffectCommands: dbw $03, $4007 - dbw $09, $4E4B + dbw $09, $4e4b db $00 VenusaurSolarPowerEffectCommands: - dbw $02, $4E53 - dbw $03, $4E82 + dbw $02, $4e53 + dbw $03, $4e82 db $00 VenusaurMegaDrainEffectCommands: - dbw $04, $4EB0 + dbw $04, $4eb0 db $00 OmastarWaterGunEffectCommands: - dbw $03, $4F05 - dbw $09, $4F05 + dbw $03, $4f05 + dbw $09, $4f05 db $00 OmastarSpikeCannonEffectCommands: - dbw $03, $4F12 - dbw $09, $4F0A + dbw $03, $4f12 + dbw $09, $4f0a db $00 OmanyteClairvoyanceEffectCommands: - dbw $01, $4F2A + dbw $01, $4f2a db $00 OmanyteWaterGunEffectCommands: - dbw $03, $4F2C - dbw $09, $4F2C + dbw $03, $4f2c + dbw $09, $4f2c db $00 WartortleWithdrawEffectCommands: - dbw $03, $4F32 + dbw $03, $4f32 db $00 BlastoiseRainDanceEffectCommands: - dbw $01, $4F46 + dbw $01, $4f46 db $00 BlastoiseHydroPumpEffectCommands: - dbw $03, $4F48 - dbw $09, $4F48 + dbw $03, $4f48 + dbw $09, $4f48 db $00 GyaradosBubblebeamEffectCommands: @@ -358,28 +358,28 @@ GyaradosBubblebeamEffectCommands: db $00 KinglerFlailEffectCommands: - dbw $03, $4F54 - dbw $09, $4F4E + dbw $03, $4f54 + dbw $09, $4f4e db $00 KrabbyCallforFamilyEffectCommands: - dbw $01, $4F5D - dbw $04, $4FDF - dbw $05, $4F6D - dbw $08, $4FCA + dbw $01, $4f5d + dbw $04, $4fdf + dbw $05, $4f6d + dbw $08, $4fca db $00 MagikarpFlailEffectCommands: dbw $03, $5005 - dbw $09, $4FFF + dbw $09, $4fff db $00 PsyduckHeadacheEffectCommands: - dbw $03, $500E + dbw $03, $500e db $00 PsyduckFurySweepesEffectCommands: - dbw $03, $501E + dbw $03, $501e dbw $09, $5016 db $00 @@ -388,7 +388,7 @@ GolduckPsyshockEffectCommands: db $00 GolduckHyperBeamEffectCommands: - dbw $04, $506B + dbw $04, $506b dbw $05, $5033 dbw $08, $5065 db $00 @@ -399,25 +399,25 @@ SeadraWaterGunEffectCommands: db $00 SeadraAgilityEffectCommands: - dbw $03, $508B + dbw $03, $508b db $00 ShellderSupersonicEffectCommands: - dbw $03, $509D + dbw $03, $509d db $00 ShellderHideinShellEffectCommands: - dbw $03, $50A4 + dbw $03, $50a4 db $00 VaporeonQuickAttackEffectCommands: - dbw $03, $50C0 - dbw $09, $50B8 + dbw $03, $50c0 + dbw $09, $50b8 db $00 VaporeonWaterGunEffectCommands: - dbw $03, $50D3 - dbw $09, $50D3 + dbw $03, $50d3 + dbw $09, $50d3 db $00 DewgongIceBeamEffectCommands: @@ -425,10 +425,10 @@ DewgongIceBeamEffectCommands: db $00 StarmieRecoverEffectCommands: - dbw $01, $50D9 - dbw $02, $50F0 + dbw $01, $50d9 + dbw $02, $50f0 dbw $04, $5114 - dbw $06, $510E + dbw $06, $510e dbw $08, $5103 db $00 @@ -449,7 +449,7 @@ HorseaSmokescreenEffectCommands: db $00 TentacruelSupersonicEffectCommands: - dbw $03, $513A + dbw $03, $513a db $00 TentacruelJellyfishStingEffectCommands: @@ -459,25 +459,25 @@ TentacruelJellyfishStingEffectCommands: PoliwhirlAmnesiaEffectCommands: dbw $01, $5149 - dbw $02, $516F + dbw $02, $516f dbw $03, $5179 dbw $08, $5173 db $00 PoliwhirlDoubleslapEffectCommands: - dbw $03, $51C8 - dbw $09, $51C0 + dbw $03, $51c8 + dbw $09, $51c0 db $00 PoliwrathWaterGunEffectCommands: - dbw $03, $51E0 - dbw $09, $51E0 + dbw $03, $51e0 + dbw $09, $51e0 db $00 PoliwrathWhirlpoolEffectCommands: dbw $04, $5214 - dbw $05, $51E6 - dbw $08, $520E + dbw $05, $51e6 + dbw $08, $520e db $00 PoliwagWaterGunEffectCommands: @@ -486,11 +486,11 @@ PoliwagWaterGunEffectCommands: db $00 CloysterClampEffectCommands: - dbw $03, $522D + dbw $03, $522d db $00 CloysterSpikeCannonEffectCommands: - dbw $03, $524E + dbw $03, $524e dbw $09, $5246 db $00 @@ -500,36 +500,36 @@ ArticunoFreezeDryEffectCommands: ArticunoBlizzardEffectCommands: dbw $03, $5266 - dbw $04, $526F + dbw $04, $526f db $00 TentacoolCowardiceEffectCommands: - dbw $02, $528B - dbw $03, $52C3 - dbw $05, $52AE + dbw $02, $528b + dbw $03, $52c3 + dbw $05, $52ae db $00 LaprasWaterGunEffectCommands: - dbw $03, $52EB - dbw $09, $52EB + dbw $03, $52eb + dbw $09, $52eb db $00 LaprasConfuseRayEffectCommands: - dbw $03, $401D + dbw $03, $401d db $00 ArticunoQuickfreezeEffectCommands: - dbw $01, $52F1 - dbw $07, $52F3 + dbw $01, $52f1 + dbw $07, $52f3 db $00 ArticunoIceBreathEffectCommands: dbw $03, $5329 - dbw $04, $532E + dbw $04, $532e db $00 VaporeonFocusEnergyEffectCommands: - dbw $03, $533F + dbw $03, $533f db $00 ArcanineFlamethrowerEffectCommands: @@ -540,26 +540,26 @@ ArcanineFlamethrowerEffectCommands: db $00 ArcanineTakeDownEffectCommands: - dbw $04, $537F + dbw $04, $537f db $00 ArcanineQuickAttackEffectCommands: - dbw $03, $538D + dbw $03, $538d dbw $09, $5385 db $00 ArcanineFlamesofRageEffectCommands: - dbw $01, $53A0 - dbw $02, $53AE - dbw $03, $53EF - dbw $06, $53DE - dbw $08, $53D5 - dbw $09, $53E9 + dbw $01, $53a0 + dbw $02, $53ae + dbw $03, $53ef + dbw $06, $53de + dbw $08, $53d5 + dbw $09, $53e9 db $00 RapidashStompEffectCommands: dbw $03, $5400 - dbw $09, $53F8 + dbw $09, $53f8 db $00 RapidashAgilityEffectCommands: @@ -568,7 +568,7 @@ RapidashAgilityEffectCommands: NinetailsLureEffectCommands: dbw $01, $5425 - dbw $04, $544F + dbw $04, $544f dbw $05, $5430 dbw $08, $5449 db $00 @@ -581,22 +581,22 @@ NinetailsFireBlastEffectCommands: db $00 CharmanderEmberEffectCommands: - dbw $01, $547F - dbw $02, $548D + dbw $01, $547f + dbw $02, $548d dbw $06, $5495 dbw $08, $5491 db $00 MoltresWildfireEffectCommands: - dbw $01, $549B - dbw $02, $54A9 - dbw $04, $54F4 - dbw $06, $54E1 - dbw $08, $54DD + dbw $01, $549b + dbw $02, $54a9 + dbw $04, $54f4 + dbw $06, $54e1 + dbw $08, $54dd db $00 Moltres1DiveBombEffectCommands: - dbw $03, $552B + dbw $03, $552b dbw $09, $5523 db $00 @@ -606,17 +606,17 @@ FlareonQuickAttackEffectCommands: db $00 FlareonFlamethrowerEffectCommands: - dbw $01, $555C - dbw $02, $556A + dbw $01, $555c + dbw $02, $556a dbw $06, $5572 - dbw $08, $556E + dbw $08, $556e db $00 MagmarFlamethrowerEffectCommands: dbw $01, $5578 dbw $02, $5586 - dbw $06, $558E - dbw $08, $558A + dbw $06, $558e + dbw $08, $558a db $00 MagmarSmokescreenEffectCommands: @@ -625,33 +625,33 @@ MagmarSmokescreenEffectCommands: MagmarSmogEffectCommands: dbw $03, $4000 - dbw $09, $559A + dbw $09, $559a db $00 CharmeleonFlamethrowerEffectCommands: - dbw $01, $55A2 - dbw $02, $55B0 - dbw $06, $55B8 - dbw $08, $55B4 + dbw $01, $55a2 + dbw $02, $55b0 + dbw $06, $55b8 + dbw $08, $55b4 db $00 CharizardEnergyBurnEffectCommands: - dbw $01, $55BE + dbw $01, $55be db $00 CharizardFireSpinEffectCommands: - dbw $01, $55C0 - dbw $02, $55CD + dbw $01, $55c0 + dbw $02, $55cd dbw $06, $5614 dbw $08, $5606 db $00 VulpixConfuseRayEffectCommands: - dbw $03, $401D + dbw $03, $401d db $00 FlareonRageEffectCommands: - dbw $03, $563E + dbw $03, $563e dbw $09, $5638 db $00 @@ -660,18 +660,18 @@ NinetailsMixUpEffectCommands: db $00 NinetailsDancingEmbersEffectCommands: - dbw $03, $56AB - dbw $09, $56A3 + dbw $03, $56ab + dbw $09, $56a3 db $00 MoltresFiregiverEffectCommands: - dbw $01, $56C0 - dbw $07, $56C2 + dbw $01, $56c0 + dbw $07, $56c2 db $00 Moltres2DiveBombEffectCommands: dbw $03, $5776 - dbw $09, $576E + dbw $09, $576e db $00 AbraPsyshockEffectCommands: @@ -679,19 +679,19 @@ AbraPsyshockEffectCommands: db $00 GengarCurseEffectCommands: - dbw $02, $57FC - dbw $03, $58BB + dbw $02, $57fc + dbw $03, $58bb dbw $05, $5834 db $00 GengarDarkMindEffectCommands: - dbw $04, $593C + dbw $04, $593c dbw $05, $5903 - dbw $08, $592A + dbw $08, $592a db $00 GastlySleepingGasEffectCommands: - dbw $03, $594F + dbw $03, $594f db $00 GastlyDestinyBondEffectCommands: @@ -707,10 +707,10 @@ GastlyLickEffectCommands: db $00 GastlyEnergyConversionEffectCommands: - dbw $01, $598D - dbw $04, $59B4 + dbw $01, $598d + dbw $04, $59b4 dbw $05, $5994 - dbw $08, $599B + dbw $08, $599b db $00 HaunterHypnosisEffectCommands: @@ -718,11 +718,11 @@ HaunterHypnosisEffectCommands: db $00 HaunterDreamEaterEffectCommands: - dbw $01, $59D6 + dbw $01, $59d6 db $00 HaunterTransparencyEffectCommands: - dbw $01, $59E5 + dbw $01, $59e5 db $00 HaunterNightmareEffectCommands: @@ -730,55 +730,55 @@ HaunterNightmareEffectCommands: db $00 HypnoProphecyEffectCommands: - dbw $01, $59E7 - dbw $04, $5A41 - dbw $05, $5A00 - dbw $08, $5A3C + dbw $01, $59e7 + dbw $04, $5a41 + dbw $05, $5a00 + dbw $08, $5a3c db $00 HypnoDarkMindEffectCommands: - dbw $04, $5B64 - dbw $05, $5B2B - dbw $08, $5B52 + dbw $04, $5b64 + dbw $05, $5b2b + dbw $08, $5b52 db $00 DrowzeeConfuseRayEffectCommands: - dbw $03, $401D + dbw $03, $401d db $00 MrMimeInvisibleWallEffectCommands: - dbw $01, $5B77 + dbw $01, $5b77 db $00 MrMimeMeditateEffectCommands: - dbw $03, $5B7F - dbw $09, $5B79 + dbw $03, $5b7f + dbw $09, $5b79 db $00 AlakazamDamageSwapEffectCommands: - dbw $02, $5B8E - dbw $03, $5BA2 - dbw $04, $5C27 + dbw $02, $5b8e + dbw $03, $5ba2 + dbw $04, $5c27 db $00 AlakazamConfuseRayEffectCommands: - dbw $03, $401D + dbw $03, $401d db $00 MewPsywaveEffectCommands: - dbw $03, $5C49 + dbw $03, $5c49 db $00 MewDevolutionBeamEffectCommands: - dbw $01, $5C53 - dbw $02, $5C64 - dbw $03, $5CB6 - dbw $04, $5CBB - dbw $08, $5C9E + dbw $01, $5c53 + dbw $02, $5c64 + dbw $03, $5cb6 + dbw $04, $5cbb + dbw $08, $5c9e db $00 MewNeutralizingShieldEffectCommands: - dbw $01, $5D79 + dbw $01, $5d79 db $00 MewPsyshockEffectCommands: @@ -786,36 +786,36 @@ MewPsyshockEffectCommands: db $00 MewtwoPsychicEffectCommands: - dbw $03, $5D81 - dbw $09, $5D7B + dbw $03, $5d81 + dbw $09, $5d7b db $00 MewtwoMrMimeKindAndBarrierEffectCommands: - dbw $01, $5D8E - dbw $02, $5D9C - dbw $03, $5DBF - dbw $06, $5DB9 - dbw $08, $5DAE + dbw $01, $5d8e + dbw $02, $5d9c + dbw $03, $5dbf + dbw $06, $5db9 + dbw $08, $5dae db $00 Mewtwo3EnergyAbsorptionEffectCommands: - dbw $01, $5DC5 - dbw $04, $5DEC - dbw $05, $5DCC - dbw $08, $5DD3 + dbw $01, $5dc5 + dbw $04, $5dec + dbw $05, $5dcc + dbw $08, $5dd3 db $00 Mewtwo2EnergyAbsorptionEffectCommands: - dbw $01, $5DFF - dbw $04, $5E26 - dbw $05, $5E06 - dbw $08, $5E0D + dbw $01, $5dff + dbw $04, $5e26 + dbw $05, $5e06 + dbw $08, $5e0d db $00 SlowbroStrangeBehaviorEffectCommands: - dbw $02, $5E39 - dbw $03, $5E5B - dbw $04, $5EB3 + dbw $02, $5e39 + dbw $03, $5e5b + dbw $04, $5eb3 db $00 SlowbroPsyshockEffectCommands: @@ -823,54 +823,54 @@ SlowbroPsyshockEffectCommands: db $00 SlowpokeSpacingOutEffectCommands: - dbw $01, $5ED5 - dbw $03, $5EE0 - dbw $04, $5EF1 + dbw $01, $5ed5 + dbw $03, $5ee0 + dbw $04, $5ef1 db $00 SlowpokeScavengeEffectCommands: - dbw $01, $5F05 - dbw $02, $5F1A - dbw $04, $5F5F - dbw $05, $5F46 - dbw $06, $5F40 - dbw $08, $5F2D + dbw $01, $5f05 + dbw $02, $5f1a + dbw $04, $5f5f + dbw $05, $5f46 + dbw $06, $5f40 + dbw $08, $5f2d db $00 SlowpokeAmnesiaEffectCommands: - dbw $01, $5F74 - dbw $02, $5F7B - dbw $03, $5F85 - dbw $08, $5F7F + dbw $01, $5f74 + dbw $02, $5f7b + dbw $03, $5f85 + dbw $08, $5f7f db $00 KadabraRecoverEffectCommands: - dbw $01, $5F89 - dbw $02, $5FA0 - dbw $04, $5FC3 - dbw $06, $5FBD - dbw $08, $5FB2 + dbw $01, $5f89 + dbw $02, $5fa0 + dbw $04, $5fc3 + dbw $06, $5fbd + dbw $08, $5fb2 db $00 JynxDoubleslapEffectCommands: - dbw $03, $5FD7 - dbw $09, $5FCF + dbw $03, $5fd7 + dbw $09, $5fcf db $00 JynxMeditateEffectCommands: - dbw $03, $5FF2 - dbw $09, $5FEC + dbw $03, $5ff2 + dbw $09, $5fec db $00 MewMysteryAttackEffectCommands: dbw $03, $6009 - dbw $04, $603E + dbw $04, $603e dbw $09, $6001 db $00 GeodudeStoneBarrageEffectCommands: dbw $03, $6052 - dbw $09, $604A + dbw $09, $604a db $00 OnixHardenEffectCommands: @@ -879,7 +879,7 @@ OnixHardenEffectCommands: PrimeapeFurySweepesEffectCommands: dbw $03, $6083 - dbw $09, $607B + dbw $09, $607b db $00 PrimeapeTantrumEffectCommands: @@ -887,29 +887,29 @@ PrimeapeTantrumEffectCommands: db $00 MachampStrikesBackEffectCommands: - dbw $01, $60AF + dbw $01, $60af db $00 KabutoKabutoArmorEffectCommands: - dbw $01, $60B1 + dbw $01, $60b1 db $00 KabutopsAbsorbEffectCommands: - dbw $04, $60B3 + dbw $04, $60b3 db $00 CuboneSnivelEffectCommands: - dbw $03, $60CB + dbw $03, $60cb db $00 CuboneRageEffectCommands: - dbw $03, $60D7 - dbw $09, $60D1 + dbw $03, $60d7 + dbw $09, $60d1 db $00 MarowakBonemerangEffectCommands: - dbw $03, $60E8 - dbw $09, $60E0 + dbw $03, $60e8 + dbw $09, $60e0 db $00 MarowakCallforFriendEffectCommands: @@ -920,41 +920,41 @@ MarowakCallforFriendEffectCommands: db $00 MachokeKarateChopEffectCommands: - dbw $03, $61BA - dbw $09, $61B4 + dbw $03, $61ba + dbw $09, $61b4 db $00 MachokeSubmissionEffectCommands: - dbw $04, $61D1 + dbw $04, $61d1 db $00 GolemSelfdestructEffectCommands: - dbw $04, $61D7 + dbw $04, $61d7 db $00 GravelerHardenEffectCommands: - dbw $03, $61F6 + dbw $03, $61f6 db $00 RhydonRamEffectCommands: dbw $04, $6212 - dbw $05, $61FC - dbw $0A, $61FC + dbw $05, $61fc + dbw $0a, $61fc db $00 RhyhornLeerEffectCommands: - dbw $03, $621D + dbw $03, $621d db $00 HitmonleeStretchKickEffectCommands: dbw $01, $6231 - dbw $04, $625B - dbw $05, $623C + dbw $04, $625b + dbw $05, $623c dbw $08, $6255 db $00 SandshrewSandAttackEffectCommands: - dbw $03, $626B + dbw $03, $626b db $00 SandslashFurySweepesEffectCommands: @@ -963,24 +963,24 @@ SandslashFurySweepesEffectCommands: db $00 DugtrioEarthquakeEffectCommands: - dbw $04, $628F + dbw $04, $628f db $00 AerodactylPrehistoricPowerEffectCommands: - dbw $01, $629A + dbw $01, $629a db $00 MankeyPeekEffectCommands: - dbw $02, $629C - dbw $03, $62B4 + dbw $02, $629c + dbw $03, $62b4 db $00 MarowakBoneAttackEffectCommands: - dbw $03, $630F + dbw $03, $630f db $00 MarowakWailEffectCommands: - dbw $01, $631C + dbw $01, $631c dbw $04, $6335 db $00 @@ -989,18 +989,18 @@ ElectabuzzThundershockEffectCommands: db $00 ElectabuzzThunderpunchEffectCommands: - dbw $03, $63A1 - dbw $04, $63B0 + dbw $03, $63a1 + dbw $04, $63b0 dbw $09, $6399 db $00 ElectabuzzLightScreenEffectCommands: - dbw $03, $63BA + dbw $03, $63ba db $00 ElectabuzzQuickAttackEffectCommands: - dbw $03, $63C8 - dbw $09, $63C0 + dbw $03, $63c8 + dbw $09, $63c0 db $00 MagnemiteThunderWaveEffectCommands: @@ -1012,7 +1012,7 @@ MagnemiteSelfdestructEffectCommands: db $00 ZapdosThunderEffectCommands: - dbw $03, $63FA + dbw $03, $63fa dbw $04, $6409 db $00 @@ -1025,13 +1025,13 @@ ZapdosThunderstormEffectCommands: db $00 JolteonQuickAttackEffectCommands: - dbw $03, $64C3 - dbw $09, $64BB + dbw $03, $64c3 + dbw $09, $64bb db $00 JolteonPinMissileEffectCommands: - dbw $03, $64DE - dbw $09, $64D6 + dbw $03, $64de + dbw $09, $64d6 db $00 FlyingPikachuThundershockEffectCommands: @@ -1039,12 +1039,12 @@ FlyingPikachuThundershockEffectCommands: db $00 FlyingPikachuFlyEffectCommands: - dbw $03, $64FC - dbw $09, $64F4 + dbw $03, $64fc + dbw $09, $64f4 db $00 PikachuThunderJoltEffectCommands: - dbw $03, $651A + dbw $03, $651a dbw $04, $6529 db $00 @@ -1063,7 +1063,7 @@ Pikachu3ThundershockEffectCommands: db $00 Pikachu4GrowlEffectCommands: - dbw $03, $658F + dbw $03, $658f db $00 Pikachu4ThundershockEffectCommands: @@ -1075,18 +1075,18 @@ ElectrodeChainLightningEffectCommands: db $00 RaichuAgilityEffectCommands: - dbw $03, $65DC + dbw $03, $65dc db $00 RaichuThunderEffectCommands: - dbw $03, $65EE - dbw $04, $65FD + dbw $03, $65ee + dbw $04, $65fd db $00 RaichuGigashockEffectCommands: - dbw $04, $671F - dbw $05, $660D - dbw $08, $66C3 + dbw $04, $671f + dbw $05, $660d + dbw $08, $66c3 db $00 MagnetonThunderWaveEffectCommands: @@ -1099,25 +1099,25 @@ Magneton1SelfdestructEffectCommands: MagnetonSonicboomEffectCommands: dbw $03, $6758 - dbw $04, $675E + dbw $04, $675e dbw $09, $6758 db $00 Magneton2SelfdestructEffectCommands: - dbw $04, $675F + dbw $04, $675f db $00 ZapdosPealofThunderEffectCommands: - dbw $01, $677E + dbw $01, $677e dbw $07, $6780 db $00 ZapdosBigThunderEffectCommands: - dbw $04, $67CB + dbw $04, $67cb db $00 MagnemiteMagneticStormEffectCommands: - dbw $04, $67D5 + dbw $04, $67d5 db $00 ElectrodeSonicboomEffectCommands: @@ -1128,9 +1128,9 @@ ElectrodeSonicboomEffectCommands: ElectrodeEnergySpikeEffectCommands: dbw $01, $6877 - dbw $04, $68F6 - dbw $05, $687B - dbw $08, $68F1 + dbw $04, $68f6 + dbw $05, $687b + dbw $08, $68f1 db $00 JolteonDoubleKickEffectCommands: @@ -1143,40 +1143,40 @@ JolteonStunNeedleEffectCommands: db $00 EeveeTailWagEffectCommands: - dbw $03, $694E + dbw $03, $694e db $00 EeveeQuickAttackEffectCommands: - dbw $03, $696A + dbw $03, $696a dbw $09, $6962 db $00 SpearowMirrorMoveEffectCommands: - dbw $01, $697F + dbw $01, $697f dbw $02, $6981 dbw $03, $6987 dbw $04, $6989 dbw $05, $6983 dbw $08, $6985 - dbw $09, $697D + dbw $09, $697d db $00 FearowAgilityEffectCommands: - dbw $03, $6AB8 + dbw $03, $6ab8 db $00 DragoniteStepInEffectCommands: - dbw $02, $6ACA - dbw $03, $6AE8 + dbw $02, $6aca + dbw $03, $6ae8 db $00 Dragonite2SlamEffectCommands: - dbw $03, $6AFE - dbw $09, $6AF6 + dbw $03, $6afe + dbw $09, $6af6 db $00 SnorlaxThickSkinnedEffectCommands: - dbw $01, $6B15 + dbw $01, $6b15 db $00 SnorlaxBodySlamEffectCommands: @@ -1184,98 +1184,98 @@ SnorlaxBodySlamEffectCommands: db $00 FarfetchdLeekSlapEffectCommands: - dbw $01, $6B1F - dbw $03, $6B34 - dbw $06, $6B2C - dbw $09, $6B17 + dbw $01, $6b1f + dbw $03, $6b34 + dbw $06, $6b2c + dbw $09, $6b17 db $00 KangaskhanFetchEffectCommands: - dbw $04, $6B40 + dbw $04, $6b40 db $00 KangaskhanCometPunchEffectCommands: - dbw $03, $6B65 - dbw $09, $6B5D + dbw $03, $6b65 + dbw $09, $6b5d db $00 TaurosStompEffectCommands: - dbw $03, $6B83 - dbw $09, $6B7B + dbw $03, $6b83 + dbw $09, $6b7b db $00 TaurosRampageEffectCommands: - dbw $03, $6BA1 - dbw $09, $6B96 + dbw $03, $6ba1 + dbw $09, $6b96 db $00 DoduoFuryAttackEffectCommands: - dbw $03, $6BC2 - dbw $09, $6BBA + dbw $03, $6bc2 + dbw $09, $6bba db $00 DodrioRetreatAidEffectCommands: - dbw $01, $6BD7 + dbw $01, $6bd7 db $00 DodrioRageEffectCommands: - dbw $03, $6BDF - dbw $09, $6BD9 + dbw $03, $6bdf + dbw $09, $6bd9 db $00 MeowthPayDayEffectCommands: - dbw $04, $6BE8 + dbw $04, $6be8 db $00 DragonairSlamEffectCommands: - dbw $03, $6C14 - dbw $09, $6C0C + dbw $03, $6c14 + dbw $09, $6c0c db $00 DragonairHyperBeamEffectCommands: - dbw $04, $6C35 - dbw $05, $6C2C - dbw $08, $6C2F + dbw $04, $6c35 + dbw $05, $6c2c + dbw $08, $6c2f db $00 ClefableMetronomeEffectCommands: - dbw $01, $6C77 - dbw $02, $6C82 - dbw $08, $6C7E + dbw $01, $6c77 + dbw $02, $6c82 + dbw $08, $6c7e db $00 ClefableMinimizeEffectCommands: - dbw $03, $6C88 + dbw $03, $6c88 db $00 PidgeotHurricaneEffectCommands: - dbw $04, $6C8E + dbw $04, $6c8e db $00 PidgeottoWhirlwindEffectCommands: - dbw $04, $6CE9 - dbw $05, $6CD3 - dbw $0A, $6CD3 + dbw $04, $6ce9 + dbw $05, $6cd3 + dbw $0a, $6cd3 db $00 PidgeottoMirrorMoveEffectCommands: - dbw $01, $6CF2 - dbw $02, $6CF5 - dbw $03, $6CFE - dbw $04, $6D01 - dbw $05, $6CF8 - dbw $08, $6CFB - dbw $09, $6CEF + dbw $01, $6cf2 + dbw $02, $6cf5 + dbw $03, $6cfe + dbw $04, $6d01 + dbw $05, $6cf8 + dbw $08, $6cfb + dbw $09, $6cef db $00 ClefairySingEffectCommands: - dbw $03, $6D04 + dbw $03, $6d04 db $00 ClefairyMetronomeEffectCommands: - dbw $01, $6D0B - dbw $02, $6D16 - dbw $08, $6D12 + dbw $01, $6d0b + dbw $02, $6d16 + dbw $08, $6d12 db $00 WigglytuffLullabyEffectCommands: @@ -1283,8 +1283,8 @@ WigglytuffLullabyEffectCommands: db $00 WigglytuffDotheWaveEffectCommands: - dbw $03, $6D87 - dbw $09, $6D87 + dbw $03, $6d87 + dbw $09, $6d87 db $00 JigglypuffLullabyEffectCommands: @@ -1292,16 +1292,16 @@ JigglypuffLullabyEffectCommands: db $00 JigglypuffFirstAidEffectCommands: - dbw $01, $6D94 - dbw $04, $6D9F + dbw $01, $6d94 + dbw $04, $6d9f db $00 JigglypuffDoubleEdgeEffectCommands: - dbw $04, $6DA6 + dbw $04, $6da6 db $00 PersianPounceEffectCommands: - dbw $03, $6DAC + dbw $03, $6dac db $00 LickitungTongueWrapEffectCommands: @@ -1309,77 +1309,77 @@ LickitungTongueWrapEffectCommands: db $00 LickitungSupersonicEffectCommands: - dbw $03, $6DB2 + dbw $03, $6db2 db $00 PidgeyWhirlwindEffectCommands: - dbw $04, $6DCF - dbw $05, $6DB9 - dbw $0A, $6DB9 + dbw $04, $6dcf + dbw $05, $6db9 + dbw $0a, $6db9 db $00 PorygonConversion1EffectCommands: - dbw $01, $6DD5 - dbw $02, $6DED - dbw $04, $6DFB - dbw $08, $6DF7 + dbw $01, $6dd5 + dbw $02, $6ded + dbw $04, $6dfb + dbw $08, $6df7 db $00 PorygonConversion2EffectCommands: - dbw $01, $6E1F - dbw $02, $6E31 - dbw $04, $6E5E - dbw $08, $6E3C + dbw $01, $6e1f + dbw $02, $6e31 + dbw $04, $6e5e + dbw $08, $6e3c db $00 ChanseyScrunchEffectCommands: - dbw $03, $6EE7 + dbw $03, $6ee7 db $00 ChanseyDoubleEdgeEffectCommands: - dbw $04, $6EFB + dbw $04, $6efb db $00 RaticateSuperFangEffectCommands: - dbw $03, $6F07 - dbw $09, $6F01 + dbw $03, $6f07 + dbw $09, $6f01 db $00 ; Unreferenced? - dbw $02, $6F18 - dbw $03, $6F3C - dbw $05, $6F27 + dbw $02, $6f18 + dbw $03, $6f3c + dbw $05, $6f27 db $00 DragoniteHealingWindEffectCommands: - dbw $01, $6F51 - dbw $07, $6F53 + dbw $01, $6f51 + dbw $07, $6f53 db $00 Dragonite1SlamEffectCommands: - dbw $03, $6FA4 - dbw $09, $6F9C + dbw $03, $6fa4 + dbw $09, $6f9c db $00 MeowthCatPunchEffectCommands: - dbw $04, $6FE0 + dbw $04, $6fe0 db $00 DittoMorphEffectCommands: - dbw $04, $6FF6 + dbw $04, $6ff6 db $00 PidgeotSlicingWindEffectCommands: - dbw $04, $70BF + dbw $04, $70bf db $00 PidgeotGaleEffectCommands: - dbw $03, $70D0 - dbw $04, $70D6 + dbw $03, $70d0 + dbw $04, $70d6 db $00 JigglypuffFriendshipSongEffectCommands: - dbw $01, $710D + dbw $01, $710d dbw $04, $7119 db $00 @@ -1411,7 +1411,7 @@ GrassEnergyEffectCommands: SuperPotionEffectCommands: dbw $01, $7159 dbw $02, $7167 - dbw $03, $71B5 + dbw $03, $71b5 db $00 ImakuniEffectCommands: @@ -1420,41 +1420,41 @@ ImakuniEffectCommands: EnergyRemovalEffectCommands: dbw $01, $7252 - dbw $02, $725F + dbw $02, $725f dbw $03, $7273 - dbw $08, $726F + dbw $08, $726f db $00 EnergyRetrievalEffectCommands: - dbw $01, $728E - dbw $02, $72A0 - dbw $03, $72F8 - dbw $05, $72B9 + dbw $01, $728e + dbw $02, $72a0 + dbw $03, $72f8 + dbw $05, $72b9 db $00 EnergySearchEffectCommands: - dbw $01, $731C + dbw $01, $731c dbw $03, $7372 dbw $05, $7328 db $00 ProfessorOakEffectCommands: - dbw $03, $73A1 + dbw $03, $73a1 db $00 PotionEffectCommands: - dbw $01, $73CA - dbw $02, $73D1 - dbw $03, $73EF + dbw $01, $73ca + dbw $02, $73d1 + dbw $03, $73ef db $00 GamblerEffectCommands: - dbw $03, $73F9 + dbw $03, $73f9 db $00 ItemFinderEffectCommands: - dbw $01, $743B - dbw $02, $744A + dbw $01, $743b + dbw $02, $744a dbw $03, $7463 db $00 @@ -1464,45 +1464,45 @@ DefenderEffectCommands: db $00 MysteriousFossilEffectCommands: - dbw $01, $74B3 - dbw $03, $74BF + dbw $01, $74b3 + dbw $03, $74bf db $00 FullHealEffectCommands: - dbw $01, $74C5 - dbw $03, $74D1 + dbw $01, $74c5 + dbw $03, $74d1 db $00 ImposterProfessorOakEffectCommands: - dbw $03, $74E1 + dbw $03, $74e1 db $00 ComputerSearchEffectCommands: dbw $01, $7513 - dbw $02, $752A + dbw $02, $752a dbw $03, $7545 - dbw $05, $752E + dbw $05, $752e db $00 ClefairyDollEffectCommands: dbw $01, $7561 - dbw $03, $756D + dbw $03, $756d db $00 MrFujiEffectCommands: dbw $01, $7573 - dbw $02, $757E - dbw $03, $758F + dbw $02, $757e + dbw $03, $758f db $00 PlusPowerEffectCommands: - dbw $03, $75E0 + dbw $03, $75e0 db $00 SwitchEffectCommands: - dbw $01, $75EE - dbw $02, $75F9 - dbw $03, $760A + dbw $01, $75ee + dbw $02, $75f9 + dbw $03, $760a db $00 PokemonCenterEffectCommands: @@ -1513,87 +1513,87 @@ PokemonCenterEffectCommands: PokemonFluteEffectCommands: dbw $01, $7659 dbw $02, $7672 - dbw $03, $768F + dbw $03, $768f db $00 PokemonBreederEffectCommands: - dbw $01, $76B3 - dbw $02, $76C1 - dbw $03, $76F4 + dbw $01, $76b3 + dbw $02, $76c1 + dbw $03, $76f4 db $00 ScoopUpEffectCommands: dbw $01, $7795 - dbw $02, $77A0 - dbw $03, $77C3 + dbw $02, $77a0 + dbw $03, $77c3 db $00 PokemonTraderEffectCommands: dbw $01, $7826 dbw $02, $7838 - dbw $03, $788D + dbw $03, $788d dbw $05, $7853 db $00 PokedexEffectCommands: - dbw $01, $78E1 - dbw $03, $79AA - dbw $05, $78ED + dbw $01, $78e1 + dbw $03, $79aa + dbw $05, $78ed db $00 BillEffectCommands: - dbw $03, $79C4 + dbw $03, $79c4 db $00 LassEffectCommands: - dbw $03, $79E3 + dbw $03, $79e3 db $00 MaintenanceEffectCommands: - dbw $01, $7A70 - dbw $02, $7A7B - dbw $03, $7A85 + dbw $01, $7a70 + dbw $02, $7a7b + dbw $03, $7a85 db $00 PokeBallEffectCommands: - dbw $01, $7AAD - dbw $03, $7B15 - dbw $05, $7AB9 + dbw $01, $7aad + dbw $03, $7b15 + dbw $05, $7ab9 db $00 RecycleEffectCommands: - dbw $01, $7B36 - dbw $03, $7B68 - dbw $05, $7B41 + dbw $01, $7b36 + dbw $03, $7b68 + dbw $05, $7b41 db $00 ReviveEffectCommands: - dbw $01, $7B80 - dbw $02, $7B93 - dbw $03, $7BB0 + dbw $01, $7b80 + dbw $02, $7b93 + dbw $03, $7bb0 db $00 DevolutionSprayEffectCommands: - dbw $01, $7C0B - dbw $02, $7C24 - dbw $03, $7C99 + dbw $01, $7c0b + dbw $02, $7c24 + dbw $03, $7c99 db $00 SuperEnergyRemovalEffectCommands: - dbw $01, $7CD0 - dbw $02, $7CE4 - dbw $03, $7D73 + dbw $01, $7cd0 + dbw $02, $7ce4 + dbw $03, $7d73 db $00 SuperEnergyRetrievalEffectCommands: - dbw $01, $7DA4 - dbw $02, $7DB6 - dbw $03, $7DFA - dbw $05, $7DBA + dbw $01, $7da4 + dbw $02, $7db6 + dbw $03, $7dfa + dbw $05, $7dba db $00 GustofWindEffectCommands: - dbw $01, $7E6E - dbw $02, $7E79 - dbw $03, $7E90 + dbw $01, $7e6e + dbw $02, $7e79 + dbw $03, $7e90 db $00 diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm index 9ddc787..7752b08 100755 --- a/src/engine/bank1.asm +++ b/src/engine/bank1.asm @@ -74,7 +74,7 @@ StartDuel: ; 409f (1:409f) ld a, h ld [$cbe6], a xor a - ld [wBattleMenuSelection], a + ld [wCurrentDuelMenuItem], a call $420b ld a, [$cc18] ld [$cc08], a @@ -87,27 +87,27 @@ StartDuel: ; 409f (1:409f) ; the loop returns here after every turn switch .mainDuelLoop xor a - ld [wBattleMenuSelection], a - call $35e6 + ld [wCurrentDuelMenuItem], a + call Func_35e6 call $54c8 call Func_4225 - call $0f58 - ld a, [wBattleFinished] + call Func_0f58 + ld a, [wDuelFinished] or a - jr nz, .asm_4136 - call $35fa + jr nz, .duelIsOver + call Func_35fa call $6baf - call $3b31 - call $0f58 - ld a, [wBattleFinished] + call Func_3b31 + call Func_0f58 + ld a, [wDuelFinished] or a - jr nz, .asm_4136 + jr nz, .duelIsOver ld hl, $cc06 inc [hl] ld a, [$cc09] cp $80 jr z, .asm_4126 - + .asm_4121 call GetOpposingTurnDuelistVariable_SwapTurn jr .mainDuelLoop @@ -123,11 +123,11 @@ StartDuel: ; 409f (1:409f) ld [$d0c3], a ret -.asm_4136 +.duelIsOver call $5990 call Func_04a2 ld a, $3 - call $2167 + call Func_2167 ld hl, $0076 call DrawWideTextBox_WaitForInput call Func_04a2 @@ -139,11 +139,11 @@ StartDuel: ; 409f (1:409f) call $4ad6 pop af ldh [hWhoseTurn], a - call $3b21 - ld a, [wBattleFinished] - cp $1 + call Func_3b21 + ld a, [wDuelFinished] + cp DUEL_WON jr z, .activeDuelistWonBattle - cp $2 + cp DUEL_LOST jr z, .activeDuelistLostBattle ld a, $5f ld c, $1a @@ -175,7 +175,7 @@ StartDuel: ; 409f (1:409f) ld hl, $0079 .asm_4196 - call $3b6a + call Func_3b6a ld a, c call PlaySong ld a, OPPONENT_TURN @@ -187,12 +187,12 @@ StartDuel: ; 409f (1:409f) call Func_378a or a jr nz, .asm_41a7 - ld a, [wBattleFinished] - cp $3 + ld a, [wDuelFinished] + cp DUEL_DRAW jr z, .tiedBattle call Func_39fc call WaitForWideTextBoxInput - call $3b31 + call Func_3b31 call ResetSerial ld a, PLAYER_TURN ldh [hWhoseTurn], a @@ -200,7 +200,7 @@ StartDuel: ; 409f (1:409f) .tiedBattle call WaitForWideTextBoxInput - call $3b31 + call Func_3b31 ld a, [wDuelTheme] call PlaySong ld hl, $007a @@ -217,7 +217,7 @@ StartDuel: ; 409f (1:409f) jp $40ee .asm_41f3 - call $0f58 + call Func_0f58 ld h, PLAYER_TURN ld a, [wSerialOp] cp $29 @@ -235,43 +235,43 @@ StartDuel: ; 409f (1:409f) INCBIN "baserom.gbc",$420b,$4225 - $420b Func_4225: ; 4225 (1:4225) - ld a, $f1 + ld a, DUELVARS_DUELIST_TYPE call GetTurnDuelistVariable - ld [$CC0D], a + ld [$cc0d], a ld a, [$cc06] cp a, $02 jr c, .asm_4237 call $70f6 - + .asm_4237 call $70e6 call $4933 - call $10cf + call DrawCardFromDeck jr nc, .asm_4248 - ld a, $02 - ld [wBattleFinished], a + ld a, DUEL_LOST + ld [wDuelFinished], a ret .asm_4248 ldh [$ff98], a - call $1123 + call AddCardToHand ld a, [$cc0d] cp $00 jr z, Func_4262 call GetOpposingTurnDuelistVariable_SwapTurn - call $34E2 + call Func_34e2 call GetOpposingTurnDuelistVariable_SwapTurn call c, $4b2c jr Func_426d - + Func_4262: call $4b2c - call $100b - + call Func_100b + Func_4268: ld a, $06 call $51e7 - + Func_426d: call $4f9d ld a, [$cc0d] @@ -283,9 +283,9 @@ Func_426d: ld [wVBlankCtr], a ld [$cbf9], a ld hl, $0088 - call $2a36 - call $2bbf - ld a, $FF + call Func_2a36 + call Func_2bbf + ld a, $ff ld [$cc11], a ld [$cc10], a ret @@ -294,13 +294,13 @@ Func_4295: call DrawWideTextBox ld hl, $54e9 call Func_2c08 - call $669D - ld a, [wBattleFinished] + call $669d + ld a, [wDuelFinished] or a ret nz - ld a, [wBattleMenuSelection] - call $2710 - + ld a, [wCurrentDuelMenuItem] + call Func_2710 + Func_42ac: call DoFrame ldh a, [hButtonsHeld] @@ -317,7 +317,7 @@ Func_42ac: jr nz, Func_4317 bit 3, a jp nz, $4364 - + .asm_42cc ldh a, [hButtonsPressed] and a, $08 @@ -328,13 +328,13 @@ Func_42ac: ld a, [$cbe7] or a jr nz, Func_42ac - call $271a + call Func_271a ld a, e - ld [wBattleMenuSelection], a + ld [wCurrentDuelMenuItem], a jr nc, Func_42ac ldh a, [hCurrentMenuItem] ld hl, BattleMenuFunctionTable - jp JumpToFunctionInTable + jp JumpToFunctionInTable BattleMenuFunctionTable: ; 42f1 (1:42f1) dw OpenHandMenu @@ -343,26 +343,26 @@ BattleMenuFunctionTable: ; 42f1 (1:42f1) dw OpenPokemonPowerMenu dw PlayerRetreat dw PlayerEndTurn - + INCBIN "baserom.gbc",$42fd, $430b - $42fd - + Func_430b: ; 430b (1:430b) call Func_4329 - jp $426d - + jp Func_426d + Func_4311: ; 4311 (1:4311) call Func_4333 - jp $426d + jp Func_426d Func_4317: ; 4317 (1:4317) call Func_4339 - jp c, $4295 - jp $426d + jp c, Func_4295 + jp Func_426d Func_4320: ; 4320 (1:4320) call Func_4342 - jp c, $4295 - jp $426d + jp c, Func_4295 + jp Func_426d Func_4329: ; 4329 (1:4329) call GetOpposingTurnDuelistVariable_SwapTurn @@ -378,20 +378,16 @@ Func_4339: ; 4339 (1:4339) call GetOpposingTurnDuelistVariable_SwapTurn call $5550 jp GetOpposingTurnDuelistVariable_SwapTurn - + Func_4342: ; 4342 (1:4342) jp $5550 - INCBIN "baserom.gbc",$4345, $438e - $4345 - - - OpenPokemonPowerMenu: ; 438e (1:438e) call $6431 jp c, Func_426d - call $1730 + call Func_1730 jp Func_426d PlayerEndTurn: ; 439a (1:439a) @@ -399,18 +395,18 @@ PlayerEndTurn: ; 439a (1:439a) call $51e7 jp c, Func_4268 ld a, $05 - call $0f7f + call Func_0f7f call $717a - ret - + ret + PlayerRetreat: ; 43ab (1:43ab) - ld a, $f0 + ld a, DUELVARS_ARENA_CARD_STATUS call GetTurnDuelistVariable and a,$0f cp a, $01 ldh [$ffa0], a jr nz, Func_43f1 - ld a, [$CC0C] + ld a, [$cc0c] or a jr nz, Func_43e8 call $45bb @@ -425,7 +421,7 @@ PlayerRetreat: ; 43ab (1:43ab) ld a, [wBenchSelectedPokemon] ldh [$ffa1], a ld a, $04 - call $0f7f + call Func_0f7f call $657a jr nc, Func_441c call $4f9d @@ -433,7 +429,7 @@ PlayerRetreat: ; 43ab (1:43ab) Func_43e8: ; 43e8 ld hl, $003d call DrawWideTextBox_WaitForInput - jp $4295 + jp Func_4295 Func_43f1: ; 43f1 (1:43f1) call $45bb @@ -451,7 +447,7 @@ Func_43f1: ; 43f1 (1:43f1) pop af jp c, Func_426d ld a, $04 - call $0f7f + call Func_0f7f call $657a Func_441c: ; 441c (1:441c) @@ -459,41 +455,41 @@ Func_441c: ; 441c (1:441c) Func_441f: ; 441f (1:441f) call DrawWideTextBox_WaitForInput - jp $4295 - + jp Func_4295 + OpenHandMenu: ; 4425 (1:4425) - ld a, $ee + ld a, DUELVARS_NUMBER_OF_CARDS_IN_HAND call GetTurnDuelistVariable or a jr nz, Func_4436 ld hl, $00a4 call DrawWideTextBox_WaitForInput - jp $4295 - + jp Func_4295 + Func_4436: ; 4436 (1:4436) INCBIN "baserom.gbc",$4436, $4585 - $4436 OpenBattleCheckMenu: ; 4585 (1:4585) - call $3b31 - call $3096 + call Func_3b31 + call Func_3096 jp Func_426d INCBIN "baserom.gbc",$458e, $46fc - $458e OpenBattleAttackMenu: ; 46fc (1:46fc) - call $33c1 + call Func_33c1 jr c, .asm_4706 call $4918 jr nc, .asm_470c - + .asm_4706 call DrawWideTextBox_WaitForInput - jp $4295 + jp Func_4295 .asm_470c xor a - ld [wBattleSubMenuSelected], a + ld [wSelectedDuelSubMenuItem], a Func_4710: ; 4710 (1:4710) call $4823 @@ -501,20 +497,20 @@ Func_4710: ; 4710 (1:4710) jr nz, Func_471f ld hl, $003c call DrawWideTextBox_WaitForInput - jp $4295 + jp Func_4295 Func_471f: ; 471f (1:471f) push af - ld a, [wBattleSubMenuSelected] + ld a, [wSelectedDuelSubMenuItem] ld hl, $47e4 call InitializeCursorParameters pop af ld [wNumMenuItems], a ldh a, [hWhoseTurn] ld h, a - ld l, $bb + ld l, DUELVARS_ARENA_CARD ld a, [hl] - call $1376 + call Func_1376 .asm_4736 call DoFrame ldh a, [hButtonsPressed] @@ -523,8 +519,8 @@ Func_471f: ; 471f (1:471f) call Func_264b jr nc, .asm_4736 cp a, $ff - jp z, $4295 - ld [wBattleSubMenuSelected], a + jp z, Func_4295 + ld [wSelectedDuelSubMenuItem], a call $488f jr nc, Func_4759 ld hl, $00c0 @@ -541,25 +537,25 @@ Func_4759: ; 4759 (1:4759) ld d, [hl] inc hl ld e, [hl] - call $16c0 - call $33e1 + call Func_16c0 + call Func_33e1 jr c, Func_477d ld a, $07 call $51e7 jp c, Func_4268 - call $1730 + call Func_1730 jp c, Func_426d ret Func_477d: ; 477d (1:477d) call DrawWideTextBox_WaitForInput jr Func_4710 - + Func_4782: ; 4782 (1:4782) call $478b call $4f9d jp Func_4710 - + INCBIN "baserom.gbc",$478b, $5aeb - $478b @@ -599,7 +595,7 @@ INCBIN "baserom.gbc",$67b2,$7107 - $67b2 InitializeDuelVariables: ; 7107 (1:7107) ldh a, [hWhoseTurn] ld h, a - ld l, wPlayerDuelistType & $ff + ld l, DUELVARS_DUELIST_TYPE ld a, [hl] push hl push af @@ -612,8 +608,8 @@ InitializeDuelVariables: ; 7107 (1:7107) pop af pop hl ld [hl], a - ld bc, DECK_SIZE ; lb bc, wPlayerCardLocations & $ff, DECK_SIZE - ld l, wPlayerDeckCards & $ff + ld bc, DECK_SIZE ; lb bc, DUELVARS_CARD_LOCATIONS, DECK_SIZE + ld l, DUELVARS_DECK_CARDS .initDuelVariablesLoop ; zero card locations and cards in hand, and init order of cards in deck push hl @@ -625,7 +621,7 @@ InitializeDuelVariables: ; 7107 (1:7107) inc b dec c jr nz, .initDuelVariablesLoop - ld l, wPlayerArenaCard & $ff + 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?) diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm index cdceeb1..87c0a51 100755 --- a/src/engine/bank3.asm +++ b/src/engine/bank3.asm @@ -1035,7 +1035,7 @@ PC_c7ea: ; c7ea (3:47ea) call $4915 call DoFrameIfLCDEnabled ld hl, $0352 - call $2c73 + call Func_2c73 call $484e .asm_c801 ld a, $1 diff --git a/src/engine/bank4.asm b/src/engine/bank4.asm index d6b42ee..5c50800 100755 --- a/src/engine/bank4.asm +++ b/src/engine/bank4.asm @@ -50,8 +50,8 @@ Medal_1029e: ; 1029e (4:429e) cp $e0 jr nz, .asm_102e2 ld hl, $038b - call $2c73 - call $3c96 + call Func_2c73 + call Func_3c96 call Func_37a0 pop af ld [$d291], a @@ -107,11 +107,11 @@ BoosterPack_1031b: ; 1031b (4:431b) jr nz, .asm_10373 ld hl, $0388 .asm_10373 - call $2c73 - call $3c96 + call Func_2c73 + call Func_3c96 call Func_37a0 ld hl, $0389 - call $2c73 + call Func_2c73 call DisableLCD call Func_1288c call Func_099c @@ -182,8 +182,8 @@ Duel_Init: ; 103d3 (4:43d3) ld bc, $2f1d ld de, $1211 call Func_2a1a - call $2a00 ; wait for the user to press a or b - call $3c96 + call Func_2a00 ; wait for the user to press a or b + call Func_3c96 call Func_10ab4 ; fade out pop af ld [$d291], a @@ -1116,8 +1116,8 @@ Func_1344d: ; 1344d (4:744d) ld a, MUSIC_MEDAL call PlaySong ld hl, $07e6 - call $2c73 - call $3c96 + call Func_2c73 + call Func_3c96 call Func_37a0 ret ; 0x13462 @@ -1138,8 +1138,8 @@ Func_13485: ; 13485 (4:7485) ld a, MUSIC_MEDAL call PlaySong ld hl, $07e8 - call $2c73 - call $3c96 + call Func_2c73 + call Func_3c96 call Func_37a0 ret ; 0x134b1 diff --git a/src/engine/bank6.asm b/src/engine/bank6.asm index 5a3ca42..1617b6a 100755 --- a/src/engine/bank6.asm +++ b/src/engine/bank6.asm @@ -153,7 +153,7 @@ Func_1a61f: ; 1a61f (6:661f) ld a, [hli] ld h, [hl] ld l, a - bank1call $2ebb + bank1call Func_2ebb ; switch to bank 1, but call a home func ld a, PLAYER_TURN ldh [hWhoseTurn], a pop hl diff --git a/src/engine/bank7.asm b/src/engine/bank7.asm index 05a5838..8e52cef 100755 --- a/src/engine/bank7.asm +++ b/src/engine/bank7.asm @@ -293,13 +293,13 @@ Credits_1d6ad: ; 1d6ad (7:56ad) ld a, [$d633] cp $ff jr nz, .asm_1d6c8 - call $3c96 + call Func_3c96 ld a, $8 farcallx $4, $6863 ld a, MUSIC_STOP call PlaySong farcall Func_10ab4 - call $3ca4 + call Func_3ca4 call Set_WD_off call $5758 call EnableLCD diff --git a/src/engine/home.asm b/src/engine/home.asm index bf26b1c..296ca2b 100755 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -332,9 +332,9 @@ SetupLCD: ; 030b (0:030b) ld [rSCX], a ld [rWY], a ld [rWX], a - ld [$cab0], a - ld [$cab1], a - ld [$cab2], a + ld [wcab0], a + ld [wcab1], a + ld [wcab2], a ldh [hSCX], a ldh [hSCY], a ldh [hWX], a @@ -615,7 +615,7 @@ Func_04a2: ; 04a2 (0:04a2) call DisableLCD call FillTileMap xor a - ld [$cac2], a + ld [wcac2], a ld a, [wConsole] cp CONSOLE_SGB ret nz @@ -717,7 +717,7 @@ DoAFrames: ; 0536 (0:0536) ret ; updates background, sprites and other game variables, halts until vblank, and reads user input -; if $cad5 is not 0, the game can be paused (and resumed) by pressing the select button +; if wcad5 is not 0, the game can be paused (and resumed) by pressing the select button DoFrame: ; 053f (0:053f) push af push hl @@ -728,7 +728,7 @@ DoFrame: ; 053f (0:053f) call WaitForVBlank call ReadJoypad call HandleDPadRepeat - ld a, [$cad5] + ld a, [wcad5] or a jr z, .done ldh a, [hButtonsPressed] @@ -1362,7 +1362,7 @@ Func_08ef: ; 08ef (0:08ef) ld [bc], a ret .asm_92a - ld [$cade], a + ld [wcade], a ld hl, $cada bit 0, [hl] jr nz, .asm_94a @@ -1394,7 +1394,7 @@ INCBIN "baserom.gbc",$0950,$099c - $0950 Func_099c: ; 099c (0:099c) xor a - ld [$cab5], a + ld [wcab5], a ld hl, $ca00 ld c, $28 xor a @@ -1770,15 +1770,15 @@ SerialHandler: ; 0d26 (0:0d26) push hl push de push bc - ld a, [$ce63] ; + ld a, [wce63] ; or a ; - jr z, .asm_d35 ; if [$ce63] nonzero: + jr z, .asm_d35 ; if [wce63] nonzero: call Func_3189 ; ? jr .done ; return .asm_d35 ld a, [wSerialOp] ; or a ; - jr z, .asm_d55 ; skip ahead if [$cb74] zero + jr z, .asm_d55 ; skip ahead if [wcb74] zero ; send/receive a byte ld a, [rSB] call SerialHandleRecv @@ -1793,7 +1793,7 @@ SerialHandler: ; 0d26 (0:0d26) ld [rSB], a ; prepare sending byte (from Func_0dc8?) ld a, [wSerialOp] cp $29 - jr z, .done ; if [$cb74] != $29, use external clock + jr z, .done ; if [wcb74] != $29, use external clock jr .asm_d6a ; and prepare for next byte. either way, return .asm_d55 ld a, $1 @@ -1803,7 +1803,7 @@ SerialHandler: ; 0d26 (0:0d26) ld a, $ac ld [rSB], a ld a, [wSerialRecvBuf] - cp $12 ; if [$cba5] != $12, use external clock + cp $12 ; if [wSerialRecvBuf] != $12, use external clock jr z, .done ; and prepare for next byte. either way, return .asm_d6a ld a, $80 ; @@ -1851,7 +1851,7 @@ SerialHandleRecv: ; 0d77 (0:0d77) push af ld a, [wSerialRecvIndex] ld e, a - ld a, [$cba3] + ld a, [wcba3] dec a and $1f cp e @@ -1866,7 +1866,7 @@ SerialHandleRecv: ; 0d77 (0:0d77) ld a, e inc a and $1f - ld [$cba4], a + ld [wSerialRecvIndex], a ; increment received bytes counter & clear flags ld hl, wSerialRecvCounter inc [hl] @@ -1937,7 +1937,7 @@ Func_0e0a: ; 0e0a (0:0e0a) push bc push af .asm_e0e - ld a, [$cb80] + ld a, [wcb80] ld e, a ld a, [wSerialSendBufIndex] dec a @@ -1948,7 +1948,7 @@ Func_0e0a: ; 0e0a (0:0e0a) ld a, e inc a and $1f - ld [$cb80], a + ld [wcb80], a ld hl, wSerialSendBuf add hl, de pop af @@ -1983,7 +1983,7 @@ Func_0e39: ; 0e39 (0:0e39) .asm_e49 push de dec [hl] - ld a, [$cba3] + ld a, [wcba3] ld e, a ld d, $0 ld hl, wSerialRecvBuf @@ -1993,7 +1993,7 @@ Func_0e39: ; 0e39 (0:0e39) ld a, e inc a and $1f - ld [$cba3], a + ld [wcba3], a pop af pop de pop hl @@ -2070,9 +2070,142 @@ ClearSerialData: ; 0eb1 (0:0eb1) or b jr nz, .loop ret -; 0xebf -INCBIN "baserom.gbc",$0ebf,$1072 - $0ebf +Func_0ebf: ; 0ebf (0:0ebf) + push bc +.asm_ec0 + ld a, [hli] + call Func_0e0a + ld a, [wSerialFlags] + or a + jr nz, .asm_ed2 + dec bc + ld a, c + or b + jr nz, .asm_ec0 + pop bc + or a + ret +.asm_ed2 + pop bc + scf + ret +; 0xed5 + +INCBIN "baserom.gbc",$0ed5,$0f35 - $0ed5 + +Func_0f35: ; 0f35 (0:0f35) + ld a, [wSerialFlags] + ld l, a + ld h, $0 + call Func_2ec4 + ld hl, $0055 + call DrawWideTextBox_WaitForInput + ld a, $ff + ld [wd0c3], a + ld hl, $cbe5 + ld a, [hli] + ld h, [hl] + ld l, a + ld sp, hl + xor a + call PlaySong + call ResetSerial + ret + +Func_0f58: ; 0f58 (0:0f58) + ld a, [wcc09] + cp $1 + jr z, .asm_f60 + ret +.asm_f60 + ld a, DUELVARS_DUELIST_TYPE + call GetTurnDuelistVariable + or a + jr z, .asm_f70 + ld hl, $cbe2 + ld de, wRNG1 + jr .asm_f76 +.asm_f70 + ld hl, wRNG1 + ld de, $cbe2 +.asm_f76 + ld c, $3 + call Func_0e63 + jp c, Func_0f35 + ret + +Func_0f7f: ; 0f7f (0:0f7f) + push hl + push bc + ld [$ff9e], a + ld a, $f1 + call GetOpposingTurnDuelistVariable + cp $1 + jr nz, .asm_f98 + ld hl, $ff9e + ld bc, $000a + call Func_0ebf + call Func_0f58 +.asm_f98 + pop bc + pop hl + ret +; 0xf9b + +INCBIN "baserom.gbc",$0f9b,$100b - $0f9b + +Func_100b: ; 100b (0:100b) + ld a, $2 + call BankswitchRAM + call $669d + xor a + call BankswitchRAM + call EnableExtRAM + ld hl, $a008 + ld a, [hl] + inc [hl] + call DisableExtRAM + and $3 + add $28 + ld l, $0 + ld h, a + add hl, hl + add hl, hl + ld a, $3 + call BankswitchRAM + push hl + ld a, DUELVARS_ARENA_CARD + call GetTurnDuelistVariable + call Func_1324 + ld a, e + ld [wccc3], a + call GetOpposingTurnDuelistVariable_SwapTurn + ld a, DUELVARS_ARENA_CARD + call GetTurnDuelistVariable + call Func_1324 + ld a, e + ld [wccc4], a + call GetOpposingTurnDuelistVariable_SwapTurn + pop hl + push hl + call EnableExtRAM + ld a, [wcc06] + ld [hli], a + ld a, [wccc4] + ld [hli], a + ld a, [wccc3] + ld [hli], a + pop hl + ld de, $0010 + add hl, de + ld e, l + ld d, h + call DisableExtRAM + bank1call $66a4 + xor a + call BankswitchRAM + ret ; copies the deck pointed to by de to wPlayerDeck or wOpponentDeck CopyDeckData: ; 1072 (0:1072) @@ -2131,22 +2264,21 @@ ShuffleDeck: ; 10bc (0:10bc) ld h, a ld d, a ld a, DECK_SIZE - ld l, wPlayerNumberOfCardsNotInDeck & $ff + ld l, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK sub [hl] ld b, a - ld a, wPlayerDeckCards & $ff + ld a, DUELVARS_DECK_CARDS add [hl] ld l, a ; hl = position in the wPlayerDeckCards or wOpponentDeckCards array of the first (top) card in the deck ld a, b ; a = number of cards in the deck call ShuffleCards ret -; 0x10cf ; draw a card from the deck, saving its location as $40 ; returns c if deck is empty, nc if a card was succesfully drawn DrawCardFromDeck: ; 10cf (0:10cf) push hl - ld a, wPlayerNumberOfCardsNotInDeck & $ff + ld a, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK call GetTurnDuelistVariable cp DECK_SIZE jr nc, .emptyDeck @@ -2154,7 +2286,7 @@ DrawCardFromDeck: ; 10cf (0:10cf) inc a ld [hl], a ; point to top card in the deck - add (wPlayerDeckCards - 1) & $ff + add DUELVARS_DECK_CARDS - 1 ld l, a ; grab card number (0-59) from wPlayerDeckCards or wOpponentDeckCards array ld a, [hl] @@ -2186,10 +2318,10 @@ AddCardToHand: ; 1123 (0:1123) ; write $1 (hand) into the location of this card ld [hl], $1 ; increment number of cards in hand - ld l, wPlayerNumberOfCardsInHand & $ff + ld l, DUELVARS_NUMBER_OF_CARDS_IN_HAND inc [hl] ; add card to hand - ld a, (wPlayerHand - 1) & $ff + ld a, DUELVARS_HAND - 1 add [hl] ld l, a ld [hl], e @@ -2241,7 +2373,94 @@ ShuffleCards: ; 127f (0:127f) ret ; 0x12a3 -INCBIN "baserom.gbc",$12a3,$160b - $12a3 +INCBIN "baserom.gbc",$12a3,$1324 - $12a3 + +Func_1324: ; 1324 (0:1324) + push af + push hl + call Func_1362 + ld e, a + ld d, $0 + pop hl + pop af + ret +; 0x132f + +INCBIN "baserom.gbc",$132f,$1362 - $132f + +Func_1362: ; 1362 (0:1362) + push de + ld e, a + ld d, $0 + ld hl, wPlayerDeck + ld a, [$ff97] + cp $c2 + jr z, .asm_1372 + ld hl, wOpponentDeck +.asm_1372 + add hl, de + ld a, [hl] + pop de + ret + +Func_1376: ; 1376 (0:1376) + push hl + push de + push bc + push af + call Func_1324 + call LoadCardDataToRAM + pop af + ld hl, wCardBuffer1 + bank1call $6d84 + ld a, e + pop bc + pop de + pop hl + ret + +Func_138c: ; 138c (0:138c) + push hl + push de + push bc + push af + call Func_1324 + call Func_2f0a + pop af + ld hl, wCardBuffer2 + bank1call $6d84 + ld a, e + pop bc + pop de + pop hl + ret +; 0x13a2 + +INCBIN "baserom.gbc",$13a2,$15ef - $13a2 + +Func_15ef: ; 15ef (0:15ef) + push bc + ld l, $0 + ld c, $0 +.asm_15f4 + ld a, [hl] + cp b + jr nz, .asm_1602 + ld a, l + push hl + call Func_1362 + cp e + pop hl + jr nz, .asm_1602 + inc c +.asm_1602 + inc l + ld a, l + cp $3c + jr c, .asm_15f4 + ld a, c + pop bc + ret ; returns [[hWhoseTurn] << 8 + a] in a ; i.e. variable a of the player whose turn it is @@ -2266,7 +2485,616 @@ GetOpposingTurnDuelistVariable: ; 1611 (0:1611) ret ; 0x161e -INCBIN "baserom.gbc",$161e,$1c72 - $161e +INCBIN "baserom.gbc",$161e,$16c0 - $161e + +Func_16c0: ; 16c0 (0:16c0) + ld a, e + ld [wccc6], a + ld a, d + ld [$ff9f], a + call Func_1376 + ld a, [$cc2b] + ld [wccc2], a + ld hl, $cc30 + dec e + jr nz, .asm_16d9 + ld hl, $cc43 +.asm_16d9 + ld de, $cca6 + ld c, $13 +.asm_16de + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_16de + ld a, [wccb0] + ld hl, $ccb9 + ld [hli], a + xor a + ld [hl], a + ld [wccc7], a + ld hl, $ccbf + ld [hli], a + ld [hl], a + ret + +Func_16f6: ; 16f6 (0:16f6) + ld a, $bb + call GetTurnDuelistVariable + ld [$ff9f], a + call Func_1324 + ld a, e + ld [wccc3], a + call GetOpposingTurnDuelistVariable_SwapTurn + ld a, $bb + call GetTurnDuelistVariable + call Func_1324 + ld a, e + ld [wccc4], a + call GetOpposingTurnDuelistVariable_SwapTurn + xor a + ld [wccec], a + ld [wcccd], a + ld [wcced], a + ld [wcce6], a + ld [wccef], a + ld [wccf0], a + ld [wccf1], a + bank1call $7189 + ret + +Func_1730: ; 1730 (0:1730) + ld a, [wccc6] + ld [wcc10], a + ld a, [$ff9f] + ld [wcc11], a + ld a, [wccc2] + ld [wcc12], a + ld a, [wccb1] + cp $4 + jp z, Func_184b + call Func_16f6 + ld a, $1 + call TryExecuteEffectCommandFunction + jp c, Func_181e + call Func_3414 + jr c, .asm_1766 + ld a, $2 + call TryExecuteEffectCommandFunction + jp c, Func_1821 + call Func_1874 + jr .asm_1777 +.asm_1766 + call Func_1874 + call Func_3400 + jp c, Func_1823 + ld a, $2 + call TryExecuteEffectCommandFunction + jp c, Func_1821 +.asm_1777 + ld a, $9 + call Func_0f7f + ld a, $6 + call TryExecuteEffectCommandFunction + call Func_18d7 + jp c, Func_1828 + call Func_1b8d + call WaitForWideTextBoxInput + call Func_0f58 + ld a, $5 + call TryExecuteEffectCommandFunction + ld a, $a + call Func_0f7f + call $7415 + ld a, [wccb1] + and $80 + jr nz, .asm_17ad + call GetOpposingTurnDuelistVariable_SwapTurn + call Func_3432 + call GetOpposingTurnDuelistVariable_SwapTurn +.asm_17ad + xor a + ld [$ff9d], a + ld a, $3 + call TryExecuteEffectCommandFunction + call Func_1994 + call Func_189d + ld hl, $ccbf + ld [hl], e + inc hl + ld [hl], d + ld b, $0 + ld a, [wccc1] + ld c, a + ld a, $c8 + call GetOpposingTurnDuelistVariable + push de + push hl + call $7494 + call $741a + call $7484 + pop hl + pop de + call Func_1a96 + ld a, [wcac2] + cp $1 + jr nz, .asm_17e8 + push hl + bank1call $503a + pop hl +.asm_17e8 + call Func_1ad0 + jr Func_17fb + +Func_17ed: ; 17ed (0:17ed) + call DrawWideTextBox_WaitForInput + xor a + ld hl, $ccb9 + ld [hli], a + ld [hl], a + ld a, $1 + ld [wccc7], a +Func_17fb: ; 17fb (0:17fb) + ld a, [wccc4] + push af + ld a, $4 + call TryExecuteEffectCommandFunction + pop af + ld [wccc4], a + call Func_367b + bank1call $6df1 + call Func_1bb4 + bank1call $7195 + call $6e49 + or a + ret + +Func_1819: ; 1819 (0:1819) + push hl + call $6510 + pop hl + +Func_181e: ; 181e (0:181e) + call DrawWideTextBox_WaitForInput + +Func_1821: ; 1821 (0:1821) + scf + ret + +Func_1823: ; 1823 (0:1823) + bank1call $717a + or a + ret + +Func_1828: ; 1828 (0:1828) + bank1call $4f9d + ld a, $1 + ld [wcce6], a + ld hl, $004f + call DrawWideTextBox_PrintText + ld a, $75 + ld [wccb8], a + ld a, $14 + call Func_195c + call Func_1bb4 + call $6e49 + bank1call $717a + or a + ret + +Func_184b: ; 184b (0:184b) + call $7415 + ld a, $2 + call TryExecuteEffectCommandFunction + jr c, Func_1819 + ld a, $5 + call TryExecuteEffectCommandFunction + jr c, Func_1821 + ld a, $c + call Func_0f7f + call Func_0f58 + ld a, $d + call Func_0f7f + ld a, $3 + call TryExecuteEffectCommandFunction + ld a, $16 + call Func_0f7f + ret + +Func_1874: ; 1874 (0:1874) + ld a, [wccec] + or a + ret nz + ld a, [$ffa0] + push af + ld a, [$ff9f] + push af + ld a, $1 + ld [wccec], a + ld a, [wcc11] + ld [$ff9f], a + ld a, [wcc10] + ld [$ffa0], a + ld a, $8 + call Func_0f7f + call Func_0f58 + pop af + ld [$ff9f], a + pop af + ld [$ffa0], a + ret + +Func_189d: ; 189d (0:189d) + ld a, [wccb1] + bit 7, a + ret nz + ld a, [wccc7] + or a + ret nz + ld a, e + or d + jr nz, .asm_18b9 + ld a, $e8 + call GetOpposingTurnDuelistVariable + or a + jr nz, .asm_18b9 + ld a, [wcccd] + or a + ret z +.asm_18b9 + push de + call GetOpposingTurnDuelistVariable_SwapTurn + xor a + ld [wcceb], a + call Func_348a + call GetOpposingTurnDuelistVariable_SwapTurn + pop de + ret nc + bank1call $4f9d + ld a, $e8 + call GetOpposingTurnDuelistVariable + ld [hl], $0 + ld de, $0000 + ret + +Func_18d7: ; 18d7 (0:18d7) + xor a + ld [wccc9], a + ld a, $f0 + call GetTurnDuelistVariable + and $f + cp $1 + jr z, .asm_18e8 + or a + ret +.asm_18e8 + ld de, $00f7 + call Func_307d + jr c, .asm_18f7 + ld a, $1 + ld [wccc9], a + scf + ret +.asm_18f7 + or a + ret +; 0x18f9 + +INCBIN "baserom.gbc",$18f9,$195c - $18f9 + +Func_195c: ; 195c (0:195c) + ld hl, $ccb9 + ld [hli], a + ld [hl], $0 + ld a, [wccc7] + push af + xor a + ld [wccc7], a + bank1call $7415 + ld a, [wccc4] + push af + ld a, [wccc3] + ld [wccc4], a + bank1call Func_1a22 ; switch to bank 1, but call a home func + ld a, [wccc1] + ld c, a + ld b, $0 + ld a, $c8 + call GetTurnDuelistVariable + bank1call $7469 + call Func_1ad0 + pop af + ld [wccc4], a + pop af + ld [wccc7], a + ret + +Func_1994: ; 1994 (0:1994) + xor a + ld [wccc1], a + ld hl, $ccb9 + ld a, [hli] + or [hl] + jr nz, .asm_19a3 + ld de, $0000 + ret +.asm_19a3 + xor a + ld [$ff9d], a + ld d, [hl] + dec hl + ld e, [hl] + bit 7, d + jr z, .asm_19b8 + res 7, d + xor a + ld [wccc1], a + call Func_321d + jr .asm_19f3 +.asm_19b8 + call Func_321d + ld a, e + or d + ret z + ld a, [$ff9d] + call Func_36f7 + call Func_1a0e + ld b, a + call GetOpposingTurnDuelistVariable_SwapTurn + call Func_3730 + call GetOpposingTurnDuelistVariable_SwapTurn + and b + jr z, .asm_19dc + sla e + rl d + ld hl, $ccc1 + set 1, [hl] +.asm_19dc + call GetOpposingTurnDuelistVariable_SwapTurn + call Func_374a + call GetOpposingTurnDuelistVariable_SwapTurn + and b + jr z, .asm_19f3 + ld hl, $ffe2 + add hl, de + ld e, l + ld d, h + ld hl, $ccc1 + set 2, [hl] +.asm_19f3 + ld b, $10 + call Func_1a69 + call GetOpposingTurnDuelistVariable_SwapTurn + ld b, $10 + call Func_1a7e + call Func_3244 + bit 7, d + jr z, .asm_1a0a + ld de, $0000 +.asm_1a0a + call GetOpposingTurnDuelistVariable_SwapTurn + ret + +Func_1a0e: ; 1a0e (0:1a0e) + push hl + add $1a + ld l, a + ld a, $1a + adc $0 + ld h, a + ld a, [hl] + pop hl + ret +; 0x1a1a + +INCBIN "baserom.gbc",$1a1a,$1a22 - $1a1a + +Func_1a22: ; 1a22 (0:1a22) + xor a + ld [wccc1], a + ld hl, $ccb9 + ld a, [hli] + or [hl] + or a + jr z, .asm_1a65 + ld d, [hl] + dec hl + ld e, [hl] + call Func_36f6 + call Func_1a0e + ld b, a + call Func_3730 + and b + jr z, .asm_1a47 + sla e + rl d + ld hl, $ccc1 + set 1, [hl] +.asm_1a47 + call Func_374a + and b + jr z, .asm_1a58 + ld hl, $ffe2 + add hl, de + ld e, l + ld d, h + ld hl, $ccc1 + set 2, [hl] +.asm_1a58 + ld b, $10 + call Func_1a69 + ld b, $10 + call Func_1a7e + bit 7, d + ret z +.asm_1a65 + ld de, $0000 + ret + +Func_1a69: ; 1a69 (0:1a69) + push de + call GetTurnDuelistVariable + ld de, $00d8 + call Func_15ef + ld l, a + ld h, $a + call HtimesL + pop de + add hl, de + ld e, l + ld d, h + ret + +Func_1a7e: ; 1a7e (0:1a7e) + push de + call GetTurnDuelistVariable + ld de, $00d9 + call Func_15ef + ld l, a + ld h, $14 + call HtimesL + pop de + ld a, e + sub l + ld e, a + ld a, d + sbc h + ld d, a + ret + +Func_1a96: ; 1a96 (0:1a96) + push hl + push de + ld a, [hl] + sub e + ld [hl], a + ld a, $0 + sbc d + and $80 + jr z, .asm_1aa4 + ld [hl], $0 +.asm_1aa4 + ld a, [hl] + or a + jr z, .asm_1aa9 + scf +.asm_1aa9 + pop de + pop hl + ret + +Func_1aac: ; 1aac (0:1aac) + ld e, a + add $c8 + call GetTurnDuelistVariable + or a + ret nz + ld a, [wccc4] + push af + ld a, e + add $bb + call GetTurnDuelistVariable + call Func_1376 + ld a, [wCardBuffer1 + $7] + ld [wccc4], a + call Func_1ad3 + pop af + ld [wccc4], a + scf + ret + +Func_1ad0: ; 1ad0 (0:1ad0) + ld a, [hl] + or a + ret nz +Func_1ad3: ; 1ad3 (0:1ad3) + ld a, [wccc4] + ld e, a + call LoadCardDataToRAM + ld hl, $cc27 + ld a, [hli] + ld h, [hl] + ld l, a + call Func_2ebb + ld hl, $0081 + call DrawWideTextBox_PrintText + ld a, $28 +.asm_1aeb + call DoFrame + dec a + jr nz, .asm_1aeb + scf + ret +; 0x1af3 + +INCBIN "baserom.gbc",$1af3,$1b8d - $1af3 + +Func_1b8d: ; 1b8d (0:1b8d) + bank1call $4f9d + ld a, $bb + call GetTurnDuelistVariable + call Func_1376 + ld a, $12 + call Func_29f5 + ld [hl], $0 + ld hl, $ce3f + xor a + ld [hli], a + ld [hli], a + ld a, [wccaa] + ld [hli], a + ld a, [wccab] + ld [hli], a + ld hl, $0035 + call DrawWideTextBox_PrintText + ret + +Func_1bb4: ; 1bb4 (0:1bb4) + call Func_3b31 + bank1call $4f9d + call $503a + xor a + ld [$ff9d], a + call Func_1bca + call WaitForWideTextBoxInput + call Func_0f58 + ret + +Func_1bca: ; 1bca (0:1bca) + ld a, [wcced] + or a + ret z + cp $1 + jr z, .asm_1bfd + ld a, [$ff9d] + add $bb + call GetTurnDuelistVariable + call Func_1376 + ld a, $12 + call Func_29f5 + ld [hl], $0 + ld hl, $0000 + call Func_2ebb + ld hl, $ccaa + ld de, $ce41 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld hl, $014a + call DrawWideTextBox_PrintText + scf + ret +.asm_1bfd + call $700a + call DrawWideTextBox_PrintText + scf + ret +; 0x1c05 + +INCBIN "baserom.gbc",$1c05,$1c72 - $1c05 ; returns [([hWhoseTurn] ^ $1) << 8 + a] in a ; i.e. variable a of the player whose turn it is not @@ -2318,7 +3146,7 @@ INCBIN "baserom.gbc",$1caa,$1dca - $1caa ; memcpy(HL, DE, C) Memcpy: ; 1dca (0:1dca) - ld a, [$cabb] ; + ld a, [wLCDC] ; bit 7, a ; jr nz, .asm_1dd8 ; assert that LCD is on .asm_1dd1 @@ -2368,7 +3196,6 @@ AdjustCoordinatesForWindow: ; 1deb (0:1deb) ld e, a pop af ret -; 0x1e00 ; Draws a bxc text box at de printing a name in the left side of the top border. ; The name's text offset must be at hl when this function is called. @@ -2616,7 +3443,7 @@ ColorizeTextBoxSGB and $80 jr z, .asm_1f48 ld a, $2 - ld [$cae2], a + ld [wcae2], a .asm_1f48 ld hl, $cae0 call SendSGB @@ -2744,7 +3571,27 @@ asm_2121 ret ; 0x212f -INCBIN "baserom.gbc",$212f,$21c5 - $212f +INCBIN "baserom.gbc",$212f,$2167 - $212f + +Func_2167: ; 2167 (0:2167) + ld l, a + ld h, $a0 + call HtimesL + add hl, hl + add hl, hl + ld de, $4318 + add hl, de + ld de, $8a00 + ld b, $28 + call asm_2121 + ld a, $a0 + ld hl, $010a + ld bc, $0a04 + ld de, $0504 + jp Func_1f5f +; 0x2189 + +INCBIN "baserom.gbc",$2189,$21c5 - $2189 Func_21c5: ; 21c5 (0:21c5) push de @@ -2796,12 +3643,12 @@ Func_21f2: ; 21f2 (0:21f2) ret .asm_220f ld a, $1 - ld [$cd0a], a + ld [wcd0a], a ret .asm_2215 call Func_230f xor a - ld [$cd0a], a + ld [wcd0a], a ld a, $f ldh [hffaf], a ret @@ -2810,13 +3657,13 @@ Func_21f2: ; 21f2 (0:21f2) xor a ret .asm_2225 - ld a, [$cd0a] + ld a, [wcd0a] push af ld a, $1 - ld [$cd0a], a + ld [wcd0a], a call Func_230f pop af - ld [$cd0a], a + ld [wcd0a], a ldh a, [$ffb0] or a jr nz, .asm_2240 @@ -2838,7 +3685,7 @@ Func_21f2: ; 21f2 (0:21f2) ret .asm_224d call Func_230f - ld a, [$cd08] + ld a, [wcd08] or a call z, .asm_2257 .asm_2257 @@ -2854,16 +3701,16 @@ Func_21f2: ; 21f2 (0:21f2) ldh a, [$ffab] adc $0 ldh [$ffab], a - ld a, [$cd09] + ld a, [wcd09] inc a - ld [$cd09], a + ld [wcd09], a xor a ret Func_2275: ; 2275 (0:2275) ld a, d dec a - ld [$cd04], a + ld [wcd04], a ld a, e ldh [$ffa8], a call Func_2298 @@ -2871,9 +3718,9 @@ Func_2275: ; 2275 (0:2275) ldh [$ffb0], a ldh [$ffa9], a ld a, $88 - ld [$cd06], a + ld [wcd06], a ld a, $80 - ld [$cd07], a + ld [wcd07], a ld hl, $c600 .asm_2292 xor a @@ -2884,9 +3731,9 @@ Func_2275: ; 2275 (0:2275) Func_2298: ; 2298 (0:2298) xor a - ld [$cd0a], a + ld [wcd0a], a ldh [$ffac], a - ld [$cd0b], a + ld [wcd0b], a ld a, $f ldh [hffaf], a ret @@ -2904,7 +3751,7 @@ Func_22ae: ; 22ae (0:22ae) ldh [$ffad], a xor a ldh [$ffae], a - ld [$cd09], a + ld [wcd09], a call CalculateBGMap0Address ld a, l ldh [$ffaa], a @@ -2912,7 +3759,7 @@ Func_22ae: ; 22ae (0:22ae) ldh [$ffab], a call Func_2298 xor a - ld [$cd0b], a + ld [wcd0b], a pop hl ret @@ -2944,7 +3791,7 @@ Func_22ca: ; 22ca (0:22ca) jr .asm_22e9 Func_22f2: ; 22f2 (0:22f2) - ld [$cd05], a + ld [wcd05], a ld hl, $ffaa ld e, [hl] inc hl @@ -2964,10 +3811,10 @@ Func_22f2: ; 22f2 (0:22f2) ret Func_230f: ; 230f (0:230f) - ld a, [$cd0a] + ld a, [wcd0a] or a ret z - ld a, [$cd0b] + ld a, [wcd0b] or a ret z push hl @@ -3028,22 +3875,22 @@ Func_2325: ; 2325 (0:2325) ; search linked-list for letters e/d (regisers), if found hoist the result to ; head of list and return it. carry flag denotes success. Func_235e: ; 235e (0:235e) - ld a, [$cd0a] ; + ld a, [wcd0a] ; or a ; - jr z, .asm_2376 ; if [$cd0a] nonzero: + jr z, .asm_2376 ; if [wcd0a] nonzero: call Uppercase ; uppercase e - ld a, [$cd0b] + ld a, [wcd0b] ld d, a or a - jr nz, .asm_2376 ; if [$cd0b] is zero: + jr nz, .asm_2376 ; if [wcd0b] is zero: ld a, e ; - ld [$cd0b], a ; [$cd0b] ← e + ld [wcd0b], a ; [wcd0b] ← e ld a, $1 ; or a ; return a = 1 ret .asm_2376 xor a - ld [$cd0b], a ; [$cd0b] ← 0 + ld [wcd0b], a ; [wcd0b] ← 0 ldh a, [$ffa9] ld l, a ; l ← [$ffa9]; index to to linked-list head .asm_237d @@ -3115,7 +3962,7 @@ Func_23c1: ; 23c1 (0:23c1) ret .asm_23cf xor a - ld [$cd0a], a + ld [wcd0a], a Func_23d3: ; 23d3 (0:23d3) push hl push de @@ -3212,7 +4059,7 @@ Func_24ac: ; 24ac (0:24ac) push hl push de push bc - ld a, [$cd0a] + ld a, [wcd0a] or a jr nz, .asm_24bf call Func_2510 @@ -3292,7 +4139,7 @@ Func_2518: ; 2518 (0:2518) add hl, hl add hl, hl add hl, hl - ld a, [$cd06] + ld a, [wcd06] ld b, a ld c, $0 add hl, bc @@ -3318,7 +4165,7 @@ Func_252e: ; 252e (0:252e) ret Func_2546: ; 2546 (0:2546) - ld a, [$cd0a] + ld a, [wcd0a] or a jr nz, .asm_255f ld a, e @@ -3391,7 +4238,7 @@ InitializeCursorParameters: ; 2636 (0:2636) Func_264b: ; 264b (0:264b) xor a - ld [$cd99], a + ld [wcd99], a ldh a, [hButtonsPressed2] or a jr z, .asm_2685 @@ -3417,7 +4264,7 @@ Func_264b: ; 264b (0:264b) .asm_2674 push af ld a, $1 - ld [$cd99], a + ld [wcd99], a call EraseCursor pop af ld [wCurMenuItem], a @@ -3429,27 +4276,29 @@ Func_264b: ; 264b (0:264b) ld hl, $cd17 ld a, [hli] or [hl] - jr z, .asm_26a9 + jr z, asm_26a9 ld a, [hld] ld l, [hl] ld h, a ldh a, [hCurrentMenuItem] call CallHL jr nc, HandleMenuInput -.asm_269b +asm_269b: call Func_270b + +Func_269e: ; 269e (0:269e) call Func_26c0 ld a, [wCurMenuItem] ld e, a ldh a, [hCurrentMenuItem] scf ret -.asm_26a9 +asm_26a9: ldh a, [hButtonsPressed] and $3 jr z, HandleMenuInput and $1 - jr nz, .asm_269b + jr nz, asm_269b ld a, [wCurMenuItem] ld e, a ld a, $ff @@ -3472,8 +4321,8 @@ Func_26c0: ; 26c0 (0:26c0) pop af ret -HandleMenuInput: ; 2d61 (0:2d61) - ld a, [$cd99] +HandleMenuInput: ; 26d1 (0:26d1) + ld a, [wcd99] or a jr z, HandleTextBoxInput call Func_3796 @@ -3487,10 +4336,10 @@ HandleTextBoxInput: ; 26da (0:26da) ret nz ld a, [wCursorTileNumber] bit 4, [hl] - jr z, drawCursor + jr z, DrawCursor EraseCursor: ; 26e9 (0:26e9) ld a, [wTileBehindCursor] -drawCursor +DrawCursor: ld c, a ld a, [wYDisplacementBetweenMenuItems] ld l, a @@ -3513,10 +4362,112 @@ drawCursor Func_270b: ; 270b (0:270b) ld a, [wCursorTileNumber] - jr drawCursor -; 0x2710 + jr DrawCursor -INCBIN "baserom.gbc",$2710,$2a1a - $2710 +Func_2710: ; 2710 (0:2710) + ld [wCurMenuItem], a + ld [$ffb1], a + xor a + ld [wCursorBlinkCounter], a + ret + +Func_271a: ; 271a (0:271a) + ld a, [$ff8f] + or a + jr z, .asm_2764 + ld b, a + ld hl, wCurMenuItem + and $c0 + jr z, .asm_272c + ld a, [hl] + xor $1 + jr .asm_2748 +.asm_272c + bit 5, b + jr z, .asm_273b + ld a, [hl] + sub $2 + jr nc, .asm_2748 + and $1 + add $4 + jr .asm_2748 +.asm_273b + bit 4, b + jr z, .asm_275d + ld a, [hl] + add $2 + cp $6 + jr c, .asm_2748 + and $1 +.asm_2748 + push af + ld a, $1 + call Func_3796 + call .asm_2772 + pop af + ld [wCurMenuItem], a + ld [$ffb1], a + xor a + ld [wCursorBlinkCounter], a + jr .asm_2764 +.asm_275d + ld a, [$ff8f] + and $1 + jp nz, Func_269e +.asm_2764 + ld hl, wCursorBlinkCounter + ld a, [hl] + inc [hl] + and $f + ret nz + ld a, $f + bit 4, [hl] + jr z, .asm_2774 +.asm_2772 + ld a, $0 +.asm_2774 + ld e, a + ld a, [wCurMenuItem] + add a + ld c, a + ld b, $0 + ld hl, $278d + add hl, bc + ld b, [hl] + inc hl + ld c, [hl] + ld a, e + call Func_06c3 + ld a, [wCurMenuItem] + ld e, a + or a + ret +; 0x278d + +INCBIN "baserom.gbc",$278d,$29f5 - $278d + +Func_29f5: ; 29f5 (0:29f5) + farcallx $6, $4000 + ret +; 0x29fa + +INCBIN "baserom.gbc",$29fa,$2a00 - $29fa + +Func_2a00: ; 2a00 (0:2a00) + call DoFrame + call HandleTextBoxInput + ld a, [$ff91] + bit 0, a + jr nz, .asm_2a15 + bit 1, a + jr z, Func_2a00 + call EraseCursor + scf + ret +.asm_2a15 + call EraseCursor + or a + ret Func_2a1a: ; 2a1a (0:2a1a) xor a @@ -3537,12 +4488,19 @@ Func_2a1a: ; 2a1a (0:2a1a) ret ; 0x2a30 -INCBIN "baserom.gbc",$2a30,$2a3e - $2a30 +INCBIN "baserom.gbc",$2a30,$2a36 - $2a30 + +Func_2a36: ; 2a36 (0:2a36) + push hl + call DrawWideTextBox + ld a, $13 + jr Func_2a44 DrawNarrowTextBox_PrintText: ; 2a3e (0:2a3e) push hl call DrawNarrowTextBox ld a, $b +Func_2a44: ; 2a44 (0:2a44) ld de, $010e call AdjustCoordinatesForWindow call Func_22a6 @@ -3571,7 +4529,6 @@ DrawNarrowTextBox: ; 2a6f (0:2a6f) call AdjustCoordinatesForWindow call DrawRegularTextBox ret -; 0x2a7c DrawNarrowTextBox_WaitForInput: ; 2a7c (0:2a7c) call DrawNarrowTextBox_PrintText @@ -3586,7 +4543,6 @@ DrawNarrowTextBox_WaitForInput: ; 2a7c (0:2a7c) and $3 jr z, .waitAorBLoop ret -; 0x2a96 NarrowTextBoxPromptCursorData: ; 2a96 (0:2a96) db $a, $11, $1, $1, $2f, $1d, $0, $0 @@ -3633,10 +4589,10 @@ Func_2af0: ; 2af0 (0:2af0) ld de, $0210 .asm_2b0a ld a, d - ld [$cd98], a + ld [wcd98], a ld bc, $0f00 call Func_2a1a - ld a, [$cd9a] + ld a, [wcd9a] ld [wCurMenuItem], a call EnableLCD jr .asm_2b39 @@ -3653,7 +4609,7 @@ Func_2af0: ; 2af0 (0:2af0) call Func_3796 call EraseCursor .asm_2b39 - ld a, [$cd98] + ld a, [wcd98] ld c, a ld hl, wCurMenuItem ld a, [hl] @@ -3671,11 +4627,11 @@ Func_2af0: ; 2af0 (0:2af0) ldh [hCurrentMenuItem], a or a jr nz, .asm_2b5c - ld [$cd9a], a + ld [wcd9a], a ret .asm_2b5c xor a - ld [$cd9a], a + ld [wcd9a], a ld a, $1 ldh [hCurrentMenuItem], a scf @@ -3732,15 +4688,67 @@ LoadOpponentDeck: ; 2b78 (0:2b78) .validDeck ; set opponent as controlled by AI - ld a, wOpponentDuelistType & $ff + ld a, DUELVARS_DUELIST_TYPE call GetTurnDuelistVariable ld a, [wOpponentDeckId] or $80 ld [hl], a ret -; 0x2bbf -INCBIN "baserom.gbc",$2bbf,$2c08 - $2bbf +Func_2bbf: ; 2bbf (0:2bbf) + ld a, $1 + jr Func_2bdb + +Func_2bc3: ; 2bc3 (0:2bc3) + ld a, $2 + jr Func_2bdb + +Func_2bc7: ; 2bc7 (0:2bc7) + ld a, $3 + call Func_2bdb + ld [$ff9d], a + ret + +Func_2bcf: ; 2bcf (0:2bcf) + ld a, $4 + call Func_2bdb + ld [$ffa0], a + ret + +Func_2bd7: ; 2bd7 (0:2bd7) + ld a, $5 + jr Func_2bdb +Func_2bdb: ; 2bdb (0:2bdb) + ld c, a + ld a, [$ff80] + push af + ld a, $5 + call BankswitchHome + ld a, [wOpponentDeckId] + ld l, a + ld h, $0 + add hl, hl + ld de, $4000 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, c + or a + jr nz, .asm_2bfe + ld e, [hl] + inc hl + ld d, [hl] + call CopyDeckData + jr .asm_2c01 +.asm_2bfe + call JumpToFunctionInTable +.asm_2c01 + ld c, a + pop af + call BankswitchHome + ld a, c + ret Func_2c08: ; 2c08 (0:2c08) ld d, [hl] @@ -3780,13 +4788,64 @@ Func_2c29: ; 2c29 (0:2c29) ret ; 0x2c37 -INCBIN "baserom.gbc",$2c37,$2cc8 - $2c37 +INCBIN "baserom.gbc",$2c37,$2c73 - $2c37 + +Func_2c73: ; 2c73 (0:2c73) + xor a + call Func_2c84 + +Func_2c77: ; 2c77 (0:2c77) + ld bc, $2f1d + ld de, $1211 + call Func_2a1a + call Func_2a00 + ret + +Func_2c84: ; 2c84 (0:2c84) + ld [wce4b], a + ld a, [$ff80] + push af + call ReadTextOffset + call Func_2d15 + call Func_2cc8 +.asm_2c93 + ld a, [wce47] + ld c, a + inc c + jr .asm_2cac +.asm_2c9a + ld a, [wce47] + cp $2 + jr nc, .asm_2ca7 + ld a, [$ff90] + and $2 + jr nz, .asm_2caf +.asm_2ca7 + push bc + call DoFrame + pop bc +.asm_2cac + dec c + jr nz, .asm_2c9a +.asm_2caf + call Func_2d43 + jr c, .asm_2cc3 + ld a, [wcd09] + cp $3 + jr c, .asm_2c93 + call Func_2c77 + call Func_2d15 + jr .asm_2c93 +.asm_2cc3 + pop af + call BankswitchHome + ret Func_2cc8: ; 2cc8 (0:2cc8) xor a - ld [$ce48], a - ld [$ce49], a - ld [$ce4a], a + ld [wce48], a + ld [wce49], a + ld [wce4a], a ld a, $f ld [hffaf], a Func_2cd7: ; 2cd7 (0:2cd7) @@ -3795,7 +4854,7 @@ Func_2cd7: ; 2cd7 (0:2cd7) pop bc ld a, [hffaf] ld [hli], a - ld a, [$cd0a] + ld a, [wcd0a] ld [hli], a ldh a, [hBankROM] ld [hli], a @@ -3815,7 +4874,7 @@ Func_2cf3: ; 2cf3 (0:2cf3) ld a, [hli] ld [hffaf], a ld a, [hli] - ld [$cd0a], a + ld [wcd0a], a ld a, [hli] call BankswitchHome ld a, [hli] @@ -3824,7 +4883,7 @@ Func_2cf3: ; 2cf3 (0:2cf3) ret Func_2d06: ; 2d06 (0:2d06) - ld a, [$ce48] + ld a, [wce48] ld e, a add a add a @@ -3834,9 +4893,31 @@ Func_2d06: ; 2d06 (0:2d06) ld hl, $ce2b add hl, de ret -; 0x2d15 -INCBIN "baserom.gbc",$2d15,$2d43 - $2d15 +Func_2d15: ; 2d15 (0:2d15) + push hl + ld de, $000c + ld bc, $1406 + call AdjustCoordinatesForWindow + ld a, [wce4b] + or a + jr nz, .asm_2d2d + call DrawRegularTextBox + call EnableLCD + jr .asm_2d36 +.asm_2d2d + ld hl, $ce4c + ld a, [hli] + ld h, [hl] + ld l, a + call DrawLabeledTextBox +.asm_2d36 + ld de, $010e + call AdjustCoordinatesForWindow + ld a, $13 + call Func_22a6 + pop hl + ret Func_2d43: ; 2d43 (0:2d43) call Func_2cf3 @@ -3871,11 +4952,11 @@ Func_2d43: ; 2d43 (0:2d43) or a ret .asm_2d79 - ld a, [$ce48] + ld a, [wce48] or a jr z, .asm_2d85 dec a - ld [$ce48], a + ld [wce48], a jr Func_2d43 .asm_2d85 call Func_230f @@ -3886,7 +4967,7 @@ Func_2d43: ; 2d43 (0:2d43) ld a, $f ld [hffaf], a xor a - ld [$cd0a], a + ld [wcd0a], a ld de, $ce3f ld hl, $ce49 call Func_2de0 @@ -3911,7 +4992,7 @@ Func_2d43: ; 2d43 (0:2d43) .asm_2dc8 call Func_2ceb call Func_2e2c - ld a, [$caa0] + ld a, [wcaa0] cp $6 jr z, .asm_2dda ld a, $7 @@ -3965,7 +5046,7 @@ ReadTextOffset: ; 2ded (0:2ded) ret Func_2e12: ; 2e12 (0:2e12) - ld a, [$cd0a] + ld a, [wcd0a] or a jp z, Func_245d ld de, $caa0 @@ -4014,7 +5095,7 @@ Func_2e41: ; 2e41 (0:2e41) .asm_2e59 ldh a, [hButtonsHeld] ld b, a - ld a, [$ce47] + ld a, [wce47] inc a cp $3 jr nc, .asm_2e6d @@ -4071,12 +5152,35 @@ PrintTextBoxBorderLabel: ; 2e89 (0:2e89) jp PrintPlayerName ; 0x2ea9 -INCBIN "baserom.gbc",$2ea9,$2f10 - $2ea9 +INCBIN "baserom.gbc",$2ea9,$2ebb - $2ea9 + +Func_2ebb: ; 2ebb (0:2ebb) + ld a, l + ld [wce3f], a + ld a, h + ld [wce40], a + ret + +Func_2ec4: ; 2ec4 (0:2ec4) + ld a, l + ld [wce43], a + ld a, h + ld [wce44], a + ret +; 0x2ecd + +INCBIN "baserom.gbc",$2ecd,$2f0a - $2ecd + +Func_2f0a: ; 2f0a (0:2f0a) + push hl + ld hl, wCardBuffer2 + jr Func_2f14 ; load data of card with id at e to wCardBuffer1 LoadCardDataToRAM: ; 2f10 (0:2f10) push hl ld hl, wCardBuffer1 +Func_2f14: ; 2f14 (0:2f14) push de push bc push hl @@ -4100,9 +5204,23 @@ LoadCardDataToRAM: ; 2f10 (0:2f10) pop de pop hl ret -; 0x2f32 -INCBIN "baserom.gbc",$2f32,$2f7c - $2f32 +Func_2f32: ; 2f32 (0:2f32) + push hl + call GetCardPointer + jr c, .asm_2f43 + ld a, $c + call BankpushHome2 + ld l, [hl] + call BankpopHome + ld a, l + or a +.asm_2f43 + pop hl + ret +; 0x2f45 + +INCBIN "baserom.gbc",$2f45,$2f7c - $2f45 ; return at hl the pointer to the data of the card with id at e ; return carry if e was out of bounds, so no pointer was returned @@ -4133,7 +5251,6 @@ GetCardPointer: ; 2f7c (0:2f7c) pop bc pop de ret -; 0x2fa0 LoadCardGfx: ; 2fa0 (0:2fa0) ldh a, [hBankROM] @@ -4163,7 +5280,6 @@ LoadCardGfx: ; 2fa0 (0:2fa0) pop af call BankswitchHome ret -; 0x2fcb Func_2fcb: ; 2fcb (0:2fcb) ld a, $1d @@ -4172,7 +5288,6 @@ Func_2fcb: ; 2fcb (0:2fcb) call CopyGfxData call BankpopHome ret -; 0x2fd9 ; Checks if the command ID at a is one of the commands of the move or card effect currently in use, ; and executes its associated function if so. @@ -4207,7 +5322,6 @@ TryExecuteEffectCommandFunction: ; 2fd9 (0:2fd9) push bc pop af ret -; 0x2ffe ; input: ; a = command ID to check @@ -4257,7 +5371,6 @@ CheckMatchingCommand: ; 2ffe (0:2ffe) call BankswitchHome scf ret -; 0x302c ; loads the deck id in a from DeckPointers ; sets carry flag if an invalid deck id is used @@ -4290,7 +5403,6 @@ LoadDeck: ; 302c (0:302c) pop hl scf ret -; 0x3055 Func_3055: ; 3055 (0:3055) push hl @@ -4369,7 +5481,7 @@ Func_30a6: ; 30a6 (0:30a6) ld a, $6 call BankswitchHome ld a, $1 - ld [$ce60], a + ld [wce60], a call $40d5 pop bc ld a, b @@ -4378,9 +5490,9 @@ Func_30a6: ; 30a6 (0:30a6) Func_30bc: ; 30bc (0:30bc) ld a, h - ld [$ce50], a + ld [wce50], a ld a, l - ld [$ce51], a + ld [wce51], a ldh a, [hBankROM] push af ld a, $2 @@ -4425,7 +5537,7 @@ Func_30f9: ; 30f9 (0:30f9) ret Func_310a: ; 310a (0:310a) - ld [$ce59], a + ld [wce59], a ldh a, [hBankROM] push af ld a, $2 @@ -4449,37 +5561,37 @@ Func_312d: ; 312d (0:312d) ; serial transfer-related push hl ld hl, $ce64 ld a, $88 - ld [hli], a ; [$ce64] ← $88 + ld [hli], a ; [wce64] ← $88 ld a, $33 - ld [hli], a ; [$ce65] ← $33 - ld [hl], d ; [$ce66] ← d + ld [hli], a ; [wce65] ← $33 + ld [hl], d ; [wce66] ← d inc hl - ld [hl], e ; [$ce67] ← e + ld [hl], e ; [wce67] ← e inc hl - ld [hl], c ; [$ce68] ← c + ld [hl], c ; [wce68] ← c inc hl - ld [hl], b ; [$ce69] ← b + ld [hl], b ; [wce69] ← b inc hl pop de - ld [hl], e ; [$ce6a] ← l + ld [hl], e ; [wce6a] ← l inc hl - ld [hl], d ; [$ce6b] ← h + ld [hl], d ; [wce6b] ← h inc hl ld de, $ff45 - ld [hl], e ; [$ce6c] ← $45 + ld [hl], e ; [wce6c] ← $45 inc hl - ld [hl], d ; [$ce6d] ← $ff + ld [hl], d ; [wce6d] ← $ff ld hl, $ce70 - ld [hl], $64 ; [$ce70] ← $64 + ld [hl], $64 ; [wce70] ← $64 inc hl - ld [hl], $ce ; [$ce71] ← $ce + ld [hl], $ce ; [wce71] ← $ce call Func_0e8e ld a, $1 - ld [$ce63], a ; [$ce63] ← 1 + ld [wce63], a ; [wce63] ← 1 call Func_31fc .asm_315d call DoFrame - ld a, [$ce63] + ld a, [wce63] or a jr nz, .asm_315d call ResetSerial @@ -4489,10 +5601,10 @@ Func_312d: ; 312d (0:312d) ; serial transfer-related ld a, b or c jr nz, .asm_316c - ld a, [$ce6e] + ld a, [wce6e] cp $81 jr nz, .asm_3182 - ld a, [$ce6f] + ld a, [wce6f] ld l, a and $f1 ld a, l @@ -4501,7 +5613,7 @@ Func_312d: ; 312d (0:312d) ; serial transfer-related ret .asm_3182 ld a, $ff - ld [$ce6f], a + ld [wce6f], a scf ret @@ -4565,27 +5677,27 @@ Func_31ca: ; 31ca (0:31ca) ret Func_31dd: ; 31dd (0:31dd) - ld a, [$ce6c] + ld a, [wce6c] Func_31e0: ; 31e0 (0:31e0) call Func_3212 jr Func_31ab Func_31e5: ; 31e5 (0:31e5) - ld a, [$ce6d] + ld a, [wce6d] jr Func_31e0 Func_31ea: ; 31ea (0:31ea) ld a, [rSB] - ld [$ce6e], a + ld [wce6e], a Func_31ef: ; 31ef (0:31ef) xor a jr Func_31e0 Func_31f2: ; 31f2 (0:31f2) ld a, [rSB] - ld [$ce6f], a + ld [wce6f], a xor a - ld [$ce63], a + ld [wce63], a ret Func_31fc: ; 31fc (0:31fc) @@ -4614,9 +5726,551 @@ Func_3212: ; 3212 (0:3212) ld a, $81 ld [rSC], a ret -; 0x321d -INCBIN "baserom.gbc",$321d,$377f - $321d +Func_321d: ; 321d (0:321d) + ld a, $eb + call GetTurnDuelistVariable + bit 0, [hl] + call nz, Func_323b + ld a, $e7 + call GetTurnDuelistVariable + or a + call nz, Func_323a + ld a, $e8 + call GetTurnDuelistVariable + or a + call nz, Func_3243 + ret + +Func_323a: ; 323a (0:323a) + ret + +Func_323b: ; 323b (0:323b) + ld a, e + or d + ret z + sla e + rl d + ret + +Func_3243: ; 3243 (0:3243) + ret + +Func_3244: ; 3244 (0:3244) + call Func_3269 + ld a, $e8 + call GetOpposingTurnDuelistVariable + or a + ret z + cp $3 + jr z, .asm_325b + cp $7 + jr z, .asm_3262 + cp $12 + jr z, .asm_3262 + ret +.asm_325b + ld hl, $ffec + add hl, de + ld e, l + ld d, h + ret +.asm_3262 + ld hl, $fff6 + add hl, de + ld e, l + ld d, h + ret + +Func_3269: ; 3269 (0:3269) + ld a, [wccc7] + or a + jr nz, .asm_32ad + ld a, $e7 + call GetTurnDuelistVariable + or a + jr z, .asm_3297 + cp $f + jr z, .asm_32ad + cp $10 + jr z, .asm_32ad + cp $11 + jr z, .asm_32ad + cp $17 + jr z, .asm_32ad + cp $1e + jr z, .asm_32b1 + cp $13 + jr z, .asm_32b8 + cp $e + jr z, .asm_32bf + cp $15 + jr z, .asm_32ca +.asm_3297 + call Func_34ef + ret c + ld a, [wccb1] + cp $4 + ret z + ld a, [wccc4] + cp $9b + jr z, .asm_32d8 + cp $8b + jr z, .asm_32e9 + ret +.asm_32ad + ld de, $0000 + ret +.asm_32b1 + ld hl, $fff6 + add hl, de + ld e, l + ld d, h + ret +.asm_32b8 + ld hl, $ffec + add hl, de + ld e, l + ld d, h + ret +.asm_32bf + ld bc, $0028 + call Func_3090 + ret nc + ld de, $0000 + ret +.asm_32ca + sla d + rr e + bit 0, e + ret z + ld hl, $fffb + add hl, de + ld e, l + ld d, h + ret +.asm_32d8 + ld a, [wccb1] + cp $4 + ret z + ld bc, $001e + call Func_3090 + ret c + ld de, $0000 + ret +.asm_32e9 + sla d + rr e + bit 0, e + ret z + ld hl, $fffb + add hl, de + ld e, l + ld d, h + ret +; 0x32f7 + +INCBIN "baserom.gbc",$32f7,$33c1 - $32f7 + +Func_33c1: ; 33c1 (0:33c1) + ld a, $e8 + call GetTurnDuelistVariable + or a + ret z + ld hl, $0100 + cp $5 + jr z, .asm_33df + ld hl, $0101 + cp $6 + jr z, .asm_33df + ld hl, $0102 + cp $b + jr z, .asm_33df + or a + ret +.asm_33df + scf + ret + +Func_33e1: ; 33e1 (0:33e1) + ld a, $e8 + call GetTurnDuelistVariable + or a + jr nz, .asm_33ea + ret +.asm_33ea + cp $4 + jr z, .asm_33f0 +.asm_33ee + or a + ret +.asm_33f0 + ld a, $f2 + call GetTurnDuelistVariable + ld a, [wccc6] + cp [hl] + jr nz, .asm_33ee + ld hl, $0103 + scf + ret + +Func_3400: ; 3400 (0:3400) + call Func_3414 + ret nc + call Func_307d + ld [wcc0a], a + ccf + ret nc + ld hl, $00fd + call DrawWideTextBox_WaitForInput + scf + ret + +Func_3414: ; 3414 (0:3414) + ld a, $e8 + call GetTurnDuelistVariable + or a + ret z + ld de, $00de + cp $2 + jr z, .asm_342b + ld de, $00df + cp $1 + jr z, .asm_342b + or a + ret +.asm_342b + ld a, [wcc0a] + or a + ret nz + scf + ret + +Func_3432: ; 3432 (0:3432) + xor a + ld [wccc7], a + ld a, [wccb1] + cp $4 + ret z + ld a, $e7 + call GetTurnDuelistVariable + ld e, $3 + ld hl, $0107 + cp $d + jr z, .asm_346a + ld e, $2 + ld hl, $0108 + cp $14 + jr z, .asm_346a + ld e, $1 + ld hl, $0109 + cp $c + jr z, .asm_346a + call Func_34ef + ccf + ret nc + ld a, [wccc4] + cp $a0 + jr z, .asm_3470 + or a + ret +.asm_346a + ld a, e + ld [wccc7], a + scf + ret +.asm_3470 + ld a, [wcce6] + or a + ret nz + ld a, [wccc3] + ld e, a + ld d, $0 + call Func_2f0a + ld a, [wCardBuffer2 + $9] + or a + ret z + ld e, $5 + ld hl, $010b + jr .asm_346a + +Func_348a: ; 348a (0:348a) + ld a, [wccc4] + cp $96 + jr z, .asm_3493 +.asm_3491 + or a + ret +.asm_3493 + ld a, [wccb1] + cp $4 + jr z, .asm_3491 + ld a, [wcceb] + call Func_34f0 + jr c, .asm_3491 + xor a + ld [wcac2], a + ld de, $00f6 + call Func_307d + ret nc + ld a, $4 + ld [wccc7], a + ld hl, $010c + scf + ret +; 0x34b7 + +INCBIN "baserom.gbc",$34b7,$34e2 - $34b7 + +Func_34e2: ; 34e2 (0:34e2) + ld a, $27 + call Func_3509 + ccf + ret nc + ld a, $5c + call Func_3525 + ret + +Func_34ef: ; 34ef (0:34ef) + xor a + +Func_34f0: ; 34f0 (0:34f0) + or a + jr nz, .asm_3500 + ld a, $f0 + call GetTurnDuelistVariable + and $f + ld hl, $00cb + scf + jr nz, .asm_3508 +.asm_3500 + ld a, $27 + call Func_3509 + ld hl, $00d4 +.asm_3508 + ret + +Func_3509: ; 3509 (0:3509) + push bc + ld [wce7c], a + call Func_3525 + ld c, a + call GetOpposingTurnDuelistVariable_SwapTurn + ld a, [wce7c] + call Func_3525 + call GetOpposingTurnDuelistVariable_SwapTurn + add c + or a + scf + jr nz, .asm_3523 + or a +.asm_3523 + pop bc + ret + +Func_3525: ; 3525 (0:3525) + push hl + push de + push bc + ld [wce7c], a + ld c, $0 + ld a, $bb + call GetTurnDuelistVariable + cp $ff + jr z, .asm_3549 + call Func_1324 + ld a, [wce7c] + cp e + jr nz, .asm_3549 + ld a, $f0 + call GetTurnDuelistVariable + and $f + jr nz, .asm_3549 + inc c +.asm_3549 + ld a, $bc + call GetTurnDuelistVariable +.asm_354e + ld a, [hli] + cp $ff + jr z, .asm_3560 + call Func_1324 + ld a, [wce7c] + cp e + jr nz, .asm_355d + inc c +.asm_355d + inc b + jr .asm_354e +.asm_3560 + ld a, c + or a + scf + jr nz, .asm_3566 + or a +.asm_3566 + pop bc + pop de + pop hl + ret +; 0x356a + +INCBIN "baserom.gbc",$356a,$35e6 - $356a + +Func_35e6: ; 35e6 (0:35e6) + ld a, $e7 + call GetTurnDuelistVariable + ld [hl], $0 + or a + ret z + cp $19 + ret nz + ld a, $eb + call GetTurnDuelistVariable + set 0, [hl] + ret + +Func_35fa: ; 35fa (0:35fa) + ld a, $eb + call GetTurnDuelistVariable + res 1, [hl] + push hl + ld a, $e8 + call GetTurnDuelistVariable + xor a + ld [hl], a + ld a, $e7 + call GetTurnDuelistVariable + pop hl + cp $19 + ret z + res 0, [hl] + ret +; 0x3615 + +INCBIN "baserom.gbc",$3615,$367b - $3615 + +Func_367b: ; 367b (0:367b) + ld a, [wccc4] + cp $7f + jr z, .asm_3683 + ret +.asm_3683 + ld a, [wccb1] + and $80 + ret nz + ld a, [wccbf] + or a + ret z + call GetOpposingTurnDuelistVariable_SwapTurn + call Func_34ef + call GetOpposingTurnDuelistVariable_SwapTurn + ret c + ld hl, $000a + call Func_36a2 + call nc, WaitForWideTextBoxInput + ret + +Func_36a2: ; 36a2 (0:36a2) + push hl + call Func_2ec4 + ld a, [wccc3] + ld e, a + ld d, $0 + call Func_2f0a + ld hl, $cc68 + ld a, [hli] + ld h, [hl] + ld l, a + call Func_2ebb + ld a, $c8 + call GetTurnDuelistVariable + pop de + push af + push hl + call Func_1a96 + ld hl, $0105 + call DrawWideTextBox_PrintText + pop hl + pop af + or a + ret z + call WaitForWideTextBoxInput + xor a + call Func_1aac + call $503a + scf + ret +; 0x36d9 + +INCBIN "baserom.gbc",$36d9,$36f6 - $36d9 + +Func_36f6: ; 36f6 (0:36f6) + xor a + +Func_36f7: ; 36f7 (0:36f7) + push hl + push de + ld e, a + add $d4 + call GetTurnDuelistVariable + bit 7, a + jr nz, .asm_3718 +.asm_3703 + ld a, e + add $bb + call GetTurnDuelistVariable + call Func_1324 + call Func_2f32 + cp $10 + jr nz, .asm_3715 + ld a, $6 +.asm_3715 + pop de + pop hl + ret +.asm_3718 + ld a, e + call Func_34f0 + jr c, .asm_3703 + ld a, e + add $d4 + call GetTurnDuelistVariable + pop de + pop hl + and $f + ret +; 0x3729 + +INCBIN "baserom.gbc",$3729,$3730 - $3729 + +Func_3730: ; 3730 (0:3730) + ld a, $e9 + call GetTurnDuelistVariable + or a + ret nz + ld a, $bb + call GetTurnDuelistVariable + call Func_138c + ld a, [wCardBuffer2 + $33] + ret +; 0x3743 + +INCBIN "baserom.gbc",$3743,$374a - $3743 + +Func_374a: ; 374a (0:374a) + ld a, $ea + call GetTurnDuelistVariable + or a + ret nz + ld a, $bb + call GetTurnDuelistVariable + call Func_138c + ld a, [wCardBuffer2 + $34] + ret +; 0x375d + +INCBIN "baserom.gbc",$375d,$377f - $375d SetupSound_T: ; 377f (0:377f) farcall SetupSound_Ext @@ -4654,7 +6308,7 @@ Func_37a0: ; 37a0 (0:37a0) INCBIN "baserom.gbc",$37a5,$380e - $37a5 Func_380e: ; 380e (0:380e) - ld a, [$d0c1] + ld a, [wd0c1] bit 7, a ret nz ldh a, [hBankROM] @@ -4691,7 +6345,7 @@ Func_383d: ; 383d (0:383d) ret Func_3855: ; 3855 (0:3855) - ld a, [$d0b5] + ld a, [wd0b5] cp $7 jr c, .asm_385e ld a, $6 @@ -4720,14 +6374,14 @@ Func_3876: ; 3876 (0:3876) ld a, MUSIC_CARDPOP call PlaySong ld a, $3 - ld [$d0c2], a - ld a, [$d10e] + ld [wd0c2], a + ld a, [wd10e] or $10 - ld [$d10e], a + ld [wd10e], a farcall Func_b177 - ld a, [$d10e] + ld a, [wd10e] and $ef - ld [$d10e], a + ld [wd10e], a call Func_37a0 pop af call BankswitchHome @@ -4736,11 +6390,11 @@ Func_3876: ; 3876 (0:3876) Func_38a3: ; 38a3 (0:38a3) ld a, $2 - ld [$d0c2], a + ld [wd0c2], a xor a - ld [$d112], a + ld [wd112], a ld a, $ff - ld [$d0c3], a + ld [wd0c3], a ld a, $2 ld [wDuelTheme], a ld a, MUSIC_CARDPOP @@ -4751,9 +6405,9 @@ Func_38a3: ; 38a3 (0:38a3) Func_38c0: ; 38c0 (0:38c0) ld a, $1 - ld [$d0c2], a + ld [wd0c2], a xor a - ld [$d112], a + ld [wd112], a call EnableExtRAM xor a ld [$ba44], a @@ -4765,7 +6419,7 @@ Func_38c0: ; 38c0 (0:38c0) Func_38db: ; 38db (0:38db) ld a, $6 - ld [$d111], a + ld [wd111], a call Func_39fc call EnableExtRAM xor a @@ -4774,14 +6428,14 @@ Func_38db: ; 38db (0:38db) asm_38ed farcall Func_131d3 ld a, $9 - ld [$d111], a + ld [wd111], a call Func_39fc scf ret Func_38fb: ; 38fb (0:38fb) xor a - ld [$d112], a + ld [wd112], a bank1call Func_406f call EnableExtRAM ld a, [$ba44] @@ -4827,7 +6481,7 @@ Func_3946: ; 3946 (0:3946) Func_395a: ; 395a (0:395a) ldh a, [hBankROM] push af - ld a, [$d4c6] + ld a, [wd4c6] call BankswitchHome call CopyGfxData pop af @@ -4881,12 +6535,12 @@ Func_39c3: ; 39c3 (0:39c3) push bc push de xor a - ld [$d3aa], a + ld [wd3aa], a ld b, a ld c, $8 ld de, $000c ld hl, $d34a - ld a, [$d3ab] + ld a, [wd3ab] .asm_39d6 cp [hl] jr z, .asm_39e1 @@ -4898,7 +6552,7 @@ Func_39c3: ; 39c3 (0:39c3) jr z, .asm_39e6 .asm_39e1 ld a, b - ld [$d3aa], a + ld [wd3aa], a or a .asm_39e6 pop de @@ -4927,7 +6581,7 @@ Func_39fc: ; 39fc (0:39fc) ld a, c cp $1f jr nc, .asm_3a1c - ld [$d112], a + ld [wd112], a call PlaySong .asm_3a1c pop bc @@ -4935,10 +6589,10 @@ Func_39fc: ; 39fc (0:39fc) ret Func_3a1f: ; 3a1f (0:3a1f) - ld a, [$d3b8] + ld a, [wd3b8] or a jr z, .asm_3a37 - ld a, [$d32e] + ld a, [wd32e] cp $2 jr z, .asm_3a37 cp $b @@ -4948,7 +6602,7 @@ Func_3a1f: ; 3a1f (0:3a1f) ld a, MUSIC_RONALD ret .asm_3a37 - ld a, [$d111] + ld a, [wd111] ret Func_3a3b: ; 3a3b (0:3a3b) @@ -4973,7 +6627,7 @@ Func_3a5e: ; 3a5e (0:3a5e) call Func_c653 ld a, $4 call BankswitchHome - ld a, [$d334] + ld a, [wd334] ld d, a .asm_3a79 ld a, [hli] @@ -4990,17 +6644,17 @@ Func_3a5e: ; 3a5e (0:3a5e) cp c jr nz, .asm_3aab ld a, [hli] - ld [$d0c6], a + ld [wd0c6], a ld a, [hli] - ld [$d0c7], a + ld [wd0c7], a ld a, [hli] - ld [$d0ca], a + ld [wd0ca], a ld a, [hli] - ld [$d0cb], a + ld [wd0cb], a ld a, [hli] - ld [$d0c8], a + ld [wd0c8], a ld a, [hli] - ld [$d0c9], a + ld [wd0c9], a pop hl pop bc pop af @@ -5084,7 +6738,89 @@ Func_3aed: ; 3aed (0:3aed) jp [hl] ; 0x3b11 -INCBIN "baserom.gbc",$3b11,$3bd2 - $3b11 +INCBIN "baserom.gbc",$3b11,$3b21 - $3b11 + +Func_3b21: ; 3b21 (0:3b21) + ld a, [$ff80] + push af + ld a, $7 + call BankswitchHome + call $48bc + pop af + call BankswitchHome + ret + +Func_3b31: ; 3b31 (0:3b31) + ld a, [$ff80] + push af + ld a, $7 + call BankswitchHome + call $4b18 + jr c, .asm_3b45 + xor a + ld [wDoFrameFunction], a + ld [wcad4], a +.asm_3b45 + call Func_099c + ld a, $1 + ld [wVBlankOAMCopyToggle], a + pop af + call BankswitchHome + ret + +Func_3b52: ; 3b52 (0:3b52) + push hl + push bc + ld a, [wd42a] + ld hl, $d4c0 + and [hl] + ld hl, $d423 + ld c, $7 +.asm_3b60 + and [hl] + inc hl + dec c + jr nz, .asm_3b60 + cp $ff + pop bc + pop hl + ret + +Func_3b6a: ; 3b6a (0:3b6a) + ld [wd422], a + ld a, [$ff80] + push af + ld [wd4be], a + push hl + push bc + push de + ld a, $7 + call BankswitchHome + ld a, [wd422] + cp $61 + jr nc, .asm_3b90 + ld hl, $d4ad + ld a, [wd4ac] + cp [hl] + jr nz, .asm_3b90 + call Func_3b52 + jr nc, .asm_3b95 +.asm_3b90 + call $4a31 + jr .asm_3b9a +.asm_3b95 + call $48ef + jr .asm_3b9a +.asm_3b9a + pop de + pop bc + pop hl + pop af + call BankswitchHome + ret +; 0x3ba2 + +INCBIN "baserom.gbc",$3ba2,$3bd2 - $3ba2 ; writes from hl the pointer to the function to be called by DoFrame SetDoFrameFunction: ; 3bd2 (0:3bd2) @@ -5108,11 +6844,11 @@ Func_3bf5: ; 3bf5 (0:3bf5) ldh a, [hBankROM] push af push hl - ld a, [$d4c6] + ld a, [wd4c6] call BankswitchHome - ld a, [$d4c4] + ld a, [wd4c4] ld l, a - ld a, [$d4c5] + ld a, [wd4c5] ld h, a call CopyData_SaveRegisters pop hl @@ -5177,11 +6913,20 @@ Func_3c5a: ; 3c5a (0:3c5a) ret ; 0x3c83 -INCBIN "baserom.gbc",$3c83,$3ca0 - $3c83 +INCBIN "baserom.gbc",$3c83,$3c96 - $3c83 + +Func_3c96: ; 3c96 (0:3c96) + call DoFrameIfLCDEnabled + call Func_378a + or a + jr nz, Func_3c96 + ret Func_3ca0: ; 3ca0 (0:3ca0) xor a - ld [$d5d7], a + ld [wd5d7], a + +Func_3ca4: ; 3ca4 (0:3ca4) ldh a, [hBankROM] push af ld a, BANK(Func_1296e) @@ -5209,22 +6954,22 @@ Func_3d72: ; 3d72 (0:3d72) push af push hl push hl - ld a, [$d4ca] + ld a, [wd4ca] cp $ff jr nz, .asm_3d84 ld de, Unknown_80e5a xor a jr .asm_3da1 .asm_3d84 - ld a, [$d4c4] + ld a, [wd4c4] ld l, a - ld a, [$d4c5] + ld a, [wd4c5] ld h, a - ld a, [$d4c6] + ld a, [wd4c6] call BankswitchHome ld a, [hli] push af - ld a, [$d4ca] + ld a, [wd4ca] rlca ld e, [hl] add e @@ -5259,7 +7004,7 @@ Func_3db7: ; 3db7 (0:3db7) ret Func_3dbf: ; 3dbf (0:3dbf) - ld a, [$d4cf] + ld a, [wd4cf] cp $10 jr c, .asm_3dc9 rst $38 @@ -5297,14 +7042,14 @@ Func_3df3: ; 3df3 (0:3df3) pop af call BankswitchHome pop af - ld a, [$d61b] + ld a, [wd61b] ret ; 0x3e10 INCBIN "baserom.gbc",$3e10,$3e17 - $3e10 Func_3e17: ; 3e17 (0:3e17) - ld [$d131], a + ld [wd131], a ldh a, [hBankROM] push af ld a, $4 @@ -5315,7 +7060,7 @@ Func_3e17: ; 3e17 (0:3e17) ret Func_3e2a: ; 3e2a (0:3e2a) - ld [$d61e], a + ld [wd61e], a ld a, $63 jr Func_3e17 ; 0x3e31 diff --git a/src/hram.asm b/src/hram.asm index 978501c..38347fc 100644 --- a/src/hram.asm +++ b/src/hram.asm @@ -49,14 +49,14 @@ hWhoseTurn:: ; ff97 hffaf:: ; ffaf ds 1 - + ds 1 hCurrentMenuItem:: ds 1 - + ds 3 - + hffb5:: ; ffb5 ds 1 diff --git a/src/wram.asm b/src/wram.asm index 17c9878..da98d0d 100755 --- a/src/wram.asm +++ b/src/wram.asm @@ -11,6 +11,10 @@ SECTION "WRAM0", WRAM0 wPlayerDuelVariables:: ; c200 +; In order to be identified during a duel, the 60 cards of each duelist are given an id between 0 and 59. +; The id's are assigned following the index number order of the cards that make up the deck. +; This temporary id identifies the card during the current duel and within the duelist's deck. + ; 60-byte array that indicates where each of the 60 cards is. ; $00 - deck ; $01 - hand @@ -27,14 +31,13 @@ wPlayerHand:: ; c242 ds DECK_SIZE ; 60-byte array that maps each card to its position in the deck. -; During a duel, each card of the deck is assigned a number between 0 and 59, following the index number order. ; This array is initialized to 00, 01, 02, ..., 59, until deck is shuffled. -; The earlier a card appears in the array, the closer to the top of the deck it is. wPlayerDeckCards:: ; c27e ds DECK_SIZE -; stores x = (60 - deck remaining cards) -; the first x cards in the wPlayerDeckCards array are ignored (e.g. when drawing a card) +; Stores x = (60 - deck remaining cards) +; The first x cards in the wPlayerDeckCards array are not actually in the deck +; For example, the top card of the player's deck is at wPlayerDeckCards + [wPlayerNumberOfCardsNotInDeck] wPlayerNumberOfCardsNotInDeck:: ; c2ba ds $1 @@ -59,7 +62,14 @@ wPlayerBench4CardHP:: ; c2cc ds $1 wPlayerBench5CardHP:: ; c2cd ds $1 - ds $20 + ds $1e + +; Each bit represents a prize (1 = not taken ; 0 = taken) +wPlayerPrizes:: ; c2ec + ds $1 + +wPlayerNumberOfCardsInDiscardPile:: ; c2ed + ds $1 wPlayerNumberOfCardsInHand:: ; c2ee ds $1 @@ -112,7 +122,13 @@ wOpponentBench4CardHP:: ; c3cc ds $1 wOpponentBench5CardHP:: ; c3cd ds $1 - ds $20 + ds $1e + +wOpponentPrizes:: ; c3ec + ds $1 + +wOpponentNumberOfCardsInDiscardPile:: ; c3ed + ds $1 wOpponentNumberOfCardsInHand:: ; c3ee ds $1 @@ -141,7 +157,18 @@ wOpponentDeck:: ; c480 wBufOAM:: ; ca00 ds $a0 - ds $13 + +wcaa0:: ; caa0 + ds $10 + +wcab0:: ; cab0 + ds $1 + +wcab1:: ; cab1 + ds $1 + +wcab2:: ; cab2 + ds $1 ; initial value of the A register--used to tell the console when reset wInitialA:: ; cab3 @@ -151,6 +178,8 @@ wInitialA:: ; cab3 ; use constants CONSOLE_DMG, CONSOLE_SGB and CONSOLE_CGB for checks wConsole:: ; cab4 ds $1 + +wcab5:: ; cab5 ds $1 wTileMapFill:: ; cab6 @@ -185,7 +214,10 @@ wFlushPaletteFlags:: ; cabf wVBlankOAMCopyToggle:: ; cac0 ds $1 - ds $2 + ds $1 + +wcac2:: ; cac2 + ds $1 wCounterCtr:: ; cac3 ds $1 @@ -218,8 +250,20 @@ wVBlankFunctionTrampoline:: ; cad0 ds $3 wDoFrameFunction:: ; cad3 - ds $3 - ds $1a + ds $1 + +wcad4:: ; cad4 + ds $1 + +wcad5:: ; cad5 + ds $1 + ds $8 + +wcade:: ; cade + ds $4 + +wcae2:: ; cae2 + ds $e wBufPalette:: ; caf0 - cab7f ds $80 @@ -251,6 +295,8 @@ wSerialSendBufToggle:: ; cb7e wSerialSendBufIndex:: ; cb7f ds $1 + +wcb80:: ; cb80 ds $1 wSerialSendBuf:: ; cb81 @@ -261,6 +307,8 @@ wSerialLastReadCA:: ; cba1 wSerialRecvCounter:: ; cba2 ds $1 + +wcba3:: ; cba3 ds $1 wSerialRecvIndex:: ; cba4 @@ -274,33 +322,64 @@ wSerialRecvBuf:: ; $cba5 - $cbc4 ;--- Duels 2 ---------------------------------------------- -wBattleMenuSelection:: ; $cbc6 +; In a duel, the main menu current or last selected menu item +; From 0 to 5: Hand, Attack, Check, Pkmn Power, Retreat, Done +wCurrentDuelMenuItem:: ; $cbc6 ds $1 - ds $4 -wBenchSelectedPokemon:: ; $cbcb +; When we're viewing a card's information, the page we are currently at +; For Pokemon cards, values from $1 to $6 (two pages for move descriptions) +; For Energy cards, it's always $9 +; For Trainer cards, $d or $e (two pages for trainer card descriptions) +wCardPageNumber:: ; $cbc7 ds $1 ds $3 - -;When you're in a battle menu like your hand -;and you press a, this keeps track of where the cursor was -wBattleSubMenuSelected:: ; $cbcf + +wBenchSelectedPokemon:: ; $cbcb ds $1 - ds $37 + ds $3 -; 0 = no one has won battle yet -; 1 = player whose turn it is has won the battle -; 2 = player whose turn it is has lost the battle -wBattleFinished:: ; $cc07 +; When you're in a duel menu like your hand and you press a, +; the following two addresses keep track of which item was selected by the cursor +wSelectedDuelSubMenuItem:: ; $cbcf ds $1 - ds $6 - + +wSelectedDuelSubMenuScrollOffset:: ; $cbd0 + ds $1 + ds $35 + +wcc06:: ; cc06 + ds $1 + +; 0 = no one has won duel yet +; 1 = player whose turn it is has won the duel +; 2 = player whose turn it is has lost the duel +; 3 = duel ended in a draw +wDuelFinished:: ; $cc07 + ds $1 + ds $1 + +wcc09:: ; cc09 + ds $1 + +wcc0a:: ; cc0a + ds $4 + ; 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 ds $1 - ds $4 + ds $1 + +wcc10:: ; cc10 + ds $1 + +wcc11:: ; cc11 + ds $1 + +wcc12:: ; cc12 + ds $1 wIsPracticeDuel:: ; cc13 ds $1 @@ -319,11 +398,74 @@ wCardBuffer1:: ; cc24 wCardBuffer2:: ; cc65 ds CARD_DATA_LENGTH - ds $c + ds $4 + +wccaa:: ; ccaa + ds $1 + +wccab:: ; ccab + ds $5 + +wccb0:: ; ccb0 + ds $1 + +wccb1:: ; ccb1 + ds $1 wCurrentMoveOrCardEffect:: ; ccb2 ds $1 - ds $40 + ds $5 + +wccb8:: ; ccb8 + ds $7 + +wccbf:: ; ccbf + ds $2 + +wccc1:: ; ccc1 + ds $1 + +wccc2:: ; ccc2 + ds $1 + +wccc3:: ; ccc3 + ds $1 + +wccc4:: ; ccc4 + ds $2 + +wccc6:: ; ccc6 + ds $1 + +wccc7:: ; ccc7 + ds $2 + +wccc9:: ; ccc9 + ds $4 + +wcccd:: ; cccd + ds $19 + +wcce6:: ; cce6 + ds $5 + +wcceb:: ; cceb + ds $1 + +wccec:: ; ccec + ds $1 + +wcced:: ; cced + ds $2 + +wccef:: ; ccef + ds $1 + +wccf0:: ; ccf0 + ds $1 + +wccf1:: ; ccf1 + ds $2 ;--- Overworld -------------------------------------------- @@ -332,7 +474,31 @@ wCurrentMoveOrCardEffect:: ; ccb2 ; For example the value 4 seems to be used a lot during duels. wFrameType:: ; ccf3 ds $1 - ds $19 + ds $10 + +wcd04:: ; cd04 + ds $1 + +wcd05:: ; cd05 + ds $1 + +wcd06:: ; cd06 + ds $1 + +wcd07:: ; cd07 + ds $1 + +wcd08:: ; cd08 + ds $1 + +wcd09:: ; cd09 + ds $1 + +wcd0a:: ; cd0a + ds $1 + +wcd0b:: ; cd0b + ds $2 wUppercaseFlag:: ; cd0d ds $1 @@ -362,25 +528,136 @@ wCursorTileNumber:: ; cd15 wTileBehindCursor:: ; cd16 ds $1 - ds $10b + ds $81 + +wcd98:: ; cd98 + ds $1 + +wcd99:: ; cd99 + ds $1 + +wcd9a:: ; cd9a + ds $88 ; 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 + +wce3f:: ; cd3f + ds $1 + +wce40:: ; ce40 + ds $3 + +wce43:: ; ce43 + ds $1 + +wce44:: ; ce44 + ds $3 + +wce47:: ; ce47 + ds $1 + +wce48:: ; ce48 + ds $1 + +wce49:: ; ce49 + ds $1 + +wce4a:: ; ce4a + ds $1 + +wce4b:: ; ce4b + ds $5 + +wce50:: ; ce50 + ds $1 + +wce51:: ; ce51 + ds $8 + +wce59:: ; ce59 + ds $7 + +wce60:: ; ce60 + ds $3 + +wce63:: ; ce63 + ds $9 + +wce6c:: ; ce6c + ds $1 + +wce6d:: ; ce6d + ds $1 + +wce6e:: ; ce6e + ds $1 + +wce6f:: ; ce6f + ds $d + +wce7c:: ; ce7c ;---------------------------------------------------------- ;--- Bank 1: $Dxxx ---------------------------------------- ;---------------------------------------------------------- SECTION "WRAM1", WRAMX, BANK[1] - ds $113 + ds $b5 + +wd0b5:: ; d0b5 + ds $c + +wd0c1:: ; d0c1 + ds $1 + +wd0c2:: ; d0c2 + ds $1 + +wd0c3:: ; d0c3 + ds $3 + +wd0c6:: ; d0c6 + ds $1 + +wd0c7:: ; d0c7 + ds $1 + +wd0c8:: ; d0c8 + ds $1 + +wd0c9:: ; d0c9 + ds $1 + +wd0ca:: ; d0ca + ds $1 + +wd0cb:: ; d0cb + ds $43 + +wd10e:: ; d10e + ds $3 + +wd111:: ; d111 + ds $1 + +wd112:: ; d112 + ds $1 ;--- Music ------------------------------------------------ wMatchStartTheme:: ; d113 ds $1 - ds $21b + ds $1d + +wd131:: ; d131 + ds $1fd + +wd32e:: ; d32e + ds $1 wCurMap:: ; d32f ds $1 @@ -390,7 +667,55 @@ wPlayerXCoord:: ; d330 wPlayerYCoord:: ; d331 ds $1 - ds $a52 + ds $2 + +wd334:: ; d334 + ds $76 + +wd3aa:: ; d3aa + ds $1 + +wd3ab:: ; d3ab + ds $d + +wd3b8:: ; d3b8 + ds $6a + +wd422:: ; d422 + ds $8 + +wd42a:: ; d42a + ds $82 + +wd4ac:: ; d4ac + ds $12 + +wd4be:: ; d4be + ds $6 + +wd4c4:: ; d4c4 + ds $1 + +wd4c5:: ; d4c5 + ds $1 + +wd4c6:: ; d4c6 + ds $4 + +wd4ca:: ; d4ca + ds $5 + +wd4cf:: ; d4cf + ds $108 + +wd5d7:: ; d5d7 + ds $44 + +wd61b:: ; d61b + ds $3 + +wd61e:: ; d61e + ds $766 wMusicDC:: ; dd84 ds $2 |