Use a battle_anim macro for move animations' special effects and subanimations

Move animations' sound IDs are off by one from move IDs.
This commit is contained in:
Rangi 2020-07-16 21:45:30 -04:00
parent 0db7ee08ff
commit 2f43a41100
6 changed files with 973 additions and 870 deletions

View file

@ -1,6 +1,7 @@
; special effects that are part of move animations ; special effects that are part of move animations
const_def $C0
const_def $D8 FIRST_SE_ID EQU const_value
const_skip $18
const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc. const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc.
const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite) const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite)
const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team
@ -40,3 +41,92 @@
const SE_RESET_SCREEN_PALETTE ; $FC used in Leer/Thunderpunch/etc. const SE_RESET_SCREEN_PALETTE ; $FC used in Leer/Thunderpunch/etc.
const SE_DARK_SCREEN_PALETTE ; $FD used in Hyper Beam/Thunderpunch/etc. const SE_DARK_SCREEN_PALETTE ; $FD used in Hyper Beam/Thunderpunch/etc.
const SE_DARK_SCREEN_FLASH ; $FE used in Cut/Take Down/etc. const SE_DARK_SCREEN_FLASH ; $FE used in Cut/Take Down/etc.
; subanimations that are part of move animations
const_def
const SUBANIM_00
const SUBANIM_01
const SUBANIM_02
const SUBANIM_03
const SUBANIM_04
const SUBANIM_05
const SUBANIM_06
const SUBANIM_07
const SUBANIM_08
const SUBANIM_09
const SUBANIM_0A
const SUBANIM_0B
const SUBANIM_0C
const SUBANIM_0D
const SUBANIM_0E
const SUBANIM_0F
const SUBANIM_10
const SUBANIM_11
const SUBANIM_12
const SUBANIM_13
const SUBANIM_14
const SUBANIM_15
const SUBANIM_16
const SUBANIM_17
const SUBANIM_18
const SUBANIM_19
const SUBANIM_1A
const SUBANIM_1B
const SUBANIM_1C
const SUBANIM_1D
const SUBANIM_1E
const SUBANIM_1F
const SUBANIM_20
const SUBANIM_21
const SUBANIM_22
const SUBANIM_23
const SUBANIM_24
const SUBANIM_25
const SUBANIM_26
const SUBANIM_27
const SUBANIM_28
const SUBANIM_29
const SUBANIM_2A
const SUBANIM_2B
const SUBANIM_2C
const SUBANIM_2D
const SUBANIM_2E
const SUBANIM_2F
const SUBANIM_30
const SUBANIM_31
const SUBANIM_32
const SUBANIM_33
const SUBANIM_34
const SUBANIM_35
const SUBANIM_36
const SUBANIM_37
const SUBANIM_38
const SUBANIM_39
const SUBANIM_3A
const SUBANIM_3B
const SUBANIM_3C
const SUBANIM_3D
const SUBANIM_3E
const SUBANIM_3F
const SUBANIM_40
const SUBANIM_41
const SUBANIM_42
const SUBANIM_43
const SUBANIM_44
const SUBANIM_45
const SUBANIM_46
const SUBANIM_47
const SUBANIM_48
const SUBANIM_49
const SUBANIM_4A
const SUBANIM_4B
const SUBANIM_4C
const SUBANIM_4D
const SUBANIM_4E
const SUBANIM_4F
const SUBANIM_50
const SUBANIM_51
const SUBANIM_52
const SUBANIM_53
const SUBANIM_54
const SUBANIM_55

View file

