Identify/document labels and rename gfx files

This commit is contained in:
ElectroDeoxys 2023-01-16 14:36:15 +00:00
parent 01e824b98c
commit 26b22c6075
116 changed files with 1087 additions and 1088 deletions

View File

@ -106,15 +106,15 @@ src/gfx/booster_packs/mystery2.2bpp: rgbgfx += -x 10
src/gfx/cards/%.2bpp: rgbgfx += -Z -P
src/gfx/duel/anims/51.2bpp: rgbgfx += -x 10
src/gfx/duel/anims/result.2bpp: rgbgfx += -x 10
src/gfx/duel/dmg_sgb_symbols.2bpp: rgbgfx += -x 7
src/gfx/duel/other.2bpp: rgbgfx += -x 7
src/gfx/fonts/full_width/4.1bpp: rgbgfx += -x 3
src/gfx/link/cardpop.2bpp: rgbgfx += -x 3
src/gfx/link/gameboylink.2bpp: rgbgfx += -x 3
src/gfx/link/gameboyprinter.2bpp: rgbgfx += -x 3
src/gfx/link/card_pop_scene.2bpp: rgbgfx += -x 3
src/gfx/link/link_scene.2bpp: rgbgfx += -x 3
src/gfx/link/printer_scene.2bpp: rgbgfx += -x 3
src/gfx/overworld_map.2bpp: rgbgfx += -x 15

View File

@ -243,7 +243,7 @@ DEF NUM_SPRITE_ANIMS EQU const_value
const DUEL_ANIM_SLEEP ; $03
const DUEL_ANIM_CONFUSION ; $04
const DUEL_ANIM_POISON ; $05
const DUEL_ANIM_6 ; $06
const DUEL_ANIM_SINGLE_HIT ; $06
const DUEL_ANIM_HIT ; $07
const DUEL_ANIM_BIG_HIT ; $08
const DUEL_ANIM_SHOW_DAMAGE ; $09
@ -261,7 +261,7 @@ DEF NUM_SPRITE_ANIMS EQU const_value
const DUEL_ANIM_HYDRO_PUMP ; $15
const DUEL_ANIM_BLIZZARD ; $16
const DUEL_ANIM_PSYCHIC ; $17
const DUEL_ANIM_GLARE ; $18
const DUEL_ANIM_LEER ; $18
const DUEL_ANIM_BEAM ; $19
const DUEL_ANIM_HYPER_BEAM ; $1a
const DUEL_ANIM_ROCK_THROW ; $1b
@ -272,7 +272,7 @@ DEF NUM_SPRITE_ANIMS EQU const_value
const DUEL_ANIM_STRETCH_KICK ; $20
const DUEL_ANIM_SLASH ; $21
const DUEL_ANIM_WHIP ; $22
const DUEL_ANIM_TEAR ; $23
const DUEL_ANIM_SONICBOOM ; $23
const DUEL_ANIM_FURY_SWIPES ; $24
const DUEL_ANIM_DRILL ; $25
const DUEL_ANIM_POT_SMASH ; $26
@ -293,7 +293,7 @@ DEF NUM_SPRITE_ANIMS EQU const_value
const DUEL_ANIM_PETAL_DANCE ; $35
const DUEL_ANIM_PROTECT ; $36
const DUEL_ANIM_BARRIER ; $37
const DUEL_ANIM_QUICK_ATTACK ; $38
const DUEL_ANIM_SPEED ; $38
const DUEL_ANIM_WHIRLWIND ; $39
const DUEL_ANIM_CRY ; $3a
const DUEL_ANIM_QUESTION_MARK ; $3b
@ -303,25 +303,25 @@ DEF NUM_SPRITE_ANIMS EQU const_value
const DUEL_ANIM_DRAIN ; $3f
const DUEL_ANIM_DARK_GAS ; $40
const DUEL_ANIM_BIG_SELFDESTRUCT_2 ; $41
const DUEL_ANIM_66 ; $42
const DUEL_ANIM_67 ; $43
const DUEL_ANIM_68 ; $44
const DUEL_ANIM_69 ; $45
const DUEL_ANIM_70 ; $46
const DUEL_ANIM_71 ; $47
const DUEL_ANIM_72 ; $48
const DUEL_ANIM_73 ; $49
const DUEL_ANIM_74 ; $4a
const DUEL_ANIM_UNUSED_42 ; $42
const DUEL_ANIM_UNUSED_43 ; $43
const DUEL_ANIM_BENCH_THUNDER ; $44
const DUEL_ANIM_QUICKFREEZE ; $45
const DUEL_ANIM_BENCH_GLOW ; $46
const DUEL_ANIM_FIREGIVER_START ; $47
const DUEL_ANIM_UNUSED_48 ; $48
const DUEL_ANIM_HEALING_WIND ; $49
const DUEL_ANIM_BENCH_WHIRLWIND ; $4a
const DUEL_ANIM_EXPAND ; $4b
const DUEL_ANIM_76 ; $4c
const DUEL_ANIM_CAT_PUNCH ; $4c
const DUEL_ANIM_THUNDER_WAVE ; $4d
const DUEL_ANIM_78 ; $4e
const DUEL_ANIM_79 ; $4f
const DUEL_ANIM_80 ; $50
const DUEL_ANIM_FIREGIVER_PLAYER ; $4e
const DUEL_ANIM_FIREGIVER_OPP ; $4f
const DUEL_ANIM_UNUSED_50 ; $50
const DUEL_ANIM_PLAYER_SHUFFLE ; $51
const DUEL_ANIM_OPP_SHUFFLE ; $52
const DUEL_ANIM_BOTH_SHUFFLE ; $53
const DUEL_ANIM_84 ; $54
const DUEL_ANIM_UNUSED_54 ; $54
const DUEL_ANIM_BOTH_DRAW ; $55
const DUEL_ANIM_PLAYER_DRAW ; $56
const DUEL_ANIM_OPP_DRAW ; $57
@ -333,7 +333,7 @@ DEF NUM_SPRITE_ANIMS EQU const_value
const DUEL_ANIM_DUEL_WIN ; $5d
const DUEL_ANIM_DUEL_LOSS ; $5e
const DUEL_ANIM_DUEL_DRAW ; $5f
const DUEL_ANIM_96 ; $60
const DUEL_ANIM_UNUSED_60 ; $60
DEF NUM_REGULAR_DUEL_ANIMS EQU const_value
@ -390,3 +390,6 @@ DEF const_value = const_value + 1
DEF OW_FRAME_STRUCT_SIZE EQU const_value
DEF NUM_OW_FRAMESET_SUBGROUPS EQU 3
DEF SET_ANIM_SCREEN_MAIN EQU $1
DEF SET_ANIM_SCREEN_PLAY_AREA EQU $4

View File

@ -5,15 +5,15 @@
const ATK_ANIM_NONE ; $00
const ATK_ANIM_HIT ; $01
const ATK_ANIM_BIG_HIT ; $02
const ATK_ANIM_3 ; $03
const ATK_ANIM_UNUSED_03 ; $03
const ATK_ANIM_HIT_RECOIL ; $04
const ATK_ANIM_HIT_EFFECT ; $05
const ATK_ANIM_THUNDERSHOCK ; $06
const ATK_ANIM_THUNDER ; $07
const ATK_ANIM_THUNDERBOLT ; $08
const ATK_ANIM_9 ; $09
const ATK_ANIM_UNUSED_09 ; $09
const ATK_ANIM_THUNDER_WHOLE_SCREEN ; $0a
const ATK_ANIM_11 ; $0b
const ATK_ANIM_UNUSED_0B ; $0b
const ATK_ANIM_THUNDERSTORM ; $0c
const ATK_ANIM_CHAIN_LIGHTNING ; $0d
const ATK_ANIM_SMALL_FLAME ; $0e
@ -25,15 +25,15 @@
const ATK_ANIM_WHIRLPOOL ; $14
const ATK_ANIM_DRAGON_RAGE ; $15
const ATK_ANIM_HYDRO_PUMP ; $16
const ATK_ANIM_23 ; $17
const ATK_ANIM_UNUSED_17 ; $17
const ATK_ANIM_BLIZZARD ; $18
const ATK_ANIM_PSYCHIC_HIT ; $19
const ATK_ANIM_NIGHTMARE ; $1a
const ATK_ANIM_27 ; $1b
const ATK_ANIM_UNUSED_1B ; $1b
const ATK_ANIM_DARK_MIND ; $1c
const ATK_ANIM_BEAM ; $1d
const ATK_ANIM_HYPER_BEAM ; $1e
const ATK_ANIM_31 ; $1f
const ATK_ANIM_UNUSED_1F ; $1f
const ATK_ANIM_ROCK_THROW ; $20
const ATK_ANIM_STONE_BARRAGE ; $21
const ATK_ANIM_PUNCH ; $22
@ -42,44 +42,44 @@
const ATK_ANIM_STRETCH_KICK ; $25
const ATK_ANIM_SLASH ; $26
const ATK_ANIM_WHIP ; $27
const ATK_ANIM_TEAR ; $28
const ATK_ANIM_SONICBOOM ; $28
const ATK_ANIM_MULTIPLE_SLASH ; $29
const ATK_ANIM_42 ; $2a
const ATK_ANIM_UNUSED_2A ; $2a
const ATK_ANIM_RAMPAGE ; $2b
const ATK_ANIM_DRILL ; $2c
const ATK_ANIM_POT_SMASH ; $2d
const ATK_ANIM_BONEMERANG ; $2e
const ATK_ANIM_SEISMIC_TOSS ; $2f
const ATK_ANIM_NEEDLES ; $30
const ATK_ANIM_49 ; $31
const ATK_ANIM_UNUSED_31 ; $31
const ATK_ANIM_SMOG ; $32
const ATK_ANIM_51 ; $33
const ATK_ANIM_52 ; $34
const ATK_ANIM_UNUSED_33 ; $33
const ATK_ANIM_UNUSED_34 ; $34
const ATK_ANIM_FOUL_GAS ; $35
const ATK_ANIM_FOUL_ODOR ; $36
const ATK_ANIM_POWDER_EFFECT_CHANCE ; $37
const ATK_ANIM_POWDER_HIT_POISON ; $38
const ATK_ANIM_POISON_POWDER ; $39
const ATK_ANIM_58 ; $3a
const ATK_ANIM_59 ; $3b
const ATK_ANIM_60 ; $3c
const ATK_ANIM_UNUSED_3A ; $3a
const ATK_ANIM_UNUSED_3B ; $3b
const ATK_ANIM_UNUSED_3C ; $3c
const ATK_ANIM_GOO ; $3d
const ATK_ANIM_62 ; $3e
const ATK_ANIM_UNUSED_3E ; $3e
const ATK_ANIM_SPIT_POISON ; $3f
const ATK_ANIM_64 ; $40
const ATK_ANIM_UNUSED_40 ; $40
const ATK_ANIM_BUBBLES ; $41
const ATK_ANIM_66 ; $42
const ATK_ANIM_UNUSED_42 ; $42
const ATK_ANIM_STRING_SHOT ; $43
const ATK_ANIM_68 ; $44
const ATK_ANIM_UNUSED_44 ; $44
const ATK_ANIM_BOYFRIENDS ; $45
const ATK_ANIM_LURE ; $46
const ATK_ANIM_TOXIC ; $47
const ATK_ANIM_CONFUSE_RAY ; $48
const ATK_ANIM_73 ; $49
const ATK_ANIM_UNUSED_49 ; $49
const ATK_ANIM_SING ; $4a
const ATK_ANIM_LULLABY ; $4b
const ATK_ANIM_SUPERSONIC ; $4c
const ATK_ANIM_77 ; $4d
const ATK_ANIM_UNUSED_4D ; $4d
const ATK_ANIM_PETAL_DANCE ; $4e
const ATK_ANIM_PROTECT ; $4f
const ATK_ANIM_BARRIER ; $50
@ -105,23 +105,23 @@
const ATK_ANIM_BIG_THUNDER ; $64
const ATK_ANIM_SOLAR_POWER ; $65
const ATK_ANIM_POISON_FANG ; $66
const ATK_ANIM_103 ; $67
const ATK_ANIM_104 ; $68
const ATK_ANIM_105 ; $69
const ATK_ANIM_UNUSED_67 ; $67
const ATK_ANIM_UNUSED_68 ; $68
const ATK_ANIM_UNUSED_69 ; $69
const ATK_ANIM_FRIENDSHIP_SONG ; $6a
const ATK_ANIM_SCRUNCH ; $6b
const ATK_ANIM_CAT_PUNCH ; $6c
const ATK_ANIM_MAGNETIC_STORM ; $6d
const ATK_ANIM_POISON_WHIP ; $6e
const ATK_ANIM_THUNDER_WAVE ; $6f
const ATK_ANIM_112 ; $70
const ATK_ANIM_UNUSED_70 ; $70
const ATK_ANIM_SPORE ; $71
const ATK_ANIM_HYPNOSIS ; $72
const ATK_ANIM_ENERGY_CONVERSION ; $73
const ATK_ANIM_LEER ; $74
const ATK_ANIM_CONFUSION_HIT ; $75
const ATK_ANIM_118 ; $76
const ATK_ANIM_119 ; $77
const ATK_ANIM_UNUSED_76 ; $76
const ATK_ANIM_UNUSED_77 ; $77
const ATK_ANIM_BENCH_HIT ; $78
const ATK_ANIM_HEAL ; $79
const ATK_ANIM_RECOIL_HIT ; $7a
@ -129,9 +129,9 @@
const ATK_ANIM_CONFUSION ; $7c
const ATK_ANIM_PARALYSIS ; $7d
const ATK_ANIM_SLEEP ; $7e
const ATK_ANIM_IMAKUNI_CONFUSION ; $7f
const ATK_ANIM_OWN_CONFUSION ; $7f
const ATK_ANIM_SLEEPING_GAS ; $80
const ATK_ANIM_129 ; $81
const ATK_ANIM_UNUSED_81 ; $81
const ATK_ANIM_THUNDER_PLAY_AREA ; $82
const ATK_ANIM_CAT_PUNCH_PLAY_AREA ; $83
const ATK_ANIM_FIREGIVER_PLAYER ; $84
@ -139,13 +139,13 @@
const ATK_ANIM_HEALING_WIND_PLAY_AREA ; $86
const ATK_ANIM_GALE ; $87
const ATK_ANIM_EXPAND ; $88
const ATK_ANIM_137 ; $89
const ATK_ANIM_UNUSED_89 ; $89
const ATK_ANIM_FULL_HEAL ; $8a
const ATK_ANIM_139 ; $8b
const ATK_ANIM_UNUSED_8B ; $8b
const ATK_ANIM_SPIT_POISON_SUCCESS ; $8c
const ATK_ANIM_GUST_OF_WIND ; $8d
const ATK_ANIM_HEAL_BOTH_SIDES ; $8e
const ATK_ANIM_143 ; $8f
const ATK_ANIM_144 ; $90
const ATK_ANIM_UNUSED_8F ; $8f
const ATK_ANIM_UNUSED_90 ; $90
DEF NUM_ATK_ANIMS EQU const_value

View File

@ -23,21 +23,73 @@ DEF AI_ENERGY_FLAG_SKIP_ARENA_CARD EQU 1 << 7 ; whether to include Arena card in
; if Professor Oak is played, all other Trainer card phases
; are processed again except AI_TRAINER_CARD_PHASE_15.
const_def 1
const AI_TRAINER_CARD_PHASE_01 ; $1
; Imakuni?
; Gambler
const AI_TRAINER_CARD_PHASE_02 ; $2
; Maintenance
; Poké Ball
; Computer Search
; Pokémon Trader
const AI_TRAINER_CARD_PHASE_03 ; $3
; Pokédex
; Recycle
const AI_TRAINER_CARD_PHASE_04 ; $4
; Bill
; Item Finder
const AI_TRAINER_CARD_PHASE_05 ; $5
; (Super) Energy Removal
; Revive
; Clefairy Doll
; Mysterious Fossil
const AI_TRAINER_CARD_PHASE_06 ; $6
; Pokémon Center
const AI_TRAINER_CARD_PHASE_07 ; $7
; Potion
; Gust of Wind
; Pokémon Breeder
; Imposter Professor Oak
; Full Heal
const AI_TRAINER_CARD_PHASE_08 ; $8
; Super Potion
const AI_TRAINER_CARD_PHASE_09 ; $9
; Switch
const AI_TRAINER_CARD_PHASE_10 ; $a
; Potion
; Gust of Wind
; Energy Retrieval
; Mr Fuji
; Scoop Up
const AI_TRAINER_CARD_PHASE_11 ; $b
; Super Potion
; Super Energy Retrieval
const AI_TRAINER_CARD_PHASE_12 ; $c
; Energy Search
const AI_TRAINER_CARD_PHASE_13 ; $d
const AI_TRAINER_CARD_PHASE_14 ; $e, just before attack
const AI_TRAINER_CARD_PHASE_15 ; $f, for Professor Oak
; Defender
; Pluspower
; Lass
; Pokémon Flute
const AI_TRAINER_CARD_PHASE_14 ; $e
; Defender
; Pluspower
const AI_TRAINER_CARD_PHASE_15 ; $f
; Professor Oak
; used by wAIBarrierFlagCounter to determine
; whether Player is running MewtwoLv53 mill deck.

View File

@ -33,7 +33,8 @@ DEF const_value = const_value+1
const NPC_DATA_MATCH_START_ID
DEF NPC_DATA_LENGTH EQU const_value
const_def 1
const_def
const INVALID_PIC ; $00
const PLAYER_PIC ; $01
const RONALD_PIC ; $02
const SAM_PIC ; $03

View File

@ -73,73 +73,73 @@ DEF SPRITE_FRAME_OFFSET_SIZE EQU 4
const SPRITE_OW_WOMAN ; $23
const SPRITE_OW_GRANNY ; $24
const SPRITE_OW_MAP_OAM ; $25
const SPRITE_DUEL_0 ; $26
const SPRITE_DUEL_63 ; $27
const SPRITE_OW_TORCH ; $26
const SPRITE_OW_LEGENDARY_CARD ; $27
const SPRITE_DUEL_GLOW ; $28
const SPRITE_DUEL_1 ; $29
const SPRITE_DUEL_2 ; $2a
const SPRITE_DUEL_55 ; $2b
const SPRITE_DUEL_58 ; $2c
const SPRITE_DUEL_3 ; $2d
const SPRITE_DUEL_4 ; $2e
const SPRITE_DUEL_5 ; $2f
const SPRITE_DUEL_6 ; $30
const SPRITE_DUEL_59 ; $31
const SPRITE_DUEL_7 ; $32
const SPRITE_DUEL_8 ; $33
const SPRITE_DUEL_9 ; $34
const SPRITE_DUEL_10 ; $35
const SPRITE_DUEL_61 ; $36
const SPRITE_DUEL_11 ; $37
const SPRITE_DUEL_12 ; $38
const SPRITE_DUEL_13 ; $39
const SPRITE_DUEL_62 ; $3a
const SPRITE_DUEL_14 ; $3b
const SPRITE_DUEL_15 ; $3c
const SPRITE_DUEL_16 ; $3d
const SPRITE_DUEL_17 ; $3e
const SPRITE_DUEL_18 ; $3f
const SPRITE_DUEL_19 ; $40
const SPRITE_DUEL_20 ; $41
const SPRITE_DUEL_21 ; $42
const SPRITE_DUEL_22 ; $43
const SPRITE_DUEL_23 ; $44
const SPRITE_DUEL_24 ; $45
const SPRITE_DUEL_25 ; $46
const SPRITE_DUEL_26 ; $47
const SPRITE_DUEL_27 ; $48
const SPRITE_DUEL_28 ; $49
const SPRITE_DUEL_29 ; $4a
const SPRITE_DUEL_56 ; $4b
const SPRITE_DUEL_30 ; $4c
const SPRITE_DUEL_31 ; $4d
const SPRITE_DUEL_32 ; $4e
const SPRITE_DUEL_33 ; $4f
const SPRITE_DUEL_34 ; $50
const SPRITE_DUEL_35 ; $51
const SPRITE_DUEL_66 ; $52
const SPRITE_DUEL_36 ; $53
const SPRITE_DUEL_37 ; $54
const SPRITE_DUEL_57 ; $55
const SPRITE_DUEL_38 ; $56
const SPRITE_DUEL_39 ; $57
const SPRITE_DUEL_40 ; $58
const SPRITE_DUEL_41 ; $59
const SPRITE_DUEL_42 ; $5a
const SPRITE_DUEL_43 ; $5b
const SPRITE_DUEL_44 ; $5c
const SPRITE_DUEL_60 ; $5d
const SPRITE_DUEL_64 ; $5e
const SPRITE_DUEL_45 ; $5f
const SPRITE_DUEL_46 ; $60
const SPRITE_DUEL_47 ; $61
const SPRITE_DUEL_48 ; $62
const SPRITE_DUEL_49 ; $63
const SPRITE_DUEL_50 ; $64
const SPRITE_DUEL_WON_LOST_DRAW ; $65
const SPRITE_DUEL_52 ; $66
const SPRITE_DUEL_53 ; $67
const SPRITE_DUEL_54 ; $68
const SPRITE_DUEL_PARALYSIS ; $29
const SPRITE_DUEL_SLEEP ; $2a
const SPRITE_DUEL_STAR ; $2b
const SPRITE_DUEL_POISON ; $2c
const SPRITE_DUEL_HIT ; $2d
const SPRITE_DUEL_DAMAGE ; $2e
const SPRITE_DUEL_THUNDER ; $2f
const SPRITE_DUEL_LIGHTNING ; $30
const SPRITE_DUEL_SPARK ; $31
const SPRITE_DUEL_BIG_LIGHTNING ; $32
const SPRITE_DUEL_FLAME ; $33
const SPRITE_DUEL_FIRE_SPIN ; $34
const SPRITE_DUEL_FIRE_BIRD ; $35
const SPRITE_DUEL_WATER_DROP ; $36
const SPRITE_DUEL_WATER_GUN ; $37
const SPRITE_DUEL_WHIRLPOOL ; $38
const SPRITE_DUEL_HYDRO_PUMP ; $39
const SPRITE_DUEL_SNOW ; $3a
const SPRITE_DUEL_PSYCHIC ; $3b
const SPRITE_DUEL_LEER ; $3c
const SPRITE_DUEL_BEAM ; $3d
const SPRITE_DUEL_HYPER_BEAM ; $3e
const SPRITE_DUEL_ROCK_THROW ; $3f
const SPRITE_DUEL_PUNCH ; $40
const SPRITE_DUEL_STRETCH_KICK ; $41
const SPRITE_DUEL_SLASH ; $42
const SPRITE_DUEL_WHIP ; $43
const SPRITE_DUEL_SONICBOOM ; $44
const SPRITE_DUEL_DRILL ; $45
const SPRITE_DUEL_POT ; $46
const SPRITE_DUEL_BONE ; $47
const SPRITE_DUEL_PLANET ; $48
const SPRITE_DUEL_NEEDLES ; $49
const SPRITE_DUEL_GAS ; $4a
const SPRITE_DUEL_POWDER ; $4b
const SPRITE_DUEL_GOO ; $4c
const SPRITE_DUEL_BUBBLE ; $4d
const SPRITE_DUEL_STRING ; $4e
const SPRITE_DUEL_HEART ; $4f
const SPRITE_DUEL_LURE ; $50
const SPRITE_DUEL_SKULL ; $51
const SPRITE_DUEL_SMALL_STAR ; $52
const SPRITE_DUEL_NOTE ; $53
const SPRITE_DUEL_SOUND ; $54
const SPRITE_DUEL_PETAL ; $55
const SPRITE_DUEL_PROTECT ; $56
const SPRITE_DUEL_BARRIER ; $57
const SPRITE_DUEL_SPEED ; $58
const SPRITE_DUEL_WHIRLWIND ; $59
const SPRITE_DUEL_CRY ; $5a
const SPRITE_DUEL_QUESTION_MARK ; $5b
const SPRITE_DUEL_EXPLOSION ; $5c
const SPRITE_DUEL_HEAL ; $5d
const SPRITE_DUEL_DRAIN ; $5e
const SPRITE_DUEL_SMALL_GLOW ; $5f
const SPRITE_DUEL_BALL ; $60
const SPRITE_DUEL_CAT_POW ; $61
const SPRITE_DUEL_WAVE ; $62
const SPRITE_DUEL_CARD ; $63
const SPRITE_DUEL_COIN ; $64
const SPRITE_DUEL_RESULT ; $65
const SPRITE_LINK ; $66
const SPRITE_PRINTER ; $67
const SPRITE_CARD_POP ; $68
const SPRITE_BOOSTER_PACK_OAM ; $69
const SPRITE_PRESS_START ; $6a
const SPRITE_GRASS ; $6b

