mirror of
https://github.com/pret/poketcg2.git
synced 2026-09-11 11:16:17 -05:00
Refactor GFX offsets
This commit is contained in:
@@ -400,7 +400,7 @@ DEF GRASS_F EQU $1 << GRASS ; $02
|
||||
Bit mask constants are also useful if they are used multiple times. Palette colors are an example to illustrate this:
|
||||
|
||||
```asm
|
||||
DEF PALRGB_WHITE EQU (31 << B_COLOR_BLUE) | (31 << B_COLOR_GREEN) | (31 << B_COLOR_RED)
|
||||
DEF PALRGB_WHITE EQU (COLOR_CH_MAX << B_COLOR_BLUE) | (COLOR_CH_MAX << B_COLOR_GREEN) | (COLOR_CH_MAX << B_COLOR_RED)
|
||||
```
|
||||
|
||||
Finally, note that constants that are exclusive to a specific feature or function should generally be local, and thus placed above the code that uses them. This is usually not the case, however, so you should usually be looking to declare them inside the constants/ directory as mentioned before. This kind of refactoring is also more appropriate when the disassembly is in a more advanced state as well.
|
||||
|
||||
@@ -146,6 +146,9 @@ DEF TYPE_PKMN EQU %111
|
||||
DEF TYPE_ENERGY_F EQU 3
|
||||
DEF TYPE_TRAINER_F EQU 4
|
||||
|
||||
; TYPE_ENERGY_* -> generic type
|
||||
DEF ENERGY_TYPE_MASK EQU %111
|
||||
|
||||
; CARD_DATA_RARITY constants
|
||||
DEF CIRCLE EQU $0
|
||||
DEF DIAMOND EQU $1
|
||||
@@ -169,11 +172,11 @@ DEF CARDPOP_ENERGY EQU $ff
|
||||
const SKY_FLYING_POKEMON ; $04
|
||||
const WE_ARE_TEAM_ROCKET ; $05
|
||||
const TEAM_ROCKETS_AMBITION ; $06
|
||||
DEF PRESENT_PACK EQU const_value ; $07
|
||||
const PROMOTIONAL ; $07
|
||||
DEF NUM_CARD_SETS EQU const_value
|
||||
const ENERGY ; $08
|
||||
|
||||
DEF PRESENT_PACK EQU 7
|
||||
|
||||
; booster pack constants
|
||||
const_def
|
||||
@@ -185,17 +188,17 @@ DEF PRESENT_PACK EQU 7
|
||||
const BOOSTER_WE_ARE_TEAM_ROCKET ; $5
|
||||
const BOOSTER_TEAM_ROCKETS_AMBITION ; $6
|
||||
const BOOSTER_DEBUG_10_STAR ; $7
|
||||
DEF BOOSTERS_PRESENT_START EQU const_value
|
||||
|
||||
DEF BOOSTERS_PRESENT_START EQU const_value ; $8
|
||||
const BOOSTER_PRESENT_10_ENERGY ; $8
|
||||
DEF BOOSTERS_PRESENT_REGULAR_START EQU const_value
|
||||
DEF BOOSTERS_PRESENT_REGULAR_START EQU const_value ; $9
|
||||
const BOOSTER_PRESENT_FROM_ALL_SETS ; $9
|
||||
const BOOSTER_PRESENT_FROM_NON_ROCKET_SETS ; $a
|
||||
const BOOSTER_PRESENT_FROM_LATTER_4_SETS ; $b
|
||||
const BOOSTER_PRESENT_FROM_ROCKET_SETS ; $c
|
||||
DEF BOOSTERS_PRESENT_END EQU const_value
|
||||
const BOOSTER_DEBUG_2_STAR ; $d
|
||||
DEF NUM_BOOSTERS_PRESENT_REGULAR EQU const_value - BOOSTERS_PRESENT_REGULAR_START ; 4
|
||||
|
||||
DEF NUM_BOOSTERS_PRESENT_REGULAR EQU BOOSTERS_PRESENT_END - BOOSTERS_PRESENT_REGULAR_START ; 4
|
||||
const BOOSTER_DEBUG_2_STAR ; $d
|
||||
|
||||
; real card set constants
|
||||
const_def
|
||||
|
||||
@@ -27,13 +27,13 @@ DEF HEADER_POKEMON EQU $02
|
||||
|
||||
; Box message id's
|
||||
const_def
|
||||
const BOXMSG_PLAYERS_TURN
|
||||
const BOXMSG_OPPONENTS_TURN
|
||||
const BOXMSG_BETWEEN_TURNS
|
||||
const BOXMSG_DECISION
|
||||
const BOXMSG_BENCH_POKEMON
|
||||
const BOXMSG_ARENA_POKEMON
|
||||
const BOXMSG_COIN_TOSS
|
||||
const BOXMSG_PLAYERS_TURN ; $0
|
||||
const BOXMSG_OPPONENTS_TURN ; $1
|
||||
const BOXMSG_BETWEEN_TURNS ; $2
|
||||
const BOXMSG_DECISION ; $3
|
||||
const BOXMSG_BENCH_POKEMON ; $4
|
||||
const BOXMSG_ARENA_POKEMON ; $5
|
||||
const BOXMSG_COIN_TOSS ; $6
|
||||
|
||||
; wDuelDisplayedScreen constants
|
||||
DEF DUEL_MAIN_SCENE EQU $01
|
||||
|
||||
@@ -4,7 +4,7 @@ DEF palettes EQUS "* PAL_SIZE"
|
||||
DEF NUM_BACKGROUND_PALETTES EQU 8
|
||||
DEF NUM_OBJECT_PALETTES EQU 8
|
||||
|
||||
DEF PALRGB_WHITE EQU (31 << B_COLOR_BLUE) | (31 << B_COLOR_GREEN) | (31 << B_COLOR_RED)
|
||||
DEF PALRGB_WHITE EQU (COLOR_CH_MAX << B_COLOR_BLUE) | (COLOR_CH_MAX << B_COLOR_GREEN) | (COLOR_CH_MAX << B_COLOR_RED)
|
||||
|
||||
; tile size
|
||||
DEF tiles EQUS "* TILE_SIZE"
|
||||
@@ -12,25 +12,114 @@ DEF tiles EQUS "* TILE_SIZE"
|
||||
DEF TILE_SIZE_1BPP EQU 8 ; bytes
|
||||
DEF tiles_1bpp EQUS "* TILE_SIZE_1BPP"
|
||||
|
||||
; icon tile offsets
|
||||
DEF ICON_TILE_BASIC_POKEMON EQU $d0
|
||||
DEF ICON_TILE_STAGE_1_POKEMON EQU $d4
|
||||
DEF ICON_TILE_STAGE_2_POKEMON EQU $d8
|
||||
DEF ICON_TILE_TRAINER EQU $dc
|
||||
DEF CARD_HEADER_TILE_SIZE EQU 8 * 2 ; tiles
|
||||
DEF REGULAR_ICON_TILE_SIZE EQU 4 ; tiles
|
||||
|
||||
DEF ICON_TILE_FIRE EQU $e0
|
||||
DEF ICON_TILE_GRASS EQU $e4
|
||||
DEF ICON_TILE_LIGHTNING EQU $e8
|
||||
DEF ICON_TILE_WATER EQU $ec
|
||||
DEF ICON_TILE_FIGHTING EQU $f0
|
||||
DEF ICON_TILE_PSYCHIC EQU $f4
|
||||
DEF ICON_TILE_COLORLESS EQU $f8
|
||||
DEF ICON_TILE_ENERGY EQU $fc
|
||||
DEF NUM_CARD_OR_DUEL_BORDER_TILES EQU 8 ; tiles
|
||||
|
||||
; icon tile offsets
|
||||
DEF CARD_TYPE_ICON_TILE_START EQU $d0
|
||||
|
||||
RSSET CARD_TYPE_ICON_TILE_START
|
||||
DEF ICON_TILE_BASIC_POKEMON RL ; $d0
|
||||
|
||||
DEF ICON_TILE_EVO_OR_TRAINER_OFFSET EQU _RS - ICON_TILE_BASIC_POKEMON ; $04
|
||||
DEF ICON_TILE_STAGE_1_POKEMON RL ; $d4
|
||||
DEF ICON_TILE_STAGE_2_POKEMON RL ; $d8
|
||||
DEF ICON_TILE_TRAINER RL ; $dc
|
||||
DEF NUM_EVO_OR_TRAINER_ICON_TILES EQU _RS - ICON_TILE_STAGE_1_POKEMON ; $0c
|
||||
|
||||
DEF ICON_TILE_POKEMON_TYPES EQU _RS ; $e0
|
||||
DEF ICON_TILE_FIRE RL ; $e0
|
||||
DEF ICON_TILE_GRASS RL ; $e4
|
||||
DEF ICON_TILE_LIGHTNING RL ; $e8
|
||||
DEF ICON_TILE_WATER RL ; $ec
|
||||
DEF ICON_TILE_FIGHTING RL ; $f0
|
||||
DEF ICON_TILE_PSYCHIC RL ; $f4
|
||||
DEF ICON_TILE_COLORLESS RL ; $f8
|
||||
DEF ICON_TILE_ENERGY RL ; $fc
|
||||
|
||||
DEF NUM_CARD_TYPE_ICON_TILES EQU _RS - CARD_TYPE_ICON_TILE_START ; $30
|
||||
|
||||
; CardSymbolTable uses different order
|
||||
const_def
|
||||
const CARD_SYMBOL_FIRE ; $0
|
||||
const CARD_SYMBOL_GRASS ; $1
|
||||
const CARD_SYMBOL_LIGHTNING ; $2
|
||||
const CARD_SYMBOL_WATER ; $3
|
||||
const CARD_SYMBOL_FIGHTING ; $4
|
||||
const CARD_SYMBOL_PSYCHIC ; $5
|
||||
const CARD_SYMBOL_COLORLESS ; $6
|
||||
const CARD_SYMBOL_ENERGY ; $7
|
||||
const CARD_SYMBOL_BASIC_POKEMON ; $8
|
||||
const CARD_SYMBOL_STAGE_1_POKEMON ; $9
|
||||
const CARD_SYMBOL_STAGE_2_POKEMON ; $a
|
||||
const CARD_SYMBOL_TRAINER ; $b
|
||||
|
||||
; real-set icon tile offsets
|
||||
RSRESET
|
||||
DEF ICON_TILE_JUNGLE RL ; $00
|
||||
DEF ICON_TILE_FOSSIL RL ; $04
|
||||
DEF ICON_TILE_GB RL ; $08
|
||||
DEF ICON_TILE_TEAM_ROCKET RL ; $0c
|
||||
DEF ICON_TILE_EXPANSION_SHEET RL ; $10
|
||||
DEF ICON_TILE_GYM_HEROES RL ; $14
|
||||
DEF ICON_TILE_BULBASAUR_DECK RL ; $18
|
||||
DEF ICON_TILE_SQUIRTLE_DECK RL ; $1c
|
||||
|
||||
; check pokemon screen icon tile offsets
|
||||
RSRESET
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_BASIC RL ; $00
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_STAGE1 RL ; $04
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_STAGE2 RL ; $08
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_STAGE2_WITHOUT_STAGE1 RL ; $0c
|
||||
DEF NUM_CHECK_POKEMON_SCREEN_STAGE_ICON_TILES EQU _RS ; $10
|
||||
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_ACT RB 3 ; $10
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_BPX RW ; $13
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_BP1 RB ; $15
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_BP2 RB ; $16
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_BP3 RB ; $17
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_BP4 RB ; $18
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_PLAYER_BP5 RB ; $19
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_ACT RB 3 ; $1a
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_BPX RW ; $1d
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_BP1 RB ; $1f
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_BP2 RB ; $20
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_BP3 RB ; $21
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_BP4 RB ; $22
|
||||
DEF ICON_TILE_CHECK_POKEMON_SCREEN_OPPONENT_BP5 RB ; $23
|
||||
|
||||
DEF NUM_CHECK_POKEMON_SCREEN_ICON_TILES EQU _RS ; $24
|
||||
|
||||
; setup icon tile offsets
|
||||
RSRESET
|
||||
DEF ICON_TILE_SETUP_FACEDOWN_ARENA RB 12 ; $00
|
||||
DEF ICON_TILE_SETUP_FACEDOWN_PRIZE RB ; $0c
|
||||
|
||||
DEF NUM_SETUP_ICON_TILES EQU _RS ; $0d
|
||||
|
||||
; play area screen icon tile offsets
|
||||
RSRESET
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_HAND RL ; $00
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_DECK RL ; $04
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_DISCARD_PILE RL ; $08
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_PRIZE RL ; $0c
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_PRIZE_EMPTY RL ; $10
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_BENCH_BASIC RL ; $14
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_BENCH_STAGE1 RL ; $18
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_BENCH_STAGE2 RL ; $1c
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_BENCH_STAGE2_WITHOUT_STAGE1 RL ; $20
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_BENCH_EMPTY RL ; $24
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_TARGET_ARROW RB ; $28
|
||||
DEF ICON_TILE_PLAY_AREA_SCREEN_29 RL ; $29
|
||||
|
||||
DEF NUM_PLAY_AREA_SCREEN_ICON_TILES EQU _RS ; $2d
|
||||
|
||||
; card gfx
|
||||
; see LoadCardGfx, CardGraphics
|
||||
DEF CARD_GFX_WIDTH EQU 8 ; in tiles
|
||||
DEF CARD_GFX_HEIGHT EQU 6 ; in tiles
|
||||
DEF CARD_GFX_WIDTH EQU 8 ; tiles
|
||||
DEF CARD_GFX_HEIGHT EQU 6 ; tiles
|
||||
DEF NUM_CARD_GFX_TILES EQU CARD_GFX_WIDTH * CARD_GFX_HEIGHT ; 48
|
||||
|
||||
RSRESET
|
||||
|
||||
@@ -2205,7 +2205,7 @@ _DrawPlayAreaToPlacePrizeCards::
|
||||
call ZeroObjectPositions
|
||||
call EmptyScreen
|
||||
call LoadSymbolsFont
|
||||
call LoadDeckAndDiscardPileIcons
|
||||
call LoadDuelPlayAreaScreenTiles_Setup
|
||||
bank1call SetDefaultPalettes
|
||||
|
||||
ldh a, [hWhoseTurn]
|
||||
@@ -6243,10 +6243,10 @@ PrintConfirmationCardList:
|
||||
; pokemon card
|
||||
ld a, [wLoadedCard1Stage]
|
||||
ld b, a
|
||||
REPT 3 ; *= 4
|
||||
add b
|
||||
add b
|
||||
add b ; *4
|
||||
add ICON_TILE_BASIC_POKEMON
|
||||
ENDR
|
||||
add CARD_TYPE_ICON_TILE_START
|
||||
jr .got_tile
|
||||
|
||||
.not_pkmn_card
|
||||
@@ -6256,10 +6256,10 @@ PrintConfirmationCardList:
|
||||
; energy card
|
||||
sub TYPE_ENERGY
|
||||
ld b, a
|
||||
REPT 3 ; *= 4
|
||||
add b
|
||||
add b
|
||||
add b ; *4
|
||||
add ICON_TILE_FIRE
|
||||
ENDR
|
||||
add ICON_TILE_POKEMON_TYPES
|
||||
jr .got_tile
|
||||
|
||||
.trainer_card
|
||||
|
||||
26
src/gfx.asm
26
src/gfx.asm
@@ -77,49 +77,51 @@ Pals_6f0f0::
|
||||
rgb 28, 12, 0
|
||||
rgb 13, 9, 0
|
||||
|
||||
Pals_6f108::
|
||||
DuelCoinTossResultPalette::
|
||||
rgb 31, 31, 31
|
||||
rgb 0, 0, 0
|
||||
rgb 0, 0, 0
|
||||
rgb 0, 10, 28
|
||||
rgb 0, 10, 28 ; [X]
|
||||
|
||||
Pals_6f110::
|
||||
DuelBoxMessagePalettes::
|
||||
; BOXMSG_PLAYERS_TURN
|
||||
rgb 31, 31, 31
|
||||
rgb 31, 22, 9
|
||||
rgb 27, 9, 4
|
||||
rgb 18, 0, 0
|
||||
|
||||
; BOXMSG_OPPONENTS_TURN
|
||||
rgb 31, 31, 31
|
||||
rgb 16, 24, 29
|
||||
rgb 6, 11, 24
|
||||
rgb 0, 0, 16
|
||||
|
||||
; BOXMSG_BETWEEN_TURNS
|
||||
rgb 31, 31, 31
|
||||
rgb 21, 27, 13
|
||||
rgb 7, 16, 0
|
||||
rgb 0, 7, 0
|
||||
|
||||
; BOXMSG_DECISION
|
||||
rgb 31, 31, 31
|
||||
rgb 26, 22, 7
|
||||
rgb 19, 13, 0
|
||||
rgb 6, 2, 0
|
||||
|
||||
; BOXMSG_BENCH_POKEMON
|
||||
rgb 31, 31, 31
|
||||
rgb 31, 16, 20
|
||||
rgb 21, 6, 14
|
||||
rgb 10, 0, 4
|
||||
|
||||
; BOXMSG_ARENA_POKEMON
|
||||
rgb 31, 31, 31
|
||||
rgb 20, 29, 0
|
||||
rgb 11, 18, 0
|
||||
rgb 7, 6, 0
|
||||
|
||||
; BOXMSG_COIN_TOSS
|
||||
rgb 31, 31, 31
|
||||
rgb 18, 30, 31
|
||||
rgb 8, 20, 27
|
||||
rgb 0, 7, 14
|
||||
|
||||
Pals_6f148::
|
||||
; back of the card
|
||||
DuelSetupPalette::
|
||||
rgb 31, 31, 31
|
||||
rgb 0, 0, 31
|
||||
rgb 31, 0, 0
|
||||
@@ -155,8 +157,8 @@ DuelPlayAreaScreenGfx::
|
||||
DuelPlayAreaScreenGfxDMG::
|
||||
INCBIN "gfx/duel/play_area_screen_dmg.2bpp"
|
||||
|
||||
DuelDeckAndDiscardPileIcons::
|
||||
INCBIN "gfx/duel/deck_discard_icons.2bpp"
|
||||
DuelSetupGraphics::
|
||||
INCBIN "gfx/duel/setup_icons.2bpp"
|
||||
|
||||
DuelCoinTossResultTiles::
|
||||
INCBIN "gfx/duel/coin_toss_result_symbols.2bpp"
|
||||
|
||||
|
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 242 B |
@@ -627,14 +627,14 @@ CardTypeToSymbolID::
|
||||
cp TYPE_ENERGY
|
||||
jr c, .pokemon_card
|
||||
; energy card
|
||||
and 7 ; convert energy constant to type constant
|
||||
and ENERGY_TYPE_MASK
|
||||
ret
|
||||
.trainer_card
|
||||
ld a, 11
|
||||
ld a, CARD_SYMBOL_TRAINER
|
||||
ret
|
||||
.pokemon_card
|
||||
ld a, [wLoadedCard1Stage] ; different symbol for each evolution stage
|
||||
add 8
|
||||
add CARD_SYMBOL_BASIC_POKEMON
|
||||
ret
|
||||
|
||||
; return the entry in CardSymbolTable of the TYPE_* constant in wLoadedCard1Type
|
||||
@@ -683,18 +683,18 @@ DrawCardSymbol::
|
||||
|
||||
CardSymbolTable::
|
||||
; starting tile number, cgb palette (grey, yellow/red, green/blue, pink/orange)
|
||||
db $e0, $02 ; TYPE_ENERGY_FIRE
|
||||
db $e4, $03 ; TYPE_ENERGY_GRASS
|
||||
db $e8, $02 ; TYPE_ENERGY_LIGHTNING
|
||||
db $ec, $03 ; TYPE_ENERGY_WATER
|
||||
db $f0, $04 ; TYPE_ENERGY_PSYCHIC
|
||||
db $f4, $04 ; TYPE_ENERGY_FIGHTING
|
||||
db $f8, $00 ; TYPE_ENERGY_DOUBLE_COLORLESS
|
||||
db $fc, $03 ; TYPE_ENERGY_UNUSED
|
||||
db $d0, $03 ; TYPE_PKMN_*, Basic
|
||||
db $d4, $03 ; TYPE_PKMN_*, Stage 1
|
||||
db $d8, $02 ; TYPE_PKMN_*, Stage 2
|
||||
db $dc, $03 ; TYPE_TRAINER
|
||||
db ICON_TILE_FIRE, 2 ; CARD_SYMBOL_FIRE
|
||||
db ICON_TILE_GRASS, 3 ; CARD_SYMBOL_GRASS
|
||||
db ICON_TILE_LIGHTNING, 2 ; CARD_SYMBOL_LIGHTNING
|
||||
db ICON_TILE_WATER, 3 ; CARD_SYMBOL_WATER
|
||||
db ICON_TILE_FIGHTING, 4 ; CARD_SYMBOL_FIGHTING
|
||||
db ICON_TILE_PSYCHIC, 4 ; CARD_SYMBOL_PSYCHIC
|
||||
db ICON_TILE_COLORLESS, 0 ; CARD_SYMBOL_COLORLESS
|
||||
db ICON_TILE_ENERGY, 3 ; CARD_SYMBOL_ENERGY
|
||||
db ICON_TILE_BASIC_POKEMON, 3 ; CARD_SYMBOL_BASIC_POKEMON
|
||||
db ICON_TILE_STAGE_1_POKEMON, 3 ; CARD_SYMBOL_STAGE_1_POKEMON
|
||||
db ICON_TILE_STAGE_2_POKEMON, 2 ; CARD_SYMBOL_STAGE_2_POKEMON
|
||||
db ICON_TILE_TRAINER, 3 ; CARD_SYMBOL_TRAINER
|
||||
|
||||
; copy the name and level of the card at wLoadedCard1 to wDefaultText
|
||||
; a = length in number of tiles (the resulting string will be padded with spaces to match it)
|
||||
|
||||
@@ -66,38 +66,38 @@ ENDR
|
||||
ld de, RealCardSetSymbolGraphics - $4000
|
||||
add hl, de
|
||||
ld de, v0Tiles1 + $7c tiles
|
||||
ld b, $04
|
||||
ld b, REGULAR_ICON_TILE_SIZE
|
||||
call CopyFontsOrDuelGraphicsTiles
|
||||
or a
|
||||
ret
|
||||
|
||||
.tile_offsets
|
||||
db 8 ; GB
|
||||
db -1 ; PRO
|
||||
db -1 ; BASE_SET
|
||||
db 0 ; JUNGLE
|
||||
db 4 ; FOSSIL
|
||||
db 12 ; TEAM_ROCKET
|
||||
db 16 ; EXPANSION_SHEET
|
||||
db 20 ; GYM_HEROES
|
||||
db 24 ; BULBASAUR_DECK
|
||||
db 28 ; SQUIRTLE_DECK
|
||||
db ICON_TILE_GB ; GB
|
||||
db -1 ; PRO
|
||||
db -1 ; BASE_SET
|
||||
db ICON_TILE_JUNGLE ; JUNGLE
|
||||
db ICON_TILE_FOSSIL ; FOSSIL
|
||||
db ICON_TILE_TEAM_ROCKET ; TEAM_ROCKET
|
||||
db ICON_TILE_EXPANSION_SHEET ; EXPANSION_SHEET
|
||||
db ICON_TILE_GYM_HEROES ; GYM_HEROES
|
||||
db ICON_TILE_BULBASAUR_DECK ; BULBASAUR_DECK
|
||||
db ICON_TILE_SQUIRTLE_DECK ; SQUIRTLE_DECK
|
||||
|
||||
; loads the Deck and Hand icons for the "Draw X card(s) from the deck." screen
|
||||
LoadDuelDrawCardsScreenTiles::
|
||||
ld hl, DuelDrawCardsScreenIcons
|
||||
ld de, v0Tiles1 + $74 tiles
|
||||
ld b, $08
|
||||
ld b, 2 * REGULAR_ICON_TILE_SIZE
|
||||
jp CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; load the face down basic / stage1 / stage2 card images shown in the check Pokemon screens
|
||||
LoadDuelFaceDownCardTiles::
|
||||
ld b, $10
|
||||
ld b, NUM_CHECK_POKEMON_SCREEN_STAGE_ICON_TILES
|
||||
jr LoadDuelCheckPokemonScreenTiles.got_num_tiles
|
||||
|
||||
; same as LoadDuelFaceDownCardTiles, plus also load the ACT / BPx tiles
|
||||
LoadDuelCheckPokemonScreenTiles::
|
||||
ld b, $24
|
||||
ld b, NUM_CHECK_POKEMON_SCREEN_ICON_TILES
|
||||
; fallthrough
|
||||
|
||||
.got_num_tiles
|
||||
@@ -112,7 +112,7 @@ LoadDuelCheckPokemonScreenTiles::
|
||||
LoadCardOrDuelMenuBorderTiles::
|
||||
ld hl, DuelMenuAndCardPicBorderTiles
|
||||
ld de, v0Tiles1 + $50 tiles
|
||||
ld b, $08
|
||||
ld b, NUM_CARD_OR_DUEL_BORDER_TILES
|
||||
jr CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; loads the graphics of a card type header, used to display a picture of a card after drawing it
|
||||
@@ -123,7 +123,7 @@ LoadCardTypeHeaderTiles::
|
||||
ld hl, DuelCardHeaderGraphics - $4000
|
||||
add hl, de
|
||||
ld de, v0Tiles1 + $60 tiles
|
||||
ld b, $10
|
||||
ld b, CARD_HEADER_TILE_SIZE
|
||||
call CopyFontsOrDuelGraphicsTiles
|
||||
bank1call LoadCardPictureBGPalettes
|
||||
ret
|
||||
@@ -132,26 +132,26 @@ LoadCardTypeHeaderTiles::
|
||||
LoadDuelCardSymbolTiles::
|
||||
ld hl, DuelCgbSymbolGraphics - $4000
|
||||
ld de, v0Tiles1 + $50 tiles
|
||||
ld b, $30
|
||||
ld b, NUM_CARD_TYPE_ICON_TILES
|
||||
jr CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; loads the symbols for Stage 1 Pkmn card, Stage 2 Pkmn card, and Trainer card.
|
||||
; unlike LoadDuelCardSymbolTiles excludes the symbols for Basic Pkmn and all energies.
|
||||
LoadDuelCardSymbolTiles2::
|
||||
ld hl, DuelCgbSymbolGraphics + $4 tiles - $4000
|
||||
ld hl, DuelCgbSymbolGraphics + ICON_TILE_EVO_OR_TRAINER_OFFSET tiles - $4000
|
||||
ld de, v0Tiles1 + $54 tiles
|
||||
ld b, $c
|
||||
ld b, NUM_EVO_OR_TRAINER_ICON_TILES
|
||||
jr CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; load the Deck and the Discard Pile icons
|
||||
LoadDeckAndDiscardPileIcons::
|
||||
ld hl, Pals_6f148 - $4000
|
||||
; LoadDuelPlayAreaScreenTiles plus face-down arena cards and prize cards
|
||||
LoadDuelPlayAreaScreenTiles_Setup::
|
||||
ld hl, DuelSetupPalette - $4000
|
||||
ld de, wBackgroundPalettesCGB + 5 palettes
|
||||
ld c, PAL_SIZE
|
||||
call CopyFontsOrDuelGraphicsBytes
|
||||
ld hl, DuelDeckAndDiscardPileIcons
|
||||
ld hl, DuelSetupGraphics
|
||||
ld de, v0Tiles1 + $20 tiles
|
||||
ld b, $0d
|
||||
ld b, NUM_SETUP_ICON_TILES
|
||||
call CopyFontsOrDuelGraphicsTiles
|
||||
; fallthrough
|
||||
|
||||
@@ -165,25 +165,25 @@ LoadDuelPlayAreaScreenTiles::
|
||||
ld hl, DuelPlayAreaScreenGfxDMG
|
||||
.copy
|
||||
ld de, v0Tiles1 + $50 tiles
|
||||
ld b, $30
|
||||
ld b, NUM_PLAY_AREA_SCREEN_ICON_TILES + 3
|
||||
jr CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; load the tiles for the [O] and [X] symbols used to display the results of a coin toss
|
||||
LoadDuelCoinTossResultTiles::
|
||||
ld hl, Pals_6f108 - $4000
|
||||
ld hl, DuelCoinTossResultPalette - $4000
|
||||
ld de, wBackgroundPalettesCGB + 2 palettes
|
||||
ld c, PAL_SIZE
|
||||
call CopyFontsOrDuelGraphicsBytes
|
||||
ld hl, DuelCoinTossResultTiles
|
||||
ld de, v0Tiles2 + $30 tiles
|
||||
ld b, $08
|
||||
ld b, 2 * REGULAR_ICON_TILE_SIZE
|
||||
jr CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; load the tiles of the text characters used with TX_SYMBOL
|
||||
LoadSymbolsFont::
|
||||
ld hl, SymbolsFont - $4000
|
||||
ld de, v0Tiles2 ; destination
|
||||
ld b, $38 ; (DuelCardHeaderGraphics - SymbolsFont) / TILE_SIZE ; number of tiles
|
||||
ld b, (DuelCardHeaderGraphics - SymbolsFont) / TILE_SIZE ; number of tiles
|
||||
; fallthrough
|
||||
|
||||
; if hl ≤ $3fff
|
||||
@@ -210,34 +210,34 @@ LoadCardSymbolFontTilesToSRAM::
|
||||
; text box frame tiles
|
||||
ld hl, DuelMenuAndCardPicBorderTiles
|
||||
ld de, sGfxBuffer1 + $30 tiles
|
||||
ld b, $8
|
||||
ld b, NUM_CARD_OR_DUEL_BORDER_TILES
|
||||
call CopyFontsOrDuelGraphicsTiles
|
||||
call GetCardSymbolData
|
||||
sub $d0
|
||||
sub CARD_TYPE_ICON_TILE_START
|
||||
ld l, a
|
||||
ld h, $00
|
||||
REPT 4 ; *TILE_SIZE
|
||||
REPT 4 ; *= TILE_SIZE
|
||||
add hl, hl
|
||||
ENDR
|
||||
ld de, DuelDmgSgbSymbolGraphics - $4000
|
||||
add hl, de
|
||||
ld de, sGfxBuffer1 + $38 tiles
|
||||
ld b, $4
|
||||
ld b, REGULAR_ICON_TILE_SIZE
|
||||
call CopyFontsOrDuelGraphicsTiles
|
||||
ld hl, DuelDmgSgbSymbolGraphics - $4000
|
||||
ld de, sGfxBuffer4 + $10 tiles
|
||||
ld b, $30
|
||||
ld b, NUM_CARD_TYPE_ICON_TILES
|
||||
jr CopyFontsOrDuelGraphicsTiles
|
||||
|
||||
; load the graphics and draw the duel box message given a BOXMSG_* constant in a
|
||||
DrawDuelBoxMessage::
|
||||
push af
|
||||
REPT 3 ; *= PAL_SIZE
|
||||
add a
|
||||
add a
|
||||
add a
|
||||
ENDR
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, Pals_6f110 - $4000
|
||||
ld hl, DuelBoxMessagePalettes - $4000
|
||||
add hl, de
|
||||
ld de, wBackgroundPalettesCGB + 2 palettes
|
||||
ld c, PAL_SIZE
|
||||
|
||||
@@ -57,7 +57,7 @@ KNOWN_PRE = [
|
||||
(0x70000, 36*16, 'DuelCheckPokemonScreenGfx', 'gfx/duel/check_pokemon_screen', 6), # face-down cards + ACT/BPx (LoadDuelCheckPokemonScreenTiles)
|
||||
(0x70240, 45*16, 'DuelPlayAreaScreenGfx', 'gfx/duel/play_area_screen', 9), # CGB play-area screen (Func_1dff)
|
||||
(0x70510, 45*16, 'DuelPlayAreaScreenGfxDMG', 'gfx/duel/play_area_screen_dmg', 9), # DMG/SGB variant
|
||||
(0x707e0, 13*16, 'DuelDeckAndDiscardPileIcons', 'gfx/duel/deck_discard_icons', 13), # LoadDeckAndDiscardPileIcons
|
||||
(0x707e0, 13*16, 'DuelSetupGraphics', 'gfx/duel/setup_icons', 13), # LoadDuelPlayAreaScreenTiles_Setup
|
||||
(0x708b0, 8*16, 'DuelCoinTossResultTiles', 'gfx/duel/coin_toss_result_symbols', 4), # [O]/[X] (LoadDuelCoinTossResultTiles); distinct from CoinTossResultGfx
|
||||
(0x70930, 8*16, 'DuelMenuAndCardPicBorderTiles', 'gfx/duel/menu_card_pic_border', 8), # LoadCardOrDuelMenuBorderTiles
|
||||
(0x709b0, 8*16, 'DuelDrawCardsScreenIcons', 'gfx/duel/draw_cards_icons', 4), # Deck/Hand (LoadDuelDrawCardsScreenTiles)
|
||||
|
||||
Reference in New Issue
Block a user