@ -131,7 +131,7 @@ FrameBlockPointers:
; third byte = tile id (it's actually tile id - $31) ; third byte = tile id (it's actually tile id - $31)
; fourth byte = tile properties (xflip/yflip/etc.) ; fourth byte = tile properties (xflip/yflip/etc.)
FrameBlock01: FrameBlock01:
db $09 db 9 ; #
db $00, $00, $2c, $00 db $00, $00, $2c, $00
db $00, $08, $2d, $00 db $00, $08, $2d, $00
db $00, $10, $2c, $20 db $00, $10, $2c, $20
@ -143,7 +143,7 @@ FrameBlock01:
db $10, $10, $2c, $60 db $10, $10, $2c, $60
FrameBlock02: FrameBlock02:
db $10 db 16 ; #
db $00, $00, $20, $00 db $00, $00, $20, $00
db $00, $08, $21, $00 db $00, $08, $21, $00
db $00, $10, $21, $20 db $00, $10, $21, $20
@ -162,28 +162,28 @@ FrameBlock02:
db $18, $18, $20, $60 db $18, $18, $20, $60
FrameBlock03: FrameBlock03:
db $04 db 4 ; #
db $00, $00, $02, $00 db $00, $00, $02, $00
db $00, $08, $02, $20 db $00, $08, $02, $20
db $08, $00, $12, $00 db $08, $00, $12, $00
db $08, $08, $12, $20 db $08, $08, $12, $20
FrameBlock04: FrameBlock04:
db $04 db 4 ; #
db $00, $00, $06, $00 db $00, $00, $06, $00
db $00, $08, $07, $00 db $00, $08, $07, $00
db $08, $00, $16, $00 db $08, $00, $16, $00
db $08, $08, $17, $00 db $08, $08, $17, $00
FrameBlock05: FrameBlock05:
db $04 db 4 ; #
db $00, $00, $07, $20 db $00, $00, $07, $20
db $00, $08, $06, $20 db $00, $08, $06, $20
db $08, $00, $17, $20 db $08, $00, $17, $20
db $08, $08, $16, $20 db $08, $08, $16, $20
FrameBlock06: FrameBlock06:
db $0c db 12 ; #
db $00, $08, $23, $00 db $00, $08, $23, $00
db $08, $00, $32, $00 db $08, $00, $32, $00
db $08, $08, $33, $00 db $08, $08, $33, $00
@ -198,7 +198,7 @@ FrameBlock06:
db $18, $10, $23, $60 db $18, $10, $23, $60
FrameBlock07: FrameBlock07:
db $10 db 16 ; #
db $00, $00, $20, $00 db $00, $00, $20, $00
db $00, $08, $21, $00 db $00, $08, $21, $00
db $08, $00, $30, $00 db $08, $00, $30, $00
@ -217,7 +217,7 @@ FrameBlock07:
db $18, $18, $20, $60 db $18, $18, $20, $60
FrameBlock08: FrameBlock08:
db $10 db 16 ; #
db $00, $00, $20, $00 db $00, $00, $20, $00
db $00, $08, $21, $00 db $00, $08, $21, $00
db $08, $00, $30, $00 db $08, $00, $30, $00
@ -236,7 +236,7 @@ FrameBlock08:
db $20, $20, $20, $60 db $20, $20, $20, $60
FrameBlock09: FrameBlock09:
db $0c db 12 ; #
db $00, $00, $24, $00 db $00, $00, $24, $00
db $00, $08, $25, $00 db $00, $08, $25, $00
db $08, $00, $34, $00 db $08, $00, $34, $00
@ -251,7 +251,7 @@ FrameBlock09:
db $20, $20, $24, $60 db $20, $20, $24, $60
FrameBlock0a: FrameBlock0a:
db $0c db 12 ; #
db $00, $00, $24, $00 db $00, $00, $24, $00
db $00, $08, $25, $00 db $00, $08, $25, $00
db $08, $00, $34, $00 db $08, $00, $34, $00
@ -266,21 +266,21 @@ FrameBlock0a:
db $28, $28, $24, $60 db $28, $28, $24, $60
FrameBlock0b: FrameBlock0b:
db $04 db 4 ; #
db $00, $00, $05, $00 db $00, $00, $05, $00
db $00, $08, $05, $20 db $00, $08, $05, $20
db $08, $00, $15, $00 db $08, $00, $15, $00
db $08, $08, $15, $20 db $08, $08, $15, $20
FrameBlock0c: FrameBlock0c:
db $04 db 4 ; #
db $00, $00, $04, $00 db $00, $00, $04, $00
db $00, $08, $04, $20 db $00, $08, $04, $20
db $08, $00, $14, $00 db $08, $00, $14, $00
db $08, $08, $14, $20 db $08, $08, $14, $20
FrameBlock0d: FrameBlock0d:
db $08 db 8 ; #
db $00, $00, $0c, $00 db $00, $00, $0c, $00
db $00, $08, $0d, $00 db $00, $08, $0d, $00
db $08, $00, $1c, $00 db $08, $00, $1c, $00
@ -291,21 +291,21 @@ FrameBlock0d:
db $18, $08, $0c, $60 db $18, $08, $0c, $60
FrameBlock0e: FrameBlock0e:
db $04 db 4 ; #
db $20, $00, $0c, $00 db $20, $00, $0c, $00
db $20, $08, $0d, $00 db $20, $08, $0d, $00
db $28, $00, $1c, $00 db $28, $00, $1c, $00
db $28, $08, $1d, $00 db $28, $08, $1d, $00
FrameBlock0f: FrameBlock0f:
db $04 db 4 ; #
db $30, $00, $1d, $60 db $30, $00, $1d, $60
db $30, $08, $1c, $60 db $30, $08, $1c, $60
db $38, $00, $0d, $60 db $38, $00, $0d, $60
db $38, $08, $0c, $60 db $38, $08, $0c, $60
FrameBlock10: FrameBlock10:
db $08 db 8 ; #
db $00, $00, $0e, $00 db $00, $00, $0e, $00
db $00, $08, $0f, $00 db $00, $08, $0f, $00
db $08, $00, $1e, $00 db $08, $00, $1e, $00
@ -316,7 +316,7 @@ FrameBlock10:
db $08, $18, $1e, $20 db $08, $18, $1e, $20
FrameBlock11: FrameBlock11:
db $08 db 8 ; #
db $00, $00, $0e, $00 db $00, $00, $0e, $00
db $00, $08, $0f, $00 db $00, $08, $0f, $00
db $08, $00, $1e, $00 db $08, $00, $1e, $00
@ -327,20 +327,20 @@ FrameBlock11:
db $08, $28, $1e, $20 db $08, $28, $1e, $20
FrameBlock12: FrameBlock12:
db $03 db 3 ; #
db $00, $00, $37, $00 db $00, $00, $37, $00
db $08, $10, $37, $00 db $08, $10, $37, $00
db $00, $20, $37, $00 db $00, $20, $37, $00
FrameBlock13: FrameBlock13:
db $04 db 4 ; #
db $00, $00, $36, $00 db $00, $00, $36, $00
db $00, $08, $36, $20 db $00, $08, $36, $20
db $08, $00, $36, $40 db $08, $00, $36, $40
db $08, $08, $36, $60 db $08, $08, $36, $60
FrameBlock14: FrameBlock14:
db $08 db 8 ; #
db $00, $10, $28, $00 db $00, $10, $28, $00
db $00, $18, $28, $20 db $00, $18, $28, $20
db $08, $10, $38, $00 db $08, $10, $38, $00
@ -351,7 +351,7 @@ FrameBlock14:
db $08, $28, $36, $60 db $08, $28, $36, $60
FrameBlock15: FrameBlock15:
db $0c db 12 ; #
db $00, $00, $28, $00 db $00, $00, $28, $00
db $00, $08, $28, $20 db $00, $08, $28, $20
db $08, $00, $38, $00 db $08, $00, $38, $00
@ -366,7 +366,7 @@ FrameBlock15:
db $08, $28, $38, $20 db $08, $28, $38, $20
FrameBlock16: FrameBlock16:
db $08 db 8 ; #
db $00, $00, $29, $00 db $00, $00, $29, $00
db $00, $08, $29, $20 db $00, $08, $29, $20
db $08, $00, $39, $00 db $08, $00, $39, $00
@ -377,60 +377,60 @@ FrameBlock16:
db $08, $28, $39, $20 db $08, $28, $39, $20
FrameBlock17: FrameBlock17:
db $04 db 4 ; #
db $00, $00, $08, $00 db $00, $00, $08, $00
db $00, $08, $09, $00 db $00, $08, $09, $00
db $08, $00, $18, $00 db $08, $00, $18, $00
db $08, $08, $19, $00 db $08, $08, $19, $00
FrameBlock18: FrameBlock18:
db $01 db 1 ; #
db $18, $00, $45, $60 db $18, $00, $45, $60
FrameBlock19: FrameBlock19:
db $02 db 2 ; #
db $18, $08, $45, $00 db $18, $08, $45, $00
db $10, $08, $46, $60 db $10, $08, $46, $60
FrameBlock1a: FrameBlock1a:
db $02 db 2 ; #
db $10, $10, $45, $60 db $10, $10, $45, $60
db $18, $10, $46, $00 db $18, $10, $46, $00
FrameBlock1b: FrameBlock1b:
db $02 db 2 ; #
db $10, $18, $45, $00 db $10, $18, $45, $00
db $08, $18, $46, $60 db $08, $18, $46, $60
FrameBlock1c: FrameBlock1c:
db $02 db 2 ; #
db $08, $20, $45, $60 db $08, $20, $45, $60
db $10, $20, $46, $00 db $10, $20, $46, $00
FrameBlock1d: FrameBlock1d:
db $02 db 2 ; #
db $08, $28, $45, $00 db $08, $28, $45, $00
db $00, $28, $46, $60 db $00, $28, $46, $60
FrameBlock1e: FrameBlock1e:
db $02 db 2 ; #
db $00, $30, $45, $60 db $00, $30, $45, $60
db $08, $30, $46, $00 db $08, $30, $46, $00
FrameBlock75: FrameBlock75:
db $04 db 4 ; #
db $00, $00, $43, $00 db $00, $00, $43, $00
db $00, $08, $43, $20 db $00, $08, $43, $20
db $08, $00, $22, $00 db $08, $00, $22, $00
db $08, $08, $43, $60 db $08, $08, $43, $60
FrameBlock1f: FrameBlock1f:
db $02 db 2 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
db $00, $30, $03, $20 db $00, $30, $03, $20
FrameBlock20: FrameBlock20:
db $06 db 6 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
db $00, $30, $03, $20 db $00, $30, $03, $20
db $08, $08, $03, $00 db $08, $08, $03, $00
@ -439,7 +439,7 @@ FrameBlock20:
db $08, $30, $13, $20 db $08, $30, $13, $20
FrameBlock21: FrameBlock21:
db $0c db 12 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
db $00, $30, $03, $20 db $00, $30, $03, $20
db $08, $08, $03, $00 db $08, $08, $03, $00
@ -454,7 +454,7 @@ FrameBlock21:
db $10, $30, $03, $20 db $10, $30, $03, $20
FrameBlock22: FrameBlock22:
db $13 db 19 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
db $08, $00, $13, $00 db $08, $00, $13, $00
db $10, $00, $03, $00 db $10, $00, $03, $00
@ -476,19 +476,19 @@ FrameBlock22:
db $18, $30, $13, $20 db $18, $30, $13, $20
FrameBlock23: FrameBlock23:
db $04 db 4 ; #
db $00, $00, $0a, $00 db $00, $00, $0a, $00
db $00, $08, $0b, $00 db $00, $08, $0b, $00
db $08, $00, $1a, $00 db $08, $00, $1a, $00
db $08, $08, $1b, $00 db $08, $08, $1b, $00
FrameBlock24: FrameBlock24:
db $02 db 2 ; #
db $08, $00, $0a, $00 db $08, $00, $0a, $00
db $08, $08, $0b, $00 db $08, $08, $0b, $00
FrameBlock25: FrameBlock25:
db $0c db 12 ; #
db $10, $00, $0a, $00 db $10, $00, $0a, $00
db $10, $08, $0b, $00 db $10, $08, $0b, $00
db $18, $00, $1a, $00 db $18, $00, $1a, $00
@ -503,14 +503,14 @@ FrameBlock25:
db $10, $28, $1b, $00 db $10, $28, $1b, $00
FrameBlock26: FrameBlock26:
db $04 db 4 ; #
db $00, $10, $44, $00 db $00, $10, $44, $00
db $00, $18, $44, $20 db $00, $18, $44, $20
db $08, $10, $44, $40 db $08, $10, $44, $40
db $08, $18, $44, $60 db $08, $18, $44, $60
FrameBlock27: FrameBlock27:
db $05 db 5 ; #
db $08, $08, $44, $00 db $08, $08, $44, $00
db $08, $10, $44, $20 db $08, $10, $44, $20
db $10, $08, $44, $40 db $10, $08, $44, $40
@ -518,7 +518,7 @@ FrameBlock27:
db $00, $18, $47, $00 db $00, $18, $47, $00
FrameBlock28: FrameBlock28:
db $06 db 6 ; #
db $10, $00, $44, $00 db $10, $00, $44, $00
db $10, $08, $44, $20 db $10, $08, $44, $20
db $18, $00, $44, $40 db $18, $00, $44, $40
@ -527,30 +527,30 @@ FrameBlock28:
db $02, $16, $47, $00 db $02, $16, $47, $00
FrameBlock29: FrameBlock29:
db $04 db 4 ; #
db $18, $00, $47, $00 db $18, $00, $47, $00
db $12, $06, $47, $00 db $12, $06, $47, $00
db $0c, $0c, $47, $00 db $0c, $0c, $47, $00
db $06, $12, $47, $00 db $06, $12, $47, $00
FrameBlock2a: FrameBlock2a:
db $04 db 4 ; #
db $00, $00, $44, $00 db $00, $00, $44, $00
db $00, $08, $44, $20 db $00, $08, $44, $20
db $08, $00, $44, $40 db $08, $00, $44, $40
db $08, $08, $44, $60 db $08, $08, $44, $60
FrameBlock2b: FrameBlock2b:
db $02 db 2 ; #
db $06, $02, $47, $00 db $06, $02, $47, $00
db $00, $08, $47, $00 db $00, $08, $47, $00
FrameBlock2c: FrameBlock2c:
db $01 db 1 ; #
db $a0, $00, $4d, $00 db $a0, $00, $4d, $00
FrameBlock2d: FrameBlock2d:
db $08 db 8 ; #
db $00, $00, $26, $00 db $00, $00, $26, $00
db $00, $08, $27, $00 db $00, $08, $27, $00
db $08, $00, $36, $00 db $08, $00, $36, $00
@ -561,7 +561,7 @@ FrameBlock2d:
db $18, $08, $39, $00 db $18, $08, $39, $00
FrameBlock2e: FrameBlock2e:
db $08 db 8 ; #
db $00, $00, $27, $20 db $00, $00, $27, $20
db $00, $08, $26, $20 db $00, $08, $26, $20
db $08, $00, $37, $20 db $08, $00, $37, $20
@ -572,25 +572,25 @@ FrameBlock2e:
db $18, $08, $38, $20 db $18, $08, $38, $20
FrameBlock2f: FrameBlock2f:
db $04 db 4 ; #
db $00, $00, $0c, $00 db $00, $00, $0c, $00
db $00, $08, $0d, $00 db $00, $08, $0d, $00
db $08, $00, $0c, $40 db $08, $00, $0c, $40
db $08, $08, $0d, $40 db $08, $08, $0d, $40
FrameBlock30: FrameBlock30:
db $04 db 4 ; #
db $00, $00, $44, $00 db $00, $00, $44, $00
db $00, $08, $44, $20 db $00, $08, $44, $20
db $08, $00, $44, $40 db $08, $00, $44, $40
db $08, $08, $44, $60 db $08, $08, $44, $60
FrameBlock31: FrameBlock31:
db $01 db 1 ; #
db $00, $00, $45, $00 db $00, $00, $45, $00
FrameBlock32: FrameBlock32:
db $07 db 7 ; #
db $00, $00, $4d, $00 db $00, $00, $4d, $00
db $00, $08, $2f, $00 db $00, $08, $2f, $00
db $00, $10, $4d, $20 db $00, $10, $4d, $20
@ -600,7 +600,7 @@ FrameBlock32:
db $10, $08, $3f, $00 db $10, $08, $3f, $00
FrameBlock33: FrameBlock33:
db $07 db 7 ; #
db $00, $08, $3f, $40 db $00, $08, $3f, $40
db $08, $00, $4e, $40 db $08, $00, $4e, $40
db $08, $08, $07, $40 db $08, $08, $07, $40
@ -610,11 +610,11 @@ FrameBlock33:
db $10, $10, $4d, $60 db $10, $10, $4d, $60
FrameBlock34: FrameBlock34:
db $01 db 1 ; #
db $a0, $00, $00, $10 db $a0, $00, $00, $10
FrameBlock35: FrameBlock35:
db $06 db 6 ; #
db $00, $00, $2a, $00 db $00, $00, $2a, $00
db $00, $08, $2b, $00 db $00, $08, $2b, $00
db $08, $00, $3a, $00 db $08, $00, $3a, $00
@ -623,42 +623,42 @@ FrameBlock35:
db $18, $08, $2b, $40 db $18, $08, $2b, $40
FrameBlock36: FrameBlock36:
db $04 db 4 ; #
db $00, $00, $00, $00 db $00, $00, $00, $00
db $00, $08, $01, $00 db $00, $08, $01, $00
db $08, $00, $10, $00 db $08, $00, $10, $00
db $08, $08, $11, $00 db $08, $08, $11, $00
FrameBlock37: FrameBlock37:
db $04 db 4 ; #
db $00, $00, $01, $a0 db $00, $00, $01, $a0
db $00, $08, $00, $a0 db $00, $08, $00, $a0
db $08, $00, $11, $a0 db $08, $00, $11, $a0
db $08, $08, $10, $a0 db $08, $08, $10, $a0
FrameBlock38: FrameBlock38:
db $04 db 4 ; #
db $00, $00, $0a, $00 db $00, $00, $0a, $00
db $00, $08, $0b, $00 db $00, $08, $0b, $00
db $08, $00, $1a, $00 db $08, $00, $1a, $00
db $08, $08, $1b, $00 db $08, $08, $1b, $00
FrameBlock39: FrameBlock39:
db $04 db 4 ; #
db $00, $00, $0b, $20 db $00, $00, $0b, $20
db $00, $08, $0a, $20 db $00, $08, $0a, $20
db $08, $00, $1b, $20 db $08, $00, $1b, $20
db $08, $08, $1a, $20 db $08, $08, $1a, $20
FrameBlock3a: FrameBlock3a:
db $04 db 4 ; #
db $20, $00, $05, $00 db $20, $00, $05, $00
db $20, $08, $05, $20 db $20, $08, $05, $20
db $28, $00, $15, $00 db $28, $00, $15, $00
db $28, $08, $15, $20 db $28, $08, $15, $20
FrameBlock3b: FrameBlock3b:
db $05 db 5 ; #
db $18, $00, $04, $00 db $18, $00, $04, $00
db $18, $08, $04, $20 db $18, $08, $04, $20
db $20, $00, $14, $00 db $20, $00, $14, $00
@ -666,7 +666,7 @@ FrameBlock3b:
db $28, $04, $41, $00 db $28, $04, $41, $00
FrameBlock3c: FrameBlock3c:
db $06 db 6 ; #
db $10, $00, $05, $00 db $10, $00, $05, $00
db $10, $08, $05, $20 db $10, $08, $05, $20
db $18, $00, $15, $00 db $18, $00, $15, $00
@ -675,7 +675,7 @@ FrameBlock3c:
db $28, $04, $42, $00 db $28, $04, $42, $00
FrameBlock3d: FrameBlock3d:
db $07 db 7 ; #
db $08, $00, $04, $00 db $08, $00, $04, $00
db $08, $08, $04, $20 db $08, $08, $04, $20
db $10, $00, $14, $00 db $10, $00, $14, $00
@ -685,7 +685,7 @@ FrameBlock3d:
db $28, $04, $41, $00 db $28, $04, $41, $00
FrameBlock3e: FrameBlock3e:
db $08 db 8 ; #
db $00, $00, $05, $00 db $00, $00, $05, $00
db $00, $08, $05, $20 db $00, $08, $05, $20
db $08, $00, $15, $00 db $08, $00, $15, $00
@ -696,7 +696,7 @@ FrameBlock3e:
db $28, $04, $42, $00 db $28, $04, $42, $00
FrameBlock3f: FrameBlock3f:
db $08 db 8 ; #
db $00, $00, $04, $00 db $00, $00, $04, $00
db $00, $08, $04, $20 db $00, $08, $04, $20
db $08, $00, $14, $00 db $08, $00, $14, $00
@ -707,20 +707,20 @@ FrameBlock3f:
db $28, $04, $41, $00 db $28, $04, $41, $00
FrameBlock40: FrameBlock40:
db $03 db 3 ; #
db $00, $00, $3d, $00 db $00, $00, $3d, $00
db $00, $08, $3d, $00 db $00, $08, $3d, $00
db $08, $08, $3d, $00 db $08, $08, $3d, $00
FrameBlock41: FrameBlock41:
db $04 db 4 ; #
db $00, $00, $06, $00 db $00, $00, $06, $00
db $00, $08, $06, $20 db $00, $08, $06, $20
db $08, $00, $16, $00 db $08, $00, $16, $00
db $08, $08, $17, $00 db $08, $08, $17, $00
FrameBlock42: FrameBlock42:
db $0b db 11 ; #
db $00, $10, $42, $00 db $00, $10, $42, $00
db $08, $00, $42, $00 db $08, $00, $42, $00
db $08, $08, $42, $00 db $08, $08, $42, $00
@ -734,7 +734,7 @@ FrameBlock42:
db $20, $20, $42, $00 db $20, $20, $42, $00
FrameBlock43: FrameBlock43:
db $0b db 11 ; #
db $00, $10, $41, $00 db $00, $10, $41, $00
db $08, $00, $41, $00 db $08, $00, $41, $00
db $08, $08, $41, $00 db $08, $08, $41, $00
@ -748,42 +748,42 @@ FrameBlock43:
db $20, $20, $41, $00 db $20, $20, $41, $00
FrameBlock44: FrameBlock44:
db $04 db 4 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $28, $49, $00 db $00, $28, $49, $00
db $28, $00, $49, $00 db $28, $00, $49, $00
db $28, $28, $49, $00 db $28, $28, $49, $00
FrameBlock45: FrameBlock45:
db $04 db 4 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $18, $49, $00 db $00, $18, $49, $00
db $18, $00, $49, $00 db $18, $00, $49, $00
db $18, $18, $49, $00 db $18, $18, $49, $00
FrameBlock46: FrameBlock46:
db $04 db 4 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $08, $49, $00 db $00, $08, $49, $00
db $08, $00, $49, $00 db $08, $00, $49, $00
db $08, $08, $49, $00 db $08, $08, $49, $00
FrameBlock47: FrameBlock47:
db $04 db 4 ; #
db $00, $00, $43, $00 db $00, $00, $43, $00
db $00, $08, $43, $20 db $00, $08, $43, $20
db $08, $00, $43, $40 db $08, $00, $43, $40
db $08, $08, $43, $60 db $08, $08, $43, $60
SmallBlackCircleFrameBlock: SmallBlackCircleFrameBlock:
db $04 db 4 ; #
db $08, $08, $33, $00 db $08, $08, $33, $00
db $08, $10, $33, $20 db $08, $10, $33, $20
db $10, $08, $33, $40 db $10, $08, $33, $40
db $10, $10, $33, $60 db $10, $10, $33, $60
LargeBlockCircleFrameBlock: LargeBlockCircleFrameBlock:
db $10 db 16 ; #
db $00, $00, $22, $00 db $00, $00, $22, $00
db $00, $08, $23, $00 db $00, $08, $23, $00
db $00, $10, $23, $20 db $00, $10, $23, $20
@ -802,7 +802,7 @@ LargeBlockCircleFrameBlock:
db $18, $18, $22, $60 db $18, $18, $22, $60
FrameBlock71: FrameBlock71:
db $10 db 16 ; #
db $00, $00, $22, $00 db $00, $00, $22, $00
db $00, $08, $3b, $00 db $00, $08, $3b, $00
db $00, $10, $23, $20 db $00, $10, $23, $20
@ -821,7 +821,7 @@ FrameBlock71:
db $18, $18, $22, $60 db $18, $18, $22, $60
FrameBlock72: FrameBlock72:
db $0c db 12 ; #
db $00, $00, $32, $00 db $00, $00, $32, $00
db $00, $08, $43, $00 db $00, $08, $43, $00
db $00, $10, $43, $20 db $00, $10, $43, $20
@ -836,7 +836,7 @@ FrameBlock72:
db $10, $18, $22, $60 db $10, $18, $22, $60
FrameBlock73: FrameBlock73:
db $08 db 8 ; #
db $00, $00, $32, $40 db $00, $00, $32, $40
db $00, $08, $43, $40 db $00, $08, $43, $40
db $00, $10, $43, $60 db $00, $10, $43, $60
@ -847,42 +847,42 @@ FrameBlock73:
db $08, $18, $22, $60 db $08, $18, $22, $60
FrameBlock74: FrameBlock74:
db $04 db 4 ; #
db $00, $00, $22, $40 db $00, $00, $22, $40
db $00, $08, $23, $40 db $00, $08, $23, $40
db $00, $10, $23, $60 db $00, $10, $23, $60
db $00, $18, $22, $60 db $00, $18, $22, $60
FrameBlock4a: FrameBlock4a:
db $04 db 4 ; #
db $08, $18, $4c, $20 db $08, $18, $4c, $20
db $20, $08, $4b, $00 db $20, $08, $4b, $00
db $30, $20, $4c, $00 db $30, $20, $4c, $00
db $18, $30, $4b, $40 db $18, $30, $4b, $40
FrameBlock4b: FrameBlock4b:
db $04 db 4 ; #
db $00, $18, $4c, $00 db $00, $18, $4c, $00
db $20, $00, $4b, $40 db $20, $00, $4b, $40
db $38, $20, $4c, $20 db $38, $20, $4c, $20
db $18, $38, $4b, $00 db $18, $38, $4b, $00
FrameBlock4c: FrameBlock4c:
db $04 db 4 ; #
db $10, $08, $4a, $40 db $10, $08, $4a, $40
db $30, $10, $4a, $00 db $30, $10, $4a, $00
db $28, $30, $4a, $20 db $28, $30, $4a, $20
db $08, $28, $4a, $60 db $08, $28, $4a, $60
FrameBlock4d: FrameBlock4d:
db $04 db 4 ; #
db $08, $00, $4a, $20 db $08, $00, $4a, $20
db $38, $08, $4a, $60 db $38, $08, $4a, $60
db $30, $38, $4a, $40 db $30, $38, $4a, $40
db $00, $30, $4a, $00 db $00, $30, $4a, $00
FrameBlock4e: FrameBlock4e:
db $08 db 8 ; #
db $00, $30, $44, $00 db $00, $30, $44, $00
db $00, $38, $44, $20 db $00, $38, $44, $20
db $08, $30, $44, $40 db $08, $30, $44, $40
@ -893,7 +893,7 @@ FrameBlock4e:
db $2e, $12, $44, $60 db $2e, $12, $44, $60
FrameBlock4f: FrameBlock4f:
db $0c db 12 ; #
db $0e, $22, $44, $00 db $0e, $22, $44, $00
db $0e, $2a, $44, $20 db $0e, $2a, $44, $20
db $16, $22, $44, $40 db $16, $22, $44, $40
@ -908,7 +908,7 @@ FrameBlock4f:
db $2a, $0e, $47, $00 db $2a, $0e, $47, $00
FrameBlock50: FrameBlock50:
db $08 db 8 ; #
db $06, $32, $47, $00 db $06, $32, $47, $00
db $00, $38, $47, $00 db $00, $38, $47, $00
db $12, $26, $47, $00 db $12, $26, $47, $00
@ -919,7 +919,7 @@ FrameBlock50:
db $24, $14, $47, $00 db $24, $14, $47, $00
FrameBlock51: FrameBlock51:
db $08 db 8 ; #
db $00, $00, $35, $20 db $00, $00, $35, $20
db $08, $00, $35, $40 db $08, $00, $35, $40
db $10, $00, $35, $00 db $10, $00, $35, $00
@ -930,33 +930,33 @@ FrameBlock51:
db $18, $40, $35, $40 db $18, $40, $35, $40
FrameBlock52: FrameBlock52:
db $04 db 4 ; #
db $00, $00, $2a, $00 db $00, $00, $2a, $00
db $00, $08, $2b, $00 db $00, $08, $2b, $00
db $08, $00, $3a, $00 db $08, $00, $3a, $00
db $08, $08, $3b, $00 db $08, $08, $3b, $00
FrameBlock53: FrameBlock53:
db $03 db 3 ; #
db $00, $00, $3f, $00 db $00, $00, $3f, $00
db $00, $08, $3f, $00 db $00, $08, $3f, $00
db $08, $06, $3f, $00 db $08, $06, $3f, $00
FrameBlock54: FrameBlock54:
db $04 db 4 ; #
db $00, $00, $0e, $00 db $00, $00, $0e, $00
db $00, $08, $0e, $20 db $00, $08, $0e, $20
db $08, $00, $0f, $00 db $08, $00, $0f, $00
db $08, $08, $0f, $20 db $08, $08, $0f, $20
FrameBlock55: FrameBlock55:
db $03 db 3 ; #
db $10, $00, $2c, $00 db $10, $00, $2c, $00
db $10, $08, $3c, $00 db $10, $08, $3c, $00
db $10, $10, $2d, $00 db $10, $10, $2d, $00
FrameBlock56: FrameBlock56:
db $06 db 6 ; #
db $10, $10, $31, $00 db $10, $10, $31, $00
db $10, $18, $31, $00 db $10, $18, $31, $00
db $08, $10, $2c, $00 db $08, $10, $2c, $00
@ -965,7 +965,7 @@ FrameBlock56:
db $10, $20, $2d, $00 db $10, $20, $2d, $00
FrameBlock57: FrameBlock57:
db $09 db 9 ; #
db $08, $20, $31, $00 db $08, $20, $31, $00
db $10, $20, $31, $00 db $10, $20, $31, $00
db $08, $28, $31, $00 db $08, $28, $31, $00
@ -977,7 +977,7 @@ FrameBlock57:
db $10, $30, $2d, $00 db $10, $30, $2d, $00
FrameBlock58: FrameBlock58:
db $07 db 7 ; #
db $00, $00, $46, $00 db $00, $00, $46, $00
db $08, $02, $47, $00 db $08, $02, $47, $00
db $10, $03, $48, $00 db $10, $03, $48, $00
@ -987,11 +987,11 @@ FrameBlock58:
db $30, $05, $48, $00 db $30, $05, $48, $00
FrameBlock59: FrameBlock59:
db $01 db 1 ; #
db $00, $00, $42, $00 db $00, $00, $42, $00
FrameBlock5a: FrameBlock5a:
db $0c db 12 ; #
db $00, $00, $24, $00 db $00, $00, $24, $00
db $00, $08, $25, $00 db $00, $08, $25, $00
db $08, $00, $34, $00 db $08, $00, $34, $00
@ -1006,14 +1006,14 @@ FrameBlock5a:
db $18, $18, $24, $60 db $18, $18, $24, $60
FrameBlock5b: FrameBlock5b:
db $04 db 4 ; #
db $00, $00, $43, $00 db $00, $00, $43, $00
db $00, $08, $43, $20 db $00, $08, $43, $20
db $08, $00, $43, $40 db $08, $00, $43, $40
db $08, $08, $43, $60 db $08, $08, $43, $60
FrameBlock5c: FrameBlock5c:
db $08 db 8 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $02, $08, $49, $00 db $02, $08, $49, $00
db $18, $00, $49, $00 db $18, $00, $49, $00
@ -1024,7 +1024,7 @@ FrameBlock5c:
db $10, $08, $43, $60 db $10, $08, $43, $60
FrameBlock5d: FrameBlock5d:
db $0b db 11 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $18, $02, $49, $00 db $18, $02, $49, $00
db $14, $10, $49, $00 db $14, $10, $49, $00
@ -1038,7 +1038,7 @@ FrameBlock5d:
db $0c, $10, $43, $60 db $0c, $10, $43, $60
FrameBlock5e: FrameBlock5e:
db $0f db 15 ; #
db $00, $08, $49, $00 db $00, $08, $49, $00
db $08, $10, $49, $00 db $08, $10, $49, $00
db $20, $00, $49, $00 db $20, $00, $49, $00
@ -1056,14 +1056,14 @@ FrameBlock5e:
db $28, $10, $43, $60 db $28, $10, $43, $60
FrameBlock5f: FrameBlock5f:
db $04 db 4 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $10, $49, $00 db $00, $10, $49, $00
db $00, $20, $49, $00 db $00, $20, $49, $00
db $00, $30, $49, $00 db $00, $30, $49, $00
FrameBlock60: FrameBlock60:
db $08 db 8 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $10, $49, $00 db $00, $10, $49, $00
db $00, $20, $49, $00 db $00, $20, $49, $00
@ -1074,7 +1074,7 @@ FrameBlock60:
db $08, $38, $49, $00 db $08, $38, $49, $00
FrameBlock61: FrameBlock61:
db $0c db 12 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $10, $49, $00 db $00, $10, $49, $00
db $00, $20, $49, $00 db $00, $20, $49, $00
@ -1089,7 +1089,7 @@ FrameBlock61:
db $10, $30, $49, $00 db $10, $30, $49, $00
FrameBlock62: FrameBlock62:
db $0f db 15 ; #
db $00, $00, $49, $00 db $00, $00, $49, $00
db $00, $10, $49, $00 db $00, $10, $49, $00
db $00, $20, $49, $00 db $00, $20, $49, $00
@ -1108,7 +1108,7 @@ FrameBlock62:
db $18, $38, $49, $00 ; unused db $18, $38, $49, $00 ; unused
FrameBlock63: FrameBlock63:
db $06 db 6 ; #
db $10, $00, $26, $00 db $10, $00, $26, $00
db $10, $08, $27, $00 db $10, $08, $27, $00
db $08, $10, $26, $00 db $08, $10, $26, $00
@ -1117,7 +1117,7 @@ FrameBlock63:
db $00, $28, $27, $00 db $00, $28, $27, $00
FrameBlock64: FrameBlock64:
db $06 db 6 ; #
db $18, $00, $27, $00 db $18, $00, $27, $00
db $10, $08, $26, $00 db $10, $08, $26, $00
db $10, $10, $27, $00 db $10, $10, $27, $00
@ -1126,7 +1126,7 @@ FrameBlock64:
db $00, $28, $26, $00 db $00, $28, $26, $00
FrameBlock65: FrameBlock65:
db $06 db 6 ; #
db $00, $00, $1c, $00 db $00, $00, $1c, $00
db $00, $08, $1d, $00 db $00, $08, $1d, $00
db $10, $00, $1c, $00 db $10, $00, $1c, $00
@ -1135,27 +1135,27 @@ FrameBlock65:
db $20, $08, $1d, $00 db $20, $08, $1d, $00
FrameBlock66: FrameBlock66:
db $02 db 2 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
db $08, $00, $13, $00 db $08, $00, $13, $00
FrameBlock67: FrameBlock67:
db $01 db 1 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
FrameBlock68: FrameBlock68:
db $04 db 4 ; #
db $00, $00, $03, $00 db $00, $00, $03, $00
db $00, $08, $03, $20 db $00, $08, $03, $20
db $08, $00, $13, $00 db $08, $00, $13, $00
db $08, $08, $13, $20 db $08, $08, $13, $20
FrameBlock69: FrameBlock69:
db $01 db 1 ; #
db $00, $00, $06, $00 db $00, $00, $06, $00
FrameBlock6a: FrameBlock6a:
db $08 db 8 ; #
db $00, $00, $2e, $00 db $00, $00, $2e, $00
db $00, $30, $2e, $20 db $00, $30, $2e, $20
db $30, $00, $2e, $40 db $30, $00, $2e, $40
@ -1166,7 +1166,7 @@ FrameBlock6a:
db $18, $30, $3e, $20 db $18, $30, $3e, $20
FrameBlock6b: FrameBlock6b:
db $08 db 8 ; #
db $00, $00, $2e, $00 db $00, $00, $2e, $00
db $00, $20, $2e, $20 db $00, $20, $2e, $20
db $20, $00, $2e, $40 db $20, $00, $2e, $40
@ -1177,7 +1177,7 @@ FrameBlock6b:
db $10, $20, $3e, $20 db $10, $20, $3e, $20
FrameBlock6c: FrameBlock6c:
db $08 db 8 ; #
db $00, $00, $2e, $00 db $00, $00, $2e, $00
db $00, $10, $2e, $20 db $00, $10, $2e, $20
db $10, $00, $2e, $40 db $10, $00, $2e, $40
@ -1188,33 +1188,33 @@ FrameBlock6c:
db $08, $10, $3e, $20 db $08, $10, $3e, $20
FrameBlock6d: FrameBlock6d:
db $02 db 2 ; #
db $00, $00, $1e, $00 db $00, $00, $1e, $00
db $00, $08, $1f, $00 db $00, $08, $1f, $00
FrameBlock6e: FrameBlock6e:
db $04 db 4 ; #
db $00, $00, $48, $00 db $00, $00, $48, $00
db $00, $08, $48, $20 db $00, $08, $48, $20
db $08, $00, $12, $00 db $08, $00, $12, $00
db $08, $08, $12, $20 db $08, $08, $12, $20
FrameBlock6f: FrameBlock6f:
db $04 db 4 ; #
db $00, $00, $4a, $00 db $00, $00, $4a, $00
db $00, $08, $07, $00 db $00, $08, $07, $00
db $08, $00, $16, $00 db $08, $00, $16, $00
db $08, $08, $17, $00 db $08, $08, $17, $00
FrameBlock70: FrameBlock70:
db $04 db 4 ; #
db $00, $00, $07, $20 db $00, $00, $07, $20
db $00, $08, $4a, $20 db $00, $08, $4a, $20
db $08, $00, $17, $20 db $08, $00, $17, $20
db $08, $08, $16, $20 db $08, $08, $16, $20
FrameBlock76: FrameBlock76:
db $07 db 7 ; #
db $00, $10, $2f, $00 db $00, $10, $2f, $00
db $01, $08, $2f, $00 db $01, $08, $2f, $00
db $01, $18, $2f, $00 db $01, $18, $2f, $00
@ -1224,18 +1224,18 @@ FrameBlock76:
db $0a, $20, $3e, $20 db $0a, $20, $3e, $20
FrameBlock77: FrameBlock77:
db $04 db 4 ; #
db $00, $02, $4b, $00 db $00, $02, $4b, $00
db $00, $0a, $4c, $00 db $00, $0a, $4c, $00
db $08, $00, $4c, $60 db $08, $00, $4c, $60
db $08, $08, $4b, $60 db $08, $08, $4b, $60
FrameBlock78: FrameBlock78:
db $01 db 1 ; #
db $00, $00, $4d, $00 db $00, $00, $4d, $00
FrameBlock79: FrameBlock79:
db $01 db 1 ; #
db $00, $00, $4e, $00 db $00, $00, $4e, $00
FrameBlockBaseCoords: FrameBlockBaseCoords:
@ -1418,4 +1418,5 @@ FrameBlockBaseCoords:
db $48, $28 db $48, $28
FrameBlock00: FrameBlock00:
db $00, $00 db 0 ; #
db $00