View File

@ -2261,7 +2261,7 @@ PinsirCard:
db NONE ; flags 2
db NONE ; flags 3
db 0
db ATK_ANIM_TEAR ; animation
db ATK_ANIM_SONICBOOM ; animation
db 1 ; retreat cost
db WR_FIRE ; weakness
@ -5358,7 +5358,7 @@ MagnetonLv35Card:
db NONE ; flags 2
db NONE ; flags 3
db 0
db ATK_ANIM_TEAR ; animation
db ATK_ANIM_SONICBOOM ; animation
; attack 2
energy LIGHTNING, 4 ; energies
@ -5460,7 +5460,7 @@ ElectrodeLv35Card:
db NONE ; flags 2
db NONE ; flags 3
db 0
db ATK_ANIM_TEAR ; animation
db ATK_ANIM_SONICBOOM ; animation
; attack 2
energy LIGHTNING, 3 ; energies
@ -6990,7 +6990,7 @@ KabutopsCard:
db NONE ; flags 2
db NONE ; flags 3
db 0
db ATK_ANIM_TEAR ; animation
db ATK_ANIM_SONICBOOM ; animation
; attack 2
energy FIGHTING, 4 ; energies

View File

@ -10,10 +10,10 @@ ENDM
MACRO anim_opponent
db $03, \1
ENDM
MACRO anim_unknown
MACRO anim_screen
db $04, \1
ENDM
MACRO anim_unknown2
MACRO anim_play_area
db $05, \1
ENDM
MACRO anim_end2
@ -25,35 +25,35 @@ PointerTable_AttackAnimation:
dw NULL ; ATK_ANIM_NONE
dw AttackAnimation_Hit ; ATK_ANIM_HIT
dw AttackAnimation_BigHit ; ATK_ANIM_BIG_HIT
dw AttackAnimation_Hit ; ATK_ANIM_3
dw AttackAnimation_Hit ; ATK_ANIM_UNUSED_03
dw AttackAnimation_Hit ; ATK_ANIM_HIT_RECOIL
dw AttackAnimation_Hit ; ATK_ANIM_HIT_EFFECT
dw AttackAnimation_ThunderShock ; ATK_ANIM_THUNDERSHOCK
dw AttackAnimation_ThunderShock ; ATK_ANIM_THUNDER
dw AttackAnimation_Thunderbolt ; ATK_ANIM_THUNDERBOLT
dw AttackAnimation_ThunderShock ; ATK_ANIM_9
dw AttackAnimation_ThunderShock ; ATK_ANIM_UNUSED_09
dw AttackAnimation_BigLightning ; ATK_ANIM_THUNDER_WHOLE_SCREEN
dw AttackAnimation_BigLightning ; ATK_ANIM_11
dw AttackAnimation_BigLightning ; ATK_ANIM_UNUSED_0B
dw AttackAnimation_BigLightning ; ATK_ANIM_THUNDERSTORM
dw AttackAnimation_BigLightning ; ATK_ANIM_CHAIN_LIGHTNING
dw AttackAnimation_SmallFlame ; ATK_ANIM_SMALL_FLAME
dw AttackAnimation_BigFlame ; ATK_ANIM_BIG_FLAME
dw AttackAnimation_FireSpin ; ATK_ANIM_FIRE_SPIN
dw AttackAnimation_DiveBomb ; ATK_ANIM_DIVE_BOMB
dw AttackAnimation_WaterJets ; ATK_ANIM_WATER_JETS
dw AttackAnimation_WaterJetsHit ; ATK_ANIM_WATER_JETS
dw AttackAnimation_WaterGun ; ATK_ANIM_WATER_GUN
dw AttackAnimation_Whirlpool ; ATK_ANIM_WHIRLPOOL
dw AttackAnimation_DragonRage ; ATK_ANIM_DRAGON_RAGE
dw AttackAnimation_HydroPump ; ATK_ANIM_HYDRO_PUMP
dw AttackAnimation_Blizzard ; ATK_ANIM_23
dw AttackAnimation_Blizzard ; ATK_ANIM_UNUSED_17
dw AttackAnimation_Blizzard ; ATK_ANIM_BLIZZARD
dw AttackAnimation_PsychicHit ; ATK_ANIM_PSYCHIC_HIT
dw AttackAnimation_PsychicHit ; ATK_ANIM_NIGHTMARE
dw AttackAnimation_PsychicHit ; ATK_ANIM_27
dw AttackAnimation_PsychicHit ; ATK_ANIM_UNUSED_1B
dw AttackAnimation_DarkMind ; ATK_ANIM_DARK_MIND
dw AttackAnimation_Beam ; ATK_ANIM_BEAM
dw AttackAnimation_HyperBeam ; ATK_ANIM_HYPER_BEAM
dw AttackAnimation_Beam ; ATK_ANIM_31
dw AttackAnimation_Beam ; ATK_ANIM_UNUSED_1F
dw AttackAnimation_RockThrow ; ATK_ANIM_ROCK_THROW
dw AttackAnimation_StoneBarrage ; ATK_ANIM_STONE_BARRAGE
dw AttackAnimation_Punch ; ATK_ANIM_PUNCH
@ -62,44 +62,44 @@ PointerTable_AttackAnimation:
dw AttackAnimation_StretchKick ; ATK_ANIM_STRETCH_KICK
dw AttackAnimation_Slash ; ATK_ANIM_SLASH
dw AttackAnimation_Whip ; ATK_ANIM_WHIP
dw AttackAnimation_Tear ; ATK_ANIM_TEAR
dw AttackAnimation_Sonicboom ; ATK_ANIM_SONICBOOM
dw AttackAnimation_MultipleSlash ; ATK_ANIM_MULTIPLE_SLASH
dw AttackAnimation_MultipleSlash ; ATK_ANIM_42
dw AttackAnimation_MultipleSlash ; ATK_ANIM_UNUSED_2A
dw AttackAnimation_MultipleSlash ; ATK_ANIM_RAMPAGE
dw AttackAnimation_Drill ; ATK_ANIM_DRILL
dw AttackAnimation_PotSmash ; ATK_ANIM_POT_SMASH
dw AttackAnimation_Bonemerang ; ATK_ANIM_BONEMERANG
dw AttackAnimation_SeismicToss ; ATK_ANIM_SEISMIC_TOSS
dw AttackAnimation_Needles ; ATK_ANIM_NEEDLES
dw AttackAnimation_Needles ; ATK_ANIM_49
dw AttackAnimation_Needles ; ATK_ANIM_UNUSED_31
dw AttackAnimation_WhiteGas ; ATK_ANIM_SMOG
dw AttackAnimation_WhiteGas ; ATK_ANIM_51
dw AttackAnimation_WhiteGas ; ATK_ANIM_52
dw AttackAnimation_WhiteGas ; ATK_ANIM_UNUSED_33
dw AttackAnimation_WhiteGas ; ATK_ANIM_UNUSED_34
dw AttackAnimation_WhiteGas ; ATK_ANIM_FOUL_GAS
dw AttackAnimation_WhiteGas ; ATK_ANIM_FOUL_ODOR
dw AttackAnimation_Powder ; ATK_ANIM_POWDER_EFFECT_CHANCE
dw AttackAnimation_Powder ; ATK_ANIM_POWDER_HIT_POISON
dw AttackAnimation_544e ; ATK_ANIM_POISON_POWDER
dw AttackAnimation_Powder ; ATK_ANIM_58
dw AttackAnimation_Powder ; ATK_ANIM_59
dw AttackAnimation_Powder ; ATK_ANIM_60
dw AttackAnimation_Goo ; ATK_ANIM_GOO
dw AttackAnimation_Goo ; ATK_ANIM_62
dw AttackAnimation_SpitPoisonFail ; ATK_ANIM_SPIT_POISON
dw AttackAnimation_Goo ; ATK_ANIM_64
dw AttackAnimation_PowderHit ; ATK_ANIM_POWDER_EFFECT_CHANCE
dw AttackAnimation_PowderHit ; ATK_ANIM_POWDER_HIT_POISON
dw AttackAnimation_Powder ; ATK_ANIM_POISON_POWDER
dw AttackAnimation_PowderHit ; ATK_ANIM_UNUSED_3A
dw AttackAnimation_PowderHit ; ATK_ANIM_UNUSED_3B
dw AttackAnimation_PowderHit ; ATK_ANIM_UNUSED_3C
dw AttackAnimation_GooHit ; ATK_ANIM_GOO
dw AttackAnimation_GooHit ; ATK_ANIM_UNUSED_3E
dw AttackAnimation_Goo ; ATK_ANIM_SPIT_POISON
dw AttackAnimation_GooHit ; ATK_ANIM_UNUSED_40
dw AttackAnimation_Bubbles ; ATK_ANIM_BUBBLES
dw AttackAnimation_Bubbles ; ATK_ANIM_66
dw AttackAnimation_Bubbles ; ATK_ANIM_UNUSED_42
dw AttackAnimation_StringShot ; ATK_ANIM_STRING_SHOT
dw AttackAnimation_StringShot ; ATK_ANIM_68
dw AttackAnimation_StringShot ; ATK_ANIM_UNUSED_44
dw AttackAnimation_Boyfriends ; ATK_ANIM_BOYFRIENDS
dw AttackAnimation_Lure ; ATK_ANIM_LURE
dw AttackAnimation_Toxic ; ATK_ANIM_TOXIC
dw AttackAnimation_ConfuseRay ; ATK_ANIM_CONFUSE_RAY
dw AttackAnimation_ConfuseRay ; ATK_ANIM_73
dw AttackAnimation_ConfuseRay ; ATK_ANIM_UNUSED_49
dw AttackAnimation_Sing ; ATK_ANIM_SING
dw AttackAnimation_Sing ; ATK_ANIM_LULLABY
dw AttackAnimation_Supersonic ; ATK_ANIM_SUPERSONIC
dw AttackAnimation_Supersonic ; ATK_ANIM_77
dw AttackAnimation_Supersonic ; ATK_ANIM_UNUSED_4D
dw AttackAnimation_PetalDance ; ATK_ANIM_PETAL_DANCE
dw AttackAnimation_Protect ; ATK_ANIM_PROTECT
dw AttackAnimation_Barrier ; ATK_ANIM_BARRIER
@ -124,24 +124,24 @@ PointerTable_AttackAnimation:
dw AttackAnimation_WhirlwindZigzag ; ATK_ANIM_WHIRLWIND_ZIGZAG
dw AttackAnimation_BigThunder ; ATK_ANIM_BIG_THUNDER
dw AttackAnimation_SolarPower ; ATK_ANIM_SOLAR_POWER
dw AttackAnimation_PoisonFang ; ATK_ANIM_POISON_FANG
dw AttackAnimation_PoisonFang ; ATK_ANIM_103
dw AttackAnimation_PoisonFang ; ATK_ANIM_104
dw AttackAnimation_558c ; ATK_ANIM_105
dw AttackAnimation_Hit2 ; ATK_ANIM_POISON_FANG
dw AttackAnimation_Hit2 ; ATK_ANIM_UNUSED_67
dw AttackAnimation_Hit2 ; ATK_ANIM_UNUSED_68
dw AttackAnimation_Needles2 ; ATK_ANIM_UNUSED_69
dw AttackAnimation_FriendshipSong ; ATK_ANIM_FRIENDSHIP_SONG
dw AttackAnimation_Scrunch ; ATK_ANIM_SCRUNCH
dw AttackAnimation_CatPunch ; ATK_ANIM_CAT_PUNCH
dw AttackAnimation_MagneticStorm ; ATK_ANIM_MAGNETIC_STORM
dw AttackAnimation_PoisonWhip ; ATK_ANIM_POISON_WHIP
dw AttackAnimation_ThunderWave ; ATK_ANIM_THUNDER_WAVE
dw AttackAnimation_ThunderWave ; ATK_ANIM_112
dw AttackAnimation_ThunderWave ; ATK_ANIM_UNUSED_70
dw AttackAnimation_Spore ; ATK_ANIM_SPORE
dw AttackAnimation_Hypnosis ; ATK_ANIM_HYPNOSIS
dw AttackAnimation_EnergyConversion ; ATK_ANIM_ENERGY_CONVERSION
dw AttackAnimation_Leer ; ATK_ANIM_LEER
dw AttackAnimation_ConfusionHit ; ATK_ANIM_CONFUSION_HIT
dw AttackAnimation_55e0 ; ATK_ANIM_118
dw AttackAnimation_55e5 ; ATK_ANIM_119
dw AttackAnimation_WaterJets ; ATK_ANIM_UNUSED_76
dw AttackAnimation_Stub1 ; ATK_ANIM_UNUSED_77
dw AttackAnimation_BenchHit ; ATK_ANIM_BENCH_HIT
dw AttackAnimation_Heal ; ATK_ANIM_HEAL
dw AttackAnimation_RecoilHit ; ATK_ANIM_RECOIL_HIT
@ -149,9 +149,9 @@ PointerTable_AttackAnimation:
dw AttackAnimation_Confusion ; ATK_ANIM_CONFUSION
dw AttackAnimation_Paralysis ; ATK_ANIM_PARALYSIS
dw AttackAnimation_Sleep ; ATK_ANIM_SLEEP
dw AttackAnimation_ImakuniConfusion ; ATK_ANIM_IMAKUNI_CONFUSION
dw AttackAnimation_OwnConfusion ; ATK_ANIM_OWN_CONFUSION
dw AttackAnimation_SleepingGas ; ATK_ANIM_SLEEPING_GAS
dw AttackAnimation_560f ; ATK_ANIM_129
dw AttackAnimation_QuestionMark ; ATK_ANIM_UNUSED_81
dw AttackAnimation_ThunderPlayArea ; ATK_ANIM_THUNDER_PLAY_AREA
dw AttackAnimation_CatPunchPlayArea ; ATK_ANIM_CAT_PUNCH_PLAY_AREA
dw AttackAnimation_FiregiverPlayer ; ATK_ANIM_FIREGIVER_PLAYER
@ -159,17 +159,17 @@ PointerTable_AttackAnimation:
dw AttackAnimation_HealingWindPlayArea ; ATK_ANIM_HEALING_WIND_PLAY_AREA
dw AttackAnimation_Gale ; ATK_ANIM_GALE
dw AttackAnimation_Expand ; ATK_ANIM_EXPAND
dw AttackAnimation_564f ; ATK_ANIM_137
dw AttackAnimation_PoisonDamage ; ATK_ANIM_UNUSED_89
dw AttackAnimation_FullHeal ; ATK_ANIM_FULL_HEAL
dw AttackAnimation_5659 ; ATK_ANIM_139
dw AttackAnimation_SleepUpdateHUD ; ATK_ANIM_UNUSED_8B
dw AttackAnimation_SpitPoisonSuccess ; ATK_ANIM_SPIT_POISON_SUCCESS
dw AttackAnimation_GustOfWind ; ATK_ANIM_GUST_OF_WIND
dw AttackAnimation_HealBothSides ; ATK_ANIM_HEAL_BOTH_SIDES
dw AttackAnimation_5673 ; ATK_ANIM_143
dw AttackAnimation_5673 ; ATK_ANIM_144
dw AttackAnimation_Stub2 ; ATK_ANIM_UNUSED_8F
dw AttackAnimation_Stub2 ; ATK_ANIM_UNUSED_90
assert_table_length NUM_ATK_ANIMS
AttackAnimation_Hit: ; (6:52c6)
AttackAnimation_Hit:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
@ -241,7 +241,7 @@ AttackAnimation_DiveBomb:
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_WaterJets:
AttackAnimation_WaterJetsHit:
anim_player DUEL_ANIM_GLOW
anim_normal DUEL_ANIM_WATER_JETS
anim_opponent DUEL_ANIM_HIT
@ -300,7 +300,7 @@ AttackAnimation_PsychicHit:
AttackAnimation_DarkMind:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_GLARE
anim_opponent DUEL_ANIM_LEER
anim_opponent DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_opponent DUEL_ANIM_SHOW_DAMAGE
@ -383,9 +383,9 @@ AttackAnimation_Whip:
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_Tear:
AttackAnimation_Sonicboom:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_TEAR
anim_opponent DUEL_ANIM_SONICBOOM
anim_opponent DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_opponent DUEL_ANIM_SHOW_DAMAGE
@ -447,7 +447,7 @@ AttackAnimation_WhiteGas:
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_Powder:
AttackAnimation_PowderHit:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_POWDER
anim_opponent DUEL_ANIM_HIT
@ -455,12 +455,12 @@ AttackAnimation_Powder:
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_544e:
AttackAnimation_Powder:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_POWDER
anim_end
AttackAnimation_Goo:
AttackAnimation_GooHit:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_GOO
anim_normal DUEL_ANIM_DISTORT
@ -469,7 +469,7 @@ AttackAnimation_Goo:
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_SpitPoisonFail:
AttackAnimation_Goo:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_GOO
anim_normal DUEL_ANIM_DISTORT
@ -553,7 +553,7 @@ AttackAnimation_Barrier:
AttackAnimation_QuickAttack:
anim_player DUEL_ANIM_GLOW
anim_normal DUEL_ANIM_QUICK_ATTACK
anim_normal DUEL_ANIM_SPEED
anim_opponent DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_opponent DUEL_ANIM_SHOW_DAMAGE
@ -561,7 +561,7 @@ AttackAnimation_QuickAttack:
AttackAnimation_AgilityProtect:
anim_player DUEL_ANIM_GLOW
anim_normal DUEL_ANIM_QUICK_ATTACK
anim_normal DUEL_ANIM_SPEED
anim_opponent DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_opponent DUEL_ANIM_SHOW_DAMAGE
@ -641,51 +641,51 @@ AttackAnimation_MirrorMove:
AttackAnimation_DevolutionBeam:
anim_player DUEL_ANIM_GLOW
anim_normal DUEL_ANIM_FLASH
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_end
AttackAnimation_5543:
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_normal DUEL_ANIM_FLASH
anim_end
AttackAnimation_Firegiver:
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_normal DUEL_ANIM_FLASH
anim_unknown2 DUEL_ANIM_71
anim_unknown2 DUEL_ANIM_71
anim_play_area DUEL_ANIM_FIREGIVER_START
anim_play_area DUEL_ANIM_FIREGIVER_START
anim_end
AttackAnimation_Quickfreeze:
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_normal DUEL_ANIM_69
anim_unknown $01
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_normal DUEL_ANIM_QUICKFREEZE
anim_screen SET_ANIM_SCREEN_MAIN
anim_end
AttackAnimation_PealOfThunder:
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_unknown2 DUEL_ANIM_68
anim_unknown $04
anim_unknown2 DUEL_ANIM_HIT
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_play_area DUEL_ANIM_BENCH_THUNDER
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_unknown2 DUEL_ANIM_SHOW_DAMAGE
anim_play_area DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_HealingWind:
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_unknown2 DUEL_ANIM_73
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_play_area DUEL_ANIM_HEALING_WIND
anim_end
AttackAnimation_WhirlwindZigzag:
anim_player DUEL_ANIM_GLOW
anim_unknown $04
anim_normal DUEL_ANIM_74
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_normal DUEL_ANIM_BENCH_WHIRLWIND
anim_end
AttackAnimation_BigThunder:
@ -697,14 +697,14 @@ AttackAnimation_SolarPower:
anim_normal DUEL_ANIM_FLASH
anim_end
AttackAnimation_PoisonFang:
AttackAnimation_Hit2:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_558c:
AttackAnimation_Needles2:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_NEEDLES
anim_opponent DUEL_ANIM_HIT
@ -764,7 +764,7 @@ AttackAnimation_EnergyConversion:
AttackAnimation_Leer:
anim_player DUEL_ANIM_GLOW
anim_opponent DUEL_ANIM_GLARE
anim_opponent DUEL_ANIM_LEER
anim_opponent DUEL_ANIM_QUESTION_MARK
anim_end
@ -776,18 +776,18 @@ AttackAnimation_ConfusionHit:
anim_player DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_55e0:
AttackAnimation_WaterJets:
anim_player DUEL_ANIM_GLOW
anim_normal DUEL_ANIM_WATER_JETS
anim_end
AttackAnimation_55e5:
AttackAnimation_Stub1:
anim_end
AttackAnimation_BenchHit:
anim_unknown $04
anim_unknown2 DUEL_ANIM_6
anim_unknown2 DUEL_ANIM_SHOW_DAMAGE
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_SINGLE_HIT
anim_play_area DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_Heal:
@ -796,7 +796,7 @@ AttackAnimation_Heal:
anim_end
AttackAnimation_RecoilHit:
anim_unknown $01
anim_screen SET_ANIM_SCREEN_MAIN
anim_player DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE3
anim_player DUEL_ANIM_SHOW_DAMAGE
@ -818,7 +818,7 @@ AttackAnimation_Sleep:
anim_opponent DUEL_ANIM_SLEEP
anim_end
AttackAnimation_ImakuniConfusion:
AttackAnimation_OwnConfusion:
anim_player DUEL_ANIM_CONFUSION
anim_end
@ -827,39 +827,39 @@ AttackAnimation_SleepingGas:
anim_opponent DUEL_ANIM_WHITE_GAS
anim_end
AttackAnimation_560f:
AttackAnimation_QuestionMark:
anim_opponent DUEL_ANIM_QUESTION_MARK
anim_end
AttackAnimation_ThunderPlayArea:
anim_unknown $04
anim_unknown2 DUEL_ANIM_68
anim_unknown2 DUEL_ANIM_HIT
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_THUNDER
anim_play_area DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_unknown2 DUEL_ANIM_SHOW_DAMAGE
anim_play_area DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_CatPunchPlayArea:
anim_unknown $04
anim_unknown2 DUEL_ANIM_76
anim_unknown2 DUEL_ANIM_HIT
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_CAT_PUNCH
anim_play_area DUEL_ANIM_HIT
anim_normal DUEL_ANIM_SHAKE1
anim_unknown2 DUEL_ANIM_SHOW_DAMAGE
anim_play_area DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_FiregiverPlayer:
anim_unknown $04
anim_normal DUEL_ANIM_78
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_normal DUEL_ANIM_FIREGIVER_PLAYER
anim_end
AttackAnimation_FiregiverOpp:
anim_unknown $04
anim_normal DUEL_ANIM_79
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_normal DUEL_ANIM_FIREGIVER_OPP
anim_end
AttackAnimation_HealingWindPlayArea:
anim_unknown $04
anim_unknown2 DUEL_ANIM_SHOW_DAMAGE
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_Gale:
@ -879,19 +879,19 @@ AttackAnimation_Expand:
anim_opponent DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_564f:
AttackAnimation_PoisonDamage:
anim_player DUEL_ANIM_POISON
anim_player DUEL_ANIM_SHOW_DAMAGE
anim_end
AttackAnimation_FullHeal:
anim_player DUEL_ANIM_HEAL
anim_normal $98
anim_normal DUEL_ANIM_UPDATE_HUD
anim_end
AttackAnimation_5659:
AttackAnimation_SleepUpdateHUD:
anim_player DUEL_ANIM_SLEEP
anim_normal $98
anim_normal DUEL_ANIM_UPDATE_HUD
anim_end
AttackAnimation_SpitPoisonSuccess:
@ -905,12 +905,12 @@ AttackAnimation_GustOfWind:
anim_end
AttackAnimation_HealBothSides:
anim_unknown $04
anim_unknown2 DUEL_ANIM_70
anim_unknown $01
anim_screen SET_ANIM_SCREEN_PLAY_AREA
anim_play_area DUEL_ANIM_BENCH_GLOW
anim_screen SET_ANIM_SCREEN_MAIN
anim_player DUEL_ANIM_HEAL
anim_opponent DUEL_ANIM_HEAL
anim_end
AttackAnimation_5673:
AttackAnimation_Stub2:
anim_end

