summaryrefslogtreecommitdiff
path: root/src/engine/bank06.asm
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2018-04-10 16:25:35 +0200
committerxCrystal <rgr.crystal@gmail.com>2018-04-10 16:25:35 +0200
commit2bbc1a63239201be8f1a7b360e81d19192093a8f (patch)
tree3970359d9ac5db26b39229911d975fff0825f772 /src/engine/bank06.asm
parent6895547b0d2c86d769b29dc8eb5f5021723fc763 (diff)
Add leading zero to temporary bankX.asm filenames so they show up in order
Diffstat (limited to 'src/engine/bank06.asm')
-rw-r--r--src/engine/bank06.asm328
1 files changed, 328 insertions, 0 deletions
diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm
new file mode 100644
index 0000000..1a85a24
--- /dev/null
+++ b/src/engine/bank06.asm
@@ -0,0 +1,328 @@
+_CopyCardNameAndLevel: ; 18000 (6:4000)
+ push bc
+ push de
+ ld [wcd9b], a
+ ld hl, wLoadedCard1Name
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, wDefaultText
+ push de
+ call CopyText ; copy card name to wDefaultText
+ pop hl
+ ld a, [hli]
+ cp TX_START
+ jp z, Func_18086
+ ld a, [wcd9b]
+ ld c, a
+ ld a, [wLoadedCard1Type]
+ cp TYPE_ENERGY
+ jr nc, .level_done ; jump if energy or trainer
+ ld a, [wLoadedCard1Level]
+ or a
+ jr z, .level_done
+ inc c
+ inc c
+ ld a, [wLoadedCard1Level]
+ cp 10
+ jr c, .level_done
+ inc c ; second digit
+.level_done
+ ld hl, wLoadedCard1Name
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, wDefaultText
+ push de
+ call CopyText
+ pop hl
+ push de
+ ld e, c
+ call Func_23c1
+ add e
+ ld c, a
+ pop hl
+ push hl
+.fill_loop
+ ld a, $70
+ ld [hli], a
+ dec c
+ jr nz, .fill_loop
+ ld [hl], TX_END
+ pop hl
+ ld a, [wLoadedCard1Type]
+ cp TYPE_ENERGY
+ jr nc, .done
+ ld a, [wLoadedCard1Level]
+ or a
+ jr z, .done
+ ld a, TX_SYMBOL
+ ld [hli], a
+ ld [hl], LOW("<Lv>")
+ inc hl
+ ld a, [wLoadedCard1Level]
+ cp 10
+ jr c, .one_digit
+ ld [hl], TX_SYMBOL
+ inc hl
+ ld b, LOW("<0>") - 1
+.first_digit_loop
+ inc b
+ sub 10
+ jr nc, .first_digit_loop
+ add 10
+ ld [hl], b ; first digit
+ inc hl
+.one_digit
+ ld [hl], TX_SYMBOL
+ inc hl
+ add LOW("<0>")
+ ld [hl], a ; last (or only) digit
+ inc hl
+.done
+ pop de
+ pop bc
+ ret
+; 0x18086
+
+Func_18086: ; 18086 (6:4086)
+ ld a, [wcd9b]
+ inc a
+ add a
+ ld b, a
+ ld hl, wDefaultText
+.find_end_text_loop
+ dec b
+ ld a, [hli]
+ or a ; TX_END
+ jr nz, .find_end_text_loop
+ dec hl
+ ld a, [wLoadedCard1Type]
+ cp TYPE_ENERGY
+ jr nc, .level_done
+ ld a, [wLoadedCard1Level]
+ or a
+ jr z, .level_done
+ ld c, a
+ ld a, " "
+ ld [hli], a
+ dec b
+ ld a, "L"
+ ld [hli], a
+ dec b
+ ld a, "v"
+ ld [hli], a
+ dec b
+ ld a, c
+ cp 10
+ jr c, .got_level
+ push bc
+ ld b, "0" - 1
+.first_digit_loop
+ inc b
+ sub 10
+ jr nc, .first_digit_loop
+ add 10
+ ld [hl], b ; first digit
+ inc hl
+ pop bc
+ ld c, a
+ dec b
+.got_level
+ ld a, c
+ add "0"
+ ld [hli], a ; last (or only) digit
+ dec b
+.level_done
+ push hl
+ ld a, " "
+.fill_spaces_loop
+ ld [hli], a
+ dec b
+ jr nz, .fill_spaces_loop
+ ld [hl], TX_END
+ pop hl
+ pop de
+ pop bc
+ ret
+; 0x180d5
+
+ INCROM $180d5, $186f7
+
+INCLUDE "data/effect_commands.asm"
+
+ INCROM $18f9c, $1996e
+
+Func_1996e: ; 1996e (6:596e)
+ call EnableSRAM
+ ld a, PLAYER_TURN
+ ldh [hWhoseTurn], a
+ ld hl, sCardCollection
+ ld bc, $1607
+.asm_1997b
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_1997b
+ ld a, $5
+ ld hl, sa350
+ call Func_199e0
+ ld a, $7
+ ld hl, sa3a4
+ call Func_199e0
+ ld a, $9
+ ld hl, sa3f8
+ call Func_199e0
+ call EnableSRAM
+ ld hl, sCardCollection
+ ld a, CARD_NOT_OWNED
+.asm_199a2
+ ld [hl], a
+ inc l
+ jr nz, .asm_199a2
+ ld hl, $bc00
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ld hl, $bb00
+ ld c, $10
+.asm_199b2
+ ld [hl], $0
+ ld de, $0010
+ add hl, de
+ dec c
+ jr nz, .asm_199b2
+ ld a, $2
+ ld [sa003], a
+ ld a, $2
+ ld [sa006], a
+ ld [wTextSpeed], a
+ xor a
+ ld [sa007], a
+ ld [sa009], a
+ ld [sa004], a
+ ld [sa005], a
+ ld [sa00a], a
+ farcall Func_8cf9
+ call DisableSRAM
+ ret
+
+Func_199e0: ; 199e0 (6:59e0)
+ push de
+ push bc
+ push hl
+ call LoadDeck
+ jr c, .asm_19a0e
+ call Func_19a12
+ pop hl
+ call EnableSRAM
+ push hl
+ ld de, wDefaultText
+.asm_199f3
+ ld a, [de]
+ inc de
+ ld [hli], a
+ or a
+ jr nz, .asm_199f3
+ pop hl
+ push hl
+ ld de, $0018
+ add hl, de
+ ld de, wPlayerDeck
+ ld c, $3c
+.asm_19a04
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_19a04
+ call DisableSRAM
+ or a
+.asm_19a0e
+ pop hl
+ pop bc
+ pop de
+ ret
+
+Func_19a12: ; 19a12 (6:5a12)
+ ld hl, wcce9
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, wDefaultText
+ call CopyText
+ ret
+; 0x19a1f
+
+ INCROM $19a1f, $1a61f
+
+Func_1a61f: ; 1a61f (6:661f)
+ push af
+ ld de, $389f
+ call Func_2275
+ pop af
+ or a
+ jr nz, .asm_1a640
+ ld a, $40
+ call $663b
+ ld a, $5f
+ call $663b
+ ld a, $76
+ call $663b
+ ld a, $c1
+ ldtx hl, ReceivedLegendaryCardText
+ jr .asm_1a660
+.asm_1a640
+ ldtx hl, ReceivedCardText
+ cp $1e
+ jr z, .asm_1a660
+ cp $43
+ jr z, .asm_1a660
+ ldtx hl, ReceivedPromotionalFlyingPikachuText
+ cp $64
+ jr z, .asm_1a660
+ ldtx hl, ReceivedPromotionalSurfingPikachuText
+ cp $65
+ jr z, .asm_1a660
+ cp $66
+ jr z, .asm_1a660
+ ldtx hl, ReceivedPromotionalCardText
+.asm_1a660
+ push hl
+ ld e, a
+ ld d, $0
+ call LoadCardDataToBuffer1_FromCardID
+ call PauseSong
+ ld a, MUSIC_MEDAL
+ call PlaySong
+ ld hl, wLoadedCard1Name
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ bank1call LoadTxRam2 ; switch to bank 1, but call a home func
+ ld a, PLAYER_TURN
+ ldh [hWhoseTurn], a
+ pop hl
+ bank1call $5e5f
+.asm_1a680
+ call AssertSongFinished
+ or a
+ jr nz, .asm_1a680
+ call ResumeSong
+ bank1call $5773
+ ret
+; 0x1a68d
+
+ INCROM $1a68d, $1a6cc
+
+CommentedOut_1a6cc: ; 1a6cc (6:66cc)
+ ret
+; 0x1a6cd
+
+ INCROM $1a6cd, $1ad89
+
+Func_1ad89: ; 1ad89 (6:6d89)
+ INCROM $1ad89, $1c000