View file

@ -5,43 +5,43 @@ ENDM
SpecialEffectPointers: SpecialEffectPointers:
; special effect id, effect routine address ; special effect id, effect routine address
special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE
special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD
special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC
special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB
special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA
special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9 special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9
special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8 special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8
special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7 special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7
special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6 special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6
special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5 special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5
special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4 special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4
special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3 special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3
special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2 special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2
special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1 special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1
special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0 special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0
special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF
special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE
special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED
special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC
special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB
special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA
special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9 special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9
special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8 special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8
special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7 special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7
special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6 special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6
special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5 special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5
special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4 special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4
special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; $E3 unused
special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2 special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2
special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1 special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1
special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; $E0 unused
special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF
special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE
special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD
special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC
special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB
special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA
special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9 special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9
special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8 special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8
db -1 ; end db -1 ; end

View file

@ -5,28 +5,28 @@ ENDM
AnimationIdSpecialEffects: AnimationIdSpecialEffects:
; animation id, effect routine address ; animation id, effect routine address
anim_special_effect MEGA_PUNCH, AnimationFlashScreen anim_special_effect MEGA_PUNCH, AnimationFlashScreen
anim_special_effect GUILLOTINE, AnimationFlashScreen anim_special_effect GUILLOTINE, AnimationFlashScreen
anim_special_effect MEGA_KICK, AnimationFlashScreen anim_special_effect MEGA_KICK, AnimationFlashScreen
anim_special_effect HEADBUTT, AnimationFlashScreen anim_special_effect HEADBUTT, AnimationFlashScreen
anim_special_effect TAIL_WHIP, TailWhipAnimationUnused anim_special_effect TAIL_WHIP, TailWhipAnimationUnused
anim_special_effect GROWL, DoGrowlSpecialEffects anim_special_effect GROWL, DoGrowlSpecialEffects
anim_special_effect DISABLE, AnimationFlashScreen anim_special_effect DISABLE, AnimationFlashScreen
anim_special_effect BLIZZARD, DoBlizzardSpecialEffects anim_special_effect BLIZZARD, DoBlizzardSpecialEffects
anim_special_effect BUBBLEBEAM, AnimationFlashScreen anim_special_effect BUBBLEBEAM, AnimationFlashScreen
anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks
anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks
anim_special_effect REFLECT, AnimationFlashScreen anim_special_effect REFLECT, AnimationFlashScreen
anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects
anim_special_effect SPORE, AnimationFlashScreen anim_special_effect SPORE, AnimationFlashScreen
anim_special_effect EXPLOSION, DoExplodeSpecialEffects anim_special_effect EXPLOSION, DoExplodeSpecialEffects
anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects
anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon
anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball
anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball
anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects
anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects
anim_special_effect POOF_ANIM, DoPoofSpecialEffects anim_special_effect POOF_ANIM, DoPoofSpecialEffects
anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects
anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects
db -1 ; end db -1 ; end

