summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2018-02-07 16:57:12 +0100
committerxCrystal <rgr.crystal@gmail.com>2018-02-07 16:57:12 +0100
commit96f75517a52b30cc1f9e02ad4584aee7a76751c7 (patch)
treecc0df6b6226ef294342b1438b3f7011edd2fdc90 /src
parent3eae724c07856e96c36539eb7fc0288bae0265c4 (diff)
Consolidate line endings to LF
Diffstat (limited to 'src')
-rwxr-xr-xsrc/constants/booster_constants.asm82
-rwxr-xr-xsrc/engine/bank5.asm646
-rwxr-xr-xsrc/engine/bank8.asm264
-rwxr-xr-xsrc/engine/home.asm6
4 files changed, 500 insertions, 498 deletions
diff --git a/src/constants/booster_constants.asm b/src/constants/booster_constants.asm
index ec9bb36..897a35e 100755
--- a/src/constants/booster_constants.asm
+++ b/src/constants/booster_constants.asm
@@ -1,41 +1,41 @@
-BOOSTER_CARD_TYPE_GRASS EQU $00
-BOOSTER_CARD_TYPE_FIRE EQU $01
-BOOSTER_CARD_TYPE_LIGHTNING EQU $03
-BOOSTER_CARD_TYPE_WATER EQU $02
-BOOSTER_CARD_TYPE_FIGHTING EQU $04
-BOOSTER_CARD_TYPE_PSYCHIC EQU $05
-BOOSTER_CARD_TYPE_COLORLESS EQU $06
-BOOSTER_CARD_TYPE_TRAINER EQU $07
-BOOSTER_CARD_TYPE_ENERGY EQU $08
-BOOSTER_CARD_TYPE_AMOUNT EQU $09
-
-BOOSTER_COLOSSEUM_NEUTRAL EQU $00
-BOOSTER_COLOSSEUM_GRASS EQU $01
-BOOSTER_COLOSSEUM_FIRE EQU $02
-BOOSTER_COLOSSEUM_WATER EQU $03
-BOOSTER_COLOSSEUM_LIGHTNING EQU $04
-BOOSTER_COLOSSEUM_FIGHTING EQU $05
-BOOSTER_COLOSSEUM_TRAINER EQU $06
-BOOSTER_EVOLUTION_NEUTRAL EQU $07
-BOOSTER_EVOLUTION_GRASS EQU $08
-BOOSTER_EVOLUTION_FIRE EQU $09
-BOOSTER_EVOLUTION_WATER EQU $0a
-BOOSTER_EVOLUTION_FIGHTING EQU $0b
-BOOSTER_EVOLUTION_PSYCHIC EQU $0c
-BOOSTER_EVOLUTION_TRAINER EQU $0d
-BOOSTER_MYSTERY_NEUTRAL EQU $0e
-BOOSTER_MYSTERY_GRASS_COLORLESS EQU $0f
-BOOSTER_MYSTERY_WATER_COLORLESS EQU $10
-BOOSTER_MYSTERY_LIGHTNING_COLORLESS EQU $11
-BOOSTER_MYSTERY_FIGHTING_COLORLESS EQU $12
-BOOSTER_MYSTERY_TRAINER_COLORLESS EQU $13
-BOOSTER_LABORATORY_FIGHTING EQU $14
-BOOSTER_LABORATORY_GRASS EQU $15
-BOOSTER_LABORATORY_WATER EQU $16
-BOOSTER_LABORATORY_PSYCHIC EQU $17
-BOOSTER_LABORATORY_TRAINER EQU $18
-BOOSTER_ENERGY_LIGHTNING_FIRE EQU $19
-BOOSTER_ENERGY_WATER_FIGHTING EQU $1a
-BOOSTER_ENERGY_GRASS_PSYCHIC EQU $1b
-BOOSTER_ENERGY_RANDOM EQU $1c
-NO_BOOSTER EQU $ff
+BOOSTER_CARD_TYPE_GRASS EQU $00
+BOOSTER_CARD_TYPE_FIRE EQU $01
+BOOSTER_CARD_TYPE_LIGHTNING EQU $03
+BOOSTER_CARD_TYPE_WATER EQU $02
+BOOSTER_CARD_TYPE_FIGHTING EQU $04
+BOOSTER_CARD_TYPE_PSYCHIC EQU $05
+BOOSTER_CARD_TYPE_COLORLESS EQU $06
+BOOSTER_CARD_TYPE_TRAINER EQU $07
+BOOSTER_CARD_TYPE_ENERGY EQU $08
+BOOSTER_CARD_TYPE_AMOUNT EQU $09
+
+BOOSTER_COLOSSEUM_NEUTRAL EQU $00
+BOOSTER_COLOSSEUM_GRASS EQU $01
+BOOSTER_COLOSSEUM_FIRE EQU $02
+BOOSTER_COLOSSEUM_WATER EQU $03
+BOOSTER_COLOSSEUM_LIGHTNING EQU $04
+BOOSTER_COLOSSEUM_FIGHTING EQU $05
+BOOSTER_COLOSSEUM_TRAINER EQU $06
+BOOSTER_EVOLUTION_NEUTRAL EQU $07
+BOOSTER_EVOLUTION_GRASS EQU $08
+BOOSTER_EVOLUTION_FIRE EQU $09
+BOOSTER_EVOLUTION_WATER EQU $0a
+BOOSTER_EVOLUTION_FIGHTING EQU $0b
+BOOSTER_EVOLUTION_PSYCHIC EQU $0c
+BOOSTER_EVOLUTION_TRAINER EQU $0d
+BOOSTER_MYSTERY_NEUTRAL EQU $0e
+BOOSTER_MYSTERY_GRASS_COLORLESS EQU $0f
+BOOSTER_MYSTERY_WATER_COLORLESS EQU $10
+BOOSTER_MYSTERY_LIGHTNING_COLORLESS EQU $11
+BOOSTER_MYSTERY_FIGHTING_COLORLESS EQU $12
+BOOSTER_MYSTERY_TRAINER_COLORLESS EQU $13
+BOOSTER_LABORATORY_FIGHTING EQU $14
+BOOSTER_LABORATORY_GRASS EQU $15
+BOOSTER_LABORATORY_WATER EQU $16
+BOOSTER_LABORATORY_PSYCHIC EQU $17
+BOOSTER_LABORATORY_TRAINER EQU $18
+BOOSTER_ENERGY_LIGHTNING_FIRE EQU $19
+BOOSTER_ENERGY_WATER_FIGHTING EQU $1a
+BOOSTER_ENERGY_GRASS_PSYCHIC EQU $1b
+BOOSTER_ENERGY_RANDOM EQU $1c
+NO_BOOSTER EQU $ff
diff --git a/src/engine/bank5.asm b/src/engine/bank5.asm
index d713f8f..1104b86 100755
--- a/src/engine/bank5.asm
+++ b/src/engine/bank5.asm
@@ -1,323 +1,323 @@
-PointerTable_14000: ; 14000 (05:4000)
- dw $47bd ; SAMS_PRACTICE_DECK
- dw PointerTable_14668 ; PRACTICE_PLAYER_DECK
- dw PointerTable_14668 ; SAMS_NORMAL_DECK
- dw PointerTable_14668 ; CHARMANDER_AND_FRIENDS_DECK
- dw PointerTable_14668 ; CHARMANDER_EXTRA_DECK
- dw PointerTable_14668 ; SQUIRTLE_AND_FRIENDS_DECK
- dw PointerTable_14668 ; SQUIRTLE_EXTRA_DECK
- dw PointerTable_14668 ; BULBASAUR_AND_FRIENDS_DECK
- dw PointerTable_14668 ; BULBASAUR_EXTRA_DECK
- dw PointerTable_14668 ; LIGHTNING_AND_FIRE_DECK
- dw PointerTable_14668 ; WATER_AND_FIGHTING_DECK
- dw PointerTable_14668 ; GRASS_AND_PSYCHIC_DECK
- dw $49e8 ; LEGENDARY_MOLTRES_DECK
- dw $4b0f ; LEGENDARY_ZAPDOS_DECK
- dw $4c0b ; LEGENDARY_ARTICUNO_DECK
- dw $4d60 ; LEGENDARY_DRAGONITE_DECK
- dw $4e89 ; FIRST_STRIKE_DECK
- dw $4f0e ; ROCK_CRUSHER_DECK
- dw $4f8f ; GO_GO_RAIN_DANCE_DECK
- dw $5019 ; ZAPPING_SELFDESTRUCT_DECK
- dw $509b ; FLOWER_POWER_DECK
- dw $5122 ; STRANGE_PSYSHOCK_DECK
- dw $51ad ; WONDERS_OF_SCIENCE_DECK
- dw $5232 ; FIRE_CHARGE_DECK
- dw $52bd ; IM_RONALD_DECK
- dw $534b ; POWERFUL_RONALD_DECK
- dw $53e8 ; INVINCIBLE_RONALD_DECK
- dw $546f ; LEGENDARY_RONALD_DECK
- dw $48dc ; MUSCLES_FOR_BRAINS_DECK
- dw PointerTable_14668 ; HEATED_BATTLE_DECK
- dw PointerTable_14668 ; LOVE_TO_BATTLE_DECK
- dw PointerTable_14668 ; EXCAVATION_DECK
- dw PointerTable_14668 ; BLISTERING_POKEMON_DECK
- dw PointerTable_14668 ; HARD_POKEMON_DECK
- dw PointerTable_14668 ; WATERFRONT_POKEMON_DECK
- dw PointerTable_14668 ; LONELY_FRIENDS_DECK
- dw PointerTable_14668 ; SOUND_OF_THE_WAVES_DECK
- dw PointerTable_14668 ; PIKACHU_DECK
- dw PointerTable_14668 ; BOOM_BOOM_SELFDESTRUCT_DECK
- dw PointerTable_14668 ; POWER_GENERATOR_DECK
- dw PointerTable_14668 ; ETCETERA_DECK
- dw PointerTable_14668 ; FLOWER_GARDEN_DECK
- dw PointerTable_14668 ; KALEIDOSCOPE_DECK
- dw PointerTable_14668 ; GHOST_DECK
- dw PointerTable_14668 ; NAP_TIME_DECK
- dw PointerTable_14668 ; STRANGE_POWER_DECK
- dw PointerTable_14668 ; FLYIN_POKEMON_DECK
- dw PointerTable_14668 ; LOVELY_NIDORAN_DECK
- dw PointerTable_14668 ; POISON_DECK
- dw PointerTable_14668 ; ANGER_DECK
- dw PointerTable_14668 ; FLAMETHROWER_DECK
- dw PointerTable_14668 ; RESHUFFLE_DECK
- dw $48dc ; IMAKUNI_DECK
-; 1406a
-
- INCROM $1406a, $14226
-
-Func_14226: ; 14226 (5:4226)
- call CreateHandCardBuffer
- ld hl, wDuelCardOrAttackList
-.checkForNextPokemon
- ld a, [hli]
- ld [$ff98], a
- cp $ff
- ret z
- call LoadDeckCardToBuffer1
- ld a, [wLoadedCard1Type]
- cp FIRE_ENERGY_CARD
- jr nc, .checkForNextPokemon
- ld a, [wLoadedCard1Stage]
- or a
- jr nz, .checkForNextPokemon
- push hl
- ld a, [$ff98]
- call $1485
- pop hl
- jr .checkForNextPokemon
-; 0x1424b
-
- INCROM $1424b, $14663
-
-Func_14663: ; 14663 (5:4663)
- farcall Func_200e5
- ret
-
-; GENERAL DECK POINTER LIST - Not sure on all of these.
-; This is an example of an AI pointer table, there's one for each AI type.
-PointerTable_14668: ; 14668 (05:4668)
- dw Func_14674 ; not used
- dw Func_14674 ; general AI for battles
- dw Func_14678 ; basic pokemon placement / cheater shuffling on better AI
- dw Func_1467f
- dw Func_14683
- dw Func_14687
-
-; when battle AI gets called
-Func_14674: ; 14674 (5:4674)
- call Func_1468b
- ret
-
-Func_14678: ; 14678 (5:4678)
- call Func_15636
- call $4226
- ret
-
-Func_1467f: ; 1467f (5:467f)
- call $5b72
- ret
-
-Func_14683: ; 14683 (5:4683)
- call $5b72
- ret
-
-Func_14687: ; 14687 (5:4687)
- call $41e5
- ret
-
-; AI for general decks i think
-Func_1468b: ; 1468b (5:468b)
- call Func_15649
- ld a, $1
- call Func_14663
- farcallx $8, $67d3
- jp nc, $4776
- farcallx $8, $6790
- farcallx $8, $66a3
- farcallx $8, $637f
- ret c
- farcallx $8, $662d
- ld a, $2
- call Func_14663
- ld a, $3
- call Func_14663
- ld a, $4
- call Func_14663
- call $5eae
- ret c
- ld a, $5
- call Func_14663
- ld a, $6
- call Func_14663
- ld a, $7
- call Func_14663
- ld a, $8
- call Func_14663
- call $4786
- ld a, $a
- call Func_14663
- ld a, $b
- call Func_14663
- ld a, $c
- call Func_14663
- ld a, [wAlreadyPlayedEnergy]
- or a
- jr nz, .asm_146ed
- call $64e8
-
-.asm_146ed
- call $5eae
- farcallx $8, $66a3
- farcallx $8, $637f
- ret c
- farcallx $8, $6790
- ld a, $d
- farcallx $8, $619b
- ld a, $d
- call Func_14663
- ld a, $f
- call Func_14663
- ld a, [$ce20]
- and $4
- jr z, .asm_14776
- ld a, $1
- call Func_14663
- ld a, $2
- call Func_14663
- ld a, $3
- call Func_14663
- ld a, $4
- call Func_14663
- call $5eae
- ret c
- ld a, $5
- call Func_14663
- ld a, $6
- call Func_14663
- ld a, $7
- call Func_14663
- ld a, $8
- call Func_14663
- call $4786
- ld a, $a
- call Func_14663
- ld a, $b
- call Func_14663
- ld a, $c
- call Func_14663
- ld a, [wAlreadyPlayedEnergy]
- or a
- jr nz, .asm_1475b
- call $64e8
-
-.asm_1475b
- call $5eae
- farcallx $8, $66a3
- farcallx $8, $637f
- ret c
- farcallx $8, $6790
- ld a, $d
- farcallx $8, $619b
- ld a, $d
- call Func_14663
-
-.asm_14776
- ld a, $e
- farcallx $8, $619b
- call $69f8
- ret c
- ld a, $5
- bank1call $67be
- ret
-; 0x14786
-
-
- INCROM $14786, $15636
-Func_15636: ; 15636 (5:5636)
- ld a, $10
- ld hl, $cda5
- call ZeroData
- ld a, $5
- ld [$cda6], a
- ld a, $ff
- ld [$cda5], a
- ret
-
-Func_15649: ; 15649 (5:5649)
- ld a, [$cda6]
- inc a
- ld [$cda6], a
- xor a
- ld [$ce20], a
- ld [$cddb], a
- ld [$cddc], a
- ld [$ce03], a
- ld a, [wcc10]
- cp $ff
- jr z, .asm_156b1
- or a
- jr z, .asm_156b1
- ld a, [wcc11]
- cp $ff
- jr z, .asm_156b1
- call SwapTurn
- call GetCardInDeckPosition
- call SwapTurn
- ld a, e
- cp MEWTWO1 ; I believe this is a check for Mewtwo1's Barrier move
- jr nz, .asm_156b1
- ld a, [$cda7]
- bit 7, a
- jr nz, .asm_156aa
- inc a
- ld [$cda7], a
- cp $3
- jr c, .asm_156c2
- ld a, (wPlayerArenaCard & $FF)
- call GetNonTurnDuelistVariable
- call SwapTurn
- call GetCardInDeckPosition
- call SwapTurn
- ld a, e
- cp MEWTWO1
- jr nz, .asm_156a4
- farcallx $8, $67a9
- jr nc, .asm_156aa
-
-.asm_156a4
- xor a
- ld [$cda7], a
- jr .asm_156c2
-
-.asm_156aa
- ld a, $80
- ld [$cda7], a
- jr .asm_156c2
-
-.asm_156b1
- ld a, [$cda7]
- bit 7, a
- jr z, .asm_156be
- inc a
- ld [$cda7], a
- jr .asm_156c2
-
-.asm_156be
- xor a
- ld [$cda7], a
-
-.asm_156c2
- ret
-; 0x156c3
-
- INCROM $156c3, $1575e
-
-; zeroes a bytes starting at hl
-ZeroData: ; 1575e (5:575e)
- push af
- push bc
- push hl
- ld b, a
- xor a
-.clearLoop
- ld [hli], a
- dec b
- jr nz, .clearLoop
- pop hl
- pop bc
- pop af
- ret
-; 0x1576b
-
- INCROM $1576b, $18000
+PointerTable_14000: ; 14000 (05:4000)
+ dw $47bd ; SAMS_PRACTICE_DECK
+ dw PointerTable_14668 ; PRACTICE_PLAYER_DECK
+ dw PointerTable_14668 ; SAMS_NORMAL_DECK
+ dw PointerTable_14668 ; CHARMANDER_AND_FRIENDS_DECK
+ dw PointerTable_14668 ; CHARMANDER_EXTRA_DECK
+ dw PointerTable_14668 ; SQUIRTLE_AND_FRIENDS_DECK
+ dw PointerTable_14668 ; SQUIRTLE_EXTRA_DECK
+ dw PointerTable_14668 ; BULBASAUR_AND_FRIENDS_DECK
+ dw PointerTable_14668 ; BULBASAUR_EXTRA_DECK
+ dw PointerTable_14668 ; LIGHTNING_AND_FIRE_DECK
+ dw PointerTable_14668 ; WATER_AND_FIGHTING_DECK
+ dw PointerTable_14668 ; GRASS_AND_PSYCHIC_DECK
+ dw $49e8 ; LEGENDARY_MOLTRES_DECK
+ dw $4b0f ; LEGENDARY_ZAPDOS_DECK
+ dw $4c0b ; LEGENDARY_ARTICUNO_DECK
+ dw $4d60 ; LEGENDARY_DRAGONITE_DECK
+ dw $4e89 ; FIRST_STRIKE_DECK
+ dw $4f0e ; ROCK_CRUSHER_DECK
+ dw $4f8f ; GO_GO_RAIN_DANCE_DECK
+ dw $5019 ; ZAPPING_SELFDESTRUCT_DECK
+ dw $509b ; FLOWER_POWER_DECK
+ dw $5122 ; STRANGE_PSYSHOCK_DECK
+ dw $51ad ; WONDERS_OF_SCIENCE_DECK
+ dw $5232 ; FIRE_CHARGE_DECK
+ dw $52bd ; IM_RONALD_DECK
+ dw $534b ; POWERFUL_RONALD_DECK
+ dw $53e8 ; INVINCIBLE_RONALD_DECK
+ dw $546f ; LEGENDARY_RONALD_DECK
+ dw $48dc ; MUSCLES_FOR_BRAINS_DECK
+ dw PointerTable_14668 ; HEATED_BATTLE_DECK
+ dw PointerTable_14668 ; LOVE_TO_BATTLE_DECK
+ dw PointerTable_14668 ; EXCAVATION_DECK
+ dw PointerTable_14668 ; BLISTERING_POKEMON_DECK
+ dw PointerTable_14668 ; HARD_POKEMON_DECK
+ dw PointerTable_14668 ; WATERFRONT_POKEMON_DECK
+ dw PointerTable_14668 ; LONELY_FRIENDS_DECK
+ dw PointerTable_14668 ; SOUND_OF_THE_WAVES_DECK
+ dw PointerTable_14668 ; PIKACHU_DECK
+ dw PointerTable_14668 ; BOOM_BOOM_SELFDESTRUCT_DECK
+ dw PointerTable_14668 ; POWER_GENERATOR_DECK
+ dw PointerTable_14668 ; ETCETERA_DECK
+ dw PointerTable_14668 ; FLOWER_GARDEN_DECK
+ dw PointerTable_14668 ; KALEIDOSCOPE_DECK
+ dw PointerTable_14668 ; GHOST_DECK
+ dw PointerTable_14668 ; NAP_TIME_DECK
+ dw PointerTable_14668 ; STRANGE_POWER_DECK
+ dw PointerTable_14668 ; FLYIN_POKEMON_DECK
+ dw PointerTable_14668 ; LOVELY_NIDORAN_DECK
+ dw PointerTable_14668 ; POISON_DECK
+ dw PointerTable_14668 ; ANGER_DECK
+ dw PointerTable_14668 ; FLAMETHROWER_DECK
+ dw PointerTable_14668 ; RESHUFFLE_DECK
+ dw $48dc ; IMAKUNI_DECK
+; 1406a
+
+ INCROM $1406a, $14226
+
+Func_14226: ; 14226 (5:4226)
+ call CreateHandCardBuffer
+ ld hl, wDuelCardOrAttackList
+.checkForNextPokemon
+ ld a, [hli]
+ ld [$ff98], a
+ cp $ff
+ ret z
+ call LoadDeckCardToBuffer1
+ ld a, [wLoadedCard1Type]
+ cp FIRE_ENERGY_CARD
+ jr nc, .checkForNextPokemon
+ ld a, [wLoadedCard1Stage]
+ or a
+ jr nz, .checkForNextPokemon
+ push hl
+ ld a, [$ff98]
+ call $1485
+ pop hl
+ jr .checkForNextPokemon
+; 0x1424b
+
+ INCROM $1424b, $14663
+
+Func_14663: ; 14663 (5:4663)
+ farcall Func_200e5
+ ret
+
+; GENERAL DECK POINTER LIST - Not sure on all of these.
+; This is an example of an AI pointer table, there's one for each AI type.
+PointerTable_14668: ; 14668 (05:4668)
+ dw Func_14674 ; not used
+ dw Func_14674 ; general AI for battles
+ dw Func_14678 ; basic pokemon placement / cheater shuffling on better AI
+ dw Func_1467f
+ dw Func_14683
+ dw Func_14687
+
+; when battle AI gets called
+Func_14674: ; 14674 (5:4674)
+ call Func_1468b
+ ret
+
+Func_14678: ; 14678 (5:4678)
+ call Func_15636
+ call $4226
+ ret
+
+Func_1467f: ; 1467f (5:467f)
+ call $5b72
+ ret
+
+Func_14683: ; 14683 (5:4683)
+ call $5b72
+ ret
+
+Func_14687: ; 14687 (5:4687)
+ call $41e5
+ ret
+
+; AI for general decks i think
+Func_1468b: ; 1468b (5:468b)
+ call Func_15649
+ ld a, $1
+ call Func_14663
+ farcallx $8, $67d3
+ jp nc, $4776
+ farcallx $8, $6790
+ farcallx $8, $66a3
+ farcallx $8, $637f
+ ret c
+ farcallx $8, $662d
+ ld a, $2
+ call Func_14663
+ ld a, $3
+ call Func_14663
+ ld a, $4
+ call Func_14663
+ call $5eae
+ ret c
+ ld a, $5
+ call Func_14663
+ ld a, $6
+ call Func_14663
+ ld a, $7
+ call Func_14663
+ ld a, $8
+ call Func_14663
+ call $4786
+ ld a, $a
+ call Func_14663
+ ld a, $b
+ call Func_14663
+ ld a, $c
+ call Func_14663
+ ld a, [wAlreadyPlayedEnergy]
+ or a
+ jr nz, .asm_146ed
+ call $64e8
+
+.asm_146ed
+ call $5eae
+ farcallx $8, $66a3
+ farcallx $8, $637f
+ ret c
+ farcallx $8, $6790
+ ld a, $d
+ farcallx $8, $619b
+ ld a, $d
+ call Func_14663
+ ld a, $f
+ call Func_14663
+ ld a, [$ce20]
+ and $4
+ jr z, .asm_14776
+ ld a, $1
+ call Func_14663
+ ld a, $2
+ call Func_14663
+ ld a, $3
+ call Func_14663
+ ld a, $4
+ call Func_14663
+ call $5eae
+ ret c
+ ld a, $5
+ call Func_14663
+ ld a, $6
+ call Func_14663
+ ld a, $7
+ call Func_14663
+ ld a, $8
+ call Func_14663
+ call $4786
+ ld a, $a
+ call Func_14663
+ ld a, $b
+ call Func_14663
+ ld a, $c
+ call Func_14663
+ ld a, [wAlreadyPlayedEnergy]
+ or a
+ jr nz, .asm_1475b
+ call $64e8
+
+.asm_1475b
+ call $5eae
+ farcallx $8, $66a3
+ farcallx $8, $637f
+ ret c
+ farcallx $8, $6790
+ ld a, $d
+ farcallx $8, $619b
+ ld a, $d
+ call Func_14663
+
+.asm_14776
+ ld a, $e
+ farcallx $8, $619b
+ call $69f8
+ ret c
+ ld a, $5
+ bank1call $67be
+ ret
+; 0x14786
+
+
+ INCROM $14786, $15636
+Func_15636: ; 15636 (5:5636)
+ ld a, $10
+ ld hl, $cda5
+ call ZeroData
+ ld a, $5
+ ld [$cda6], a
+ ld a, $ff
+ ld [$cda5], a
+ ret
+
+Func_15649: ; 15649 (5:5649)
+ ld a, [$cda6]
+ inc a
+ ld [$cda6], a
+ xor a
+ ld [$ce20], a
+ ld [$cddb], a
+ ld [$cddc], a
+ ld [$ce03], a
+ ld a, [wcc10]
+ cp $ff
+ jr z, .asm_156b1
+ or a
+ jr z, .asm_156b1
+ ld a, [wcc11]
+ cp $ff
+ jr z, .asm_156b1
+ call SwapTurn
+ call GetCardInDeckPosition
+ call SwapTurn
+ ld a, e
+ cp MEWTWO1 ; I believe this is a check for Mewtwo1's Barrier move
+ jr nz, .asm_156b1
+ ld a, [$cda7]
+ bit 7, a
+ jr nz, .asm_156aa
+ inc a
+ ld [$cda7], a
+ cp $3
+ jr c, .asm_156c2
+ ld a, (wPlayerArenaCard & $FF)
+ call GetNonTurnDuelistVariable
+ call SwapTurn
+ call GetCardInDeckPosition
+ call SwapTurn
+ ld a, e
+ cp MEWTWO1
+ jr nz, .asm_156a4
+ farcallx $8, $67a9
+ jr nc, .asm_156aa
+
+.asm_156a4
+ xor a
+ ld [$cda7], a
+ jr .asm_156c2
+
+.asm_156aa
+ ld a, $80
+ ld [$cda7], a
+ jr .asm_156c2
+
+.asm_156b1
+ ld a, [$cda7]
+ bit 7, a
+ jr z, .asm_156be
+ inc a
+ ld [$cda7], a
+ jr .asm_156c2
+
+.asm_156be
+ xor a
+ ld [$cda7], a
+
+.asm_156c2
+ ret
+; 0x156c3
+
+ INCROM $156c3, $1575e
+
+; zeroes a bytes starting at hl
+ZeroData: ; 1575e (5:575e)
+ push af
+ push bc
+ push hl
+ ld b, a
+ xor a
+.clearLoop
+ ld [hli], a
+ dec b
+ jr nz, .clearLoop
+ pop hl
+ pop bc
+ pop af
+ ret
+; 0x1576b
+
+ INCROM $1576b, $18000
diff --git a/src/engine/bank8.asm b/src/engine/bank8.asm
index d052c43..478714b 100755
--- a/src/engine/bank8.asm
+++ b/src/engine/bank8.asm
@@ -1,132 +1,132 @@
- INCROM $20000, $200e5
-
-; 0 - e4 is a big set of data, seems to be one entry for each card
-
-Func_200e5: ; 200e5 (8:40e5)
- ld [$ce18], a
- call CreateHandCardBuffer
- ld hl, wDuelCardOrAttackList
- ld de, wHandCardBuffer
- call CopyBuffer
- ld hl, wHandCardBuffer
- ld a, [hli]
- ld [$ce16], a
- cp $ff
- ret z
- push hl
- ld a, [$ce18]
- ld d, a
- ld hl, $4000
-.asm_4106
- xor a
- ld [$ce21], a
- ld a, [hli]
- cp $ff
- jp z, $41b1
- cp d
- jp nz, .incHL5
- ld a, [hli]
- ld [$ce17], a
- ld a, [$ce16]
- call LoadDeckCardToBuffer1
- cp $d2
- jr nz, .asm_2012b
- ld b, a
- ld a, [$ce20]
- and $2
- jr nz, .incHL4
- ld a, b
-
-.asm_2012b
- ld b, a
- ld a, [$ce17]
- cp b
- jr nz, .incHL4
- push hl
- push de
- ld a, [$ce16]
- ld [$ff9f], a
- bank1call $35a9
- jp c, $41a8
- call $1944
- ld a, $1
- call TryExecuteEffectCommandFunction
- jp c, $41a8
- farcallx $5, $743b
- jr c, .asm_201a8
- pop de
- pop hl
- push hl
- call CallIndirect
- pop hl
- jr nc, .incHL4
- inc hl
- inc hl
- ld [$ce19], a
- push de
- push hl
- ld a, [$ce16]
- ld [$ff9f], a
- ld a, $6
- bank1call $67be
- pop hl
- pop de
- jr c, .incHL2
- push hl
- call CallIndirect
- pop hl
- inc hl
- inc hl
- ld a, [$ce20]
- ld b, a
- ld a, [$ce21]
- or b
- ld [$ce20], a
- pop hl
- and $8
- jp z, $40f7
- call $123b
- ld hl, wDuelCardOrAttackList
- ld de, $cf68
- call $697b
- ld hl, $cf68
- ld a, [$ce20]
- and $f7
- ld [$ce20], a
- jp $40f7
-
-.incHL5
- inc hl
-
-.incHL4
- inc hl
- inc hl
-
-.incHL2
- inc hl
- inc hl
- jp .asm_4106
-
-.asm_201a8
- pop de
- pop hl
- inc hl
- inc hl
- inc hl
- inc hl
- jp .asm_4106
-; 0x201b1
-
- INCROM $201b1, $2297b
-
-; copies $ff terminated buffer from hl to de
-CopyBuffer: ; 2297b (8:697b)
- ld a, [hli]
- ld [de], a
- cp $ff
- ret z
- inc de
- jr CopyBuffer
-; 0x22983
-
- INCROM $22983, $24000
+ INCROM $20000, $200e5
+
+; 0 - e4 is a big set of data, seems to be one entry for each card
+
+Func_200e5: ; 200e5 (8:40e5)
+ ld [$ce18], a
+ call CreateHandCardBuffer
+ ld hl, wDuelCardOrAttackList
+ ld de, wHandCardBuffer
+ call CopyBuffer
+ ld hl, wHandCardBuffer
+ ld a, [hli]
+ ld [$ce16], a
+ cp $ff
+ ret z
+ push hl
+ ld a, [$ce18]
+ ld d, a
+ ld hl, $4000
+.asm_4106
+ xor a
+ ld [$ce21], a
+ ld a, [hli]
+ cp $ff
+ jp z, $41b1
+ cp d
+ jp nz, .incHL5
+ ld a, [hli]
+ ld [$ce17], a
+ ld a, [$ce16]
+ call LoadDeckCardToBuffer1
+ cp $d2
+ jr nz, .asm_2012b
+ ld b, a
+ ld a, [$ce20]
+ and $2
+ jr nz, .incHL4
+ ld a, b
+
+.asm_2012b
+ ld b, a
+ ld a, [$ce17]
+ cp b
+ jr nz, .incHL4
+ push hl
+ push de
+ ld a, [$ce16]
+ ld [$ff9f], a
+ bank1call $35a9
+ jp c, $41a8
+ call $1944
+ ld a, $1
+ call TryExecuteEffectCommandFunction
+ jp c, $41a8
+ farcallx $5, $743b
+ jr c, .asm_201a8
+ pop de
+ pop hl
+ push hl
+ call CallIndirect
+ pop hl
+ jr nc, .incHL4
+ inc hl
+ inc hl
+ ld [$ce19], a
+ push de
+ push hl
+ ld a, [$ce16]
+ ld [$ff9f], a
+ ld a, $6
+ bank1call $67be
+ pop hl
+ pop de
+ jr c, .incHL2
+ push hl
+ call CallIndirect
+ pop hl
+ inc hl
+ inc hl
+ ld a, [$ce20]
+ ld b, a
+ ld a, [$ce21]
+ or b
+ ld [$ce20], a
+ pop hl
+ and $8
+ jp z, $40f7
+ call $123b
+ ld hl, wDuelCardOrAttackList
+ ld de, $cf68
+ call $697b
+ ld hl, $cf68
+ ld a, [$ce20]
+ and $f7
+ ld [$ce20], a
+ jp $40f7
+
+.incHL5
+ inc hl
+
+.incHL4
+ inc hl
+ inc hl
+
+.incHL2
+ inc hl
+ inc hl
+ jp .asm_4106
+
+.asm_201a8
+ pop de
+ pop hl
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ jp .asm_4106
+; 0x201b1
+
+ INCROM $201b1, $2297b
+
+; copies $ff terminated buffer from hl to de
+CopyBuffer: ; 2297b (8:697b)
+ ld a, [hli]
+ ld [de], a
+ cp $ff
+ ret z
+ inc de
+ jr CopyBuffer
+; 0x22983
+
+ INCROM $22983, $24000
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 072e5dd..b70afec 100755
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -7959,8 +7959,10 @@ Func_3df3: ; 3df3 (0:3df3)
ret
; 0x3e10
- INCROM $3e10, $3e17
-
+Func_3e10: ; 3e10 (0:3e10)
+ ld a, $1
+ ld [wd61e], a
+ ld a, $62
Func_3e17: ; 3e17 (0:3e17)
ld [wd131], a
ldh a, [hBankROM]