View File

@ -18,7 +18,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PARALYSIS
db SPRITE_DUEL_1 ; sprite ID
db SPRITE_DUEL_PARALYSIS ; sprite ID
db PALETTE_32 ; palette ID
db SPRITE_ANIM_72 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
@ -26,7 +26,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SLEEP
db SPRITE_DUEL_2 ; sprite ID
db SPRITE_DUEL_SLEEP ; sprite ID
db PALETTE_33 ; palette ID
db SPRITE_ANIM_73 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
@ -34,7 +34,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_CONFUSION
db SPRITE_DUEL_55 ; sprite ID
db SPRITE_DUEL_STAR ; sprite ID
db PALETTE_34 ; palette ID
db SPRITE_ANIM_74 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
@ -42,15 +42,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_POISON
db SPRITE_DUEL_58 ; sprite ID
db SPRITE_DUEL_POISON ; sprite ID
db PALETTE_35 ; palette ID
db SPRITE_ANIM_75 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
db SFX_15 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_6
db SPRITE_DUEL_3 ; sprite ID
; DUEL_ANIM_SINGLE_HIT
db SPRITE_DUEL_HIT ; sprite ID
db PALETTE_36 ; palette ID
db SPRITE_ANIM_76 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
@ -58,7 +58,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_HIT
db SPRITE_DUEL_3 ; sprite ID
db SPRITE_DUEL_HIT ; sprite ID
db PALETTE_36 ; palette ID
db SPRITE_ANIM_77 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
@ -66,7 +66,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BIG_HIT
db SPRITE_DUEL_3 ; sprite ID
db SPRITE_DUEL_HIT ; sprite ID
db PALETTE_36 ; palette ID
db SPRITE_ANIM_78 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
@ -74,7 +74,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SHOW_DAMAGE
db SPRITE_DUEL_4 ; sprite ID
db SPRITE_DUEL_DAMAGE ; sprite ID
db PALETTE_37 ; palette ID
db $00 ; anim ID
db $00 ; anim flags
@ -82,7 +82,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_THUNDER_SHOCK
db SPRITE_DUEL_5 ; sprite ID
db SPRITE_DUEL_THUNDER ; sprite ID
db PALETTE_38 ; palette ID
db SPRITE_ANIM_92 ; anim ID
db $00 ; anim flags
@ -90,7 +90,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_LIGHTNING
db SPRITE_DUEL_6 ; sprite ID
db SPRITE_DUEL_LIGHTNING ; sprite ID
db PALETTE_39 ; palette ID
db SPRITE_ANIM_94 ; anim ID
db $00 ; anim flags
@ -98,7 +98,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BORDER_SPARK
db SPRITE_DUEL_59 ; sprite ID
db SPRITE_DUEL_SPARK ; sprite ID
db PALETTE_40 ; palette ID
db SPRITE_ANIM_95 ; anim ID
db $00 ; anim flags
@ -106,7 +106,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BIG_LIGHTNING
db SPRITE_DUEL_7 ; sprite ID
db SPRITE_DUEL_BIG_LIGHTNING ; sprite ID
db PALETTE_41 ; palette ID
db SPRITE_ANIM_96 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -114,7 +114,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SMALL_FLAME
db SPRITE_DUEL_8 ; sprite ID
db SPRITE_DUEL_FLAME ; sprite ID
db PALETTE_42 ; palette ID
db SPRITE_ANIM_97 ; anim ID
db $00 ; anim flags
@ -122,7 +122,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BIG_FLAME
db SPRITE_DUEL_8 ; sprite ID
db SPRITE_DUEL_FLAME ; sprite ID
db PALETTE_42 ; palette ID
db SPRITE_ANIM_98 ; anim ID
db $00 ; anim flags
@ -130,7 +130,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_FIRE_SPIN
db SPRITE_DUEL_9 ; sprite ID
db SPRITE_DUEL_FIRE_SPIN ; sprite ID
db PALETTE_43 ; palette ID
db SPRITE_ANIM_99 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -138,7 +138,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DIVE_BOMB
db SPRITE_DUEL_10 ; sprite ID
db SPRITE_DUEL_FIRE_BIRD ; sprite ID
db PALETTE_44 ; palette ID
db SPRITE_ANIM_100 ; anim ID
db $00 ; anim flags
@ -146,7 +146,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_WATER_JETS
db SPRITE_DUEL_61 ; sprite ID
db SPRITE_DUEL_WATER_DROP ; sprite ID
db PALETTE_45 ; palette ID
db SPRITE_ANIM_105 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -154,7 +154,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_WATER_GUN
db SPRITE_DUEL_11 ; sprite ID
db SPRITE_DUEL_WATER_GUN ; sprite ID
db PALETTE_46 ; palette ID
db SPRITE_ANIM_106 ; anim ID
db $00 ; anim flags
@ -162,7 +162,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_WHIRLPOOL
db SPRITE_DUEL_12 ; sprite ID
db SPRITE_DUEL_WHIRLPOOL ; sprite ID
db PALETTE_47 ; palette ID
db SPRITE_ANIM_107 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -170,7 +170,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_HYDRO_PUMP
db SPRITE_DUEL_13 ; sprite ID
db SPRITE_DUEL_HYDRO_PUMP ; sprite ID
db PALETTE_48 ; palette ID
db SPRITE_ANIM_108 ; anim ID
db $00 ; anim flags
@ -178,7 +178,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BLIZZARD
db SPRITE_DUEL_62 ; sprite ID
db SPRITE_DUEL_SNOW ; sprite ID
db PALETTE_49 ; palette ID
db SPRITE_ANIM_109 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -186,15 +186,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PSYCHIC
db SPRITE_DUEL_14 ; sprite ID
db SPRITE_DUEL_PSYCHIC ; sprite ID
db PALETTE_50 ; palette ID
db SPRITE_ANIM_110 ; anim ID
db $00 ; anim flags
db SFX_25 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_GLARE
db SPRITE_DUEL_15 ; sprite ID
; DUEL_ANIM_LEER
db SPRITE_DUEL_LEER ; sprite ID
db PALETTE_51 ; palette ID
db SPRITE_ANIM_111 ; anim ID
db $00 ; anim flags
@ -202,7 +202,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BEAM
db SPRITE_DUEL_16 ; sprite ID
db SPRITE_DUEL_BEAM ; sprite ID
db PALETTE_52 ; palette ID
db SPRITE_ANIM_112 ; anim ID
db (1 << SPRITE_ANIM_FLAG_6) | (1 << SPRITE_ANIM_FLAG_Y_SUBTRACT) ; anim flags
@ -210,7 +210,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_HYPER_BEAM
db SPRITE_DUEL_17 ; sprite ID
db SPRITE_DUEL_HYPER_BEAM ; sprite ID
db PALETTE_53 ; palette ID
db SPRITE_ANIM_113 ; anim ID
db (1 << SPRITE_ANIM_FLAG_6) | (1 << SPRITE_ANIM_FLAG_Y_SUBTRACT) ; anim flags
@ -218,7 +218,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_ROCK_THROW
db SPRITE_DUEL_18 ; sprite ID
db SPRITE_DUEL_ROCK_THROW ; sprite ID
db PALETTE_54 ; palette ID
db SPRITE_ANIM_114 ; anim ID
db $00 ; anim flags
@ -226,7 +226,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_STONE_BARRAGE
db SPRITE_DUEL_18 ; sprite ID
db SPRITE_DUEL_ROCK_THROW ; sprite ID
db PALETTE_54 ; palette ID
db SPRITE_ANIM_115 ; anim ID
db $00 ; anim flags
@ -234,7 +234,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PUNCH
db SPRITE_DUEL_19 ; sprite ID
db SPRITE_DUEL_PUNCH ; sprite ID
db PALETTE_55 ; palette ID
db SPRITE_ANIM_116 ; anim ID
db $00 ; anim flags
@ -242,7 +242,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_THUNDERPUNCH
db SPRITE_DUEL_19 ; sprite ID
db SPRITE_DUEL_PUNCH ; sprite ID
db PALETTE_55 ; palette ID
db SPRITE_ANIM_117 ; anim ID
db $00 ; anim flags
@ -250,7 +250,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_FIRE_PUNCH
db SPRITE_DUEL_19 ; sprite ID
db SPRITE_DUEL_PUNCH ; sprite ID
db PALETTE_55 ; palette ID
db SPRITE_ANIM_118 ; anim ID
db $00 ; anim flags
@ -258,7 +258,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_STRETCH_KICK
db SPRITE_DUEL_20 ; sprite ID
db SPRITE_DUEL_STRETCH_KICK ; sprite ID
db PALETTE_56 ; palette ID
db SPRITE_ANIM_119 ; anim ID
db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
@ -266,7 +266,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SLASH
db SPRITE_DUEL_21 ; sprite ID
db SPRITE_DUEL_SLASH ; sprite ID
db PALETTE_57 ; palette ID
db SPRITE_ANIM_120 ; anim ID
db $00 ; anim flags
@ -274,15 +274,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_WHIP
db SPRITE_DUEL_22 ; sprite ID
db SPRITE_DUEL_WHIP ; sprite ID
db PALETTE_58 ; palette ID
db SPRITE_ANIM_122 ; anim ID
db $00 ; anim flags
db SFX_2D ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_TEAR
db SPRITE_DUEL_23 ; sprite ID
; DUEL_ANIM_SONICBOOM
db SPRITE_DUEL_SONICBOOM ; sprite ID
db PALETTE_59 ; palette ID
db SPRITE_ANIM_123 ; anim ID
db $00 ; anim flags
@ -290,7 +290,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_FURY_SWIPES
db SPRITE_DUEL_21 ; sprite ID
db SPRITE_DUEL_SLASH ; sprite ID
db PALETTE_57 ; palette ID
db SPRITE_ANIM_121 ; anim ID
db $00 ; anim flags
@ -298,7 +298,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DRILL
db SPRITE_DUEL_24 ; sprite ID
db SPRITE_DUEL_DRILL ; sprite ID
db PALETTE_60 ; palette ID
db SPRITE_ANIM_124 ; anim ID
db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
@ -306,7 +306,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_POT_SMASH
db SPRITE_DUEL_25 ; sprite ID
db SPRITE_DUEL_POT ; sprite ID
db PALETTE_61 ; palette ID
db SPRITE_ANIM_125 ; anim ID
db $00 ; anim flags
@ -314,7 +314,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BONEMERANG
db SPRITE_DUEL_26 ; sprite ID
db SPRITE_DUEL_BONE ; sprite ID
db PALETTE_62 ; palette ID
db SPRITE_ANIM_126 ; anim ID
db $00 ; anim flags
@ -322,7 +322,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SEISMIC_TOSS
db SPRITE_DUEL_27 ; sprite ID
db SPRITE_DUEL_PLANET ; sprite ID
db PALETTE_63 ; palette ID
db SPRITE_ANIM_127 ; anim ID
db $00 ; anim flags
@ -330,7 +330,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_NEEDLES
db SPRITE_DUEL_28 ; sprite ID
db SPRITE_DUEL_NEEDLES ; sprite ID
db PALETTE_64 ; palette ID
db SPRITE_ANIM_128 ; anim ID
db $00 ; anim flags
@ -338,7 +338,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_WHITE_GAS
db SPRITE_DUEL_29 ; sprite ID
db SPRITE_DUEL_GAS ; sprite ID
db PALETTE_65 ; palette ID
db SPRITE_ANIM_129 ; anim ID
db $00 ; anim flags
@ -346,7 +346,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_POWDER
db SPRITE_DUEL_56 ; sprite ID
db SPRITE_DUEL_POWDER ; sprite ID
db PALETTE_66 ; palette ID
db SPRITE_ANIM_130 ; anim ID
db $00 ; anim flags
@ -354,7 +354,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_GOO
db SPRITE_DUEL_30 ; sprite ID
db SPRITE_DUEL_GOO ; sprite ID
db PALETTE_67 ; palette ID
db SPRITE_ANIM_131 ; anim ID
db $00 ; anim flags
@ -362,7 +362,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BUBBLES
db SPRITE_DUEL_31 ; sprite ID
db SPRITE_DUEL_BUBBLE ; sprite ID
db PALETTE_68 ; palette ID
db SPRITE_ANIM_132 ; anim ID
db $00 ; anim flags
@ -370,7 +370,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_STRING_SHOT
db SPRITE_DUEL_32 ; sprite ID
db SPRITE_DUEL_STRING ; sprite ID
db PALETTE_69 ; palette ID
db SPRITE_ANIM_133 ; anim ID
db $00 ; anim flags
@ -378,7 +378,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BOYFRIENDS
db SPRITE_DUEL_33 ; sprite ID
db SPRITE_DUEL_HEART ; sprite ID
db PALETTE_70 ; palette ID
db SPRITE_ANIM_134 ; anim ID
db $00 ; anim flags
@ -386,7 +386,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_LURE
db SPRITE_DUEL_34 ; sprite ID
db SPRITE_DUEL_LURE ; sprite ID
db PALETTE_71 ; palette ID
db SPRITE_ANIM_135 ; anim ID
db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
@ -394,7 +394,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_TOXIC
db SPRITE_DUEL_35 ; sprite ID
db SPRITE_DUEL_SKULL ; sprite ID
db PALETTE_72 ; palette ID
db SPRITE_ANIM_136 ; anim ID
db $00 ; anim flags
@ -402,7 +402,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_CONFUSE_RAY
db SPRITE_DUEL_66 ; sprite ID
db SPRITE_DUEL_SMALL_STAR ; sprite ID
db PALETTE_73 ; palette ID
db SPRITE_ANIM_137 ; anim ID
db $00 ; anim flags
@ -410,7 +410,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SING
db SPRITE_DUEL_36 ; sprite ID
db SPRITE_DUEL_NOTE ; sprite ID
db PALETTE_74 ; palette ID
db SPRITE_ANIM_138 ; anim ID
db $00 ; anim flags
@ -418,7 +418,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SUPERSONIC
db SPRITE_DUEL_37 ; sprite ID
db SPRITE_DUEL_SOUND ; sprite ID
db PALETTE_75 ; palette ID
db SPRITE_ANIM_139 ; anim ID
db $00 ; anim flags
@ -426,7 +426,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PETAL_DANCE
db SPRITE_DUEL_57 ; sprite ID
db SPRITE_DUEL_PETAL ; sprite ID
db PALETTE_76 ; palette ID
db SPRITE_ANIM_140 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -434,7 +434,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PROTECT
db SPRITE_DUEL_38 ; sprite ID
db SPRITE_DUEL_PROTECT ; sprite ID
db PALETTE_77 ; palette ID
db SPRITE_ANIM_141 ; anim ID
db $00 ; anim flags
@ -442,15 +442,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BARRIER
db SPRITE_DUEL_39 ; sprite ID
db SPRITE_DUEL_BARRIER ; sprite ID
db PALETTE_78 ; palette ID
db SPRITE_ANIM_142 ; anim ID
db $00 ; anim flags
db SFX_42 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_QUICK_ATTACK
db SPRITE_DUEL_40 ; sprite ID
; DUEL_ANIM_SPEED
db SPRITE_DUEL_SPEED ; sprite ID
db PALETTE_79 ; palette ID
db SPRITE_ANIM_143 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -458,7 +458,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_WHIRLWIND
db SPRITE_DUEL_41 ; sprite ID
db SPRITE_DUEL_WHIRLWIND ; sprite ID
db PALETTE_80 ; palette ID
db SPRITE_ANIM_144 ; anim ID
db $00 ; anim flags
@ -466,7 +466,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_CRY
db SPRITE_DUEL_42 ; sprite ID
db SPRITE_DUEL_CRY ; sprite ID
db PALETTE_81 ; palette ID
db SPRITE_ANIM_146 ; anim ID
db $00 ; anim flags
@ -474,7 +474,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_QUESTION_MARK
db SPRITE_DUEL_43 ; sprite ID
db SPRITE_DUEL_QUESTION_MARK ; sprite ID
db PALETTE_82 ; palette ID
db SPRITE_ANIM_147 ; anim ID
db $00 ; anim flags
@ -482,7 +482,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_SELFDESTRUCT
db SPRITE_DUEL_44 ; sprite ID
db SPRITE_DUEL_EXPLOSION ; sprite ID
db PALETTE_83 ; palette ID
db SPRITE_ANIM_148 ; anim ID
db $00 ; anim flags
@ -490,7 +490,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BIG_SELFDESTRUCT_1
db SPRITE_DUEL_44 ; sprite ID
db SPRITE_DUEL_EXPLOSION ; sprite ID
db PALETTE_83 ; palette ID
db SPRITE_ANIM_149 ; anim ID
db $00 ; anim flags
@ -498,7 +498,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_HEAL
db SPRITE_DUEL_60 ; sprite ID
db SPRITE_DUEL_HEAL ; sprite ID
db PALETTE_84 ; palette ID
db SPRITE_ANIM_151 ; anim ID
db $00 ; anim flags
@ -506,7 +506,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DRAIN
db SPRITE_DUEL_64 ; sprite ID
db SPRITE_DUEL_DRAIN ; sprite ID
db PALETTE_85 ; palette ID
db SPRITE_ANIM_153 ; anim ID
db $00 ; anim flags
@ -514,7 +514,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DARK_GAS
db SPRITE_DUEL_29 ; sprite ID
db SPRITE_DUEL_GAS ; sprite ID
db PALETTE_86 ; palette ID
db SPRITE_ANIM_129 ; anim ID
db $00 ; anim flags
@ -522,79 +522,79 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BIG_SELFDESTRUCT_2
db SPRITE_DUEL_44 ; sprite ID
db SPRITE_DUEL_EXPLOSION ; sprite ID
db PALETTE_83 ; palette ID
db SPRITE_ANIM_150 ; anim ID
db $00 ; anim flags
db SFX_47 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_66
db SPRITE_DUEL_3 ; sprite ID
; DUEL_ANIM_UNUSED_42
db SPRITE_DUEL_HIT ; sprite ID
db PALETTE_36 ; palette ID
db SPRITE_ANIM_77 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
db SFX_16 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_67
db SPRITE_DUEL_3 ; sprite ID
; DUEL_ANIM_UNUSED_43
db SPRITE_DUEL_HIT ; sprite ID
db PALETTE_36 ; palette ID
db SPRITE_ANIM_78 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
db SFX_17 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_68
db SPRITE_DUEL_5 ; sprite ID
; DUEL_ANIM_BENCH_THUNDER
db SPRITE_DUEL_THUNDER ; sprite ID
db PALETTE_38 ; palette ID
db SPRITE_ANIM_92 ; anim ID
db $00 ; anim flags
db SFX_18 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_69
db SPRITE_DUEL_62 ; sprite ID
; DUEL_ANIM_QUICKFREEZE
db SPRITE_DUEL_SNOW ; sprite ID
db PALETTE_49 ; palette ID
db SPRITE_ANIM_109 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_24 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_70
db SPRITE_DUEL_45 ; sprite ID
; DUEL_ANIM_BENCH_GLOW
db SPRITE_DUEL_SMALL_GLOW ; sprite ID
db PALETTE_87 ; palette ID
db SPRITE_ANIM_154 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
db SFX_11 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_71
db SPRITE_DUEL_10 ; sprite ID
; DUEL_ANIM_FIREGIVER_START
db SPRITE_DUEL_FIRE_BIRD ; sprite ID
db PALETTE_44 ; palette ID
db SPRITE_ANIM_101 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_5C ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_72
db SPRITE_DUEL_10 ; sprite ID
; DUEL_ANIM_UNUSED_48
db SPRITE_DUEL_FIRE_BIRD ; sprite ID
db PALETTE_44 ; palette ID
db SPRITE_ANIM_102 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_STOP ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_73
db SPRITE_DUEL_60 ; sprite ID
; DUEL_ANIM_HEALING_WIND
db SPRITE_DUEL_HEAL ; sprite ID
db PALETTE_84 ; palette ID
db SPRITE_ANIM_152 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_4C ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_74
db SPRITE_DUEL_41 ; sprite ID
; DUEL_ANIM_BENCH_WHIRLWIND
db SPRITE_DUEL_WHIRLWIND ; sprite ID
db PALETTE_80 ; palette ID
db SPRITE_ANIM_145 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -602,15 +602,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_EXPAND
db SPRITE_DUEL_46 ; sprite ID
db SPRITE_DUEL_BALL ; sprite ID
db PALETTE_88 ; palette ID
db SPRITE_ANIM_155 ; anim ID
db $00 ; anim flags
db SFX_4E ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_76
db SPRITE_DUEL_47 ; sprite ID
; DUEL_ANIM_CAT_PUNCH
db SPRITE_DUEL_CAT_POW ; sprite ID
db PALETTE_89 ; palette ID
db SPRITE_ANIM_156 ; anim ID
db $00 ; anim flags
@ -618,31 +618,31 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_THUNDER_WAVE
db SPRITE_DUEL_48 ; sprite ID
db SPRITE_DUEL_WAVE ; sprite ID
db PALETTE_90 ; palette ID
db SPRITE_ANIM_157 ; anim ID
db $00 ; anim flags
db SFX_50 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_78
db SPRITE_DUEL_10 ; sprite ID
; DUEL_ANIM_FIREGIVER_PLAYER
db SPRITE_DUEL_FIRE_BIRD ; sprite ID
db PALETTE_44 ; palette ID
db SPRITE_ANIM_103 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_51 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_79
db SPRITE_DUEL_10 ; sprite ID
; DUEL_ANIM_FIREGIVER_OPP
db SPRITE_DUEL_FIRE_BIRD ; sprite ID
db PALETTE_44 ; palette ID
db SPRITE_ANIM_104 ; anim ID
db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_51 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_80
db SPRITE_DUEL_49 ; sprite ID
; DUEL_ANIM_UNUSED_50
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_158 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -650,7 +650,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PLAYER_SHUFFLE
db SPRITE_DUEL_49 ; sprite ID
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_159 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -658,7 +658,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_OPP_SHUFFLE
db SPRITE_DUEL_49 ; sprite ID
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_160 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -666,15 +666,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BOTH_SHUFFLE
db SPRITE_DUEL_49 ; sprite ID
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_161 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_07 ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_84
db SPRITE_DUEL_49 ; sprite ID
; DUEL_ANIM_UNUSED_54
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_162 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -682,7 +682,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_BOTH_DRAW
db SPRITE_DUEL_49 ; sprite ID
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_163 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -690,7 +690,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_PLAYER_DRAW
db SPRITE_DUEL_49 ; sprite ID
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_164 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -698,7 +698,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_OPP_DRAW
db SPRITE_DUEL_49 ; sprite ID
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_165 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -706,7 +706,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_COIN_SPIN
db SPRITE_DUEL_50 ; sprite ID
db SPRITE_DUEL_COIN ; sprite ID
db PALETTE_92 ; palette ID
db SPRITE_ANIM_167 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -714,7 +714,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_COIN_TOSS1
db SPRITE_DUEL_50 ; sprite ID
db SPRITE_DUEL_COIN ; sprite ID
db PALETTE_92 ; palette ID
db SPRITE_ANIM_168 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -722,7 +722,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_COIN_TOSS2
db SPRITE_DUEL_50 ; sprite ID
db SPRITE_DUEL_COIN ; sprite ID
db PALETTE_92 ; palette ID
db SPRITE_ANIM_169 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -730,7 +730,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_COIN_TAILS
db SPRITE_DUEL_50 ; sprite ID
db SPRITE_DUEL_COIN ; sprite ID
db PALETTE_92 ; palette ID
db SPRITE_ANIM_170 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -738,7 +738,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_COIN_HEADS
db SPRITE_DUEL_50 ; sprite ID
db SPRITE_DUEL_COIN ; sprite ID
db PALETTE_92 ; palette ID
db SPRITE_ANIM_171 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -746,7 +746,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DUEL_WIN
db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
db SPRITE_DUEL_RESULT ; sprite ID
db PALETTE_93 ; palette ID
db SPRITE_ANIM_172 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -754,7 +754,7 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DUEL_LOSS
db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
db SPRITE_DUEL_RESULT ; sprite ID
db PALETTE_93 ; palette ID
db SPRITE_ANIM_173 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
@ -762,15 +762,15 @@ Animations:
db $00 ; handler function
; DUEL_ANIM_DUEL_DRAW
db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
db SPRITE_DUEL_RESULT ; sprite ID
db PALETTE_93 ; palette ID
db SPRITE_ANIM_174 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
db SFX_STOP ; sound FX ID
db $00 ; handler function
; DUEL_ANIM_96
db SPRITE_DUEL_49 ; sprite ID
; DUEL_ANIM_UNUSED_60
db SPRITE_DUEL_CARD ; sprite ID
db PALETTE_91 ; palette ID
db SPRITE_ANIM_166 ; anim ID
db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags

