diff options
author | xCrystal <rgr.crystal@gmail.com> | 2018-04-10 16:25:35 +0200 |
---|---|---|
committer | xCrystal <rgr.crystal@gmail.com> | 2018-04-10 16:25:35 +0200 |
commit | 2bbc1a63239201be8f1a7b360e81d19192093a8f (patch) | |
tree | 3970359d9ac5db26b39229911d975fff0825f772 /src/engine/bank06.asm | |
parent | 6895547b0d2c86d769b29dc8eb5f5021723fc763 (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.asm | 328 |
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 |