File diff suppressed because it is too large Load diff

View file

@ -177,9 +177,9 @@ PlayAnimation:
ld l, a ld l, a
.animationLoop .animationLoop
ld a, [hli] ld a, [hli]
cp $FF cp -1
jr z, .AnimationOver jr z, .AnimationOver
cp $C0 ; is this subanimation or a special effect? cp FIRST_SE_ID ; is this subanimation or a special effect?
jr c, .playSubanimation jr c, .playSubanimation
.doSpecialEffect .doSpecialEffect
ld c, a ld c, a
@ -194,7 +194,7 @@ PlayAnimation:
jr .searchSpecialEffectTableLoop jr .searchSpecialEffectTableLoop
.foundMatch .foundMatch
ld a, [hli] ld a, [hli]
cp -1 ; is there a sound to play? cp NO_MOVE - 1 ; is there a sound to play?
jr z, .skipPlayingSound jr z, .skipPlayingSound
ld [wAnimSoundID], a ; store sound ld [wAnimSoundID], a ; store sound
push hl push hl
@ -347,18 +347,17 @@ LoadAnimationTileset:
ld c, a ; number of tiles ld c, a ; number of tiles
jp CopyVideoData ; load tileset jp CopyVideoData ; load tileset
anim_tileset: MACRO
db \1
dw \2
db -1 ; padding
ENDM
AnimationTilesetPointers: AnimationTilesetPointers:
db 79 ; number of tiles ; number of tiles, gfx pointer
dw AnimationTileset1 anim_tileset 79, AnimationTileset1
db $FF anim_tileset 79, AnimationTileset2
anim_tileset 64, AnimationTileset1
db 79 ; number of tiles
dw AnimationTileset2
db $FF
db 64 ; number of tiles
dw AnimationTileset1
db $FF
AnimationTileset1: AnimationTileset1:
INCBIN "gfx/battle/attack_anim_1.2bpp" INCBIN "gfx/battle/attack_anim_1.2bpp"
@ -412,7 +411,7 @@ MoveAnimation:
ld [wSubAnimSubEntryAddr], a ld [wSubAnimSubEntryAddr], a
ld [wUnusedD09B], a ld [wUnusedD09B], a
ld [wSubAnimTransform], a ld [wSubAnimTransform], a
dec a dec a ; NO_MOVE - 1
ld [wAnimSoundID], a ld [wAnimSoundID], a
pop af pop af
pop bc pop bc
@ -461,10 +460,10 @@ PlayApplyingAttackAnimation:
jp hl jp hl
AnimationTypePointerTable: AnimationTypePointerTable:
dw ShakeScreenVertically ; enemy mon has used a damaging move without a side effect dw ShakeScreenVertically ; enemy mon has used a damaging move without a side effect
dw ShakeScreenHorizontallyHeavy ; enemy mon has used a damaging move with a side effect dw ShakeScreenHorizontallyHeavy ; enemy mon has used a damaging move with a side effect
dw ShakeScreenHorizontallySlow ; enemy mon has used a non-damaging move dw ShakeScreenHorizontallySlow ; enemy mon has used a non-damaging move
dw BlinkEnemyMonSprite ; player mon has used a damaging move without a side effect dw BlinkEnemyMonSprite ; player mon has used a damaging move without a side effect
dw ShakeScreenHorizontallyLight ; player mon has used a damaging move with a side effect dw ShakeScreenHorizontallyLight ; player mon has used a damaging move with a side effect
dw ShakeScreenHorizontallySlow2 ; player mon has used a non-damaging move dw ShakeScreenHorizontallySlow2 ; player mon has used a non-damaging move
@ -549,7 +548,7 @@ SetAnimationPalette:
PlaySubanimation: PlaySubanimation:
ld a, [wAnimSoundID] ld a, [wAnimSoundID]
cp $FF cp NO_MOVE - 1
jr z, .skipPlayingSound jr z, .skipPlayingSound
call GetMoveSound call GetMoveSound
call PlaySound call PlaySound