View File

@ -0,0 +1,52 @@
MACRO portrait
db \1 ; tileset
db \2 ; palette
dw \3 ; SGB pals
ENDM
PortraitGfxData:
table_width 4, PortraitGfxData
portrait TILESET_PLAYER, PALETTE_119, SGBData_PlayerPortraitPals ; INVALID_PIC
portrait TILESET_PLAYER, PALETTE_119, SGBData_PlayerPortraitPals ; PLAYER_PIC
portrait TILESET_RONALD, PALETTE_121, SGBData_RonaldPortraitPals ; RONALD_PIC
portrait TILESET_SAM, PALETTE_122, SGBData_SamPortraitPals ; SAM_PIC
portrait TILESET_IMAKUNI, PALETTE_123, SGBData_ImakuniPortraitPals ; IMAKUNI_PIC
portrait TILESET_NIKKI, PALETTE_124, SGBData_NikkiPortraitPals ; NIKKI_PIC
portrait TILESET_RICK, PALETTE_125, SGBData_RickPortraitPals ; RICK_PIC
portrait TILESET_KEN, PALETTE_126, SGBData_KenPortraitPals ; KEN_PIC
portrait TILESET_AMY, PALETTE_127, SGBData_AmyPortraitPals ; AMY_PIC
portrait TILESET_ISAAC, PALETTE_128, SGBData_IsaacPortraitPals ; ISAAC_PIC
portrait TILESET_MITCH, PALETTE_129, SGBData_MitchPortraitPals ; MITCH_PIC
portrait TILESET_GENE, PALETTE_130, SGBData_GenePortraitPals ; GENE_PIC
portrait TILESET_MURRAY, PALETTE_131, SGBData_MurrayPortraitPals ; MURRAY_PIC
portrait TILESET_COURTNEY, PALETTE_132, SGBData_CourtneyPortraitPals ; COURTNEY_PIC
portrait TILESET_STEVE, PALETTE_133, SGBData_StevePortraitPals ; STEVE_PIC
portrait TILESET_JACK, PALETTE_134, SGBData_JackPortraitPals ; JACK_PIC
portrait TILESET_ROD, PALETTE_135, SGBData_RodPortraitPals ; ROD_PIC
portrait TILESET_JOSEPH, PALETTE_136, SGBData_JosephPortraitPals ; JOSEPH_PIC
portrait TILESET_DAVID, PALETTE_137, SGBData_DavidPortraitPals ; DAVID_PIC
portrait TILESET_ERIK, PALETTE_138, SGBData_ErikPortraitPals ; ERIK_PIC
portrait TILESET_JOHN, PALETTE_139, SGBData_JohnPortraitPals ; JOHN_PIC
portrait TILESET_ADAM, PALETTE_140, SGBData_AdamPortraitPals ; ADAM_PIC
portrait TILESET_JONATHAN, PALETTE_141, SGBData_JonathanPortraitPals ; JONATHAN_PIC
portrait TILESET_JOSHUA, PALETTE_142, SGBData_JoshuaPortraitPals ; JOSHUA_PIC
portrait TILESET_NICHOLAS, PALETTE_143, SGBData_NicholasPortraitPals ; NICHOLAS_PIC
portrait TILESET_BRANDON, PALETTE_144, SGBData_BrandonPortraitPals ; BRANDON_PIC
portrait TILESET_MATTHEW, PALETTE_145, SGBData_MatthewPortraitPals ; MATTHEW_PIC
portrait TILESET_RYAN, PALETTE_146, SGBData_RyanPortraitPals ; RYAN_PIC
portrait TILESET_ANDREW, PALETTE_147, SGBData_AndrewPortraitPals ; ANDREW_PIC
portrait TILESET_CHRIS, PALETTE_148, SGBData_ChrisPortraitPals ; CHRIS_PIC
portrait TILESET_MICHAEL, PALETTE_149, SGBData_MichaelPortraitPals ; MICHAEL_PIC
portrait TILESET_DANIEL, PALETTE_150, SGBData_DanielPortraitPals ; DANIEL_PIC
portrait TILESET_ROBERT, PALETTE_151, SGBData_RobertPortraitPals ; ROBERT_PIC
portrait TILESET_BRITTANY, PALETTE_152, SGBData_BrittanyPortraitPals ; BRITTANY_PIC
portrait TILESET_KRISTIN, PALETTE_153, SGBData_KristinPortraitPals ; KRISTIN_PIC
portrait TILESET_HEATHER, PALETTE_154, SGBData_HeatherPortraitPals ; HEATHER_PIC
portrait TILESET_SARA, PALETTE_155, SGBData_SaraPortraitPals ; SARA_PIC
portrait TILESET_AMANDA, PALETTE_156, SGBData_AmandaPortraitPals ; AMANDA_PIC
portrait TILESET_JENNIFER, PALETTE_157, SGBData_JenniferPortraitPals ; JENNIFER_PIC
portrait TILESET_JESSICA, PALETTE_158, SGBData_JessicaPortraitPals ; JESSICA_PIC
portrait TILESET_STEPHANIE, PALETTE_159, SGBData_StephaniePortraitPals ; STEPHANIE_PIC
portrait TILESET_AARON, PALETTE_160, SGBData_AaronPortraitPals ; AARON_PIC
portrait TILESET_PLAYER, PALETTE_120, SGBData_LinkOpponentPortraitPals ; LINK_OPP_PIC
assert_table_length NUM_PICS

View File

@ -1462,7 +1462,7 @@ Tech8NPCHeader:
TorchNPCHeader:
db NPC_TORCH
db SPRITE_DUEL_0
db SPRITE_OW_TORCH
db SPRITE_ANIM_TORCH
db SPRITE_ANIM_TORCH
db NPC_FLAG_DIRECTIONLESS
@ -1470,7 +1470,7 @@ TorchNPCHeader:
LegendaryCardTopLeftNPCHeader:
db NPC_LEGENDARY_CARD_TOP_LEFT
db SPRITE_DUEL_63
db SPRITE_OW_LEGENDARY_CARD
db SPRITE_ANIM_SGB_CARD_TOP_LEFT
db SPRITE_ANIM_CGB_CARD_TOP_LEFT
db NPC_FLAG_DIRECTIONLESS | NPC_FLAG_UNKNOWN
@ -1478,7 +1478,7 @@ LegendaryCardTopLeftNPCHeader:
LegendaryCardTopRightNPCHeader:
db NPC_LEGENDARY_CARD_TOP_RIGHT
db SPRITE_DUEL_63
db SPRITE_OW_LEGENDARY_CARD
db SPRITE_ANIM_SGB_CARD_TOP_RIGHT
db SPRITE_ANIM_CGB_CARD_TOP_RIGHT
db NPC_FLAG_DIRECTIONLESS | NPC_FLAG_UNKNOWN
@ -1486,7 +1486,7 @@ LegendaryCardTopRightNPCHeader:
LegendaryCardLeftSparkNPCHeader:
db NPC_LEGENDARY_CARD_LEFT_SPARK
db SPRITE_DUEL_63
db SPRITE_OW_LEGENDARY_CARD
db SPRITE_ANIM_SGB_CARD_LEFT_SPARK
db SPRITE_ANIM_CGB_CARD_LEFT_SPARK
db NPC_FLAG_DIRECTIONLESS | NPC_FLAG_UNKNOWN
@ -1494,7 +1494,7 @@ LegendaryCardLeftSparkNPCHeader:
LegendaryCardBottomLeftNPCHeader:
db NPC_LEGENDARY_CARD_BOTTOM_LEFT
db SPRITE_DUEL_63
db SPRITE_OW_LEGENDARY_CARD
db SPRITE_ANIM_SGB_CARD_BOTTOM_LEFT
db SPRITE_ANIM_CGB_CARD_BOTTOM_LEFT
db NPC_FLAG_DIRECTIONLESS | NPC_FLAG_UNKNOWN
@ -1502,7 +1502,7 @@ LegendaryCardBottomLeftNPCHeader:
LegendaryCardBottomRightNPCHeader:
db NPC_LEGENDARY_CARD_BOTTOM_RIGHT
db SPRITE_DUEL_63
db SPRITE_OW_LEGENDARY_CARD
db SPRITE_ANIM_SGB_CARD_BOTTOM_RIGHT
db SPRITE_ANIM_CGB_CARD_BOTTOM_RIGHT
db NPC_FLAG_DIRECTIONLESS | NPC_FLAG_UNKNOWN
@ -1510,7 +1510,7 @@ LegendaryCardBottomRightNPCHeader:
LegendaryCardRightSparkNPCHeader:
db NPC_LEGENDARY_CARD_RIGHT_SPARK
db SPRITE_DUEL_63
db SPRITE_OW_LEGENDARY_CARD
db SPRITE_ANIM_SGB_CARD_RIGHT_SPARK
db SPRITE_ANIM_CGB_CARD_RIGHT_SPARK
db NPC_FLAG_DIRECTIONLESS | NPC_FLAG_UNKNOWN

View File

@ -178,7 +178,7 @@ Scene_GameBoyLinkTransmitting:
dw NULL
db PALETTE_111, PALETTE_111, $00
db TILEMAP_GAMEBOY_LINK, TILEMAP_GAMEBOY_LINK_CGB, $90, $00
db SPRITE_DUEL_52
db SPRITE_LINK
db PALETTE_114, PALETTE_114, $00
db SPRITE_ANIM_179, SPRITE_ANIM_176, $50, $50
dw $00
@ -188,7 +188,7 @@ Scene_GameBoyLinkNotConnected:
dw NULL
db PALETTE_111, PALETTE_111, $00
db TILEMAP_GAMEBOY_LINK, TILEMAP_GAMEBOY_LINK_CGB, $90, $00
db SPRITE_DUEL_52
db SPRITE_LINK
db PALETTE_114, PALETTE_114, $00
db SPRITE_ANIM_180, SPRITE_ANIM_177, $50, $50
dw $00
@ -198,7 +198,7 @@ Scene_GameBoyPrinterTransmitting:
dw LoadScene_SetGameBoyPrinterAttrBlk
db PALETTE_112, PALETTE_112, $00
db TILEMAP_GAMEBOY_PRINTER, TILEMAP_GAMEBOY_PRINTER_CGB, $90, $00
db SPRITE_DUEL_53
db SPRITE_PRINTER
db PALETTE_115, PALETTE_115, $00
db SPRITE_ANIM_183, SPRITE_ANIM_181, $50, $30
dw $00
@ -208,7 +208,7 @@ Scene_GameBoyPrinterNotConnected:
dw LoadScene_SetGameBoyPrinterAttrBlk
db PALETTE_112, PALETTE_112, $00
db TILEMAP_GAMEBOY_PRINTER, TILEMAP_GAMEBOY_PRINTER_CGB, $90, $00
db SPRITE_DUEL_53
db SPRITE_PRINTER
db PALETTE_115, PALETTE_115, $00
db SPRITE_ANIM_184, SPRITE_ANIM_182, $50, $30
dw $00
@ -218,7 +218,7 @@ Scene_CardPop:
dw LoadScene_SetCardPopAttrBlk
db PALETTE_113, PALETTE_113, $00
db TILEMAP_CARD_POP, TILEMAP_CARD_POP_CGB, $80, $00
db SPRITE_DUEL_54
db SPRITE_CARD_POP
db PALETTE_116, PALETTE_116, $00
db SPRITE_ANIM_187, SPRITE_ANIM_185, $50, $40
dw $00
@ -228,7 +228,7 @@ Scene_CardPopError:
dw LoadScene_SetCardPopAttrBlk
db PALETTE_113, PALETTE_113, $00
db TILEMAP_CARD_POP, TILEMAP_CARD_POP_CGB, $80, $00
db SPRITE_DUEL_54
db SPRITE_CARD_POP
db PALETTE_116, PALETTE_116, $00
db SPRITE_ANIM_188, SPRITE_ANIM_186, $50, $40
dw $00

View File

@ -87,7 +87,7 @@ LoadTilemap:
; get pointer and bank for BG Map
call Func_803b9
ld a, [wTempPointerBank]
ld [wd23d], a
ld [wBGMapBank], a
; store header data
ld de, wDecompressionBuffer
@ -1186,7 +1186,7 @@ Func_80baa:
ld c, a
ld a, [wCurTilemap]
push af
ld a, [wd23d]
ld a, [wBGMapBank]
push af
ld a, [wBGMapWidth]
push af
@ -1248,7 +1248,7 @@ Func_80baa:
pop af
ld [wBGMapWidth], a
pop af
ld [wd23d], a
ld [wBGMapBank], a
pop af
ld [wCurTilemap], a
pop de

View File

@ -17,7 +17,7 @@ ChallengeMachine_Reset:
ChallengeMachine_Start::
ld a, 0
ld [wLineSeparation], a
call Func_10a9b
call LoadConsolePaletteData
call ChallengeMachine_Initialize
call EnableSRAM

View File

@ -35,7 +35,7 @@ PlayCreditsSequence::
Func_1d705:
call DisableLCD
farcall Func_10a9b
farcall LoadConsolePaletteData
call EnableAndClearSpriteAnimations
farcall InitMenuScreen
call Func_1d7ee

View File

@ -31,7 +31,7 @@ _AIProcessHandTrainerCards:
jp nz, .inc_hl_by_5
ld a, [hli]
ld [wce17], a
ld [wAITrainerLogicCard], a
ld a, [wAITrainerCardToPlay]
call LoadCardDataToBuffer1_FromDeckIndex
@ -47,7 +47,7 @@ _AIProcessHandTrainerCards:
.skip_switch_check
; compare hand card to second byte in data and continue if equal.
ld b, a
ld a, [wce17]
ld a, [wAITrainerLogicCard]
cp b
jr nz, .inc_hl_by_4
@ -357,7 +357,7 @@ AIPlay_SuperPotion:
ret
; if AI doesn't decide to retreat this card and card has
; any energy cards attached, check if defending Pokémon can KO
; any energy cards attached, check if defending Pokémon can KO
; active card next turn after using Super Potion.
; if it cannot, return carry.
; also take into account whether attack is high recoil.

View File

