summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/bank1.asm114
-rw-r--r--src/engine/home.asm24
2 files changed, 79 insertions, 59 deletions
diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm
index c61cb02..b87d0aa 100644
--- a/src/engine/bank1.asm
+++ b/src/engine/bank1.asm
@@ -1788,30 +1788,30 @@ DrawDuelMainScene: ; 4f9d (1:4f9d)
ld hl, $5188
call WriteDataBlocksToBGMap0
call Func_516f ; draw the vertical separator
- call Func_503a ; draw the HUDs
+ call DrawDuelHUDs ; draw the HUDs
call DrawWideTextBox
call EnableLCD
ret
; 0x503a
-Func_503a: ; 503a (1:503a)
+DrawDuelHUDs: ; 503a (1:503a)
ld a, DUELVARS_DUELIST_TYPE
call GetTurnDuelistVariable
cp DUELIST_TYPE_PLAYER
- jr z, .asm_5051
+ jr z, .draw_hud
ldh a, [hWhoseTurn]
push af
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
- call .asm_5051
+ call .draw_hud
pop af
ldh [hWhoseTurn], a
ret
-.asm_5051
- ld de, $10b
- ld bc, $b08
- call Func_5093
- ld bc, $805
+.draw_hud
+ lb de, 1, 11 ; coordinates for player's arena card name and info icons
+ lb bc, 11, 8 ; coordinates for player's attached energies and HP bar
+ call DrawDuelHUD
+ lb bc, 8, 5
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
call $63ce
@@ -1820,11 +1820,11 @@ Func_503a: ; 503a (1:503a)
inc c
call $63c7
call SwapTurn
- ld de, $700
- ld bc, $301
+ lb de, 7, 0 ; coordinates for opponent's arena card name and info icons
+ lb bc, 3, 1 ; coordinates for opponent's attached energies and HP bar
call GetNonTurnDuelistVariable
- call Func_5093
- ld bc, $b06
+ call DrawDuelHUD
+ lb bc, 11, 6
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
call $63ce
@@ -1836,34 +1836,40 @@ Func_503a: ; 503a (1:503a)
ret
; 0x5093
-Func_5093: ; 5093 (1:5093)
+DrawDuelHUD: ; 5093 (1:5093)
ld hl, wcbc9
ld [hl], b
inc hl
- ld [hl], c
- push de
- ld d, $01
+ ld [hl], c ; save coordinates for the HP bar
+ push de ; save coordinates for the arena card name
+ ld d, 1 ; opponent's info icons start in the second tile to the right
ld a, e
or a
- jr z, .asm_50a2
- ld d, $0f
-.asm_50a2
+ jr z, .go
+ ld d, 15 ; player's info icons start in the 15th tile to the right
+.go
push de
pop bc
- ld a, $0d
+
+ ; print the Pkmn icon along with the no. of play area Pokemon
+ ld a, LOW("<PKMN_ICON>")
call WriteByteToBGMap0
inc b
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
call GetTurnDuelistVariable
- add $1f
+ add LOW("<0>") - 1
call WriteByteToBGMap0
inc b
- ld a, $30
+
+ ; print the Prize icon along with the no. of prizes yet to draw
+ ld a, LOW("<PRIZE_ICON>")
call WriteByteToBGMap0
inc b
call CountPrizes
- add $20
+ add LOW("<0>")
call WriteByteToBGMap0
+
+ ; print the arena Pokemon card name and level text
pop de
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
@@ -1874,30 +1880,36 @@ Func_5093: ; 5093 (1:5093)
ld a, 32
call CopyCardNameAndLevel
ld [hl], TX_END
+
+ ; print the arena Pokemon card color symbol just before the name
pop de
ld a, e
or a
- jr nz, .asm_50e5
+ jr nz, .print_color_icon
ld hl, wDefaultText
call Func_23c1
- add $14
+ add SCREEN_WIDTH
ld d, a
-.asm_50e5
+.print_color_icon
call Func_22ae
ld hl, wDefaultText
call Func_21c5
push de
pop bc
call GetArenaCardColor
- inc a
- dec b
- call $5b7a
+ inc a ; TX_SYMBOL color tiles start at 1
+ dec b ; place the color symbol one tile to the left of the start of the card's name
+ call JPWriteByteToBGMap0
+
+ ; print attached energies
ld hl, wcbc9
ld b, [hl]
inc hl
ld c, [hl]
ld de, $900
call $63e6
+
+ ; print HP bar
ld a, DUELVARS_ARENA_CARD
call GetTurnDuelistVariable
call LoadCardDataToBuffer1_FromDeckIndex
@@ -1915,46 +1927,48 @@ Func_5093: ; 5093 (1:5093)
call BCCoordToBGMap0Address
push de
ld hl, wDefaultText
- ld b, $06
+ ld b, 6 ; first row of the HP bar
call SafeCopyDataHLtoDE
pop de
ld hl, BG_MAP_WIDTH
add hl, de
ld e, l
ld d, h
- ld hl, wDefaultText + $06
- ld b, $06
+ ld hl, wDefaultText + 6
+ ld b, 6 ; second row of the HP bar
call SafeCopyDataHLtoDE
+
+ ; print number of attached Pluspower and Defender with respective icon, if any
ld hl, wcbc9
ld a, [hli]
- add $06
+ add 6
ld b, a
ld c, [hl]
inc c
- ld a, $e0
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER
call GetTurnDuelistVariable
or a
- jr z, .asm_5159
- ld a, $14
+ jr z, .check_defender
+ ld a, LOW("<PLUSPOWER>")
call WriteByteToBGMap0
inc b
- ld a, [hl]
- add $20
+ ld a, [hl] ; number of attached Pluspower
+ add LOW("<0>")
call WriteByteToBGMap0
dec b
-.asm_5159
- ld a, $da
+.check_defender
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_DEFENDER
call GetTurnDuelistVariable
or a
- jr z, .asm_516e
+ jr z, .done
inc c
- ld a, $15
+ ld a, LOW("<DEFENDER>")
call WriteByteToBGMap0
inc b
- ld a, [hl]
- add $20
+ ld a, [hl] ; number of attached Defender
+ add LOW("<0>")
call WriteByteToBGMap0
-.asm_516e
+.done
ret
; 0x516f
@@ -2820,7 +2834,13 @@ ApplyCardCGBAttributes: ; 5adb (1:5adb)
; 0x5aeb
Func_5aeb: ; 5aeb (1:5aeb)
- INCROM $5aeb, $5fdd
+ INCROM $5aeb, $5b7a
+
+JPWriteByteToBGMap0: ; 5b7a (1:5b7a)
+ jp WriteByteToBGMap0
+; 0x5b7d
+
+ INCROM $5b7d, $5fdd
; return carry if the turn holder has any Pokemon with non-zero HP in the play area.
; return how many Pokemon with non-zero HP in b.
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 002488d..e351722 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -853,7 +853,7 @@ Func_05c2: ; 5c2 (0:5c2)
call BCCoordToBGMap0Address
pop hl
ld b, $02
- call JumpToHblankCopyDataHLtoDE
+ call JPHblankCopyDataHLtoDE
pop de
pop bc
pop hl
@@ -872,7 +872,7 @@ Func_05db: ; 5db (0:5db)
call BCCoordToBGMap0Address
pop hl
ld b, $01
- call JumpToHblankCopyDataHLtoDE
+ call JPHblankCopyDataHLtoDE
pop de
pop bc
pop hl
@@ -896,7 +896,7 @@ Func_05f4: ; 5f4 (0:5f4)
call BCCoordToBGMap0Address
pop hl
ld b, $04
- call JumpToHblankCopyDataHLtoDE
+ call JPHblankCopyDataHLtoDE
pop de
pop bc
pop hl
@@ -1067,7 +1067,7 @@ CopyDataToBGMap0: ; 06ee (0:06ee)
SafeCopyDataHLtoDE: ; 6fc (0:6fc)
ld a, [wLCDC]
rla
- jr c, JumpToHblankCopyDataHLtoDE
+ jr c, JPHblankCopyDataHLtoDE
.lcd_off_loop
ld a, [hli]
ld [de], a
@@ -1075,7 +1075,7 @@ SafeCopyDataHLtoDE: ; 6fc (0:6fc)
dec b
jr nz, .lcd_off_loop
ret
-JumpToHblankCopyDataHLtoDE: ; 0709 (0:0709)
+JPHblankCopyDataHLtoDE: ; 0709 (0:0709)
jp HblankCopyDataHLtoDE
; 0x70c
@@ -1090,7 +1090,7 @@ CopyGfxData: ; 070c (0:070c)
push hl
push de
ld b, c
- call JumpToHblankCopyDataHLtoDE
+ call JPHblankCopyDataHLtoDE
ld b, $0
pop hl
add hl, bc
@@ -3734,11 +3734,11 @@ PutHandPokemonCardInPlayArea: ; 1485 (0:1485)
add e
ld l, a
ld [hl], $0
- ld a, $e0
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER
add e
ld l, a
ld [hl], $0
- ld a, $da
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_DEFENDER
add e
ld l, a
ld [hl], $0
@@ -3815,9 +3815,9 @@ EmptyPlayAreaSlot: ; 14f8 (0:14f8)
call .init_duelvar
ld a, DUELVARS_ARENA_CARD_CHANGED_TYPE
call .init_duelvar
- ld a, $da
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_DEFENDER
call .init_duelvar
- ld a, $e0
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER
.init_duelvar
add e
ld l, a
@@ -3885,9 +3885,9 @@ SwapPlayAreaPokemon: ; 1548 (0:1548)
call .swap_duelvar
ld a, DUELVARS_ARENA_CARD_CHANGED_TYPE
call .swap_duelvar
- ld a, $e0
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER
call .swap_duelvar
- ld a, $da
+ ld a, DUELVARS_ARENA_CARD_ATTACHED_DEFENDER
call .swap_duelvar
set CARD_LOCATION_PLAY_AREA_F, d
set CARD_LOCATION_PLAY_AREA_F, e