mirror of
https://github.com/pret/poketcg2.git
synced 2026-09-28 05:48:39 -04:00
Refactor with cp16 variants
This commit is contained in:
+14
-68
@@ -764,7 +764,8 @@ CountGRCoinPiecesObtained:
|
||||
pop bc
|
||||
ret
|
||||
|
||||
; return the location name in hl, using c == island and a == location
|
||||
; for c = island and a = location,
|
||||
; return the location name in hl
|
||||
GetLocationName:
|
||||
push af
|
||||
push bc
|
||||
@@ -801,7 +802,7 @@ GetCurrentLocationName:
|
||||
pop af
|
||||
ret
|
||||
|
||||
; using de == receiving card, return its long name in hl
|
||||
; for de = receiving card id, return its long name in hl
|
||||
; the first half of this function and the next two are identical
|
||||
GetReceivingCardLongName:
|
||||
push af
|
||||
@@ -813,21 +814,9 @@ GetReceivingCardLongName:
|
||||
ld c, a
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, b
|
||||
cp $ff
|
||||
jr c, .ok
|
||||
jr nz, .ok ; redundant
|
||||
ld a, c
|
||||
cp $ff
|
||||
.ok
|
||||
cp16bc_long $ffff
|
||||
jr z, .not_found
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .next
|
||||
jr nz, .next
|
||||
ld a, c
|
||||
cp e
|
||||
.next
|
||||
cp16bc_long de
|
||||
jr z, .load_name
|
||||
ld a, CARD_RECEIVE_STRUCT_TEXTS_SIZE
|
||||
add l
|
||||
@@ -859,7 +848,7 @@ GetReceivingCardLongName:
|
||||
pop af
|
||||
ret
|
||||
|
||||
; using de == receiving card, return its short name in hl
|
||||
; for de = receiving card id, return its short name in hl
|
||||
GetReceivingCardShortName:
|
||||
push af
|
||||
push bc
|
||||
@@ -870,21 +859,9 @@ GetReceivingCardShortName:
|
||||
ld c, a
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, b
|
||||
cp $ff
|
||||
jr c, .ok
|
||||
jr nz, .ok ; redundant
|
||||
ld a, c
|
||||
cp $ff
|
||||
.ok
|
||||
cp16bc_long $ffff
|
||||
jr z, .not_found
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .next
|
||||
jr nz, .next
|
||||
ld a, c
|
||||
cp e
|
||||
.next
|
||||
cp16bc_long de
|
||||
jr z, .load_short_name
|
||||
ld a, CARD_RECEIVE_STRUCT_TEXTS_SIZE
|
||||
add l
|
||||
@@ -918,7 +895,7 @@ GetReceivingCardShortName:
|
||||
pop af
|
||||
ret
|
||||
|
||||
; using de == receiving card, return its "received" text in hl
|
||||
; for de = receiving card id, return its "received" text in hl
|
||||
GetReceivedCardText:
|
||||
push af
|
||||
push bc
|
||||
@@ -929,21 +906,9 @@ GetReceivedCardText:
|
||||
ld c, a
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, b
|
||||
cp $ff
|
||||
jr c, .ok
|
||||
jr nz, .ok ; redundant
|
||||
ld a, c
|
||||
cp $ff
|
||||
.ok
|
||||
cp16bc_long $ffff
|
||||
jr z, .not_found
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .next
|
||||
jr nz, .next
|
||||
ld a, c
|
||||
cp e
|
||||
.next
|
||||
cp16bc_long de
|
||||
jr z, .load_received_text
|
||||
ld a, CARD_RECEIVE_STRUCT_TEXTS_SIZE
|
||||
add l
|
||||
@@ -4541,14 +4506,7 @@ ScriptCommand_CompareLoadedVarWord:
|
||||
ld hl, wScriptFlags
|
||||
res 0, [hl]
|
||||
res 1, [hl]
|
||||
ld a, d
|
||||
cp b
|
||||
jr c, .high_byte_not_equal
|
||||
jr nz, .high_byte_not_equal
|
||||
; high byte equal
|
||||
ld a, e
|
||||
cp c
|
||||
.high_byte_not_equal
|
||||
cp16_long bc
|
||||
jr nz, .not_equal
|
||||
set 0, [hl]
|
||||
.not_equal
|
||||
@@ -5130,25 +5088,13 @@ Func_ebc6:
|
||||
ld e, a
|
||||
ld a, [wde15 + 1]
|
||||
ld d, a
|
||||
ld a, d
|
||||
cp $00
|
||||
jr c, .asm_ec1d
|
||||
jr nz, .asm_ec1d
|
||||
ld a, e
|
||||
cp $00
|
||||
.asm_ec1d
|
||||
cp16_long 0
|
||||
jr z, .asm_ec36
|
||||
ld a, [wde15 + 2]
|
||||
ld e, a
|
||||
ld a, [wde15 + 3]
|
||||
ld d, a
|
||||
ld a, d
|
||||
cp $00
|
||||
jr c, .asm_ec31
|
||||
jr nz, .asm_ec31
|
||||
ld a, e
|
||||
cp $00
|
||||
.asm_ec31
|
||||
cp16_long 0
|
||||
jr z, .asm_ec36
|
||||
scf
|
||||
ccf
|
||||
|
||||
@@ -1065,13 +1065,7 @@ Func_311d5:
|
||||
ld [wd615], a
|
||||
call LoadTxRam3
|
||||
farcall GetGameCenterChips
|
||||
ld a, b
|
||||
cp h
|
||||
jr c, .asm_3123b
|
||||
jr nz, .asm_3123b
|
||||
ld a, c
|
||||
cp l
|
||||
.asm_3123b
|
||||
cp16bc_long hl
|
||||
jr nc, .asm_31248
|
||||
ld a, $01
|
||||
start_script
|
||||
|
||||
+5
-35
@@ -1296,37 +1296,13 @@ Func_349cd:
|
||||
Func_349d5:
|
||||
ld a, [wPlayerOWObject]
|
||||
farcall GetOWObjectTilePosition
|
||||
ld a, d
|
||||
cp $0b
|
||||
jr c, .asm_349e6
|
||||
jr nz, .asm_349e6
|
||||
ld a, e
|
||||
cp $08
|
||||
.asm_349e6
|
||||
cpcoord 11, 8
|
||||
jr z, .asm_34a0e
|
||||
ld a, d
|
||||
cp $0a
|
||||
jr c, .asm_349f2
|
||||
jr nz, .asm_349f2
|
||||
ld a, e
|
||||
cp $09
|
||||
.asm_349f2
|
||||
cpcoord 10, 9
|
||||
jr z, .asm_34a2a
|
||||
ld a, d
|
||||
cp $09
|
||||
jr c, .asm_349fe
|
||||
jr nz, .asm_349fe
|
||||
ld a, e
|
||||
cp $09
|
||||
.asm_349fe
|
||||
cpcoord 9, 9
|
||||
jr z, .asm_34a46
|
||||
ld a, d
|
||||
cp $08
|
||||
jr c, .asm_34a0a
|
||||
jr nz, .asm_34a0a
|
||||
ld a, e
|
||||
cp $08
|
||||
.asm_34a0a
|
||||
cpcoord 8, 8
|
||||
jr z, .asm_34a62
|
||||
jr .asm_34a7c
|
||||
.asm_34a0e
|
||||
@@ -2280,13 +2256,7 @@ Func_3512c:
|
||||
ld [wd615], a
|
||||
call LoadTxRam3
|
||||
farcall GetGameCenterChips
|
||||
ld a, b
|
||||
cp h
|
||||
jr c, .asm_35199
|
||||
jr nz, .asm_35199
|
||||
ld a, c
|
||||
cp l
|
||||
.asm_35199
|
||||
cp16bc_long hl
|
||||
jr nc, .asm_351a6
|
||||
ld a, $01
|
||||
start_script
|
||||
|
||||
+4
-28
@@ -290,13 +290,7 @@ Func_3c1d0:
|
||||
ld a, [sLinkDuelCounter + 1]
|
||||
ld b, a
|
||||
call DisableSRAM
|
||||
ld a, b
|
||||
cp $00
|
||||
jr c, .asm_3c278
|
||||
jr nz, .asm_3c278
|
||||
ld a, c
|
||||
cp $32
|
||||
.asm_3c278
|
||||
cp16bc_long 50
|
||||
jr z, .asm_3c280
|
||||
ld a, $01
|
||||
start_script
|
||||
@@ -317,13 +311,7 @@ Func_3c1d0:
|
||||
ld a, [sLinkDuelCounter + 1]
|
||||
ld b, a
|
||||
call DisableSRAM
|
||||
ld a, b
|
||||
cp $00
|
||||
jr c, .asm_3c2a9
|
||||
jr nz, .asm_3c2a9
|
||||
ld a, c
|
||||
cp $64
|
||||
.asm_3c2a9
|
||||
cp16bc_long 100
|
||||
jr z, .asm_3c2b1
|
||||
ld a, $01
|
||||
start_script
|
||||
@@ -6793,13 +6781,7 @@ Func_3f44f:
|
||||
ld [wd615], a
|
||||
call LoadTxRam3
|
||||
farcall GetGameCenterChips
|
||||
ld a, b
|
||||
cp h
|
||||
jr c, .asm_3f4bc
|
||||
jr nz, .asm_3f4bc
|
||||
ld a, c
|
||||
cp l
|
||||
.asm_3f4bc
|
||||
cp16bc_long hl
|
||||
jr nc, .asm_3f4c9
|
||||
ld a, $01
|
||||
start_script
|
||||
@@ -7283,13 +7265,7 @@ Func_3f858:
|
||||
ld b, a
|
||||
ld a, [wTextBoxFrameColor]
|
||||
ld c, a
|
||||
ld a, b
|
||||
cp $00
|
||||
jr c, .asm_3f874
|
||||
jr nz, .asm_3f874
|
||||
ld a, c
|
||||
cp $03
|
||||
.asm_3f874
|
||||
cp16bc_lb 0, 3
|
||||
jr nz, .asm_3f87b
|
||||
farcall Func_1352a
|
||||
ret
|
||||
|
||||
+12
-84
@@ -1672,13 +1672,7 @@ Func_41074:
|
||||
ld a, [wde11 + 1]
|
||||
ld b, a
|
||||
inc bc
|
||||
ld a, b
|
||||
cp $03
|
||||
jr c, .asm_41090
|
||||
jr nz, .asm_41090
|
||||
ld a, c
|
||||
cp $e8
|
||||
.asm_41090
|
||||
cp16bc_long 1000
|
||||
jr nc, .asm_4109a
|
||||
ld a, c
|
||||
ld [wde11], a
|
||||
@@ -1709,13 +1703,7 @@ Func_41074:
|
||||
ld a, [wde0d + 1]
|
||||
ld b, a
|
||||
inc bc
|
||||
ld a, b
|
||||
cp $03
|
||||
jr c, .asm_410d7
|
||||
jr nz, .asm_410d7
|
||||
ld a, c
|
||||
cp $e8
|
||||
.asm_410d7
|
||||
cp16bc_long 1000
|
||||
jr nc, .asm_410e1
|
||||
ld a, c
|
||||
ld [wde0d], a
|
||||
@@ -1752,13 +1740,7 @@ Func_41074:
|
||||
ld e, a
|
||||
ld a, [wde11 + 1]
|
||||
ld d, a
|
||||
ld a, d
|
||||
cp $00
|
||||
jr c, .asm_41127
|
||||
jr nz, .asm_41127
|
||||
ld a, e
|
||||
cp $32
|
||||
.asm_41127
|
||||
cp16_long 50
|
||||
jr nz, .asm_4110a
|
||||
call Func_41167
|
||||
jr .asm_4110a
|
||||
@@ -1772,13 +1754,7 @@ Func_4112e:
|
||||
ld e, a
|
||||
ld a, [wde15 + 1]
|
||||
ld d, a
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .asm_41146
|
||||
jr nz, .asm_41146
|
||||
ld a, c
|
||||
cp e
|
||||
.asm_41146
|
||||
cp16bc_long de
|
||||
jr nc, .asm_4114a
|
||||
scf
|
||||
ret
|
||||
@@ -3445,37 +3421,13 @@ Func_41dac:
|
||||
Func_41db4:
|
||||
ld a, [wPlayerOWObject]
|
||||
farcall GetOWObjectTilePosition
|
||||
ld a, d
|
||||
cp $05
|
||||
jr c, .asm_41dc5
|
||||
jr nz, .asm_41dc5
|
||||
ld a, e
|
||||
cp $08
|
||||
.asm_41dc5
|
||||
cpcoord 5, 8
|
||||
jr z, .asm_41ded
|
||||
ld a, d
|
||||
cp $04
|
||||
jr c, .asm_41dd1
|
||||
jr nz, .asm_41dd1
|
||||
ld a, e
|
||||
cp $09
|
||||
.asm_41dd1
|
||||
cpcoord 4, 9
|
||||
jr z, .asm_41e09
|
||||
ld a, d
|
||||
cp $03
|
||||
jr c, .asm_41ddd
|
||||
jr nz, .asm_41ddd
|
||||
ld a, e
|
||||
cp $09
|
||||
.asm_41ddd
|
||||
cpcoord 3, 9
|
||||
jr z, .asm_41e25
|
||||
ld a, d
|
||||
cp $02
|
||||
jr c, .asm_41de9
|
||||
jr nz, .asm_41de9
|
||||
ld a, e
|
||||
cp $08
|
||||
.asm_41de9
|
||||
cpcoord 2, 8
|
||||
jr z, .asm_41e41
|
||||
jr .asm_41e5b
|
||||
.asm_41ded
|
||||
@@ -4656,13 +4608,7 @@ Func_42776:
|
||||
ld a, [wde13 + 1]
|
||||
ld b, a
|
||||
inc bc
|
||||
ld a, b
|
||||
cp $03
|
||||
jr c, .asm_42792
|
||||
jr nz, .asm_42792
|
||||
ld a, c
|
||||
cp $e8
|
||||
.asm_42792
|
||||
cp16bc_long 1000
|
||||
jr nc, .asm_4279c
|
||||
ld a, c
|
||||
ld [wde13], a
|
||||
@@ -4693,13 +4639,7 @@ Func_42776:
|
||||
ld a, [wde0f + 1]
|
||||
ld b, a
|
||||
inc bc
|
||||
ld a, b
|
||||
cp $03
|
||||
jr c, .asm_427da
|
||||
jr nz, .asm_427da
|
||||
ld a, c
|
||||
cp $e8
|
||||
.asm_427da
|
||||
cp16bc_long 1000
|
||||
jr nc, .asm_427e4
|
||||
ld a, c
|
||||
ld [wde0f], a
|
||||
@@ -4736,13 +4676,7 @@ Func_42776:
|
||||
ld e, a
|
||||
ld a, [wde13 + 1]
|
||||
ld d, a
|
||||
ld a, d
|
||||
cp $00
|
||||
jr c, .asm_4282c
|
||||
jr nz, .asm_4282c
|
||||
ld a, e
|
||||
cp $32
|
||||
.asm_4282c
|
||||
cp16_long 50
|
||||
jr nz, .asm_4280f
|
||||
call Func_4286c
|
||||
jr .asm_4280f
|
||||
@@ -4756,13 +4690,7 @@ Func_42833:
|
||||
ld e, a
|
||||
ld a, [wde17 + 1]
|
||||
ld d, a
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .asm_4284b
|
||||
jr nz, .asm_4284b
|
||||
ld a, c
|
||||
cp e
|
||||
.asm_4284b
|
||||
cp16bc_long de
|
||||
jr nc, .asm_4284f
|
||||
scf
|
||||
ret
|
||||
|
||||
@@ -963,13 +963,7 @@ CheckIfSpecialPromoCard:
|
||||
ld b, a
|
||||
or c
|
||||
jr z, .not_found
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .next_card
|
||||
jr nz, .next_card
|
||||
ld a, c
|
||||
cp e
|
||||
.next_card
|
||||
cp16bc_long de
|
||||
jr nz, .loop_cards
|
||||
|
||||
; found
|
||||
@@ -1030,13 +1024,7 @@ Stubbed_CountSpecialPromoCardsInHL:
|
||||
ld b, a
|
||||
or c
|
||||
jr z, .next_card_in_list
|
||||
ld a, b
|
||||
cp d
|
||||
jr c, .next_promo
|
||||
jr nz, .next_promo
|
||||
ld a, c
|
||||
cp e
|
||||
.next_promo
|
||||
cp16bc_long de
|
||||
jr nz, .loop_promo
|
||||
pop hl
|
||||
pop bc
|
||||
|
||||
@@ -38,13 +38,7 @@ CheckIfAllIdenticalCardsInHL:
|
||||
ld b, a
|
||||
or c
|
||||
jr z, .all_identical
|
||||
ld a, d
|
||||
cp b
|
||||
jr c, .skip_low
|
||||
jr nz, .skip_low
|
||||
ld a, e
|
||||
cp c
|
||||
.skip_low
|
||||
cp16_long bc
|
||||
jr nz, .empty_or_different
|
||||
jr .loop_cards
|
||||
|
||||
@@ -102,13 +96,7 @@ SearchCardInListInHL:
|
||||
ld b, a
|
||||
or c
|
||||
jr z, .not_found
|
||||
ld a, d
|
||||
cp b
|
||||
jr c, .not_equal
|
||||
jr nz, .not_equal
|
||||
ld a, e
|
||||
cp c
|
||||
.not_equal
|
||||
cp16_long bc
|
||||
jr z, .found
|
||||
pop af
|
||||
inc a
|
||||
@@ -312,13 +300,7 @@ ENDR
|
||||
ld e, a
|
||||
ld a, [wLoadedCard1Name + 1]
|
||||
ld d, a
|
||||
ld a, d
|
||||
cp b
|
||||
jr c, .next_lookup
|
||||
jr nz, .next_lookup
|
||||
ld a, e
|
||||
cp c
|
||||
.next_lookup
|
||||
cp16_long bc
|
||||
jr nz, .loop_lookup
|
||||
ld a, BASIC | STAGE2
|
||||
jr .valid
|
||||
@@ -524,13 +506,7 @@ ListUniqueCardsOfTheSameTypeAndRarity:
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
.check_bounds
|
||||
ld a, d
|
||||
cp HIGH(NUM_CARDS)
|
||||
jr c, .next_card
|
||||
jr nz, .next_card
|
||||
ld a, e
|
||||
cp LOW(NUM_CARDS)
|
||||
.next_card
|
||||
cp16_long NUM_CARDS
|
||||
inc de
|
||||
jr nz, .loop_cards
|
||||
; done, append $0000 terminator
|
||||
@@ -787,13 +763,7 @@ RemoveCardFromListInHL:
|
||||
ld b, a
|
||||
or c
|
||||
jr z, .not_found
|
||||
ld a, d
|
||||
cp b
|
||||
jr c, .next_card
|
||||
jr nz, .next_card
|
||||
ld a, e
|
||||
cp c
|
||||
.next_card
|
||||
cp16_long bc
|
||||
jr nz, .loop_cards
|
||||
|
||||
; found
|
||||
|
||||
@@ -975,7 +975,7 @@ SetUsedPkmnPowerThisTurnFlag:
|
||||
; - a = SUBSTATUS1_* constant
|
||||
ApplySubstatus1ToAttackingCardAndSetCountdown:
|
||||
call ApplySubstatus1ToAttackingCard
|
||||
|
||||
|
||||
; set turn countdown to %01
|
||||
ld a, DUELVARS_ARENA_CARD_SUBSTATUS3
|
||||
get_turn_duelist_var
|
||||
@@ -2414,12 +2414,7 @@ CheckIfCardHasGrassOrRainbowEnergyAttached:
|
||||
push hl
|
||||
ld a, l
|
||||
call GetCardIDFromDeckIndex
|
||||
ld a, d
|
||||
cp b
|
||||
jr nz, .not_equal
|
||||
ld a, e
|
||||
cp c
|
||||
.not_equal
|
||||
cp16 bc
|
||||
pop hl
|
||||
pop de
|
||||
jr z, .no_carry
|
||||
@@ -9830,7 +9825,7 @@ ReelIn_AddToHandEffect:
|
||||
cp $ff
|
||||
jr nz, .loop_add_cards
|
||||
ret
|
||||
|
||||
|
||||
.loop_add_cards
|
||||
; copy from hTempList to wDuelTempList
|
||||
ld a, [hli]
|
||||
|
||||
@@ -52,6 +52,46 @@ MACRO? cp16
|
||||
:
|
||||
ENDM
|
||||
|
||||
MACRO? cp16_long
|
||||
ld a, d
|
||||
cp HIGH(\1)
|
||||
jr c, :+
|
||||
jr nz, :+
|
||||
ld a, e
|
||||
cp LOW(\1)
|
||||
:
|
||||
ENDM
|
||||
|
||||
MACRO? cp16bc_long
|
||||
ld a, b
|
||||
cp HIGH(\1)
|
||||
jr c, :+
|
||||
jr nz, :+
|
||||
ld a, c
|
||||
cp LOW(\1)
|
||||
:
|
||||
ENDM
|
||||
|
||||
MACRO? cp16_lb
|
||||
ld a, d
|
||||
cp \1
|
||||
jr c, :+
|
||||
jr nz, :+
|
||||
ld a, e
|
||||
cp \2
|
||||
:
|
||||
ENDM
|
||||
|
||||
MACRO? cp16bc_lb
|
||||
ld a, b
|
||||
cp \1
|
||||
jr c, :+
|
||||
jr nz, :+
|
||||
ld a, c
|
||||
cp \2
|
||||
:
|
||||
ENDM
|
||||
|
||||
MACRO? cphl
|
||||
inc hl
|
||||
ld a, [hld]
|
||||
@@ -61,3 +101,7 @@ MACRO? cphl
|
||||
cp LOW(\1)
|
||||
:
|
||||
ENDM
|
||||
|
||||
MACRO? cpcoord
|
||||
cp16_lb \1, \2
|
||||
ENDM
|
||||
|
||||
Reference in New Issue
Block a user