@ -19,15 +19,14 @@ PlayAttackAnimationCommands:
ld a, [hl]
or a
jr nz, .read_command
ld [hl], $01
ld [hl], $01 ; wce7e
call ResetAnimationQueue
pop de
push de
ld a, DUEL_ANIM_SCREEN_MAIN_SCENE
ld [wDuelAnimationScreen], a
ld a, $01
ld [wd4b3], a
ld a, SET_ANIM_SCREEN_MAIN
ld [wDuelAnimSetScreen], a
xor a
ld [wDuelAnimLocationParam], a
ld a, [de]
@ -70,8 +69,8 @@ AnimationCommand_AnimOpponent:
ld [wDuelAnimDuelistSide], a
jr AnimationCommand_AnimNormal
AnimationCommand_AnimUnknown2:
ld a, [wce82]
AnimationCommand_AnimPlayArea:
ld a, [wDamageAnimPlayAreaLocation]
and $7f
ld [wDuelAnimLocationParam], a
jr AnimationCommand_AnimNormal
@ -98,11 +97,11 @@ AnimationCommand_AnimNormal:
.show_damage
ld a, DUEL_ANIM_PRINT_DAMAGE
call PlayDuelAnimation
ld a, [wce81]
ld [wd4b3], a
ld a, [wDamageAnimEffectiveness]
ld [wDuelAnimEffectiveness], a
push de
ld hl, wce7f
ld hl, wDamageAnimAmount
ld de, wDuelAnimDamage
ld a, [hli]
ld [de], a
@ -149,11 +148,11 @@ AnimationCommand_AnimNormal:
ld a, b
jr .play_anim
AnimationCommand_AnimUnknown:
AnimationCommand_AnimScreen:
ld a, [de]
inc de
ld [wd4b3], a
ld a, [wce82]
ld [wDuelAnimSetScreen], a
ld a, [wDamageAnimPlayAreaLocation]
ld [wDuelAnimLocationParam], a
call SetDuelAnimationScreen
ld a, DUEL_ANIM_150
@ -165,18 +164,18 @@ AnimationCommandPointerTable:
dw AnimationCommand_AnimNormal ; anim_normal
dw AnimationCommand_AnimPlayer ; anim_player
dw AnimationCommand_AnimOpponent ; anim_opponent
dw AnimationCommand_AnimUnknown ; anim_unknown
dw AnimationCommand_AnimUnknown2 ; anim_unknown2
dw AnimationCommand_AnimScreen ; anim_screen
dw AnimationCommand_AnimPlayArea ; anim_play_area
dw AnimationCommand_AnimEnd2 ; anim_end2 (unused)
; sets wDuelAnimationScreen according to wd4b3
; if wd4b3 == $01, set it to Main Scene
; if wd4b3 == $04, st it to Play Area scene
; sets wDuelAnimationScreen according to wDuelAnimSetScreen
; if SET_ANIM_SCREEN_MAIN, set it to Main Scene
; if SET_ANIM_SCREEN_PLAY_AREA, set it to Play Area scene
SetDuelAnimationScreen:
ld a, [wd4b3]
cp $04
ld a, [wDuelAnimSetScreen]
cp SET_ANIM_SCREEN_PLAY_AREA
jr z, .set_play_area_screen
cp $01
cp SET_ANIM_SCREEN_MAIN
ret nz
ld a, DUEL_ANIM_SCREEN_MAIN_SCENE
ld [wDuelAnimationScreen], a
@ -235,13 +234,13 @@ SetDuelAnimationScreen:
ret
Func_190f4:
ld a, [wd4b3]
cp $04
ld a, [wDuelAnimSetScreen]
cp SET_ANIM_SCREEN_PLAY_AREA
jr z, Func_1910f
; fallthrough
Func_190fb:
cp $01
cp SET_ANIM_SCREEN_MAIN
jr nz, .done
ld a, DUEL_ANIM_SCREEN_MAIN_SCENE
ld [wDuelAnimationScreen], a
@ -297,7 +296,7 @@ PrintDamageText:
xor a
ld [hli], a
ld [hl], a
ld hl, wce7f
ld hl, wDamageAnimAmount
ld a, [hli]
ld h, [hl]
ld l, a
@ -318,7 +317,7 @@ GetDamageText:
or h
jr z, .no_damage
call LoadTxRam3
ld a, [wce81]
ld a, [wDamageAnimEffectiveness]
ldtx hl, AttackDamageText
and (1 << RESISTANCE) | (1 << WEAKNESS)
ret z ; not weak or resistant
@ -335,7 +334,7 @@ GetDamageText:
call CheckNoDamageOrEffect
ret c
ldtx hl, NoDamageText
ld a, [wce81]
ld a, [wDamageAnimEffectiveness]
and (1 << RESISTANCE)
ret z ; not resistant
ldtx hl, ResistanceNoDamageText

View File

@ -18,7 +18,7 @@ _ResetAnimationQueue::
xor a
ld [wDuelAnimBufferCurPos], a
ld [wDuelAnimBufferSize], a
ld [wd4b3], a
ld [wDuelAnimSetScreen], a
call DefaultScreenAnimationUpdate
call EnableAndClearSpriteAnimations
pop bc
@ -303,7 +303,7 @@ LoadDuelAnimationToBuffer::
ld [hli], a
ld a, [wDuelAnimDamage + 1]
ld [hli], a
ld a, [wd4b3]
ld a, [wDuelAnimSetScreen]
ld [hli], a
ld a, [wDuelAnimReturnBank]
ld [hl], a
@ -346,7 +346,7 @@ PlayBufferedDuelAnimations:
ld a, [hli]
ld [wDuelAnimDamage + 1], a
ld a, [hli]
ld [wd4b3], a
ld [wDuelAnimSetScreen], a
ld a, [hl]
ld [wDuelAnimReturnBank], a
@ -435,7 +435,7 @@ _UpdateQueuedAnimations::
ld [wd4c0], a
jr .asm_1cafb ; will play buffered animations
Func_1cb18::
ClearAndDisableQueuedAnimations::
push hl
push bc
push de
@ -491,71 +491,73 @@ Func_1cb5e:
jp nc, Func_1ce03
cp $8c
jp nz, InitScreenAnimation
jr .asm_1cb6a ; redundant
.asm_1cb6a
jr .damage ; redundant
.damage
ld a, [wDuelAnimDamage + 1]
cp $03
jr nz, .asm_1cb76
cp HIGH(1000)
jr nz, .return_on_overflow
ld a, [wDuelAnimDamage]
cp $e8
.asm_1cb76
cp LOW(1000)
.return_on_overflow
ret nc
xor a
ld [wd4b8], a
ld [wDamageCharAnimDelay], a
ld [wVRAMTileOffset], a
ld [wd4cb], a
ld a, PALETTE_37
farcall LoadPaletteData
call Func_1cba6
ld hl, wd4b3
bit 0, [hl]
call nz, Func_1cc3e
ld a, $12
ld [wd4b8], a
bit 1, [hl]
call nz, Func_1cc4e
call DrawDamageAnimationNumbers
ld hl, wDuelAnimEffectiveness
bit 0, [hl] ; weak
call nz, DrawDamageAnimationWeak
ld a, 18
ld [wDamageCharAnimDelay], a
bit 1, [hl] ; resistant
call nz, DrawDamageAnimationResist
bit 2, [hl]
call nz, Func_1cc66
call nz, DrawDamageAnimationArrow
xor a
ld [wd4b3], a
ld [wDuelAnimEffectiveness], a
ret
Func_1cba6:
call Func_1cc03
DrawDamageAnimationNumbers:
call GetDamageNumberChars
xor a
ld [wd4b7], a
ld [wDamageCharIndex], a
ld hl, wDecimalChars
ld de, wAnimationQueue + 1
.asm_1cbb3
.loop_num_chars
push hl
push de
ld a, [hl]
or a
jr z, .asm_1cbbc
call Func_1cbcc
.asm_1cbbc
jr z, .no_char
call CreateDamageCharSprite
.no_char
pop de
pop hl
inc hl
inc de
ld a, [wd4b7]
ld a, [wDamageCharIndex]
inc a
ld [wd4b7], a
cp $03
jr c, .asm_1cbb3
ld [wDamageCharIndex], a
cp 3
jr c, .loop_num_chars
ret
Func_1cbcc:
; creates a character sprite
; given index in wDamageCharIndex
; the relative x-positions for each index are:
; index: 0 1 2 3 4 5
; rel x: -16 -8 0 8 -8 -16
; indices 0, 1 and 2 are for number chars
CreateDamageCharSprite:
push af
ld a, SPRITE_DUEL_4
ld a, SPRITE_DUEL_DAMAGE
farcall CreateSpriteAndAnimBufferEntry
ld a, [wWhichSprite]
ld [de], a
@ -565,28 +567,26 @@ Func_1cbcc:
call GetSpriteAnimBufferProperty
call GetAnimCoordsAndFlags
ld a, [wd4b7]
add LOW(Unknown_1cbfd)
ld a, [wDamageCharIndex]
add LOW(.RelativeXPos)
ld e, a
ld a, HIGH(Unknown_1cbfd)
ld a, HIGH(.RelativeXPos)
adc 0
ld d, a
ld a, [de]
add b
ld [hli], a ; SPRITE_ANIM_COORD_X
ld [hl], c ; SPRITE_ANIM_COORD_Y
ld a, [wd4b8]
ld a, [wDamageCharAnimDelay]
ld c, a
pop af
farcall Func_12ac9
ret
Unknown_1cbfd:
db -$10, -$8, $0, $8, -$8, -$10
.RelativeXPos:
db -16, -8, 0, 8, -8, -16
Func_1cc03:
GetDamageNumberChars:
ld a, [wDuelAnimDamage]
ld l, a
ld a, [wDuelAnimDamage + 1]
@ -594,35 +594,36 @@ Func_1cc03:
ld de, wDecimalChars
ld bc, -100
call .Func_1cc2f
call .ConvertDigitToCharTile
ld bc, -10
call .Func_1cc2f
call .ConvertDigitToCharTile
ld a, l
add $4f
add SPRITE_ANIM_79
ld [de], a
; remove left padding zeroes
ld hl, wDecimalChars
ld c, 2
.asm_1cc23
.loop_check_zeroes
ld a, [hl]
cp $4f
jr nz, .asm_1cc2e
cp SPRITE_ANIM_79 ; 0 char
jr nz, .done
ld [hl], $00
inc hl
dec c
jr nz, .asm_1cc23
.asm_1cc2e
jr nz, .loop_check_zeroes
.done
ret
.Func_1cc2f
ld a, $4e
.loop
.ConvertDigitToCharTile
ld a, SPRITE_ANIM_79 - 1
.loop_sub
inc a
add hl, bc
jr c, .loop
jr c, .loop_sub
ld [de], a
inc de
; get remaining amount
ld a, l
sub c
ld l, a
@ -631,35 +632,35 @@ Func_1cc03:
ld h, a
ret
Func_1cc3e:
DrawDamageAnimationWeak:
push hl
ld a, $03
ld [wd4b7], a
ld a, 3
ld [wDamageCharIndex], a
ld de, wAnimationQueue + 4
ld a, SPRITE_ANIM_91
call Func_1cbcc
call CreateDamageCharSprite
pop hl
ret
Func_1cc4e:
DrawDamageAnimationResist:
push hl
ld a, $04
ld [wd4b7], a
ld a, 4
ld [wDamageCharIndex], a
ld de, wAnimationQueue + 5
ld a, SPRITE_ANIM_90
call Func_1cbcc
ld a, [wd4b8]
add $12
ld [wd4b8], a
call CreateDamageCharSprite
ld a, [wDamageCharAnimDelay]
add 18
ld [wDamageCharAnimDelay], a
pop hl
ret
Func_1cc66:
DrawDamageAnimationArrow:
push hl
ld a, $05
ld [wd4b7], a
ld a, 5
ld [wDamageCharIndex], a
ld de, wAnimationQueue + 6
ld a, SPRITE_ANIM_89
call Func_1cbcc
call CreateDamageCharSprite
pop hl
ret

View File

@ -92,10 +92,9 @@ ShakeScreenX_Big:
ShakeScreenX:
ld a, l
ld [wd4bc], a
ld [wScreenShakeOffsetsPtr], a
ld a, h
ld [wd4bc + 1], a
ld [wScreenShakeOffsetsPtr + 1], a
ld hl, wScreenAnimUpdatePtr
ld [hl], LOW(.Update)
inc hl
@ -121,9 +120,9 @@ ShakeScreenY_Big:
ShakeScreenY:
ld a, l
ld [wd4bc], a
ld [wScreenShakeOffsetsPtr], a
ld a, h
ld [wd4bc + 1], a
ld [wScreenShakeOffsetsPtr + 1], a
ld hl, wScreenAnimUpdatePtr
ld [hl], LOW(.Update)
inc hl
@ -143,7 +142,7 @@ ShakeScreenY:
; depending on the value of wScreenAnimDuration
; returns carry if displacement was updated
UpdateShakeOffset:
ld hl, wd4bc
ld hl, wScreenShakeOffsetsPtr
ld a, [hli]
ld h, [hl]
ld l, a
@ -154,14 +153,15 @@ UpdateShakeOffset:
push hl
inc hl
ld a, l
ld [wd4bc], a
ld [wScreenShakeOffsetsPtr], a
ld a, h
ld [wd4bc + 1], a
ld [wScreenShakeOffsetsPtr + 1], a
pop hl
scf
ret
SmallShakeOffsets:
; timer, offset
db 21, 2
db 17, -2
db 13, 2
@ -170,6 +170,7 @@ SmallShakeOffsets:
db 1, -1
BigShakeOffsets:
; timer, offset
db 29, 4
db 25, -4
db 21, 4
@ -190,7 +191,7 @@ WhiteFlashScreen:
inc hl
ld [hl], HIGH(.Update)
ld a, [wBGP]
ld [wd4bc], a
ld [wTempWhiteFlashBGP], a
; backup the current background pals
ld hl, wBackgroundPalettesCGB
ld de, wTempBackgroundPalettesCGB
@ -214,7 +215,7 @@ WhiteFlashScreen:
ld de, wBackgroundPalettesCGB
ld bc, 8 palettes
call CopyDataHLtoDE_SaveRegisters
ld a, [wd4bc]
ld a, [wTempWhiteFlashBGP]
call SetBGP
call FlushAllPalettes
jp DefaultScreenAnimationUpdate

View File

@ -84,7 +84,7 @@ MainDuelLoop:
jr nz, .duel_finished
call UpdateSubstatusConditions_EndOfTurn
call HandleBetweenTurnsEvents
call Func_3b31
call FinishQueuedAnimations
call ExchangeRNG
ld a, [wDuelFinished]
or a
@ -179,7 +179,7 @@ MainDuelLoop:
jr z, .tied_duel
call PlayDefaultSong
call WaitForWideTextBoxInput
call Func_3b31
call FinishQueuedAnimations
call ResetSerial
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
@ -187,7 +187,7 @@ MainDuelLoop:
.tied_duel
call WaitForWideTextBoxInput
call Func_3b31
call FinishQueuedAnimations
ld a, [wDuelTheme]
call PlaySong
ldtx hl, StartSuddenDeathMatchText
@ -741,13 +741,13 @@ PlayPokemonCard:
; triggered by selecting the "Check" item in the duel menu
DuelMenu_Check:
call Func_3b31
call FinishQueuedAnimations
call OpenDuelCheckMenu
jp DuelMainInterface
; triggered by pressing SELECT in the duel menu
DuelMenuShortcut_BothActivePokemon:
call Func_3b31
call FinishQueuedAnimations
call Func_4597
jp DuelMainInterface
@ -892,11 +892,11 @@ DisplayRetreatScreen:
; card's information and a menu to select the attached energy cards to discard.
; input: a = PLAY_AREA_* of the Pokemon trying to discard energies from.
DisplayEnergyDiscardScreen:
ld [wcbe0], a
ld [wEnergyDiscardPlayAreaLocation], a
call EmptyScreen
call LoadDuelCardSymbolTiles
call LoadDuelFaceDownCardTiles
ld a, [wcbe0]
ld a, [wEnergyDiscardPlayAreaLocation]
ld hl, wCurPlayAreaSlot
ld [hli], a
ld [hl], 0 ; wCurPlayAreaY
@ -1061,7 +1061,7 @@ OpenAttackPage:
xor a
ld [wCurPlayAreaSlot], a
call EmptyScreen
call Func_3b31
call FinishQueuedAnimations
ld de, v0Tiles1 + $20 tiles
call LoadLoaded1CardGfx
call SetOBP1OrSGB3ToCardPalette
@ -1477,7 +1477,7 @@ PlayTurnDuelistDrawAnimation:
jr c, .loop_anim
.done_anim
call Func_3b31
call FinishQueuedAnimations
ret
; prints, for each duelist, the number of cards in the hand along with the
@ -2204,7 +2204,7 @@ PlayShuffleAndDrawCardsAnimation:
call CheckAnyAnimationPlaying
jr c, .loop_shuffle_anim
.done_shuffle
call Func_3b31
call FinishQueuedAnimations
.print_deck_info
xor a
@ -2252,7 +2252,7 @@ PlayShuffleAndDrawCardsAnimation:
jr nz, .wait_loop
.done
call Func_3b31
call FinishQueuedAnimations
pop bc
ret
@ -2304,7 +2304,7 @@ Func_4f2d:
jr c, .loop_anim
.done_anim
call Func_3b31
call FinishQueuedAnimations
ld a, $01
ret
@ -3488,7 +3488,7 @@ OpenCardPage:
ld [wCardPageType], a
call ZeroObjectPositionsAndToggleOAMCopy
call EmptyScreen
call Func_3b31
call FinishQueuedAnimations
; load the graphics and display the card image of wLoadedCard1
call LoadDuelCardSymbolTiles
ld de, v0Tiles1 + $20 tiles
@ -3568,7 +3568,7 @@ DrawWholeScreenTextBox:
ret
Func_5805:
call Func_3b31
call FinishQueuedAnimations
ld a, [wNumberPrizeCardsToTake]
ld l, a
ld h, $00
@ -5054,7 +5054,7 @@ Func_60dd:
ret z
ld a, [wcbd4]
cp $02
jr z, .asm_6121
jr z, .return_carry
xor a
ld [wCurrentDuelMenuItem], a
.asm_60f2
@ -5079,9 +5079,10 @@ Func_60dd:
call HasAlivePokemonInBench
ld a, $01
ld [wcbd4], a
.asm_6121
.return_carry
scf
ret
.a_pressed
ld a, [wCurrentDuelMenuItem]
cp 2
@ -6370,7 +6371,7 @@ Func_6862:
jr .return_carry
Func_68c6:
call Func_3b31
call FinishQueuedAnimations
ld hl, sp+$00
ld a, l
ld [wcbf7], a
@ -7146,54 +7147,62 @@ ConvertSpecialTrainerCardToPokemon::
db UNABLE_RETREAT ; CARD_DATA_RETREAT_COST
ds $0d ; PKMN_CARD_DATA_LENGTH - (CARD_DATA_RETREAT_COST + 1)
; this function applies status conditions to the defending Pokemon,
; returned by the effect functions in wEffectFunctionsFeedback
Func_6df1::
; this function applies all status conditions in order
; that have been added to the wStatusConditionQueue
; return carry if any status conditions were applied
; and the defending Pokemon didn't have "No Damage or Effect" status
ApplyStatusConditionQueue::
xor a
ld [wPlayerArenaCardLastTurnStatus], a
ld [wOpponentArenaCardLastTurnStatus], a
ld hl, wEffectFunctionsFeedbackIndex
ld hl, wStatusConditionQueueIndex
ld a, [hl]
or a
ret z
ld e, [hl]
ld d, $00
ld hl, wEffectFunctionsFeedback
ld hl, wStatusConditionQueue
add hl, de
ld [hl], $00
ld [hl], $00 ; terminator byte
call CheckNoDamageOrEffect
jr c, .no_damage_or_effect
ld hl, wEffectFunctionsFeedback
; apply all status conditions unconditionally
ld hl, wStatusConditionQueue
.apply_status_loop
ld a, [hli]
or a
jr z, .done
ld d, a
jr z, .done_apply_all
ld d, a ; which duelist side
call ApplyStatusConditionToArenaPokemon
jr .apply_status_loop
.done
.done_apply_all
scf
ret
.no_damage_or_effect
ld a, l
or h
call nz, DrawWideTextBox_PrintText
ld hl, wEffectFunctionsFeedback
.asm_6e23
; if no damage or effect to defending Pokemon,
; we will just apply the conditions to turn duelist's Pokemon
ld hl, wStatusConditionQueue
.apply_own_status_loop
ld a, [hli]
or a
jr z, .asm_6e37
jr z, .done_apply_own
ld d, a
ld a, [wWhoseTurn]
cp d
jr z, .asm_6e32
jr z, .apply_own_condition
inc hl
inc hl
jr .asm_6e23
.asm_6e32
jr .apply_own_status_loop
.apply_own_condition
call ApplyStatusConditionToArenaPokemon
jr .asm_6e23
.asm_6e37
jr .apply_own_status_loop
.done_apply_own
ret
; apply the status condition at hl+1 to the arena Pokemon
@ -7382,7 +7391,7 @@ ReplaceKnockedOutPokemon:
; replace the arena Pokemon with the one at location [hTempPlayAreaLocation_ff9d]
.replace_pokemon
call Func_3b31
call FinishQueuedAnimations
ld a, PRACTICEDUEL_REPLACE_KNOCKED_OUT_POKEMON
call DoPracticeDuelAction
jr c, .select_pokemon
@ -7786,12 +7795,12 @@ ClearNonTurnTemporaryDuelvars_CopyStatus::
ret
; update non-turn holder's DUELVARS_ARENA_CARD_LAST_TURN_DAMAGE
; if wccef == 0: set to [wDealtDamage]
; if wceef != 0: set to 0
Func_7195::
; if wDefendingWasForcedToSwitch == 0: set to [wDealtDamage]
; if wDefendingWasForcedToSwitch != 0: set to 0
UpdateArenaCardLastTurnDamage::
ld a, DUELVARS_ARENA_CARD_LAST_TURN_DAMAGE
call GetNonTurnDuelistVariable
ld a, [wccef]
ld a, [wDefendingWasForcedToSwitch]
or a
jr nz, .zero
ld a, [wDealtDamage]
@ -8005,13 +8014,13 @@ _TossCoin::
call Func_72ff
.asm_72e2
call Func_3b31
call FinishQueuedAnimations
ld a, [wCoinTossNumTossed]
ld hl, wCoinTossTotalNum
cp [hl]
jp c, .print_coin_tally
call ExchangeRNG
call Func_3b31
call FinishQueuedAnimations
call ResetAnimationQueue
; return carry if at least 1 heads
@ -8073,7 +8082,7 @@ Func_7344:
pop af
ret
.asm_734d
call Func_3b31
call FinishQueuedAnimations
call DuelTransmissionError
ret
@ -8200,24 +8209,25 @@ Func_7415::
ld [wce7e], a
ret
Func_741a::
ld hl, wEffectFunctionsFeedbackIndex
; plays all animations that are queued in wStatusConditionQueue
PlayStatusConditionQueueAnimations::
ld hl, wStatusConditionQueueIndex
ld a, [hl]
or a
ret z
ld e, a
ld d, $00
ld hl, wEffectFunctionsFeedback
ld hl, wStatusConditionQueue
add hl, de
ld [hl], $00
ld hl, wEffectFunctionsFeedback
ld hl, wStatusConditionQueue
.loop
ld a, [hli]
or a
jr z, .done
ld d, a
inc hl
ld a, [hli]
ld a, [hli] ; which condition to inflict
ld e, ATK_ANIM_SLEEP
cp ASLEEP
jr z, .got_anim
@ -8236,7 +8246,9 @@ Func_741a::
ldh a, [hWhoseTurn]
cp d
jr nz, .got_anim
ld e, ATK_ANIM_IMAKUNI_CONFUSION
; if it's applied to the turn duelist
; then load the own confusion animation instead
ld e, ATK_ANIM_OWN_CONFUSION
.got_anim
ld a, e
ld [wLoadedAttackAnimation], a
@ -8287,6 +8299,7 @@ WaitAttackAnimation::
; input:
; - [wLoadedAttackAnimation]: animation to play
; - de: damage dealt by the attack (to display the animation with the number)
; - b: PLAY_AREA_* location, if applicable
; - c: a wDamageEffectiveness constant (to print WEAK or RESIST if necessary)
PlayAttackAnimation::
ldh a, [hWhoseTurn]
@ -8297,19 +8310,19 @@ PlayAttackAnimation::
ld a, [wWhoseTurn]
ldh [hWhoseTurn], a
ld a, c
ld [wce81], a
ld [wDamageAnimEffectiveness], a
ldh a, [hWhoseTurn]
cp h
jr z, .asm_74aa
jr z, .got_location
set 7, b
.asm_74aa
.got_location
ld a, b
ld [wce82], a
ld [wDamageAnimPlayAreaLocation], a
ld a, [wWhoseTurn]
ld [wce83], a
ld [wDamageAnimPlayAreaSide], a
ld a, [wTempNonTurnDuelistCardID]
ld [wce84], a
ld hl, wce7f
ld [wDamageAnimCardID], a
ld hl, wDamageAnimAmount
ld [hl], e
inc hl
ld [hl], d

