mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-01-23 09:16:20 -08:00
Trainer card has state constants and WRAM labels
This commit is contained in:
parent
94d6a32721
commit
fd0a78d708
@ -1,3 +1,13 @@
|
|||||||
|
; TrainerCard.Jumptable indexes
|
||||||
|
const_def
|
||||||
|
const TRAINERCARDSTATE_PAGE1_LOADGFX ; 0
|
||||||
|
const TRAINERCARDSTATE_PAGE1_JOYPAD ; 1
|
||||||
|
const TRAINERCARDSTATE_PAGE2_LOADGFX ; 2
|
||||||
|
const TRAINERCARDSTATE_PAGE2_JOYPAD ; 3
|
||||||
|
const TRAINERCARDSTATE_PAGE3_LOADGFX ; 4
|
||||||
|
const TRAINERCARDSTATE_PAGE3_JOYPAD ; 5
|
||||||
|
const TRAINERCARDSTATE_QUIT ; 6
|
||||||
|
|
||||||
TrainerCard: ; 25105
|
TrainerCard: ; 25105
|
||||||
ld a, [VramState]
|
ld a, [VramState]
|
||||||
push af
|
push af
|
||||||
@ -6,7 +16,7 @@ TrainerCard: ; 25105
|
|||||||
ld hl, Options
|
ld hl, Options
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
push af
|
push af
|
||||||
set 4, [hl]
|
set NO_TEXT_SCROLL, [hl]
|
||||||
call .InitRAM
|
call .InitRAM
|
||||||
.loop
|
.loop
|
||||||
call UpdateTime
|
call UpdateTime
|
||||||
@ -61,17 +71,18 @@ TrainerCard: ; 25105
|
|||||||
call SetPalettes
|
call SetPalettes
|
||||||
call WaitBGMap
|
call WaitBGMap
|
||||||
ld hl, wJumptableIndex
|
ld hl, wJumptableIndex
|
||||||
xor a
|
xor a ; TRAINERCARDSTATE_PAGE1_LOADGFX
|
||||||
ld [hli], a
|
ld [hli], a ; wJumptableIndex
|
||||||
ld [hli], a
|
ld [hli], a ; wTrainerCardBadgeFrameCounter
|
||||||
ld [hli], a
|
ld [hli], a ; wTrainerCardBadgeTileID
|
||||||
ld [hl], a
|
ld [hl], a ; wTrainerCardBadgeAttributes
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.RunJumptable: ; 2518e (9:518e)
|
.RunJumptable: ; 2518e (9:518e)
|
||||||
jumptable .Jumptable, wJumptableIndex
|
jumptable .Jumptable, wJumptableIndex
|
||||||
|
|
||||||
.Jumptable: ; 2519d (9:519d)
|
.Jumptable: ; 2519d (9:519d)
|
||||||
|
; entries correspond to TRAINERCARDSTATE_* constants
|
||||||
dw TrainerCard_Page1_LoadGFX
|
dw TrainerCard_Page1_LoadGFX
|
||||||
dw TrainerCard_Page1_Joypad
|
dw TrainerCard_Page1_Joypad
|
||||||
dw TrainerCard_Page2_LoadGFX
|
dw TrainerCard_Page2_LoadGFX
|
||||||
@ -113,7 +124,7 @@ TrainerCard_Page1_Joypad: ; 251d7 (9:51d7)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.pressed_right_a
|
.pressed_right_a
|
||||||
ld a, $2
|
ld a, TRAINERCARDSTATE_PAGE2_LOADGFX
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -122,7 +133,7 @@ TrainerCard_Page1_Joypad: ; 251d7 (9:51d7)
|
|||||||
ld a, [wKantoBadges]
|
ld a, [wKantoBadges]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld a, $4
|
ld a, TRAINERCARDSTATE_PAGE3_LOADGFX
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -159,7 +170,7 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.d_left
|
.d_left
|
||||||
ld a, $0
|
ld a, TRAINERCARDSTATE_PAGE1_LOADGFX
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -168,12 +179,12 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221)
|
|||||||
ld a, [wKantoBadges]
|
ld a, [wKantoBadges]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld a, $4
|
ld a, TRAINERCARDSTATE_PAGE3_LOADGFX
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Quit:
|
.Quit:
|
||||||
ld a, $6
|
ld a, TRAINERCARDSTATE_QUIT
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -208,12 +219,12 @@ TrainerCard_Page3_Joypad: ; 25279 (9:5279)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.left
|
.left
|
||||||
ld a, $2
|
ld a, TRAINERCARDSTATE_PAGE2_LOADGFX
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.right
|
.right
|
||||||
ld a, $0
|
ld a, TRAINERCARDSTATE_PAGE1_LOADGFX
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -256,10 +267,10 @@ TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299)
|
|||||||
next "MONEY@"
|
next "MONEY@"
|
||||||
|
|
||||||
.ID_No: ; 252f9
|
.ID_No: ; 252f9
|
||||||
db $27, $28, $ff ; ID NO
|
db $27, $28, -1 ; ID NO
|
||||||
|
|
||||||
.HorizontalDivider: ; 252fc
|
.HorizontalDivider: ; 252fc
|
||||||
db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, $ff ; ____________>
|
db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, -1 ; ____________>
|
||||||
; 2530a
|
; 2530a
|
||||||
|
|
||||||
TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
|
TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
|
||||||
@ -281,7 +292,7 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
|
|||||||
ld de, .StatusTilemap
|
ld de, .StatusTilemap
|
||||||
call TrainerCardSetup_PlaceTilemapString
|
call TrainerCardSetup_PlaceTilemapString
|
||||||
ld a, [wStatusFlags]
|
ld a, [wStatusFlags]
|
||||||
bit 0, a
|
bit 0, a ; ENGINE_POKEDEX
|
||||||
ret nz
|
ret nz
|
||||||
hlcoord 1, 9
|
hlcoord 1, 9
|
||||||
lb bc, 2, 17
|
lb bc, 2, 17
|
||||||
@ -296,7 +307,7 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
|
|||||||
db " BADGES▶@"
|
db " BADGES▶@"
|
||||||
|
|
||||||
.StatusTilemap: ; 25366
|
.StatusTilemap: ; 25366
|
||||||
db $29, $2a, $2b, $2c, $2d, $ff
|
db $29, $2a, $2b, $2c, $2d, -1
|
||||||
; 2536c
|
; 2536c
|
||||||
|
|
||||||
TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c)
|
TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c)
|
||||||
@ -324,7 +335,7 @@ endr
|
|||||||
dec c
|
dec c
|
||||||
jr nz, .loop2
|
jr nz, .loop2
|
||||||
xor a
|
xor a
|
||||||
ld [wcf64], a
|
ld [wTrainerCardBadgeFrameCounter], a
|
||||||
ld hl, TrainerCard_JohtoBadgesOAM
|
ld hl, TrainerCard_JohtoBadgesOAM
|
||||||
call TrainerCard_Page2_3_OAMUpdate
|
call TrainerCard_Page2_3_OAMUpdate
|
||||||
ret
|
ret
|
||||||
@ -332,20 +343,20 @@ endr
|
|||||||
; 253a2 (9:53a2)
|
; 253a2 (9:53a2)
|
||||||
|
|
||||||
.BadgesTilemap: ; 253a2
|
.BadgesTilemap: ; 253a2
|
||||||
db $79, $7a, $7b, $7c, $7d, $ff ; "BADGES"
|
db $79, $7a, $7b, $7c, $7d, -1 ; "BADGES"
|
||||||
; 253a8
|
; 253a8
|
||||||
|
|
||||||
TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8)
|
TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8)
|
||||||
.loop
|
.loop
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
cp $ff
|
cp -1
|
||||||
ret z
|
ret z
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
inc de
|
inc de
|
||||||
jr .loop
|
jr .loop
|
||||||
|
|
||||||
TrainerCard_InitBorder: ; 253b0 (9:53b0)
|
TrainerCard_InitBorder: ; 253b0 (9:53b0)
|
||||||
ld e, 20
|
ld e, SCREEN_WIDTH
|
||||||
.loop1
|
.loop1
|
||||||
ld a, $23
|
ld a, $23
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -354,7 +365,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
|
|||||||
|
|
||||||
ld a, $23
|
ld a, $23
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld e, 17
|
ld e, SCREEN_HEIGHT - 1
|
||||||
ld a, " "
|
ld a, " "
|
||||||
.loop2
|
.loop2
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -369,7 +380,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
|
|||||||
ld a, $23
|
ld a, $23
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
||||||
ld e, 18
|
ld e, SCREEN_HEIGHT
|
||||||
ld a, " "
|
ld a, " "
|
||||||
.loop4
|
.loop4
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -386,7 +397,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
|
|||||||
ld a, $24
|
ld a, $24
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
||||||
ld e, 17
|
ld e, SCREEN_HEIGHT - 1
|
||||||
ld a, " "
|
ld a, " "
|
||||||
.loop5
|
.loop5
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -394,7 +405,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
|
|||||||
jr nz, .loop5
|
jr nz, .loop5
|
||||||
ld a, $23
|
ld a, $23
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld e, 20
|
ld e, SCREEN_WIDTH
|
||||||
.loop6
|
.loop6
|
||||||
ld a, $23
|
ld a, $23
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -453,12 +464,12 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415)
|
|||||||
|
|
||||||
TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438)
|
TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438)
|
||||||
ld a, [hVBlankCounter]
|
ld a, [hVBlankCounter]
|
||||||
and $7
|
and %111
|
||||||
ret nz
|
ret nz
|
||||||
ld a, [wcf64]
|
ld a, [wTrainerCardBadgeFrameCounter]
|
||||||
inc a
|
inc a
|
||||||
and $7
|
and %111
|
||||||
ld [wcf64], a
|
ld [wTrainerCardBadgeFrameCounter], a
|
||||||
jr TrainerCard_Page2_3_OAMUpdate
|
jr TrainerCard_Page2_3_OAMUpdate
|
||||||
|
|
||||||
TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
|
TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
|
||||||
@ -482,15 +493,15 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
|
|||||||
ld a, [hli] ; x
|
ld a, [hli] ; x
|
||||||
ld c, a
|
ld c, a
|
||||||
ld a, [hli] ; pal
|
ld a, [hli] ; pal
|
||||||
ld [wcf66], a
|
ld [wTrainerCardBadgeAttributes], a
|
||||||
ld a, [wcf64]
|
ld a, [wTrainerCardBadgeFrameCounter]
|
||||||
add l
|
add l
|
||||||
ld l, a
|
ld l, a
|
||||||
ld a, 0
|
ld a, 0
|
||||||
adc h
|
adc h
|
||||||
ld h, a
|
ld h, a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wcf65], a
|
ld [wTrainerCardBadgeTileID], a
|
||||||
call .PrepOAM
|
call .PrepOAM
|
||||||
pop hl
|
pop hl
|
||||||
.skip_badge
|
.skip_badge
|
||||||
@ -502,8 +513,8 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.PrepOAM: ; 2547b (9:547b)
|
.PrepOAM: ; 2547b (9:547b)
|
||||||
ld a, [wcf65]
|
ld a, [wTrainerCardBadgeTileID]
|
||||||
and $80
|
and 1 << 7
|
||||||
jr nz, .xflip
|
jr nz, .xflip
|
||||||
ld hl, .facing1
|
ld hl, .facing1
|
||||||
jr .loop2
|
jr .loop2
|
||||||
@ -523,14 +534,14 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
|
|||||||
ld [de], a ; x
|
ld [de], a ; x
|
||||||
inc de
|
inc de
|
||||||
|
|
||||||
ld a, [wcf65]
|
ld a, [wTrainerCardBadgeTileID]
|
||||||
and $7f
|
and $ff ^ (1 << 7)
|
||||||
add [hl]
|
add [hl]
|
||||||
ld [de], a ; tile id
|
ld [de], a ; tile id
|
||||||
inc hl
|
inc hl
|
||||||
inc de
|
inc de
|
||||||
|
|
||||||
ld a, [wcf66]
|
ld a, [wTrainerCardBadgeAttributes]
|
||||||
add [hl]
|
add [hl]
|
||||||
ld [de], a ; attributes
|
ld [de], a ; attributes
|
||||||
inc hl
|
inc hl
|
||||||
@ -564,44 +575,44 @@ TrainerCard_JohtoBadgesOAM: ; 254c9
|
|||||||
|
|
||||||
; Zephyrbadge
|
; Zephyrbadge
|
||||||
db $68, $18, 0
|
db $68, $18, 0
|
||||||
db $00, $20, $24, $20 | $80
|
db $00, $20, $24, $20 | (1 << 7)
|
||||||
db $00, $20, $24, $20 | $80
|
db $00, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Hivebadge
|
; Hivebadge
|
||||||
db $68, $38, 0
|
db $68, $38, 0
|
||||||
db $04, $20, $24, $20 | $80
|
db $04, $20, $24, $20 | (1 << 7)
|
||||||
db $04, $20, $24, $20 | $80
|
db $04, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Plainbadge
|
; Plainbadge
|
||||||
db $68, $58, 0
|
db $68, $58, 0
|
||||||
db $08, $20, $24, $20 | $80
|
db $08, $20, $24, $20 | (1 << 7)
|
||||||
db $08, $20, $24, $20 | $80
|
db $08, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Fogbadge
|
; Fogbadge
|
||||||
db $68, $78, 0
|
db $68, $78, 0
|
||||||
db $0c, $20, $24, $20 | $80
|
db $0c, $20, $24, $20 | (1 << 7)
|
||||||
db $0c, $20, $24, $20 | $80
|
db $0c, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Mineralbadge
|
; Mineralbadge
|
||||||
db $80, $38, 0
|
db $80, $38, 0
|
||||||
db $10, $20, $24, $20 | $80
|
db $10, $20, $24, $20 | (1 << 7)
|
||||||
db $10, $20, $24, $20 | $80
|
db $10, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Stormbadge
|
; Stormbadge
|
||||||
db $80, $18, 0
|
db $80, $18, 0
|
||||||
db $14, $20, $24, $20 | $80
|
db $14, $20, $24, $20 | (1 << 7)
|
||||||
db $14, $20, $24, $20 | $80
|
db $14, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Glacierbadge
|
; Glacierbadge
|
||||||
db $80, $58, 0
|
db $80, $58, 0
|
||||||
db $18, $20, $24, $20 | $80
|
db $18, $20, $24, $20 | (1 << 7)
|
||||||
db $18, $20, $24, $20 | $80
|
db $18, $20, $24, $20 | (1 << 7)
|
||||||
|
|
||||||
; Risingbadge
|
; Risingbadge
|
||||||
; X-flips on alternate cycles.
|
; X-flips on alternate cycles.
|
||||||
db $80, $78, 0
|
db $80, $78, 0
|
||||||
db $1c, $20, $24, $20 | $80
|
db $1c, $20, $24, $20 | (1 << 7)
|
||||||
db $1c | $80, $20, $24, $20 | $80
|
db $1c | (1 << 7), $20, $24, $20 | (1 << 7)
|
||||||
; 25523
|
; 25523
|
||||||
|
|
||||||
CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp"
|
CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp"
|
||||||
|
6
wram.asm
6
wram.asm
@ -1342,6 +1342,12 @@ if !DEF(_CRYSTAL11)
|
|||||||
wPokedexStatus:: db
|
wPokedexStatus:: db
|
||||||
endc
|
endc
|
||||||
|
|
||||||
|
NEXTU ; cf64
|
||||||
|
; trainer card badges
|
||||||
|
wTrainerCardBadgeFrameCounter:: db
|
||||||
|
wTrainerCardBadgeTileID:: db
|
||||||
|
wTrainerCardBadgeAttributes:: db
|
||||||
|
|
||||||
NEXTU ; cf64
|
NEXTU ; cf64
|
||||||
; miscellaneous
|
; miscellaneous
|
||||||
wNrOfBeatenBattleTowerTrainers::
|
wNrOfBeatenBattleTowerTrainers::
|
||||||
|
Loading…
x
Reference in New Issue
Block a user