Identify wSpriteAnimDict key constants

This commit is contained in:
Rangi 2020-10-30 15:39:08 -04:00
parent 7a42f1790a
commit fe1a58deea
13 changed files with 520 additions and 265 deletions

View File

@ -21,6 +21,9 @@
BATTLEANIMSTRUCT_LENGTH EQU const_value
NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects
; wBattleAnimTileDict size (see wram.asm)
NUM_BATTLEANIMTILEDICT_ENTRIES EQU 5
; Start tile for battle animation graphics
BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture

View File

@ -19,6 +19,18 @@
SPRITEANIMSTRUCT_LENGTH EQU const_value
NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
; wSpriteAnimDict keys (see wram.asm)
const_def
const SPRITE_ANIM_DICT_DEFAULT ; 0
const_skip 4 ; unused
const SPRITE_ANIM_DICT_TEXT_CURSOR ; 5
const SPRITE_ANIM_DICT_GS_SPLASH ; 6
const SPRITE_ANIM_DICT_SLOTS ; 7
const SPRITE_ANIM_DICT_ARROW_CURSOR ; 8
; wSpriteAnimDict size (see wram.asm)
NUM_SPRITEANIMDICT_ENTRIES EQU 10
; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
const_def
const SPRITE_ANIM_INDEX_PARTY_MON ; 00

File diff suppressed because it is too large Load Diff

View File

@ -1,48 +1,93 @@
SpriteAnimSeqData:
; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset, sequence, tile
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA, $00 ; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
db SPRITE_ANIM_FRAMESET_EGG_HATCH_1, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1, SPRITE_ANIM_SEQ_EZCHAT_CURSOR, $00 ; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, SPRITE_ANIM_DICT_TEXT_CURSOR
; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_DICT_GS_SPLASH
; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_DICT_GS_SPLASH
; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_INDEX_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, SPRITE_ANIM_DICT_TEXT_CURSOR
; SPRITE_ANIM_INDEX_RED_WALK
db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_UNUSED_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_UNUSED_CURSOR, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_INDEX_DUMMY_GAME
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADE_POOF
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_CUT_TREE
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_FLY_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EGG_CRACK
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA
db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_HEADBUTT
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EGG_HATCH
db SPRITE_ANIM_FRAMESET_EGG_HATCH_1, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1, SPRITE_ANIM_SEQ_EZCHAT_CURSOR, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_BLUE_WALK
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT

View File

@ -288,7 +288,7 @@ GetBattleAnimTileOffset:
push bc
ld hl, wBattleAnimTileDict
ld b, a
ld c, 10 / 2
ld c, NUM_BATTLEANIMTILEDICT_ENTRIES
.loop
ld a, [hli]
cp b

View File

@ -19,10 +19,10 @@ _DummyGame:
ld bc, 4 tiles
ld a, BANK(DummyGameGFX)
call FarCopyBytes
ld a, $8
ld a, SPRITE_ANIM_DICT_ARROW_CURSOR
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
ld [hl], $00
hlcoord 0, 0
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a

View File

@ -144,7 +144,7 @@ _SlotMachine:
call ByteFill
call Slots_InitReelTiles
call Slots_GetPals
ld a, $7
ld a, SPRITE_ANIM_DICT_SLOTS
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $40
@ -159,7 +159,7 @@ _SlotMachine:
call Random
and %00101010
ret nz
ld a, 1
ld a, TRUE
ld [wKeepSevenBiasChance], a ; 12.5% chance
ret

View File

@ -1,6 +1,6 @@
ClearSpriteAnims:
ld hl, wSpriteAnimDict
ld bc, wSpriteAnimsEnd - wSpriteAnimDict
ld hl, wSpriteAnimData
ld bc, wSpriteAnimDataEnd - wSpriteAnimData
.loop
ld [hl], 0
inc hl
@ -168,8 +168,8 @@ _InitSpriteAnimStruct::
ld a, [de]
ld [hli], a ; SPRITEANIMSTRUCT_ANIM_SEQ_ID
inc de
; Look up the third field from the table in the wSpriteAnimDict array (10x2).
; Take the value and load it in
; Look up the third field in the wSpriteAnimDict mapping.
; Take the mapped value and load it in.
ld a, [de]
call GetSpriteAnimVTile
ld [hli], a ; SPRITEANIMSTRUCT_TILE_ID
@ -373,13 +373,12 @@ InitSpriteAnimBuffer:
ret
GetSpriteAnimVTile:
; a = wSpriteAnimDict[a] if a in wSpriteAnimDict else 0
; vTiles offset
; a = wSpriteAnimDict[a] if a in wSpriteAnimDict else vtile offset $00
push hl
push bc
ld hl, wSpriteAnimDict
ld b, a
ld c, NUM_SPRITE_ANIM_STRUCTS
ld c, NUM_SPRITEANIMDICT_ENTRIES
.loop
ld a, [hli]
cp b
@ -634,8 +633,8 @@ ClearSpriteAnims2:
push de
push bc
push af
ld hl, wSpriteAnimDict
ld bc, wSpriteAnimsEnd - wSpriteAnimDict
ld hl, wSpriteAnimData
ld bc, wSpriteAnimDataEnd - wSpriteAnimData
.loop
ld [hl], 0
inc hl