View File

@ -5,11 +5,11 @@ Poison50PercentEffect:
PoisonEffect:
lb bc, CNF_SLP_PRZ, POISONED
jr ApplyStatusEffect
jr QueueStatusCondition
DoublePoisonEffect:
lb bc, CNF_SLP_PRZ, DOUBLE_POISONED
jr ApplyStatusEffect
jr QueueStatusCondition
Paralysis50PercentEffect:
ldtx de, ParalysisCheckText
@ -18,7 +18,7 @@ Paralysis50PercentEffect:
ParalysisEffect:
lb bc, PSN_DBLPSN, PARALYZED
jr ApplyStatusEffect
jr QueueStatusCondition
Confusion50PercentEffect:
ldtx de, ConfusionCheckText
@ -27,7 +27,7 @@ Confusion50PercentEffect:
ConfusionEffect:
lb bc, PSN_DBLPSN, CONFUSED
jr ApplyStatusEffect
jr QueueStatusCondition
Sleep50PercentEffect:
ldtx de, SleepCheckText
@ -36,9 +36,9 @@ Sleep50PercentEffect:
SleepEffect:
lb bc, PSN_DBLPSN, ASLEEP
jr ApplyStatusEffect
jr QueueStatusCondition
ApplyStatusEffect:
QueueStatusCondition:
ldh a, [hWhoseTurn]
ld hl, wWhoseTurn
cp [hl]
@ -66,11 +66,11 @@ ApplyStatusEffect:
ret
.can_induce_status
ld hl, wEffectFunctionsFeedbackIndex
ld hl, wStatusConditionQueueIndex
push hl
ld e, [hl]
ld d, $0
ld hl, wEffectFunctionsFeedback
ld hl, wStatusConditionQueue
add hl, de
call SwapTurn
ldh a, [hWhoseTurn]
@ -80,7 +80,7 @@ ApplyStatusEffect:
inc hl
ld [hl], c ; status condition to inflict to the target
pop hl
; advance wEffectFunctionsFeedbackIndex
; advance wStatusConditionQueueIndex
inc [hl]
inc [hl]
inc [hl]
@ -435,7 +435,7 @@ HandleSwitchDefendingPokemonEffect:
ld [wccc5], a
ld [wDuelDisplayedScreen], a
inc a
ld [wccef], a
ld [wDefendingWasForcedToSwitch], a
ret
; returns carry if Defending has No Damage or Effect
@ -472,7 +472,7 @@ ApplyAndAnimateHPRecovery:
push de
ld a, ATK_ANIM_HEAL
ld [wLoadedAttackAnimation], a
ld bc, $01 ; arrow
lb bc, PLAY_AREA_ARENA, $1 ; arrow
bank1call PlayAttackAnimation
; compare HP to be restored with max HP
@ -3453,7 +3453,7 @@ Quickfreeze_Paralysis50PercentEffect:
; tails
call SetWasUnsuccessful
bank1call DrawDuelMainScene
bank1call Func_1bca
bank1call PrintFailedEffectText
call WaitForWideTextBoxInput
ret
@ -3465,11 +3465,11 @@ Quickfreeze_Paralysis50PercentEffect:
ldh a, [hWhoseTurn]
ld h, a
bank1call PlayAttackAnimation
bank1call Func_741a
bank1call PlayStatusConditionQueueAnimations
bank1call WaitAttackAnimation
bank1call Func_6df1
bank1call ApplyStatusConditionQueue
bank1call DrawDuelHUDs
bank1call Func_1bca
bank1call PrintFailedEffectText
call c, WaitForWideTextBoxInput
ret
@ -4182,7 +4182,7 @@ Firegiver_AddToHandEffect:
.loop_energy
push hl
push bc
ld bc, $0
lb bc, PLAY_AREA_ARENA, $0
ldh a, [hWhoseTurn]
ld h, a
bank1call PlayAttackAnimation
@ -4211,10 +4211,10 @@ Firegiver_AddToHandEffect:
sub [hl]
ld c, e
bank1call WriteTwoDigitNumberInTxSymbolFormat
; load Fire Energy card index and add to hand
pop bc
pop hl
; load Fire Energy card index and add to hand
ld a, [hli]
call SearchCardInDeckAndAddToHand
call AddCardToHand
@ -6253,7 +6253,7 @@ Peek_SelectEffect:
jr nz, .ai_opp
; player
call Func_3b31
call FinishQueuedAnimations
call HandlePeekSelection
ldh [hAIPkmnPowerEffectParam], a
call SerialSend8Bytes
@ -6288,7 +6288,7 @@ Peek_SelectEffect:
.prize_or_deck
; AI chose either a prize card or Player's top deck card,
; so show Play Area and draw cursor appropriately.
call Func_3b31
call FinishQueuedAnimations
call SwapTurn
ldh a, [hAIPkmnPowerEffectParam]
xor $80
@ -6796,12 +6796,12 @@ Gigashock_PlayerSelectEffect:
; init number of items in list and cursor position
xor a
ldh [hCurSelectionItem], a
ld [wce72], a
ld [wCurGigashockItem], a
bank1call Func_61a1
.start
bank1call PrintPlayAreaCardList_EnableLCD
push af
ld a, [wce72]
ld a, [wCurGigashockItem]
ld hl, BenchSelectionMenuParameters
call InitializeMenuParameters
pop af
@ -6817,7 +6817,7 @@ Gigashock_PlayerSelectEffect:
cp -1
jr z, .try_cancel
ld [wce72], a
ld [wCurGigashockItem], a
call .CheckIfChosenAlready
jr nc, .not_chosen
; play SFX
@ -6882,7 +6882,7 @@ Gigashock_PlayerSelectEffect:
pop af
dec a
ld [wce72], a
ld [wCurGigashockItem], a
jr .start
; returns carry if Bench Pokemon
@ -8530,28 +8530,26 @@ DragoniteLv41Slam_MultiplierEffect:
call SetDefiniteDamage
ret
; possibly unreferenced
Func_2efbc:
CopyPlayAreaHPToBackup_Unreferenced:
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
call GetTurnDuelistVariable
ld c, a
ld l, DUELVARS_ARENA_CARD_HP
ld de, wce76
.asm_2efc7
ld de, wBackupPlayerAreaHP
.loop_play_area
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .asm_2efc7
jr nz, .loop_play_area
ret
; possibly unreferenced
Func_2efce:
CopyPlayAreaHPFromBackup_Unreferenced:
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
call GetTurnDuelistVariable
ld c, a
ld l, DUELVARS_ARENA_CARD_HP
ld de, wce76
ld de, wBackupPlayerAreaHP
.asm_2efd9
ld a, [de]
inc de
@ -8959,7 +8957,7 @@ ImakuniEffect:
.failed
; play confusion animation and print failure text
ld a, ATK_ANIM_IMAKUNI_CONFUSION
ld a, ATK_ANIM_OWN_CONFUSION
call Func_2fea9
ldtx hl, ThereWasNoEffectText
call DrawWideTextBox_WaitForInput
@ -8967,7 +8965,7 @@ ImakuniEffect:
.success
; play confusion animation and confuse card
ld a, ATK_ANIM_IMAKUNI_CONFUSION
ld a, ATK_ANIM_OWN_CONFUSION
call Func_2fea9
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
@ -11138,7 +11136,7 @@ GustOfWind_SwitchEffect:
Func_2fea9:
ld [wLoadedAttackAnimation], a
bank1call Func_7415
ld bc, $0
lb bc, PLAY_AREA_ARENA, $0
ldh a, [hWhoseTurn]
ld h, a
bank1call PlayAttackAnimation

View File

@ -1,21 +1,21 @@
; writes wd293 with byte depending on console
; loads wConsolePaletteData depending on console
; every entry in the list is $00
Func_10a9b:
LoadConsolePaletteData:
push hl
ld a, [wConsole]
add LOW(.data_10ab1)
add LOW(.PaletteDataTable)
ld l, a
ld a, HIGH(.data_10ab1)
ld a, HIGH(.PaletteDataTable)
adc 0
ld h, a
ld a, [hl]
ld [wd293], a
ld [wConsolePaletteData], a
xor a
ld [wd317], a
pop hl
ret
.data_10ab1
.PaletteDataTable:
db $00 ; CONSOLE_DMG
db $00 ; CONSOLE_SGB
db $00 ; CONSOLE_CGB
@ -24,7 +24,7 @@ FadeScreenToWhite:
ld a, [wLCDC]
bit LCDC_ENABLE_F, a
jr z, .lcd_off
ld a, [wd293]
ld a, [wConsolePaletteData]
ld [wTempBGP], a
ld [wTempOBP0], a
ld [wTempOBP1], a
@ -38,7 +38,7 @@ FadeScreenToWhite:
ret
.lcd_off
ld a, [wd293]
ld a, [wConsolePaletteData]
ld [wBGP], a
ld [wOBP0], a
ld [wOBP1], a
@ -71,7 +71,7 @@ FadeScreenFromWhite:
; fills wBackgroundPalettesCGB with white pal
SetWhitePalettes:
ld a, [wd293]
ld a, [wConsolePaletteData]
ld [wBGP], a
ld [wOBP0], a
ld [wOBP1], a
@ -482,7 +482,7 @@ Func_10d17:
ld bc, NUM_BACKGROUND_PALETTES palettes + NUM_OBJECT_PALETTES palettes
call CopyDataHLtoDE_SaveRegisters
ld a, [wd293]
ld a, [wConsolePaletteData]
ld [wBGP], a
ld de, PALRGB_WHITE
ld hl, wBackgroundPalettesCGB
@ -495,7 +495,7 @@ Func_10d17:
ret
Func_10d50:
ld a, [wd293]
ld a, [wConsolePaletteData]
ld [wTempBGP], a
ld a, [wOBP0]
ld [wTempOBP0], a

View File

@ -196,7 +196,7 @@ LoadSpriteDataForAnimationFrame:
ld bc, SPRITE_ANIM_FRAME_BANK - SPRITE_ANIM_FLAGS
add hl, bc
ld a, [hli]
ld [wd5d6], a
ld [wCurrSpriteFrameBank], a
or a
jr z, .quit
ld a, [hli]

View File

