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 BATTLEANIMSTRUCT_LENGTH EQU const_value
NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects
; wBattleAnimTileDict size (see wram.asm)
NUM_BATTLEANIMTILEDICT_ENTRIES EQU 5
; Start tile for battle animation graphics ; Start tile for battle animation graphics
BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture

View File

@@ -19,6 +19,18 @@
SPRITEANIMSTRUCT_LENGTH EQU const_value SPRITEANIMSTRUCT_LENGTH EQU const_value
NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs 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) ; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
const_def const_def
const SPRITE_ANIM_INDEX_PARTY_MON ; 00 const SPRITE_ANIM_INDEX_PARTY_MON ; 00

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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