View File

@ -161,7 +161,7 @@ NamingScreen:
ld hl, vTiles0 tile $00
lb bc, BANK(PokeBallSpriteGFX), 4
call Request2bpp
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT and tile offset $00
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a
@ -203,7 +203,7 @@ NamingScreen:
ld d, h
ld hl, vTiles0 tile $04
call Request2bpp
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT and tile offset $00
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a
@ -856,8 +856,8 @@ LoadNamingScreenGFX:
ld a, BANK(NamingScreenGFX_Cursor)
call FarCopyBytes
ld a, $5
ld hl, wSpriteAnimDict + 9 * 2
ld a, SPRITE_ANIM_DICT_TEXT_CURSOR
ld hl, wSpriteAnimDict + (NUM_SPRITEANIMDICT_ENTRIES - 1) * 2
ld [hli], a
ld [hl], NAMINGSCREEN_CURSOR
xor a
@ -925,7 +925,7 @@ _ComposeMailMessage:
ld bc, 8 tiles
ld a, BANK(.MailIcon)
call FarCopyBytes
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT and tile offset $00
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a

View File

@ -926,7 +926,7 @@ IntroScene19:
ldh [hWY], a
farcall ClearSpriteAnims
ld hl, wSpriteAnimDict
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT
ld [hli], a
ld [hl], $7f
call Intro_SetCGBPalUpdate

View File

@ -1355,7 +1355,7 @@ LoadTradeBallAndCableGFX:
ld hl, vTiles0 tile $74
lb bc, BANK(TradeCableGFX), 4
call Request2bpp
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $62
@ -1369,7 +1369,7 @@ LoadTradeBubbleGFX:
ld hl, vTiles0 tile $72
lb bc, BANK(TradeBubbleGFX), 4
call Request2bpp
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $62

View File

@ -191,10 +191,10 @@ Function1080b7:
lb bc, BANK(TradePoofGFX), 12
call Request2bpp
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
ld [hl], $00
ld a, [wPlayerTrademonSpecies]
ld hl, wPlayerTrademonDVs
@ -239,10 +239,10 @@ Function108157:
ld a, $90
ldh [hWY], a
farcall ClearSpriteAnims
xor a
xor a ; SPRITE_ANIM_DICT_DEFAULT
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
ld [hl], $00
call DelayFrame
ld a, [wPlayerTrademonSpecies]
ld de, wPlayerTrademonSpeciesName

View File

@ -215,10 +215,13 @@ wTilePermissions::
SECTION "wSpriteAnims", WRAM0
UNION
; wSpriteAnimDict is a 10x2 dictionary
; keys: taken from third column of SpriteAnimSeqData
; values: vTiles
wSpriteAnimDict:: ds 10 * 2
wSpriteAnimData::
wSpriteAnimDict::
; wSpriteAnimDict pairs keys with values
; keys: SPRITE_ANIM_DICT_* indexes (taken from SpriteAnimSeqData)
; values: vTiles0 offsets
ds NUM_SPRITEANIMDICT_ENTRIES * 2
wSpriteAnimationStructs::
; field 0: index
@ -285,7 +288,8 @@ wCurAnimXOffset:: db
wCurAnimYOffset:: db
wGlobalAnimYOffset:: db
wGlobalAnimXOffset:: db
wSpriteAnimsEnd::
wSpriteAnimDataEnd::
ds 11
@ -3195,7 +3199,11 @@ wLYOverridesBackupEnd::
SECTION "Battle Animations", WRAMX
wBattleAnimTileDict:: ds 10
wBattleAnimTileDict::
; wBattleAnimTileDict pairs keys with values
; keys: ANIM_GFX_* indexes (taken from anim_*gfx arguments)
; values: vTiles0 offsets
ds NUM_BATTLEANIMTILEDICT_ENTRIES * 2
wActiveAnimObjects::
wAnimObject01:: battle_anim_struct wAnimObject01