@ -7,118 +7,118 @@ ENDM
Sprites:
table_width 4, Sprites
gfx_pointer OWPlayerGfx, $14 ; SPRITE_OW_PLAYER
gfx_pointer OWRonaldGfx, $14 ; SPRITE_OW_RONALD
gfx_pointer OWDrMasonGfx, $14 ; SPRITE_OW_DRMASON
gfx_pointer OWIshiharaGfx, $14 ; SPRITE_OW_ISHIHARA
gfx_pointer OWImakuniGfx, $14 ; SPRITE_OW_IMAKUNI
gfx_pointer OWNikkiGfx, $14 ; SPRITE_OW_NIKKI
gfx_pointer OWRickGfx, $14 ; SPRITE_OW_RICK
gfx_pointer OWKenGfx, $14 ; SPRITE_OW_KEN
gfx_pointer OWAmyGfx, $1b ; SPRITE_OW_AMY
gfx_pointer OWIsaacGfx, $14 ; SPRITE_OW_ISAAC
gfx_pointer OWMitchGfx, $14 ; SPRITE_OW_MITCH
gfx_pointer OWGeneGfx, $14 ; SPRITE_OW_GENE
gfx_pointer OWMurrayGfx, $14 ; SPRITE_OW_MURRAY
gfx_pointer OWCourtneyGfx, $14 ; SPRITE_OW_COURTNEY
gfx_pointer OWSteveGfx, $14 ; SPRITE_OW_STEVE
gfx_pointer OWJackGfx, $14 ; SPRITE_OW_JACK
gfx_pointer OWRodGfx, $14 ; SPRITE_OW_ROD
gfx_pointer OWBoyGfx, $14 ; SPRITE_OW_BOY
gfx_pointer OWLadGfx, $14 ; SPRITE_OW_LAD
gfx_pointer OWSpecsGfx, $14 ; SPRITE_OW_SPECS
gfx_pointer OWButchGfx, $14 ; SPRITE_OW_BUTCH
gfx_pointer OWManiaGfx, $14 ; SPRITE_OW_MANIA
gfx_pointer OWJoshuaGfx, $14 ; SPRITE_OW_JOSHUA
gfx_pointer OWHoodGfx, $14 ; SPRITE_OW_HOOD
gfx_pointer OWTechGfx, $14 ; SPRITE_OW_TECH
gfx_pointer OWChapGfx, $14 ; SPRITE_OW_CHAP
gfx_pointer OWManGfx, $14 ; SPRITE_OW_MAN
gfx_pointer OWPappyGfx, $14 ; SPRITE_OW_PAPPY
gfx_pointer OWGirlGfx, $14 ; SPRITE_OW_GIRL
gfx_pointer OWLass1Gfx, $14 ; SPRITE_OW_LASS1
gfx_pointer OWLass2Gfx, $14 ; SPRITE_OW_LASS2
gfx_pointer OWLass3Gfx, $14 ; SPRITE_OW_LASS3
gfx_pointer OWSwimmerGfx, $14 ; SPRITE_OW_SWIMMER
gfx_pointer OWClerkGfx, $08 ; SPRITE_OW_CLERK
gfx_pointer OWGalGfx, $14 ; SPRITE_OW_GAL
gfx_pointer OWWomanGfx, $14 ; SPRITE_OW_WOMAN
gfx_pointer OWGrannyGfx, $14 ; SPRITE_OW_GRANNY
gfx_pointer OverworldMapOAMGfx, $08 ; SPRITE_OW_MAP_OAM
gfx_pointer Duel0Gfx, $16 ; SPRITE_DUEL_0
gfx_pointer Duel63Gfx, $0a ; SPRITE_DUEL_63
gfx_pointer DuelGlowGfx, $0b ; SPRITE_DUEL_GLOW
gfx_pointer Duel1Gfx, $06 ; SPRITE_DUEL_1
gfx_pointer Duel2Gfx, $08 ; SPRITE_DUEL_2
gfx_pointer Duel55Gfx, $02 ; SPRITE_DUEL_55
gfx_pointer Duel58Gfx, $04 ; SPRITE_DUEL_58
gfx_pointer Duel3Gfx, $09 ; SPRITE_DUEL_3
gfx_pointer Duel4Gfx, $12 ; SPRITE_DUEL_4
gfx_pointer Duel5Gfx, $09 ; SPRITE_DUEL_5
gfx_pointer Duel6Gfx, $11 ; SPRITE_DUEL_6
gfx_pointer Duel59Gfx, $03 ; SPRITE_DUEL_59
gfx_pointer Duel7Gfx, $2d ; SPRITE_DUEL_7
gfx_pointer Duel8Gfx, $0d ; SPRITE_DUEL_8
gfx_pointer Duel9Gfx, $1c ; SPRITE_DUEL_9
gfx_pointer Duel10Gfx, $4c ; SPRITE_DUEL_10
gfx_pointer Duel61Gfx, $03 ; SPRITE_DUEL_61
gfx_pointer Duel11Gfx, $1b ; SPRITE_DUEL_11
gfx_pointer Duel12Gfx, $07 ; SPRITE_DUEL_12
gfx_pointer Duel13Gfx, $0c ; SPRITE_DUEL_13
gfx_pointer Duel62Gfx, $01 ; SPRITE_DUEL_62
gfx_pointer Duel14Gfx, $22 ; SPRITE_DUEL_14
gfx_pointer Duel15Gfx, $20 ; SPRITE_DUEL_15
gfx_pointer Duel16Gfx, $0a ; SPRITE_DUEL_16
gfx_pointer Duel17Gfx, $25 ; SPRITE_DUEL_17
gfx_pointer Duel18Gfx, $18 ; SPRITE_DUEL_18
gfx_pointer Duel19Gfx, $1b ; SPRITE_DUEL_19
gfx_pointer Duel20Gfx, $08 ; SPRITE_DUEL_20
gfx_pointer Duel21Gfx, $0d ; SPRITE_DUEL_21
gfx_pointer Duel22Gfx, $22 ; SPRITE_DUEL_22
gfx_pointer Duel23Gfx, $0c ; SPRITE_DUEL_23
gfx_pointer Duel24Gfx, $25 ; SPRITE_DUEL_24
gfx_pointer Duel25Gfx, $22 ; SPRITE_DUEL_25
gfx_pointer Duel26Gfx, $0c ; SPRITE_DUEL_26
gfx_pointer Duel27Gfx, $4c ; SPRITE_DUEL_27
gfx_pointer Duel28Gfx, $08 ; SPRITE_DUEL_28
gfx_pointer Duel29Gfx, $07 ; SPRITE_DUEL_29
gfx_pointer Duel56Gfx, $01 ; SPRITE_DUEL_56
gfx_pointer Duel30Gfx, $1a ; SPRITE_DUEL_30
gfx_pointer Duel31Gfx, $0a ; SPRITE_DUEL_31
gfx_pointer Duel32Gfx, $2e ; SPRITE_DUEL_32
gfx_pointer Duel33Gfx, $08 ; SPRITE_DUEL_33
gfx_pointer Duel34Gfx, $07 ; SPRITE_DUEL_34
gfx_pointer Duel35Gfx, $1c ; SPRITE_DUEL_35
gfx_pointer Duel66Gfx, $04 ; SPRITE_DUEL_66
gfx_pointer Duel36Gfx, $08 ; SPRITE_DUEL_36
gfx_pointer Duel37Gfx, $0b ; SPRITE_DUEL_37
gfx_pointer Duel57Gfx, $01 ; SPRITE_DUEL_57
gfx_pointer Duel38Gfx, $1c ; SPRITE_DUEL_38
gfx_pointer Duel39Gfx, $16 ; SPRITE_DUEL_39
gfx_pointer Duel40Gfx, $10 ; SPRITE_DUEL_40
gfx_pointer Duel41Gfx, $0f ; SPRITE_DUEL_41
gfx_pointer Duel42Gfx, $07 ; SPRITE_DUEL_42
gfx_pointer Duel43Gfx, $0a ; SPRITE_DUEL_43
gfx_pointer Duel44Gfx, $09 ; SPRITE_DUEL_44
gfx_pointer Duel60Gfx, $02 ; SPRITE_DUEL_60
gfx_pointer Duel64Gfx, $02 ; SPRITE_DUEL_64
gfx_pointer Duel45Gfx, $03 ; SPRITE_DUEL_45
gfx_pointer Duel46Gfx, $08 ; SPRITE_DUEL_46
gfx_pointer Duel47Gfx, $0f ; SPRITE_DUEL_47
gfx_pointer Duel48Gfx, $03 ; SPRITE_DUEL_48
gfx_pointer Duel49Gfx, $05 ; SPRITE_DUEL_49
gfx_pointer Duel50Gfx, $17 ; SPRITE_DUEL_50
gfx_pointer Duel51Gfx, $36 ; SPRITE_DUEL_WON_LOST_DRAW
gfx_pointer Duel52Gfx, $0b ; SPRITE_DUEL_52
gfx_pointer Duel53Gfx, $06 ; SPRITE_DUEL_53
gfx_pointer Duel54Gfx, $16 ; SPRITE_DUEL_54
gfx_pointer BoosterPackOAMGfx, $20 ; SPRITE_BOOSTER_PACK_OAM
gfx_pointer PressStartGfx, $14 ; SPRITE_PRESS_START
gfx_pointer GrassGfx, $04 ; SPRITE_GRASS
gfx_pointer FireGfx, $04 ; SPRITE_FIRE
gfx_pointer WaterGfx, $04 ; SPRITE_WATER
gfx_pointer ColorlessGfx, $04 ; SPRITE_COLORLESS
gfx_pointer LightningGfx, $04 ; SPRITE_LIGHTNING
gfx_pointer PsychicGfx, $04 ; SPRITE_PSYCHIC
gfx_pointer FightingGfx, $04 ; SPRITE_FIGHTING
gfx_pointer OWPlayerGfx, $14 ; SPRITE_OW_PLAYER
gfx_pointer OWRonaldGfx, $14 ; SPRITE_OW_RONALD
gfx_pointer OWDrMasonGfx, $14 ; SPRITE_OW_DRMASON
gfx_pointer OWIshiharaGfx, $14 ; SPRITE_OW_ISHIHARA
gfx_pointer OWImakuniGfx, $14 ; SPRITE_OW_IMAKUNI
gfx_pointer OWNikkiGfx, $14 ; SPRITE_OW_NIKKI
gfx_pointer OWRickGfx, $14 ; SPRITE_OW_RICK
gfx_pointer OWKenGfx, $14 ; SPRITE_OW_KEN
gfx_pointer OWAmyGfx, $1b ; SPRITE_OW_AMY
gfx_pointer OWIsaacGfx, $14 ; SPRITE_OW_ISAAC
gfx_pointer OWMitchGfx, $14 ; SPRITE_OW_MITCH
gfx_pointer OWGeneGfx, $14 ; SPRITE_OW_GENE
gfx_pointer OWMurrayGfx, $14 ; SPRITE_OW_MURRAY
gfx_pointer OWCourtneyGfx, $14 ; SPRITE_OW_COURTNEY
gfx_pointer OWSteveGfx, $14 ; SPRITE_OW_STEVE
gfx_pointer OWJackGfx, $14 ; SPRITE_OW_JACK
gfx_pointer OWRodGfx, $14 ; SPRITE_OW_ROD
gfx_pointer OWBoyGfx, $14 ; SPRITE_OW_BOY
gfx_pointer OWLadGfx, $14 ; SPRITE_OW_LAD
gfx_pointer OWSpecsGfx, $14 ; SPRITE_OW_SPECS
gfx_pointer OWButchGfx, $14 ; SPRITE_OW_BUTCH
gfx_pointer OWManiaGfx, $14 ; SPRITE_OW_MANIA
gfx_pointer OWJoshuaGfx, $14 ; SPRITE_OW_JOSHUA
gfx_pointer OWHoodGfx, $14 ; SPRITE_OW_HOOD
gfx_pointer OWTechGfx, $14 ; SPRITE_OW_TECH
gfx_pointer OWChapGfx, $14 ; SPRITE_OW_CHAP
gfx_pointer OWManGfx, $14 ; SPRITE_OW_MAN
gfx_pointer OWPappyGfx, $14 ; SPRITE_OW_PAPPY
gfx_pointer OWGirlGfx, $14 ; SPRITE_OW_GIRL
gfx_pointer OWLass1Gfx, $14 ; SPRITE_OW_LASS1
gfx_pointer OWLass2Gfx, $14 ; SPRITE_OW_LASS2
gfx_pointer OWLass3Gfx, $14 ; SPRITE_OW_LASS3
gfx_pointer OWSwimmerGfx, $14 ; SPRITE_OW_SWIMMER
gfx_pointer OWClerkGfx, $08 ; SPRITE_OW_CLERK
gfx_pointer OWGalGfx, $14 ; SPRITE_OW_GAL
gfx_pointer OWWomanGfx, $14 ; SPRITE_OW_WOMAN
gfx_pointer OWGrannyGfx, $14 ; SPRITE_OW_GRANNY
gfx_pointer OverworldMapOAMGfx, $08 ; SPRITE_OW_MAP_OAM
gfx_pointer OWTorchGfx, $16 ; SPRITE_OW_TORCH
gfx_pointer OWLegendaryCardGfx, $0a ; SPRITE_OW_LEGENDARY_CARD
gfx_pointer DuelGlowGfx, $0b ; SPRITE_DUEL_GLOW
gfx_pointer DuelParalysisGfx, $06 ; SPRITE_DUEL_PARALYSIS
gfx_pointer DuelSleepGfx, $08 ; SPRITE_DUEL_SLEEP
gfx_pointer DuelStarGfx, $02 ; SPRITE_DUEL_STAR
gfx_pointer DuelPoisonGfx, $04 ; SPRITE_DUEL_POISON
gfx_pointer DuelHitGfx, $09 ; SPRITE_DUEL_HIT
gfx_pointer DuelDamageGfx, $12 ; SPRITE_DUEL_DAMAGE
gfx_pointer DuelThunderGfx, $09 ; SPRITE_DUEL_THUNDER
gfx_pointer DuelLightningGfx, $11 ; SPRITE_DUEL_LIGHTNING
gfx_pointer DuelSparkGfx, $03 ; SPRITE_DUEL_SPARK
gfx_pointer DuelBigLightningGfx, $2d ; SPRITE_DUEL_BIG_LIGHTNING
gfx_pointer DuelFlameGfx, $0d ; SPRITE_DUEL_FLAME
gfx_pointer DuelFireSpinGfx, $1c ; SPRITE_DUEL_FIRE_SPIN
gfx_pointer DuelFireBirdGfx, $4c ; SPRITE_DUEL_FIRE_BIRD
gfx_pointer DuelWaterDropGfx, $03 ; SPRITE_DUEL_WATER_DROP
gfx_pointer DuelWaterGunGfx, $1b ; SPRITE_DUEL_WATER_GUN
gfx_pointer DuelWhirlpoolGfx, $07 ; SPRITE_DUEL_WHIRLPOOL
gfx_pointer DuelHydroPumpGfx, $0c ; SPRITE_DUEL_HYDRO_PUMP
gfx_pointer DuelSnowGfx, $01 ; SPRITE_DUEL_SNOW
gfx_pointer DuelPsychicGfx, $22 ; SPRITE_DUEL_PSYCHIC
gfx_pointer DuelLeerGfx, $20 ; SPRITE_DUEL_LEER
gfx_pointer DuelBeamGfx, $0a ; SPRITE_DUEL_BEAM
gfx_pointer DuelHyperBeamGfx, $25 ; SPRITE_DUEL_HYPER_BEAM
gfx_pointer DuelRockThrowGfx, $18 ; SPRITE_DUEL_ROCK_THROW
gfx_pointer DuelPunchGfx, $1b ; SPRITE_DUEL_PUNCH
gfx_pointer DuelStretchKickGfx, $08 ; SPRITE_DUEL_STRETCH_KICK
gfx_pointer DuelSlashGfx, $0d ; SPRITE_DUEL_SLASH
gfx_pointer DuelWhipGfx, $22 ; SPRITE_DUEL_WHIP
gfx_pointer DuelSonicboomGfx, $0c ; SPRITE_DUEL_SONICBOOM
gfx_pointer DuelDrillGfx, $25 ; SPRITE_DUEL_DRILL
gfx_pointer DuelPotGfx, $22 ; SPRITE_DUEL_POT
gfx_pointer DuelBoneGfx, $0c ; SPRITE_DUEL_BONE
gfx_pointer DuelPlanetGfx, $4c ; SPRITE_DUEL_PLANET
gfx_pointer DuelNeedlesGfx, $08 ; SPRITE_DUEL_NEEDLES
gfx_pointer DuelGasGfx, $07 ; SPRITE_DUEL_GAS
gfx_pointer DuelPowderGfx, $01 ; SPRITE_DUEL_POWDER
gfx_pointer DuelGooGfx, $1a ; SPRITE_DUEL_GOO
gfx_pointer DuelBubbleGfx, $0a ; SPRITE_DUEL_BUBBLE
gfx_pointer DuelStringGfx, $2e ; SPRITE_DUEL_STRING
gfx_pointer DuelHeartGfx, $08 ; SPRITE_DUEL_HEART
gfx_pointer DuelLureGfx, $07 ; SPRITE_DUEL_LURE
gfx_pointer DuelSkullGfx, $1c ; SPRITE_DUEL_SKULL
gfx_pointer DuelSmallStarGfx, $04 ; SPRITE_DUEL_SMALL_STAR
gfx_pointer DuelNoteGfx, $08 ; SPRITE_DUEL_NOTE
gfx_pointer DuelSoundGfx, $0b ; SPRITE_DUEL_SOUND
gfx_pointer DuelPetalGfx, $01 ; SPRITE_DUEL_PETAL
gfx_pointer DuelProtectGfx, $1c ; SPRITE_DUEL_PROTECT
gfx_pointer DuelBarrierGfx, $16 ; SPRITE_DUEL_BARRIER
gfx_pointer DuelSpeedGfx, $10 ; SPRITE_DUEL_SPEED
gfx_pointer DuelWhirlwindGfx, $0f ; SPRITE_DUEL_WHIRLWIND
gfx_pointer DuelCryGfx, $07 ; SPRITE_DUEL_CRY
gfx_pointer DuelQuestionMarkGfx, $0a ; SPRITE_DUEL_QUESTION_MARK
gfx_pointer DuelExplosionGfx, $09 ; SPRITE_DUEL_EXPLOSION
gfx_pointer DuelHealGfx, $02 ; SPRITE_DUEL_HEAL
gfx_pointer DuelDrainGfx, $02 ; SPRITE_DUEL_DRAIN
gfx_pointer DuelSmallGlowGfx, $03 ; SPRITE_DUEL_SMALL_GLOW
gfx_pointer DuelBallGfx, $08 ; SPRITE_DUEL_BALL
gfx_pointer DuelCatPawGfx, $0f ; SPRITE_DUEL_CAT_POW
gfx_pointer DuelWaveGfx, $03 ; SPRITE_DUEL_WAVE
gfx_pointer DuelCardGfx, $05 ; SPRITE_DUEL_CARD
gfx_pointer DuelCoinGfx, $17 ; SPRITE_DUEL_COIN
gfx_pointer DuelResultGfx, $36 ; SPRITE_DUEL_RESULT
gfx_pointer LinkOAMGfx, $0b ; SPRITE_LINK
gfx_pointer PrinterOAMGfx, $06 ; SPRITE_PRINTER
gfx_pointer CardPopOAMGfx, $16 ; SPRITE_CARD_POP
gfx_pointer BoosterPackOAMGfx, $20 ; SPRITE_BOOSTER_PACK_OAM
gfx_pointer PressStartGfx, $14 ; SPRITE_PRESS_START
gfx_pointer GrassGfx, $04 ; SPRITE_GRASS
gfx_pointer FireGfx, $04 ; SPRITE_FIRE
gfx_pointer WaterGfx, $04 ; SPRITE_WATER
gfx_pointer ColorlessGfx, $04 ; SPRITE_COLORLESS
gfx_pointer LightningGfx, $04 ; SPRITE_LIGHTNING
gfx_pointer PsychicGfx, $04 ; SPRITE_PSYCHIC
gfx_pointer FightingGfx, $04 ; SPRITE_FIGHTING
assert_table_length NUM_SPRITES

View File

@ -1,6 +1,6 @@
PlayIntroSequence:
call DisableLCD
farcall Func_10a9b
farcall LoadConsolePaletteData
farcall InitMenuScreen
call EnableAndClearSpriteAnimations
ld hl, HandleAllSpriteAnimations

View File

@ -297,7 +297,7 @@ PrepareForPrinterCommunications:
ld [wPrinterContrastLevel], a
call DisableSRAM
ldh a, [hBankSRAM]
ld [wce8f], a
ld [wTempPrinterSRAM], a
ld a, BANK("SRAM1")
call BankswitchSRAM
call EnableSRAM
@ -321,7 +321,7 @@ ClearPrinterGfxBuffer:
ResetPrinterCommunicationSettings:
push af
call SwitchToCGBDoubleSpeed
ld a, [wce8f]
ld a, [wTempPrinterSRAM]
call BankswitchSRAM
call DisableSRAM
lb de, $30, $bf

View File

@ -164,7 +164,7 @@ HandleDeckMissingCardsList:
call ProcessText
ret
Func_af1d:
GiftCenter_SendCard:
xor a
ld [wTileMapFill], a
call ZeroObjectPositions
@ -221,7 +221,7 @@ Func_af1d:
scf
ret
Func_af98:
GiftCenter_ReceiveCard:
xor a
ld [wDuelTempList], a
ld [wNameBuffer], a
@ -482,9 +482,9 @@ EmptyScreenAndDrawTextBox:
ret
Func_b177::
ld a, [wd10e]
and $03
ld hl, .FunctionTable
ld a, [wGiftCenterChoice]
and $3
ld hl, .GiftCenterFunctionTable
call JumpToFunctionInTable
jr c, .asm_b18f
or a
@ -495,14 +495,14 @@ Func_b177::
ret
.asm_b18f
ld a, $ff
ld [wd10e], a
ld [wGiftCenterChoice], a
ret
.FunctionTable
dw Func_af1d
dw Func_af98
dw Func_bc04
dw Func_bc7a
.GiftCenterFunctionTable
dw GiftCenter_SendCard ; GIFT_CENTER_MENU_SEND_CARD
dw GiftCenter_ReceiveCard ; GIFT_CENTER_MENU_RECEIVE_CARD
dw GiftCenter_SendDeck ; GIFT_CENTER_MENU_SEND_DECK
dw GiftCenter_ReceiveDeck ; GIFT_CENTER_MENU_RECEIVE_DECK
HandleDeckSaveMachineMenu:
xor a
@ -2149,7 +2149,7 @@ HandleAutoDeckMenu:
jr nz, .loop
ret
Func_bc04:
GiftCenter_SendDeck:
xor a
ld [wCardListVisibleOffset], a
ldtx de, DeckSaveMachineText
@ -2210,7 +2210,7 @@ Func_bc04:
or a
ret
Func_bc7a:
GiftCenter_ReceiveDeck:
xor a
ld [wCardListVisibleOffset], a
ldtx de, DeckSaveMachineText

View File

@ -24,11 +24,11 @@ WriteCardListsTerminatorBytes:
ld hl, wFilteredCardList
ld bc, DECK_SIZE
add hl, bc
ld [hl], a ; wcf16
ld [hl], a ; terminator byte
ld hl, wCurDeckCards
ld bc, DECK_CONFIG_BUFFER_SIZE
add hl, bc
ld [hl], a ; wCurDeckCardsTerminator
ld [hl], a ; terminator byte
ret
; inits some SRAM addresses

View File

@ -32,7 +32,7 @@ GiftCenterMenu:
ld a, 1 << AUTO_CLOSE_TEXTBOX
farcall SetOverworldNPCFlags
ld a, [wSelectedGiftCenterMenuItem]
ld hl, Unknown_10e17
ld hl, .GiftCenterMenuParams
farcall InitAndPrintMenu
.loop_input
call DoFrameIfLCDEnabled
@ -42,35 +42,34 @@ GiftCenterMenu:
ld [wSelectedGiftCenterMenuItem], a
ldh a, [hCurMenuItem]
cp e
jr z, .asm_10ddd
ld a, $4
.asm_10ddd
ld [wd10e], a
jr z, .got_choice
ld a, GIFT_CENTER_MENU_EXIT
.got_choice
ld [wGiftCenterChoice], a
push af
ld hl, Unknown_10df0
ld hl, .LoadTextPointerFunctionTable
call JumpToFunctionInTable
farcall CloseTextBox
call DoFrameIfLCDEnabled
pop af
ret
Unknown_10df0:
dw Func_10dfb
dw Func_10dfb
dw Func_10dfb
dw Func_10dfb
dw Func_10dfa
.LoadTextPointerFunctionTable:
dw .LoadChoiceTextPointer ; GIFT_CENTER_MENU_SEND_CARD
dw .LoadChoiceTextPointer ; GIFT_CENTER_MENU_RECEIVE_CARD
dw .LoadChoiceTextPointer ; GIFT_CENTER_MENU_SEND_DECK
dw .LoadChoiceTextPointer ; GIFT_CENTER_MENU_RECEIVE_DECK
dw .stub ; GIFT_CENTER_MENU_EXIT
Func_10dfa:
.stub
ret
Func_10dfb:
ld a, [wd10e]
.LoadChoiceTextPointer:
ld a, [wGiftCenterChoice]
add a
ld c, a
ld b, $00
ld hl, Unknown_10e0f
ld hl, .GiftCenterTextPointers
add hl, bc
ld a, [hli]
ld [wTxRam2], a
@ -78,13 +77,13 @@ Func_10dfb:
ld [wTxRam2 + 1], a
ret
Unknown_10e0f:
tx SendCardText
tx ReceiveCardText
tx SendDeckConfigurationText
tx ReceiveDeckConfigurationText
.GiftCenterTextPointers:
tx SendCardText ; GIFT_CENTER_MENU_SEND_CARD
tx ReceiveCardText ; GIFT_CENTER_MENU_RECEIVE_CARD
tx SendDeckConfigurationText ; GIFT_CENTER_MENU_SEND_DECK
tx ReceiveDeckConfigurationText ; GIFT_CENTER_MENU_RECEIVE_DECK
Unknown_10e17:
.GiftCenterMenuParams:
db 4, 0 ; start menu coords
db 16, 12 ; start menu text box dimensions

View File

@ -17,14 +17,14 @@ HandleTitleScreen:
call LoadTitleScreenSprites
xor a
ld [wd635], a
ld [wTitleScreenOrbCounter], a
ld a, $3c
ld [wTitleScreenIgnoreInputCounter], a
.loop
call DoFrameIfLCDEnabled
call UpdateRNGSources
call AnimateRandomTitleScreenOrb
ld hl, wd635
ld hl, wTitleScreenOrbCounter
inc [hl]
call AssertSongFinished
or a
@ -402,7 +402,7 @@ ShowCardPopCGBDisclaimer:
DrawPlayerPortraitAndPrintNewGameText:
call DisableLCD
farcall Func_10a9b
farcall LoadConsolePaletteData
farcall InitMenuScreen
call EnableAndClearSpriteAnimations
ld hl, HandleAllSpriteAnimations

View File

@ -9,7 +9,7 @@ LoadMap::
ld [wReloadOverworldCallbackPtr], a
ld [wReloadOverworldCallbackPtr + 1], a
ld [wMatchStartTheme], a
farcall Func_10a9b
farcall LoadConsolePaletteData
call WhiteOutDMGPals
call ZeroObjectPositions
xor a
@ -507,7 +507,7 @@ DecompressPermissionMap:
push hl
ld b, HIGH(wDecompressionSecondaryBuffer)
call InitDataDecompression
ld a, [wd23d]
ld a, [wBGMapBank]
ld [wTempPointerBank], a
ld a, [wBGMapHeight]
inc a

View File

@ -489,7 +489,7 @@ WRAMToSRAMMapper:
wram_sram_map wMastersBeatenList, 10, $00, $ff ; sMastersBeatenList
wram_sram_map wNPCDuelistDirection, 1, $00, $ff ; sNPCDuelistDirection
wram_sram_map wMultichoiceTextboxResult_ChooseDeckToDuelAgainst, 1, $00, $ff ; sMultichoiceTextboxResult_ChooseDeckToDuelAgainst
wram_sram_map wd10e, 1, $00, $ff ; sb84b
wram_sram_map wGiftCenterChoice, 1, $00, $ff ; sGiftCenterChoice
wram_sram_map .EmptySRAMSlot, 15, $00, $ff ; sb84c
wram_sram_map .EmptySRAMSlot, 16, $00, $ff ; sb85b
wram_sram_map .EmptySRAMSlot, 16, $00, $ff ; sb86b

View File

@ -257,7 +257,7 @@ _DrawPortrait::
ld a, e
ld [wd291], a
farcall LoadTilemap_ToVRAM
ld a, [wd61e]
ld a, [wCurPortrait]
add a
add a
ld c, a
@ -291,137 +291,7 @@ _DrawPortrait::
ld [wd291], a
ret
PortraitGfxData:
table_width 4, PortraitGfxData
db TILESET_PLAYER, PALETTE_119
dw SGBData_PlayerPortraitPals
db TILESET_PLAYER, PALETTE_119
dw SGBData_PlayerPortraitPals
db TILESET_RONALD, PALETTE_121
dw SGBData_RonaldPortraitPals
db TILESET_SAM, PALETTE_122
dw SGBData_SamPortraitPals
db TILESET_IMAKUNI, PALETTE_123
dw SGBData_ImakuniPortraitPals
db TILESET_NIKKI, PALETTE_124
dw SGBData_NikkiPortraitPals
db TILESET_RICK, PALETTE_125
dw SGBData_RickPortraitPals
db TILESET_KEN, PALETTE_126
dw SGBData_KenPortraitPals
db TILESET_AMY, PALETTE_127
dw SGBData_AmyPortraitPals
db TILESET_ISAAC, PALETTE_128
dw SGBData_IsaacPortraitPals
db TILESET_MITCH, PALETTE_129
dw SGBData_MitchPortraitPals
db TILESET_GENE, PALETTE_130
dw SGBData_GenePortraitPals
db TILESET_MURRAY, PALETTE_131
dw SGBData_MurrayPortraitPals
db TILESET_COURTNEY, PALETTE_132
dw SGBData_CourtneyPortraitPals
db TILESET_STEVE, PALETTE_133
dw SGBData_StevePortraitPals
db TILESET_JACK, PALETTE_134
dw SGBData_JackPortraitPals
db TILESET_ROD, PALETTE_135
dw SGBData_RodPortraitPals
db TILESET_JOSEPH, PALETTE_136
dw SGBData_JosephPortraitPals
db TILESET_DAVID, PALETTE_137
dw SGBData_DavidPortraitPals
db TILESET_ERIK, PALETTE_138
dw SGBData_ErikPortraitPals
db TILESET_JOHN, PALETTE_139
dw SGBData_JohnPortraitPals
db TILESET_ADAM, PALETTE_140
dw SGBData_AdamPortraitPals
db TILESET_JONATHAN, PALETTE_141
dw SGBData_JonathanPortraitPals
db TILESET_JOSHUA, PALETTE_142
dw SGBData_JoshuaPortraitPals
db TILESET_NICHOLAS, PALETTE_143
dw SGBData_NicholasPortraitPals
db TILESET_BRANDON, PALETTE_144
dw SGBData_BrandonPortraitPals
db TILESET_MATTHEW, PALETTE_145
dw SGBData_MatthewPortraitPals
db TILESET_RYAN, PALETTE_146
dw SGBData_RyanPortraitPals
db TILESET_ANDREW, PALETTE_147
dw SGBData_AndrewPortraitPals
db TILESET_CHRIS, PALETTE_148
dw SGBData_ChrisPortraitPals
db TILESET_MICHAEL, PALETTE_149
dw SGBData_MichaelPortraitPals
db TILESET_DANIEL, PALETTE_150
dw SGBData_DanielPortraitPals
db TILESET_ROBERT, PALETTE_151
dw SGBData_RobertPortraitPals
db TILESET_BRITTANY, PALETTE_152
dw SGBData_BrittanyPortraitPals
db TILESET_KRISTIN, PALETTE_153
dw SGBData_KristinPortraitPals
db TILESET_HEATHER, PALETTE_154
dw SGBData_HeatherPortraitPals
db TILESET_SARA, PALETTE_155
dw SGBData_SaraPortraitPals
db TILESET_AMANDA, PALETTE_156
dw SGBData_AmandaPortraitPals
db TILESET_JENNIFER, PALETTE_157
dw SGBData_JenniferPortraitPals
db TILESET_JESSICA, PALETTE_158
dw SGBData_JessicaPortraitPals
db TILESET_STEPHANIE, PALETTE_159
dw SGBData_StephaniePortraitPals
db TILESET_AARON, PALETTE_160
dw SGBData_AaronPortraitPals
db TILESET_PLAYER, PALETTE_120
dw SGBData_LinkOpponentPortraitPals
assert_table_length NUM_PICS
INCLUDE "data/duel/portraits.asm"
LoadBoosterGfx:
push hl

