From 96f75517a52b30cc1f9e02ad4584aee7a76751c7 Mon Sep 17 00:00:00 2001 From: xCrystal Date: Wed, 7 Feb 2018 16:57:12 +0100 Subject: Consolidate line endings to LF --- src/constants/booster_constants.asm | 82 ++--- src/engine/bank5.asm | 646 ++++++++++++++++++------------------ src/engine/bank8.asm | 264 +++++++-------- src/engine/home.asm | 6 +- 4 files changed, 500 insertions(+), 498 deletions(-) (limited to 'src') 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] -- cgit v1.2.3