View File

@ -332,8 +332,8 @@ AnimateRandomTitleScreenOrb:
ld a, [wConsole]
cp CONSOLE_CGB
call z, .UpdateSpriteAttributes
ld a, [wd635]
and 63
ld a, [wTitleScreenOrbCounter]
and %111111
ret nz ; don't pick an orb now
.pick_orb

View File

@ -2,7 +2,7 @@
; or until Start button is pressed
UnusedCopyrightScreen: ; unreferenced
call DisableLCD
farcall Func_10a9b
farcall LoadConsolePaletteData
farcall InitMenuScreen
ld bc, $0
ld a, SCENE_COPYRIGHT

View File

@ -554,13 +554,13 @@ PlayerGfx::
dw 36
INCBIN "gfx/duelists/player.2bpp"
Duel55Gfx::
DuelStarGfx::
dw $2
INCBIN "gfx/duel/anims/55.2bpp"
INCBIN "gfx/duel/anims/star.2bpp"
Duel56Gfx::
DuelPowderGfx::
dw $1
INCBIN "gfx/duel/anims/56.2bpp"
INCBIN "gfx/duel/anims/powder.2bpp"
AnimData12::
frame_table AnimFrameTable3
@ -605,9 +605,9 @@ OWPlayerGfx::
dw $14
INCBIN "gfx/overworld_sprites/player.2bpp"
Duel57Gfx::
DuelPetalGfx::
dw $1
INCBIN "gfx/duel/anims/57.2bpp"
INCBIN "gfx/duel/anims/petal.2bpp"
AnimData2::
frame_table AnimFrameTable0
@ -657,10 +657,10 @@ HallOfHonorTilesetGfx::
MedalGfx::
dw 72
INCBIN "gfx/medals.2bpp", $0, $c0
INCBIN "gfx/medals.2bpp", $0, $c0
INCBIN "gfx/medals.2bpp", $240, $30
INCBIN "gfx/medals.2bpp", $340, $10
INCBIN "gfx/medals.2bpp", $c0, $c0
INCBIN "gfx/medals.2bpp", $c0, $c0
INCBIN "gfx/medals.2bpp", $300, $30
INCBIN "gfx/medals.2bpp", $350, $10
INCBIN "gfx/medals.2bpp", $180, $c0
@ -680,9 +680,9 @@ NintendoGfx::
dw 24
INCBIN "gfx/nintendo.2bpp"
Duel58Gfx::
DuelPoisonGfx::
dw $4
INCBIN "gfx/duel/anims/58.2bpp"
INCBIN "gfx/duel/anims/poison.2bpp"
AnimData3::
frame_table AnimFrameTable0
@ -699,15 +699,15 @@ SECTION "Gfx 6", ROMX
CardPopGfx::
dw 189
INCBIN "gfx/link/cardpop.2bpp"
INCBIN "gfx/link/card_pop_scene.2bpp"
GameBoyLinkGfx::
dw 109
INCBIN "gfx/link/gameboylink.2bpp"
INCBIN "gfx/link/link_scene.2bpp"
GameBoyPrinterGfx::
dw 93
INCBIN "gfx/link/gameboyprinter.2bpp"
INCBIN "gfx/link/printer_scene.2bpp"
Colosseum1Gfx::
dw 96
@ -745,13 +745,13 @@ OWClerkGfx::
dw $8
INCBIN "gfx/overworld_sprites/clerk.2bpp"
Duel59Gfx::
DuelSparkGfx::
dw $3
INCBIN "gfx/duel/anims/59.2bpp"
INCBIN "gfx/duel/anims/spark.2bpp"
Duel60Gfx::
DuelHealGfx::
dw $2
INCBIN "gfx/duel/anims/60.2bpp"
INCBIN "gfx/duel/anims/heal.2bpp"
SECTION "Gfx 7", ROMX
@ -835,13 +835,13 @@ OverworldMapOAMGfx::
dw $8
INCBIN "gfx/overworld_map_oam.2bpp"
Duel61Gfx::
DuelWaterDropGfx::
dw $3
INCBIN "gfx/duel/anims/61.2bpp"
INCBIN "gfx/duel/anims/water_drop.2bpp"
Duel62Gfx::
DuelSnowGfx::
dw $1
INCBIN "gfx/duel/anims/62.2bpp"
INCBIN "gfx/duel/anims/snow.2bpp"
SECTION "Gfx 9", ROMX
@ -957,13 +957,13 @@ MichaelGfx::
dw 36
INCBIN "gfx/duelists/michael.2bpp"
Duel63Gfx::
OWLegendaryCardGfx::
dw $a
INCBIN "gfx/duel/anims/63.2bpp"
INCBIN "gfx/overworld_sprites/legendary_card.2bpp"
Duel64Gfx::
DuelDrainGfx::
dw $2
INCBIN "gfx/duel/anims/64.2bpp"
INCBIN "gfx/duel/anims/drain.2bpp"
SECTION "Gfx 10", ROMX
@ -1135,9 +1135,9 @@ DuelGlowGfx::
dw $b
INCBIN "gfx/duel/anims/glow.2bpp"
Duel66Gfx::
DuelSmallStarGfx::
dw $4
INCBIN "gfx/duel/anims/66.2bpp"
INCBIN "gfx/duel/anims/small_star.2bpp"
Palette117::
db 0
@ -1162,189 +1162,189 @@ OWGrannyGfx::
dw $14
INCBIN "gfx/overworld_sprites/granny.2bpp"
Duel0Gfx::
OWTorchGfx::
dw $16
INCBIN "gfx/duel/anims/0.2bpp"
INCBIN "gfx/overworld_sprites/torch.2bpp"
Duel1Gfx::
DuelParalysisGfx::
dw $06
INCBIN "gfx/duel/anims/1.2bpp"
INCBIN "gfx/duel/anims/paralysis.2bpp"
Duel2Gfx::
DuelSleepGfx::
dw $08
INCBIN "gfx/duel/anims/2.2bpp"
INCBIN "gfx/duel/anims/sleep.2bpp"
Duel3Gfx::
DuelHitGfx::
dw $09
INCBIN "gfx/duel/anims/3.2bpp"
INCBIN "gfx/duel/anims/hit.2bpp"
Duel4Gfx::
DuelDamageGfx::
dw $12
INCBIN "gfx/duel/anims/4.2bpp"
INCBIN "gfx/duel/anims/damage.2bpp"
Duel5Gfx::
DuelThunderGfx::
dw $09
INCBIN "gfx/duel/anims/5.2bpp"
INCBIN "gfx/duel/anims/thunder.2bpp"
Duel6Gfx::
DuelLightningGfx::
dw $11
INCBIN "gfx/duel/anims/6.2bpp"
INCBIN "gfx/duel/anims/lightning.2bpp"
Duel7Gfx::
DuelBigLightningGfx::
dw $2d
INCBIN "gfx/duel/anims/7.2bpp"
INCBIN "gfx/duel/anims/big_lightning.2bpp"
Duel8Gfx::
DuelFlameGfx::
dw $0d
INCBIN "gfx/duel/anims/8.2bpp"
INCBIN "gfx/duel/anims/flame.2bpp"
Duel9Gfx::
DuelFireSpinGfx::
dw $1c
INCBIN "gfx/duel/anims/9.2bpp"
INCBIN "gfx/duel/anims/fire_spin.2bpp"
Duel10Gfx::
DuelFireBirdGfx::
dw $4c
INCBIN "gfx/duel/anims/10.2bpp"
INCBIN "gfx/duel/anims/fire_bird.2bpp"
Duel11Gfx::
DuelWaterGunGfx::
dw $1b
INCBIN "gfx/duel/anims/11.2bpp"
INCBIN "gfx/duel/anims/water_gun.2bpp"
Duel12Gfx::
DuelWhirlpoolGfx::
dw $07
INCBIN "gfx/duel/anims/12.2bpp"
INCBIN "gfx/duel/anims/whirlpool.2bpp"
Duel13Gfx::
DuelHydroPumpGfx::
dw $0c
INCBIN "gfx/duel/anims/13.2bpp"
INCBIN "gfx/duel/anims/hydro_pump.2bpp"
Duel14Gfx::
DuelPsychicGfx::
dw $22
INCBIN "gfx/duel/anims/14.2bpp"
INCBIN "gfx/duel/anims/psychic.2bpp"
Duel15Gfx::
DuelLeerGfx::
dw $20
INCBIN "gfx/duel/anims/15.2bpp"
INCBIN "gfx/duel/anims/leer.2bpp"
Duel16Gfx::
DuelBeamGfx::
dw $0a
INCBIN "gfx/duel/anims/16.2bpp"
INCBIN "gfx/duel/anims/beam.2bpp"
Duel17Gfx::
DuelHyperBeamGfx::
dw $25
INCBIN "gfx/duel/anims/17.2bpp"
INCBIN "gfx/duel/anims/hyper_beam.2bpp"
Duel18Gfx::
DuelRockThrowGfx::
dw $18
INCBIN "gfx/duel/anims/18.2bpp"
INCBIN "gfx/duel/anims/rock_throw.2bpp"
Duel19Gfx::
DuelPunchGfx::
dw $1b
INCBIN "gfx/duel/anims/19.2bpp"
INCBIN "gfx/duel/anims/punch.2bpp"
Duel20Gfx::
DuelStretchKickGfx::
dw $08
INCBIN "gfx/duel/anims/20.2bpp"
INCBIN "gfx/duel/anims/stretch_kick.2bpp"
Duel21Gfx::
DuelSlashGfx::
dw $0d
INCBIN "gfx/duel/anims/21.2bpp"
INCBIN "gfx/duel/anims/slash.2bpp"
Duel22Gfx::
DuelWhipGfx::
dw $22
INCBIN "gfx/duel/anims/22.2bpp"
INCBIN "gfx/duel/anims/whip.2bpp"
Duel23Gfx::
DuelSonicboomGfx::
dw $0c
INCBIN "gfx/duel/anims/23.2bpp"
INCBIN "gfx/duel/anims/sonicboom.2bpp"
Duel24Gfx::
DuelDrillGfx::
dw $25
INCBIN "gfx/duel/anims/24.2bpp"
INCBIN "gfx/duel/anims/drill.2bpp"
Duel25Gfx::
DuelPotGfx::
dw $22
INCBIN "gfx/duel/anims/25.2bpp"
INCBIN "gfx/duel/anims/pot.2bpp"
Duel26Gfx::
DuelBoneGfx::
dw $0c
INCBIN "gfx/duel/anims/26.2bpp"
INCBIN "gfx/duel/anims/bone.2bpp"
Duel27Gfx::
DuelPlanetGfx::
dw $4c
INCBIN "gfx/duel/anims/27.2bpp"
INCBIN "gfx/duel/anims/planet.2bpp"
Duel28Gfx::
DuelNeedlesGfx::
dw $08
INCBIN "gfx/duel/anims/28.2bpp"
INCBIN "gfx/duel/anims/needles.2bpp"
Duel29Gfx::
DuelGasGfx::
dw $07
INCBIN "gfx/duel/anims/29.2bpp"
INCBIN "gfx/duel/anims/gas.2bpp"
Duel30Gfx::
DuelGooGfx::
dw $1a
INCBIN "gfx/duel/anims/30.2bpp"
INCBIN "gfx/duel/anims/goo.2bpp"
Duel31Gfx::
DuelBubbleGfx::
dw $0a
INCBIN "gfx/duel/anims/31.2bpp"
INCBIN "gfx/duel/anims/bubble.2bpp"
Duel32Gfx::
DuelStringGfx::
dw $2e
INCBIN "gfx/duel/anims/32.2bpp"
INCBIN "gfx/duel/anims/string.2bpp"
Duel33Gfx::
DuelHeartGfx::
dw $08
INCBIN "gfx/duel/anims/33.2bpp"
INCBIN "gfx/duel/anims/heart.2bpp"
Duel34Gfx::
DuelLureGfx::
dw $07
INCBIN "gfx/duel/anims/34.2bpp"
INCBIN "gfx/duel/anims/lure.2bpp"
Duel35Gfx::
DuelSkullGfx::
dw $1c
INCBIN "gfx/duel/anims/35.2bpp"
INCBIN "gfx/duel/anims/skull.2bpp"
Duel36Gfx::
DuelNoteGfx::
dw $08
INCBIN "gfx/duel/anims/36.2bpp"
INCBIN "gfx/duel/anims/note.2bpp"
Duel37Gfx::
DuelSoundGfx::
dw $0b
INCBIN "gfx/duel/anims/37.2bpp"
INCBIN "gfx/duel/anims/sound.2bpp"
Duel38Gfx::
DuelProtectGfx::
dw $1c
INCBIN "gfx/duel/anims/38.2bpp"
INCBIN "gfx/duel/anims/protect.2bpp"
Duel39Gfx::
DuelBarrierGfx::
dw $16
INCBIN "gfx/duel/anims/39.2bpp"
INCBIN "gfx/duel/anims/barrier.2bpp"
Duel40Gfx::
DuelSpeedGfx::
dw $10
INCBIN "gfx/duel/anims/40.2bpp"
INCBIN "gfx/duel/anims/speed.2bpp"
Duel41Gfx::
DuelWhirlwindGfx::
dw $0f
INCBIN "gfx/duel/anims/41.2bpp"
INCBIN "gfx/duel/anims/whirlwind.2bpp"
Duel42Gfx::
DuelCryGfx::
dw $07
INCBIN "gfx/duel/anims/42.2bpp"
INCBIN "gfx/duel/anims/cry.2bpp"
Duel43Gfx::
DuelQuestionMarkGfx::
dw $0a
INCBIN "gfx/duel/anims/43.2bpp"
INCBIN "gfx/duel/anims/question_mark.2bpp"
Duel44Gfx::
DuelExplosionGfx::
dw $09
INCBIN "gfx/duel/anims/44.2bpp"
INCBIN "gfx/duel/anims/explosion.2bpp"
Duel45Gfx::
DuelSmallGlowGfx::
dw $03
INCBIN "gfx/duel/anims/45.2bpp"
INCBIN "gfx/duel/anims/small_glow.2bpp"
AnimData6::
frame_table AnimFrameTable1
@ -1356,41 +1356,41 @@ AnimData6::
SECTION "Gfx 12", ROMX
Duel46Gfx::
DuelBallGfx::
dw $08
INCBIN "gfx/duel/anims/46.2bpp"
INCBIN "gfx/duel/anims/ball.2bpp"
Duel47Gfx::
DuelCatPawGfx::
dw $0f
INCBIN "gfx/duel/anims/47.2bpp"
INCBIN "gfx/duel/anims/cat_paw.2bpp"
Duel48Gfx::
DuelWaveGfx::
dw $03
INCBIN "gfx/duel/anims/48.2bpp"
INCBIN "gfx/duel/anims/wave.2bpp"
Duel49Gfx::
DuelCardGfx::
dw $05
INCBIN "gfx/duel/anims/49.2bpp"
INCBIN "gfx/duel/anims/card.2bpp"
Duel50Gfx::
DuelCoinGfx::
dw $17
INCBIN "gfx/duel/anims/50.2bpp"
INCBIN "gfx/duel/anims/coin.2bpp"
Duel51Gfx::
DuelResultGfx::
dw $36
INCBIN "gfx/duel/anims/51.2bpp"
INCBIN "gfx/duel/anims/result.2bpp"
Duel52Gfx::
LinkOAMGfx::
dw $0b
INCBIN "gfx/duel/anims/52.2bpp"
INCBIN "gfx/link/link_oam.2bpp"
Duel53Gfx::
PrinterOAMGfx::
dw $06
INCBIN "gfx/duel/anims/53.2bpp"
INCBIN "gfx/link/printer_oam.2bpp"
Duel54Gfx::
CardPopOAMGfx::
dw $16
INCBIN "gfx/duel/anims/54.2bpp"
INCBIN "gfx/link/card_pop_oam.2bpp"
BoosterPackOAMGfx::
dw $20

View File

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 157 B

View File

Before

Width:  |  Height:  |  Size: 317 B

After

Width:  |  Height:  |  Size: 317 B

View File

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 184 B

View File

Before

Width:  |  Height:  |  Size: 609 B

After

Width:  |  Height:  |  Size: 609 B

View File

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 243 B

View File

Before

Width:  |  Height:  |  Size: 194 B

After

Width:  |  Height:  |  Size: 194 B

View File

Before

Width:  |  Height:  |  Size: 111 B

After

Width:  |  Height:  |  Size: 111 B

View File

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 277 B

View File

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 364 B

View File

Before

Width:  |  Height:  |  Size: 155 B

After

Width:  |  Height:  |  Size: 155 B

View File

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 277 B

View File

Before

Width:  |  Height:  |  Size: 102 B

After

Width:  |  Height:  |  Size: 102 B

View File

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 511 B

View File

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 205 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 462 B

View File

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

View File

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 212 B

View File

Before

Width:  |  Height:  |  Size: 368 B

After

Width:  |  Height:  |  Size: 368 B

View File

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 97 B

View File

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 186 B

View File

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 207 B

View File

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 200 B

View File

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 577 B

View File

Before

Width:  |  Height:  |  Size: 414 B

After

Width:  |  Height:  |  Size: 414 B

View File

Before

Width:  |  Height:  |  Size: 316 B

After

Width:  |  Height:  |  Size: 316 B

View File

Before

Width:  |  Height:  |  Size: 183 B

After

Width:  |  Height:  |  Size: 183 B

View File

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 193 B

View File

Before

Width:  |  Height:  |  Size: 164 B

After

Width:  |  Height:  |  Size: 164 B

View File

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 144 B

View File

Before

Width:  |  Height:  |  Size: 90 B

After

Width:  |  Height:  |  Size: 90 B

View File

Before

Width:  |  Height:  |  Size: 764 B

After

Width:  |  Height:  |  Size: 764 B

View File

Before

Width:  |  Height:  |  Size: 94 B

After

Width:  |  Height:  |  Size: 94 B

View File

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 542 B

View File

Before

Width:  |  Height:  |  Size: 85 B

After

Width:  |  Height:  |  Size: 85 B

View File

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 272 B

View File

Before

Width:  |  Height:  |  Size: 378 B

After

Width:  |  Height:  |  Size: 378 B

View File

Before

Width:  |  Height:  |  Size: 428 B

After

Width:  |  Height:  |  Size: 428 B

View File

Before

Width:  |  Height:  |  Size: 191 B

After

Width:  |  Height:  |  Size: 191 B

View File

Before

Width:  |  Height:  |  Size: 537 B

After

Width:  |  Height:  |  Size: 537 B

View File

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 332 B

View File

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 380 B

View File

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 222 B

View File

Before

Width:  |  Height:  |  Size: 187 B

After

Width:  |  Height:  |  Size: 187 B

View File

Before

Width:  |  Height:  |  Size: 123 B

After

Width:  |  Height:  |  Size: 123 B

View File

Before

Width:  |  Height:  |  Size: 135 B

After

Width:  |  Height:  |  Size: 135 B

View File

Before

Width:  |  Height:  |  Size: 85 B

After

Width:  |  Height:  |  Size: 85 B

View File

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 201 B

View File

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 200 B

View File

Before

Width:  |  Height:  |  Size: 120 B

After

Width:  |  Height:  |  Size: 120 B

View File

Before

Width:  |  Height:  |  Size: 223 B

After

Width:  |  Height:  |  Size: 223 B

View File

Before

Width:  |  Height:  |  Size: 114 B

After

Width:  |  Height:  |  Size: 114 B

View File

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 177 B

View File

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 479 B

View File

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 212 B

View File

Before

Width:  |  Height:  |  Size: 95 B

After

Width:  |  Height:  |  Size: 95 B

View File

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 374 B

View File

Before

Width:  |  Height:  |  Size: 118 B

After

Width:  |  Height:  |  Size: 118 B

View File

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 422 B

View File

Before

Width:  |  Height:  |  Size: 206 B

After

Width:  |  Height:  |  Size: 206 B

View File

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

View File

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 284 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 192 B

After

Width:  |  Height:  |  Size: 192 B

Some files were not shown because too many files have changed in this diff Show More