diff options
-rw-r--r-- | constants/sprite_anim_constants.asm | 10 | ||||
-rwxr-xr-x | data/sprite_anims/framesets.asm | 1439 | ||||
-rwxr-xr-x | data/sprite_anims/oam.asm | 721 | ||||
-rwxr-xr-x | engine/gfx/sprite_anims.asm | 46 | ||||
-rwxr-xr-x | engine/gfx/sprites.asm | 125 | ||||
-rwxr-xr-x | gfx/battle/expbarend.2bpp | bin | 0 -> 16 bytes | |||
-rwxr-xr-x | gfx/battle/expbarend.png | bin | 0 -> 85 bytes | |||
-rwxr-xr-x | gfx/battle/expbarend_sgb.2bpp | bin | 0 -> 16 bytes | |||
-rwxr-xr-x | gfx/battle/expbarend_sgb.png | bin | 0 -> 85 bytes | |||
-rw-r--r-- | macros.asm | 1 | ||||
-rwxr-xr-x | macros/scripts/gfx_anims.asm | 53 |
11 files changed, 1340 insertions, 1055 deletions
diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm index 0265bb1c..ad67ff23 100644 --- a/constants/sprite_anim_constants.asm +++ b/constants/sprite_anim_constants.asm @@ -192,11 +192,11 @@ SPRITE_ANIM_SEQ_FLY_TO EQU $28 const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53 const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54 const SPRITE_ANIM_OAMSET_EGG_HATCH ; 55 - const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1 ; 56 - const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2 ; 57 - const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3 ; 58 - const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4 ; 59 - const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5 ; 5a + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1 ; 56 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2 ; 57 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3 ; 58 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4 ; 59 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5 ; 5a const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1 ; 5c const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2 ; 5d diff --git a/data/sprite_anims/framesets.asm b/data/sprite_anims/framesets.asm index e53b1c47..702e6716 100755 --- a/data/sprite_anims/framesets.asm +++ b/data/sprite_anims/framesets.asm @@ -1,1038 +1,401 @@ -AnimatedObjectFrameData: ; 8dbfe - dw .data_8dc6e - dw .data_8dc71 - dw .data_8dc76 - dw .data_8dc7b - dw .data_8dc89 - dw .data_8dc8e - dw .data_8dc93 - dw .data_8dc98 - dw .data_8dc9b - dw .data_8dca4 - dw .data_8dca7 - dw .data_8dcaa - dw .data_8dcb3 - dw .data_8dcb6 - dw .data_8dcbd - dw .data_8dcc0 - dw .data_8dcc3 - dw .data_8dccc - dw .data_8dccf - dw .data_8dcd6 - dw .data_8dcd9 - dw .data_8dcdc - dw .data_8dcdf - dw .data_8dcb6 - dw .data_8dcbd - dw .data_8dce4 - dw .data_8dceb - dw .data_8dcf0 - dw .data_8dcf5 - dw .data_8dcf8 - dw .data_8dcfd - dw .data_8dd06 - dw .data_8dd0f - dw .data_8dd18 - dw .data_8dd23 - dw .data_8dc80 - dw .data_8dd26 - dw .data_8dd29 - dw .data_8dd2c - dw .data_8dd35 - dw .data_8dd3c - dw .data_8dd41 - dw .data_8dd46 - dw .data_8dd49 - dw .data_8dd50 - dw .data_8dd53 - dw .data_8dd85 - dw .data_8dd88 - dw .data_8dd8b - dw .data_8dd98 - dw .data_8dd9b - dw .data_8dd9e - dw .data_8dda1 - dw .data_8dda4 - dw .data_8dda7 - dw .data_8ddb4 - -.data_8dc6e ; 8dc6e - db $00,$20 - db $ff - -.data_8dc71 ; 8dc71 - db $00,$08, $01,$08 - db $fe - -.data_8dc76 ; 8dc76 - db $3d,$08, $3e,$08 - db $fe - -.data_8dc7b ; 8dc7b - db $3f,$08, $40,$08 - db $fe - -.data_8dc80 ; 8dc80 - db $00,$08, $01,$08, $00,$08, $01,$48 - db $fe - -.data_8dc89 ; 8dc89 - db $02,$08, $03,$08 - db $fe - -.data_8dc8e ; 8dc8e - db $04,$08, $05,$08 - db $fe - -.data_8dc93 ; 8dc93 - db $06,$41, $07,$41 - db $fe - -.data_8dc98 ; 8dc98 - db $08,$47 - db $ff - -.data_8dc9b ; 8dc9b - db $09,$07, $0a,$07, $0b,$07, $09,$07 - db $fe - -.data_8dca4 ; 8dca4 - db $0c,$08 - db $ff - -.data_8dca7 ; 8dca7 - db $0d,$08 - db $ff - -.data_8dcaa ; 8dcaa - db $0e,$59, $10,$09, $0e,$19, $10,$09 - db $fe - -.data_8dcb3 ; 8dcb3 - db $0f,$20 - db $ff - -.data_8dcb6 ; 8dcb6 - db $11,$04, $12,$05, $14,$04 - db $fe - -.data_8dcbd ; 8dcbd - db $12,$08 - db $ff - -.data_8dcc0 ; 8dcc0 - db $13,$20 - db $ff - -.data_8dcc3 ; 8dcc3 - db $15,$03, $16,$03, $17,$03, $16,$03 - db $fe - -.data_8dccc ; 8dccc - db $15,$1f - db $ff - -.data_8dccf ; 8dccf - db $18,$01, $19,$01, $1a,$01 - db $fc - -.data_8dcd6 ; 8dcd6 - db $1b,$18 - db $fc - -.data_8dcd9 ; 8dcd9 - db $1c,$58 - db $fc - -.data_8dcdc ; 8dcdc - db $1d,$18 - db $fc - -.data_8dcdf ; 8dcdf - db $1e,$01, $1f,$01 - db $fe - -.data_8dce4 ; 8dce4 - db $12,$00, $13,$0f, $14,$0f - db $ff - -.data_8dceb ; 8dceb - db $20,$01, $fd,$01 - db $fe - -.data_8dcf0 ; 8dcf0 - db $21,$01, $fd,$01 - db $fe - -.data_8dcf5 ; 8dcf5 - db $22,$08 - db $ff - -.data_8dcf8 ; 8dcf8 - db $23,$03, $23,$83 - db $fe - -.data_8dcfd ; 8dcfd - db $24,$02, $25,$02, $26,$02, $25,$02 - db $fe - -.data_8dd06 ; 8dd06 - db $27,$07, $28,$07, $27,$87, $28,$47 - db $fe - -.data_8dd0f ; 8dd0f - db $29,$07, $2a,$07, $29,$07, $2b,$07 - db $fe - -.data_8dd18 ; 8dd18 - db $29,$07, $2c,$07, $2d,$07, $2c,$07, $29,$07 - db $ff - -.data_8dd23 ; 8dd23 - db $2e,$14 - db $ff - -.data_8dd26 ; 8dd26 - db $2f,$20 - db $ff - -.data_8dd29 ; 8dd29 - db $30,$20 - db $ff - -.data_8dd2c ; 8dd2c - db $30,$03, $31,$03, $30,$03, $31,$43 - db $fe - -.data_8dd35 ; 8dd35 - db $32,$04, $33,$04, $34,$04 - db $fc - -.data_8dd3c ; 8dd3c - db $35,$03, $36,$03 - db $fe - -.data_8dd41 ; 8dd41 - db $37,$07, $38,$07 - db $fe - -.data_8dd46 ; 8dd46 - db $39,$20 - db $ff - -.data_8dd49 ; 8dd49 - db $3b,$02, $3a,$02, $3b,$02 - db $ff - -.data_8dd50 ; 8dd50 - db $3c,$20 - db $ff - -.data_8dd53 ; 8dd53 - db $41,$08, $42,$08, $41,$08, $42,$48 - db $fe - -; --- BEGIN UNUSED BLOCK --- -.data_8dd5c ; 8dd5c - db $43,$08, $44,$08 - db $fe - -.data_8dd61 ; 8dd61 - db $45,$08, $46,$08 - db $fe - -.data_8dd66 ; 8dd66 - db $47,$08, $48,$08 - db $fe - -.data_8dd6b ; 8dd6b - db $49,$01, $49,$41, $49,$c1, $49,$81 - db $fe - -.data_8dd74 ; 8dd74 - db $4a,$20 - db $ff - -.data_8dd77 ; 8dd77 - db $4b,$20 - db $ff - -.data_8dd7a ; 8dd7a - db $4c,$20 - db $ff - -.data_8dd7d ; 8dd7d - db $4d,$20 - db $ff - -.data_8dd80 ; 8dd80 - db $4e,$03, $fd,$03 - db $fe -; --- END UNUSED BLOCK ;;; - -.data_8dd85 ; 8dd85 - db $fd,$20 - db $ff - -.data_8dd88 ; 8dd88 - db $4f,$20 - db $ff - -.data_8dd8b ; 8dd8b - db $50,$02, $51,$10, $fd,$01, $52,$01, $fd,$01, $53,$01 - db $fc - -.data_8dd98 ; 8dd98 - db $54,$20 - db $ff - -.data_8dd9b ; 8dd9b - db $55,$20 - db $ff - -.data_8dd9e ; 8dd9e - db $55,$60 - db $ff - -.data_8dda1 ; 8dda1 - db $55,$a0 - db $ff - -.data_8dda4 ; 8dda4 - db $55,$e0 - db $ff - -.data_8dda7 ; 8dda7 - db $56,$0a, $57,$09, $58,$0a, $59,$0a, $58,$09, $5a,$0a - db $fe - -.data_8ddb4 ; 8ddb4 - db $50,$02, $5b,$02, $50,$02, $5b,$42 - db $fe - -AnimatedObjectOAMData: ; 8ddbc - dbw $00, .data_8e16a - dbw $04, .data_8e16a - dbw $4c, .data_8ded1 - dbw $5c, .data_8ded1 - dbw $6c, .data_8ded6 - dbw $6e, .data_8ded6 - dbw $2d, .data_8e1d0 - dbw $4d, .data_8e1d0 - dbw $60, .data_8e1e9 - dbw $00, .data_8e212 - dbw $00, .data_8e27f - dbw $06, .data_8e2ec - dbw $0c, .data_8e361 - dbw $0d, .data_8ded1 - dbw $00, .data_8e033 - dbw $04, .data_8e033 - dbw $08, .data_8e033 - dbw $40, .data_8e033 - dbw $44, .data_8e033 - dbw $48, .data_8e033 - dbw $4c, .data_8e033 - dbw $80, .data_8e36a - dbw $85, .data_8e36a - dbw $8a, .data_8e36a - dbw $00, .data_8df09 - dbw $01, .data_8df3c - dbw $09, .data_8df7d - dbw $10, .data_8e074 - dbw $29, .data_8e074 - dbw $42, .data_8e074 - dbw $f8, .data_8e661 - dbw $fa, .data_8e661 - dbw $00, .data_8e395 - dbw $00, .data_8e3a6 - dbw $00, .data_8e3cf - dbw $0f, .data_8dee7 - dbw $11, .data_8ded1 - dbw $12, .data_8ded1 - dbw $13, .data_8ded1 - dbw $00, .data_8e40c - dbw $08, .data_8e40c - dbw $10, .data_8e425 - dbw $10, .data_8e43e - dbw $10, .data_8e457 - dbw $10, .data_8e470 - dbw $10, .data_8e489 - dbw $3a, .data_8ded1 - dbw $00, .data_8e16a - dbw $00, .data_8def8 - dbw $02, .data_8e17b - dbw $06, .data_8df3c - dbw $0a, .data_8df3c - dbw $0e, .data_8df3c - dbw $12, .data_8df1a - dbw $13, .data_8df1a - dbw $00, .data_8e16a - dbw $04, .data_8e16a - dbw $10, .data_8df3c - dbw $00, .data_8e17b - dbw $04, .data_8ded1 - dbw $00, .data_8e4a2 - dbw $00, .data_8e18c - dbw $00, .data_8e19d - dbw $00, .data_8e1ae - dbw $00, .data_8e1bf - dbw $00, .data_8e17b - dbw $04, .data_8e17b - dbw $00, .data_8e00e - dbw $30, .data_8e00e - dbw $03, .data_8e00e - dbw $33, .data_8e00e - dbw $06, .data_8e00e - dbw $36, .data_8e00e - dbw $09, .data_8e00e - dbw $39, .data_8e00e - dbw $0c, .data_8e4af - dbw $0c, .data_8e4c8 - dbw $3c, .data_8ded1 - dbw $3e, .data_8ded1 - dbw $00, .data_8e37f - dbw $00, .data_8e384 - dbw $00, .data_8e4d9 - dbw $00, .data_8e4ea - dbw $00, .data_8e4fb - dbw $00, .data_8ded1 - dbw $01, .data_8ded1 - dbw $00, .data_8e50c - dbw $00, .data_8e559 - dbw $00, .data_8e59a - dbw $00, .data_8e5d7 - dbw $00, .data_8e61c - dbw $04, .data_8e384 - -; 23:5ed1 -.data_8ded1 ; 8ded1 - db $01 - db $fc, $fc, $00, $00 - -.data_8ded6 ; 8ded6 - db $04 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $10, $00 - db $00, $00, $11, $00 - -.data_8dee7 ; 8dee7 - db $04 - db $f8, $f8, $00, $00 - db $f8, $00, $00, $20 - db $00, $f8, $01, $00 - db $00, $00, $01, $20 - -.data_8def8 ; 8def8 - db $04 - db $f8, $f8, $00, $80 - db $f8, $00, $00, $a0 - db $00, $f8, $01, $80 - db $00, $00, $01, $a0 - -.data_8df09 ; 8df09 - db $04 - db $f8, $f8, $00, $00 - db $f8, $00, $00, $20 - db $00, $f8, $00, $40 - db $00, $00, $00, $60 - -.data_8df1a ; 8df1a - db $04 - db $f8, $f8, $00, $07 - db $f8, $00, $00, $27 - db $00, $f8, $00, $47 - db $00, $00, $00, $67 - -.data_8df2b ; 8df2b - db $04 - db $f8, $f8, $00, $80 - db $f8, $00, $00, $a0 - db $00, $f8, $00, $c0 - db $00, $00, $00, $e0 - -.data_8df3c ; 8df3c - db $10 - db $f0, $f0, $00, $00 - db $f0, $f8, $01, $00 - db $f8, $f0, $02, $00 - db $f8, $f8, $03, $00 - db $f0, $00, $01, $20 - db $f0, $08, $00, $20 - db $f8, $00, $03, $20 - db $f8, $08, $02, $20 - db $00, $f0, $02, $40 - db $00, $f8, $03, $40 - db $08, $f0, $00, $40 - db $08, $f8, $01, $40 - db $00, $00, $03, $60 - db $00, $08, $02, $60 - db $08, $00, $01, $60 - db $08, $08, $00, $60 - -.data_8df7d ; 8df7d - db $24 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $f0, $e8, $03, $00 - db $f0, $f0, $04, $00 - db $f0, $f8, $05, $00 - db $f8, $e8, $06, $00 - db $f8, $f0, $05, $00 - db $f8, $f8, $05, $00 - db $e8, $00, $02, $20 - db $e8, $08, $01, $20 - db $e8, $10, $00, $20 - db $f0, $00, $05, $20 - db $f0, $08, $04, $20 - db $f0, $10, $03, $20 - db $f8, $00, $05, $20 - db $f8, $08, $05, $20 - db $f8, $10, $06, $20 - db $00, $e8, $06, $40 - db $00, $f0, $05, $40 - db $00, $f8, $05, $40 - db $08, $e8, $03, $40 - db $08, $f0, $04, $40 - db $08, $f8, $05, $40 - db $10, $e8, $00, $40 - db $10, $f0, $01, $40 - db $10, $f8, $02, $40 - db $00, $00, $05, $60 - db $00, $08, $05, $60 - db $00, $10, $06, $60 - db $08, $00, $05, $60 - db $08, $08, $04, $60 - db $08, $10, $03, $60 - db $10, $00, $02, $60 - db $10, $08, $01, $60 - db $10, $10, $00, $60 - -.data_8e00e ; 8e00e - db $09 - db $f4, $f4, $00, $00 - db $f4, $fc, $01, $00 - db $f4, $04, $02, $00 - db $fc, $f4, $10, $00 - db $fc, $fc, $11, $00 - db $fc, $04, $12, $00 - db $04, $f4, $20, $00 - db $04, $fc, $21, $00 - db $04, $04, $22, $00 - -.data_8e033 ; 8e033 - db $10 - db $f0, $f0, $00, $00 - db $f0, $f8, $01, $00 - db $f0, $00, $02, $00 - db $f0, $08, $03, $00 - db $f8, $f0, $10, $00 - db $f8, $f8, $11, $00 - db $f8, $00, $12, $00 - db $f8, $08, $13, $00 - db $00, $f0, $20, $00 - db $00, $f8, $21, $00 - db $00, $00, $22, $00 - db $00, $08, $23, $00 - db $08, $f0, $30, $00 - db $08, $f8, $31, $00 - db $08, $00, $32, $00 - db $08, $08, $33, $00 - -.data_8e074 ; 8e074 - db $19 - db $ec, $ec, $00, $00 - db $f4, $ec, $01, $00 - db $fc, $ec, $02, $00 - db $04, $ec, $03, $00 - db $0c, $ec, $04, $00 - db $ec, $f4, $05, $00 - db $f4, $f4, $06, $00 - db $fc, $f4, $07, $00 - db $04, $f4, $08, $00 - db $0c, $f4, $09, $00 - db $ec, $fc, $0a, $00 - db $f4, $fc, $0b, $00 - db $fc, $fc, $0c, $00 - db $04, $fc, $0d, $00 - db $0c, $fc, $0e, $00 - db $ec, $04, $0f, $00 - db $f4, $04, $10, $00 - db $fc, $04, $11, $00 - db $04, $04, $12, $00 - db $0c, $04, $13, $00 - db $ec, $0c, $14, $00 - db $f4, $0c, $15, $00 - db $fc, $0c, $16, $00 - db $04, $0c, $17, $00 - db $0c, $0c, $18, $00 - -.data_8e0d9 ; unreferenced - db $24 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $e8, $00, $03, $00 - db $e8, $08, $04, $00 - db $e8, $10, $05, $00 - db $f0, $e8, $06, $00 - db $f0, $f0, $07, $00 - db $f0, $f8, $08, $00 - db $f0, $00, $09, $00 - db $f0, $08, $0a, $00 - db $f0, $10, $0b, $00 - db $f8, $e8, $0c, $00 - db $f8, $f0, $0d, $00 - db $f8, $f8, $0e, $00 - db $f8, $00, $0f, $00 - db $f8, $08, $10, $00 - db $f8, $10, $11, $00 - db $00, $e8, $12, $00 - db $00, $f0, $13, $00 - db $00, $f8, $14, $00 - db $00, $00, $15, $00 - db $00, $08, $16, $00 - db $00, $10, $17, $00 - db $08, $e8, $18, $00 - db $08, $f0, $19, $00 - db $08, $f8, $1a, $00 - db $08, $00, $1b, $00 - db $08, $08, $1c, $00 - db $08, $10, $1d, $00 - db $10, $e8, $1e, $00 - db $10, $f0, $1f, $00 - db $10, $f8, $20, $00 - db $10, $00, $21, $00 - db $10, $08, $22, $00 - db $10, $10, $23, $00 - -.data_8e16a ; 8e16a - db $04 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $02, $00 - db $00, $00, $03, $00 - -.data_8e17b ; 8e17b - db $04 - db $f8, $f8, $00, $80 - db $f8, $00, $01, $80 - db $00, $f8, $02, $80 - db $00, $00, $03, $80 - -.data_8e18c ; 8e18c - db $04 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $08, $00 - db $00, $00, $03, $00 - -.data_8e19d ; 8e19d - db $04 - db $f8, $f8, $04, $00 - db $f8, $00, $05, $00 - db $00, $f8, $08, $00 - db $00, $00, $07, $00 - -.data_8e1ae ; 8e1ae - db $04 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $09, $00 - db $00, $00, $03, $00 - -.data_8e1bf ; 8e1bf - db $04 - db $f8, $f8, $04, $00 - db $f8, $00, $05, $00 - db $00, $f8, $09, $00 - db $00, $00, $07, $00 - -.data_8e1d0 ; 8e1d0 - db $06 - db $f8, $f4, $00, $01 - db $f8, $fc, $01, $01 - db $f8, $04, $02, $01 - db $00, $f4, $10, $01 - db $00, $fc, $11, $01 - db $00, $04, $12, $01 - -.data_8e1e9 ; 8e1e9 - db $0a - db $f4, $f0, $00, $00 - db $f4, $f8, $01, $00 - db $f4, $00, $02, $00 - db $f4, $08, $03, $00 - db $fc, $f0, $04, $00 - db $fc, $f8, $05, $00 - db $fc, $00, $06, $00 - db $04, $f0, $08, $00 - db $04, $f8, $09, $00 - db $04, $00, $0a, $00 - -.data_8e212 ; 8e212 - db $1b - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $f0, $e8, $10, $00 - db $f0, $f0, $11, $00 - db $f0, $f8, $12, $00 - db $f8, $e8, $20, $00 - db $f8, $f0, $21, $00 - db $f8, $f8, $22, $00 - db $f8, $00, $23, $00 - db $00, $e8, $30, $80 - db $00, $f0, $31, $80 - db $00, $f8, $32, $80 - db $00, $00, $33, $80 - db $00, $08, $34, $80 - db $08, $e8, $40, $80 - db $08, $f0, $41, $80 - db $08, $f8, $42, $80 - db $08, $00, $43, $80 - db $08, $08, $44, $80 - db $08, $10, $45, $80 - db $10, $e8, $50, $80 - db $10, $f0, $51, $80 - db $10, $f8, $52, $80 - db $10, $00, $53, $80 - db $10, $08, $54, $80 - db $10, $10, $55, $80 - -.data_8e27f ; 8e27f - db $1b - db $e8, $e8, $0d, $00 - db $e8, $f0, $0e, $00 - db $e8, $f8, $0f, $00 - db $f0, $e8, $1d, $00 - db $f0, $f0, $1e, $00 - db $f0, $f8, $1f, $00 - db $f8, $e8, $20, $00 - db $f8, $f0, $21, $00 - db $f8, $f8, $22, $00 - db $f8, $00, $23, $00 - db $00, $e8, $30, $80 - db $00, $f0, $31, $80 - db $00, $f8, $32, $80 - db $00, $00, $33, $80 - db $00, $08, $34, $80 - db $08, $e8, $40, $80 - db $08, $f0, $41, $80 - db $08, $f8, $42, $80 - db $08, $00, $43, $80 - db $08, $08, $44, $80 - db $08, $10, $45, $80 - db $10, $e8, $50, $80 - db $10, $f0, $51, $80 - db $10, $f8, $52, $80 - db $10, $00, $53, $80 - db $10, $08, $54, $80 - db $10, $10, $55, $80 - -.data_8e2ec ; 8e2ec - db $1d - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $e8, $00, $03, $00 - db $f0, $e8, $10, $00 - db $f0, $f0, $11, $00 - db $f0, $f8, $12, $00 - db $f0, $00, $13, $00 - db $f8, $e8, $20, $00 - db $f8, $f0, $21, $00 - db $f8, $f8, $22, $00 - db $f8, $00, $23, $00 - db $f8, $08, $24, $00 - db $00, $e8, $30, $80 - db $00, $f0, $31, $80 - db $00, $f8, $32, $80 - db $00, $00, $33, $80 - db $00, $08, $34, $80 - db $08, $e8, $40, $80 - db $08, $f0, $41, $80 - db $08, $f8, $42, $80 - db $08, $00, $43, $80 - db $08, $08, $44, $80 - db $08, $10, $45, $80 - db $10, $f0, $51, $80 - db $10, $f8, $52, $80 - db $10, $00, $53, $80 - db $10, $08, $54, $80 - db $10, $10, $55, $80 - -.data_8e361 ; 8e361 - db $02 - db $f8, $fc, $00, $00 - db $00, $fc, $10, $00 - -.data_8e36a ; 8e36a - db $05 - db $f0, $18, $00, $00 - db $f0, $20, $01, $00 - db $f8, $10, $02, $00 - db $f8, $18, $03, $00 - db $00, $10, $04, $00 - -.data_8e37f ; 8e37f - db $01 - db $fc, $fc, $00, $06 - -.data_8e384 ; 8e384 - db $04 - db $f8, $f8, $00, $06 - db $f8, $00, $01, $06 - db $00, $f8, $02, $06 - db $00, $00, $03, $06 - -.data_8e395 ; 8e395 - db $04 - db $ff, $ff, $00, $00 - db $ff, $00, $00, $20 - db $00, $ff, $00, $40 - db $00, $00, $00, $60 - -.data_8e3a6 ; 8e3a6 - db $0a - db $ff, $00, $00, $00 - db $ff, $08, $01, $00 - db $ff, $10, $01, $00 - db $ff, $18, $01, $00 - db $ff, $20, $00, $20 - db $00, $00, $00, $40 - db $00, $08, $01, $40 - db $00, $10, $01, $40 - db $00, $18, $01, $40 - db $00, $20, $00, $60 - -.data_8e3cf ; 8e3cf - db $0f - db $ec, $f4, $00, $11 - db $ec, $fc, $01, $11 - db $ec, $04, $02, $11 - db $f4, $f4, $03, $11 - db $f4, $fc, $04, $11 - db $f4, $04, $05, $11 - db $fc, $f4, $06, $11 - db $fc, $fc, $07, $11 - db $fc, $04, $08, $11 - db $04, $f4, $09, $11 - db $04, $fc, $0a, $11 - db $04, $04, $0b, $11 - db $0c, $f4, $0c, $11 - db $0c, $fc, $0d, $11 - db $0c, $04, $0e, $11 - -.data_8e40c ; 8e40c - db $06 - db $f4, $f4, $00, $15 - db $f4, $fc, $02, $15 - db $f4, $04, $00, $35 - db $04, $f4, $04, $15 - db $04, $fc, $06, $15 - db $04, $04, $04, $35 - -.data_8e425 ; 8e425 - db $06 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $06, $16 - db $04, $fc, $08, $16 - db $04, $04, $0a, $16 - -.data_8e43e ; 8e43e - db $06 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $0c, $16 - db $04, $fc, $0e, $16 - db $04, $04, $10, $16 - -.data_8e457 ; 8e457 - db $06 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $12, $16 - db $04, $fc, $14, $16 - db $04, $04, $16, $16 - -.data_8e470 ; 8e470 - db $06 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $18, $16 - db $04, $fc, $1a, $16 - db $04, $04, $1c, $16 - -.data_8e489 ; 8e489 - db $06 - db $f4, $f4, $1e, $16 - db $f4, $fc, $20, $16 - db $f4, $04, $22, $16 - db $04, $f4, $24, $16 - db $04, $fc, $26, $16 - db $04, $04, $28, $16 - -.data_8e4a2 ; 8e4a2 - db $03 - db $f4, $fc, $00, $10 - db $fc, $fc, $00, $10 - db $04, $fc, $00, $10 - -.data_8e4af ; 8e4af - db $06 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $00, $10, $01, $00 - db $00, $18, $01, $00 - db $00, $20, $02, $00 - db $00, $28, $03, $00 - -.data_8e4c8 ; 8e4c8 - db $04 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $00, $10, $02, $00 - db $00, $18, $03, $00 - -.data_8e4d9 ; 8e4d9 - db $04 - db $f8, $f6, $00, $06 - db $f8, $02, $01, $06 - db $00, $f6, $02, $06 - db $00, $02, $03, $06 - -.data_8e4ea ; 8e4ea - db $04 - db $f8, $f4, $00, $06 - db $f8, $04, $01, $06 - db $00, $f4, $02, $06 - db $00, $04, $03, $06 - -.data_8e4fb ; 8e4fb - db $04 - db $f8, $f0, $00, $06 - db $f8, $08, $01, $06 - db $00, $f0, $02, $06 - db $00, $08, $03, $06 - -.data_8e50c ; 8e50c - db $13 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $e8, $f0, $06, $00 - db $f8, $f0, $08, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $0c, $00 - db $f8, $f8, $0e, $00 - db $08, $f8, $10, $00 - db $e8, $00, $12, $00 - db $f8, $00, $14, $00 - db $08, $00, $16, $00 - db $e8, $08, $18, $00 - db $f8, $08, $1a, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 - -.data_8e559 ; 8e559 - db $10 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $26, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $28, $00 - db $f8, $f8, $2a, $00 - db $08, $f8, $10, $00 - db $f8, $00, $2c, $00 - db $08, $00, $16, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 - -.data_8e59a ; 8e59a - db $0f - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $32, $00 - db $f8, $f0, $34, $00 - db $08, $f0, $36, $00 - db $f8, $f8, $38, $00 - db $08, $f8, $3a, $00 - db $f8, $00, $3c, $00 - db $08, $00, $3e, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 - -.data_8e5d7 ; 8e5d7 - db $11 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $40, $00 - db $08, $f0, $42, $00 - db $18, $f0, $44, $00 - db $f8, $f8, $46, $00 - db $08, $f8, $48, $00 - db $18, $f8, $4a, $00 - db $f8, $00, $4c, $00 - db $08, $00, $4e, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 - -.data_8e61c ; 8e61c - db $11 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $50, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $52, $00 - db $f8, $f8, $54, $00 - db $08, $f8, $10, $00 - db $e8, $00, $56, $00 - db $f8, $00, $2e, $00 - db $08, $00, $16, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 - -.data_8e661 ; 8e661 - db $01 - db $fc, $fc, $00, $11 - -BrokenStdGFXPointers: ; 23:6666 - dbbw $80, $01, .deleted - dbbw $80, $01, .deleted - dbbw $80, $01, .deleted - dbbw $80, $01, .deleted - dbbw $10, $37, .deleted - dbbw $10, $11, .deleted - dbbw $10, $39, .deleted - dbbw $10, $24, .deleted - dbbw $10, $21, .deleted -.deleted +SpriteAnimFrameData: + dw .Frameset_00 + dw .Frameset_PartyMon + dw .Frameset_PartyMonWithMail + dw .Frameset_PartyMonWithItem + dw .Frameset_GSIntroBubble + dw .Frameset_GSIntroShellder + dw .Frameset_GSIntroMagikarp + dw .Frameset_GSIntroLapras + dw .Frameset_GSIntroLapras2 + dw .Frameset_GSIntroNote + dw .Frameset_GSIntroInvisibleNote + dw .Frameset_GSIntroJigglypuff + dw .Frameset_GSIntroJigglypuff2 + dw .Frameset_GSIntroPikachu + dw .Frameset_GSIntroPikachu2 + dw .Frameset_GSIntroPikachu3 + dw .Frameset_GSIntroPikachuTail + dw .Frameset_GSIntroPikachuTail2 + dw .Frameset_GSIntroFireball + dw .Frameset_GSIntroChikorita + dw .Frameset_GSIntroCyndaquil + dw .Frameset_GSIntroTotodile + dw .Frameset_GSTitleTrail + dw .Frameset_GSIntroPikachu + dw .Frameset_GSIntroPikachu2 + dw .Frameset_GSIntroPikachu4 + dw .Frameset_TextEntryCursor + dw .Frameset_TextEntryCursorBig + dw .Frameset_GameFreakLogo + dw .Frameset_GSIntroStar + dw .Frameset_GSIntroSparkle + dw .Frameset_SlotsGolem + dw .Frameset_SlotsChansey + dw .Frameset_SlotsChansey2 + dw .Frameset_SlotsEgg + dw .Frameset_RedWalk + dw .Frameset_StillCursor + dw .Frameset_TradePokeBall + dw .Frameset_TradePokeBallWobble + dw .Frameset_TradePoof + dw .Frameset_TradeTubeBulge + dw .Frameset_TrademonIcon + dw .Frameset_TrademonBubble + dw .Frameset_EvolutionBallOfLight + dw .Frameset_RadioTuningKnob + dw .Frameset_MagnetTrainRed + dw .Frameset_Unused1C + dw .Frameset_Leaf + dw .Frameset_CutTree + dw .Frameset_EggCrack + dw .Frameset_EggHatch + dw .Frameset_EggHatch2 + dw .Frameset_EggHatch3 + dw .Frameset_EggHatch4 + dw .Frameset_GSIntroHoOhLugia + dw .Frameset_HeadbuttTree + +.Frameset_00: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32 + endanim + +.Frameset_PartyMon: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 + dorestart + +.Frameset_PartyMonWithMail: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8 + dorestart + +.Frameset_PartyMonWithItem: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8 + dorestart + +.Frameset_RedWalk: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP + dorestart + +.Frameset_GSIntroBubble: + frame SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1, 8 + frame SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2, 8 + dorestart + +.Frameset_GSIntroShellder: + frame SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1, 8 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2, 8 + dorestart + +.Frameset_GSIntroMagikarp: + frame SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1, $41 + frame SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2, $41 + dorestart + +.Frameset_GSIntroLapras: + frame SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1, $47 + endanim + +.Frameset_GSIntroLapras2: + frame SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_4, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2, 7 + dorestart + +.Frameset_GSIntroNote: + frame SPRITE_ANIM_OAMSET_GS_INTRO_NOTE, 8 + endanim + +.Frameset_GSIntroInvisibleNote: + frame SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE, 8 + endanim + +.Frameset_GSIntroJigglypuff: + frame SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1, $59 + frame SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3, 9 + frame SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1, $19 + frame SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3, 9 + dorestart + +.Frameset_GSIntroJigglypuff2: + frame SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2, 32 + endanim + +.Frameset_GSIntroPikachu: + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1, 4 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2, 5 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4, 4 + dorestart + +.Frameset_GSIntroPikachu2: + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2, 8 + endanim + +.Frameset_GSIntroPikachu3: + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3, 32 + endanim + +.Frameset_GSIntroPikachuTail: + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2, 3 + dorestart + +.Frameset_GSIntroPikachuTail2: + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1, $1f + endanim + +.Frameset_GSIntroFireball: + frame SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL, 1 + frame SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL, 1 + frame SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL, 1 + delanim + +.Frameset_GSIntroChikorita: + frame SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA, $18 + delanim + +.Frameset_GSIntroCyndaquil: + frame SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL, $58 + delanim + +.Frameset_GSIntroTotodile: + frame SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE, $18 + delanim + +.Frameset_GSTitleTrail: +IF DEF(_GOLD) + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1 + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1 + dorestart +ELIF DEF(_SILVER) + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 32 + endanim +ENDC + +.Frameset_GSIntroPikachu4: + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2, 0 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3, 15 + frame SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4, 15 + endanim + +.Frameset_TextEntryCursor: + frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1 + dowait 1 + dorestart + +.Frameset_TextEntryCursorBig: + frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG, 1 + dowait 1 + dorestart + +.Frameset_GameFreakLogo: + frame SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO, 8 + endanim + +.Frameset_GSIntroStar: + frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP + dorestart + +.Frameset_GSIntroSparkle: + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 + dorestart + +.Frameset_SlotsGolem: + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP + dorestart + +.Frameset_SlotsChansey: + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7 + dorestart + +.Frameset_SlotsChansey2: + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + endanim + +.Frameset_SlotsEgg: + frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20 + endanim + +.Frameset_StillCursor: + frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32 + endanim + +.Frameset_TradePokeBall: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32 + endanim + +.Frameset_TradePokeBallWobble: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + dorestart + +.Frameset_TradePoof: + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4 + delanim + +.Frameset_TradeTubeBulge: + frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2, 3 + dorestart + +.Frameset_TrademonIcon: + frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7 + frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7 + dorestart + +.Frameset_TrademonBubble: + frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32 + endanim + +.Frameset_EvolutionBallOfLight: + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2 + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 + endanim + +.Frameset_RadioTuningKnob: + frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32 + endanim + +.Frameset_MagnetTrainRed: + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP + dorestart + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_43, 8 + frame SPRITE_ANIM_OAMSET_UNUSED_44, 8 + dorestart + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_45, 8 + frame SPRITE_ANIM_OAMSET_UNUSED_46, 8 + dorestart + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_47, 8 + frame SPRITE_ANIM_OAMSET_UNUSED_48, 8 + dorestart + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_49, 1 + frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_Y_FLIP + dorestart + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_4A, 32 + endanim + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_4B, 32 + endanim + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_4C, 32 + endanim + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_4D, 32 + endanim + +; unused + frame SPRITE_ANIM_OAMSET_UNUSED_4E, 3 + dowait 3 + dorestart + +.Frameset_Unused1C: + dowait 32 + endanim + +.Frameset_Leaf: + frame SPRITE_ANIM_OAMSET_LEAF, 32 + endanim + +.Frameset_CutTree: + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16 + dowait 1 + frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1 + dowait 1 + frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1 + delanim + +.Frameset_EggCrack: + frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32 + endanim + +.Frameset_EggHatch: + frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32 + endanim + +.Frameset_EggHatch2: + frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP + endanim + +.Frameset_EggHatch3: + frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_Y_FLIP + endanim + +.Frameset_EggHatch4: + frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP, OAM_Y_FLIP + endanim + +.Frameset_GSIntroHoOhLugia: +IF DEF(_GOLD) + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1, 10 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2, 9 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 10 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4, 10 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 9 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5, 10 + dorestart + +ELIF DEF(_SILVER) + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 7 + frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2, 3 + dorestart +ENDC + +.Frameset_HeadbuttTree: + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2 + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP + dorestart diff --git a/data/sprite_anims/oam.asm b/data/sprite_anims/oam.asm new file mode 100755 index 00000000..62e1af7b --- /dev/null +++ b/data/sprite_anims/oam.asm @@ -0,0 +1,721 @@ +SpriteAnimOAMData: +IF DEF(_GOLD) +; entries correspond to SPRITE_ANIM_OAMSET_* constants + ; vtile offset, data pointer + dbw $00, .data_8e16a + dbw $04, .data_8e16a + dbw $4c, .data_8ded1 + dbw $5c, .data_8ded1 + dbw $6c, .data_8ded6 + dbw $6e, .data_8ded6 + dbw $2d, .data_8e1d0 + dbw $4d, .data_8e1d0 + dbw $60, .data_8e1e9 + dbw $00, .data_8e212 + dbw $00, .data_8e27f + dbw $06, .data_8e2ec + dbw $0c, .data_8e361 + dbw $0d, .data_8ded1 + dbw $00, .data_8e033 + dbw $04, .data_8e033 + dbw $08, .data_8e033 + dbw $40, .data_8e033 + dbw $44, .data_8e033 + dbw $48, .data_8e033 + dbw $4c, .data_8e033 + dbw $80, .data_8e36a + dbw $85, .data_8e36a + dbw $8a, .data_8e36a + dbw $00, .data_8df09 + dbw $01, .data_8df3c + dbw $09, .data_8df7d + dbw $10, .data_8e074 + dbw $29, .data_8e074 + dbw $42, .data_8e074 + dbw $f8, .data_8e661 + dbw $fa, .data_8e661 + dbw $00, .data_8e395 + dbw $00, .data_8e3a6 + dbw $00, .data_8e3cf + dbw $0f, .data_8dee7 + dbw $11, .data_8ded1 + dbw $12, .data_8ded1 + dbw $13, .data_8ded1 + dbw $00, .data_8e40c + dbw $08, .data_8e40c + dbw $10, .data_8e425 + dbw $10, .data_8e43e + dbw $10, .data_8e457 + dbw $10, .data_8e470 + dbw $10, .data_8e489 + dbw $3a, .data_8ded1 + dbw $00, .data_8e16a + dbw $00, .data_8def8 + dbw $02, .data_8e17b + dbw $06, .data_8df3c + dbw $0a, .data_8df3c + dbw $0e, .data_8df3c + dbw $12, .data_8df1a + dbw $13, .data_8df1a + dbw $00, .data_8e16a + dbw $04, .data_8e16a + dbw $10, .data_8df3c + dbw $00, .data_8e17b + dbw $04, .data_8ded1 + dbw $00, .data_8e4a2 + dbw $00, .data_8e18c + dbw $00, .data_8e19d + dbw $00, .data_8e1ae + dbw $00, .data_8e1bf + dbw $00, .data_8e17b + dbw $04, .data_8e17b + dbw $00, .data_8e00e + dbw $30, .data_8e00e + dbw $03, .data_8e00e + dbw $33, .data_8e00e + dbw $06, .data_8e00e + dbw $36, .data_8e00e + dbw $09, .data_8e00e + dbw $39, .data_8e00e + dbw $0c, .data_8e4af + dbw $0c, .data_8e4c8 + dbw $3c, .data_8ded1 + dbw $3e, .data_8ded1 + dbw $00, .data_8e37f + dbw $00, .data_8e384 + dbw $00, .data_8e4d9 + dbw $00, .data_8e4ea + dbw $00, .data_8e4fb + dbw $00, .data_8ded1 + dbw $01, .data_8ded1 + dbw $00, .data_8e50c + dbw $00, .data_8e559 + dbw $00, .data_8e59a + dbw $00, .data_8e5d7 + dbw $00, .data_8e61c + dbw $04, .data_8e384 + +; 23:5ed1 +.data_8ded1 ; 8ded1 + db $01 + db $fc, $fc, $00, $00 + +.data_8ded6 ; 8ded6 + db $04 + db $f8, $f8, $00, $00 + db $f8, $00, $01, $00 + db $00, $f8, $10, $00 + db $00, $00, $11, $00 + +.data_8dee7 ; 8dee7 + db $04 + db $f8, $f8, $00, $00 + db $f8, $00, $00, $20 + db $00, $f8, $01, $00 + db $00, $00, $01, $20 + +.data_8def8 ; 8def8 + db $04 + db $f8, $f8, $00, $80 + db $f8, $00, $00, $a0 + db $00, $f8, $01, $80 + db $00, $00, $01, $a0 + +.data_8df09 ; 8df09 + db $04 + db $f8, $f8, $00, $00 + db $f8, $00, $00, $20 + db $00, $f8, $00, $40 + db $00, $00, $00, $60 + +.data_8df1a ; 8df1a + db $04 + db $f8, $f8, $00, $07 + db $f8, $00, $00, $27 + db $00, $f8, $00, $47 + db $00, $00, $00, $67 + +.data_8df2b ; 8df2b + db $04 + db $f8, $f8, $00, $80 + db $f8, $00, $00, $a0 + db $00, $f8, $00, $c0 + db $00, $00, $00, $e0 + +.data_8df3c ; 8df3c + db $10 + db $f0, $f0, $00, $00 + db $f0, $f8, $01, $00 + db $f8, $f0, $02, $00 + db $f8, $f8, $03, $00 + db $f0, $00, $01, $20 + db $f0, $08, $00, $20 + db $f8, $00, $03, $20 + db $f8, $08, $02, $20 + db $00, $f0, $02, $40 + db $00, $f8, $03, $40 + db $08, $f0, $00, $40 + db $08, $f8, $01, $40 + db $00, $00, $03, $60 + db $00, $08, $02, $60 + db $08, $00, $01, $60 + db $08, $08, $00, $60 + +.data_8df7d ; 8df7d + db $24 + db $e8, $e8, $00, $00 + db $e8, $f0, $01, $00 + db $e8, $f8, $02, $00 + db $f0, $e8, $03, $00 + db $f0, $f0, $04, $00 + db $f0, $f8, $05, $00 + db $f8, $e8, $06, $00 + db $f8, $f0, $05, $00 + db $f8, $f8, $05, $00 + db $e8, $00, $02, $20 + db $e8, $08, $01, $20 + db $e8, $10, $00, $20 + db $f0, $00, $05, $20 + db $f0, $08, $04, $20 + db $f0, $10, $03, $20 + db $f8, $00, $05, $20 + db $f8, $08, $05, $20 + db $f8, $10, $06, $20 + db $00, $e8, $06, $40 + db $00, $f0, $05, $40 + db $00, $f8, $05, $40 + db $08, $e8, $03, $40 + db $08, $f0, $04, $40 + db $08, $f8, $05, $40 + db $10, $e8, $00, $40 + db $10, $f0, $01, $40 + db $10, $f8, $02, $40 + db $00, $00, $05, $60 + db $00, $08, $05, $60 + db $00, $10, $06, $60 + db $08, $00, $05, $60 + db $08, $08, $04, $60 + db $08, $10, $03, $60 + db $10, $00, $02, $60 + db $10, $08, $01, $60 + db $10, $10, $00, $60 + +.data_8e00e ; 8e00e + db $09 + db $f4, $f4, $00, $00 + db $f4, $fc, $01, $00 + db $f4, $04, $02, $00 + db $fc, $f4, $10, $00 + db $fc, $fc, $11, $00 + db $fc, $04, $12, $00 + db $04, $f4, $20, $00 + db $04, $fc, $21, $00 + db $04, $04, $22, $00 + +.data_8e033 ; 8e033 + db $10 + db $f0, $f0, $00, $00 + db $f0, $f8, $01, $00 + db $f0, $00, $02, $00 + db $f0, $08, $03, $00 + db $f8, $f0, $10, $00 + db $f8, $f8, $11, $00 + db $f8, $00, $12, $00 + db $f8, $08, $13, $00 + db $00, $f0, $20, $00 + db $00, $f8, $21, $00 + db $00, $00, $22, $00 + db $00, $08, $23, $00 + db $08, $f0, $30, $00 + db $08, $f8, $31, $00 + db $08, $00, $32, $00 + db $08, $08, $33, $00 + +.data_8e074 ; 8e074 + db $19 + db $ec, $ec, $00, $00 + db $f4, $ec, $01, $00 + db $fc, $ec, $02, $00 + db $04, $ec, $03, $00 + db $0c, $ec, $04, $00 + db $ec, $f4, $05, $00 + db $f4, $f4, $06, $00 + db $fc, $f4, $07, $00 + db $04, $f4, $08, $00 + db $0c, $f4, $09, $00 + db $ec, $fc, $0a, $00 + db $f4, $fc, $0b, $00 + db $fc, $fc, $0c, $00 + db $04, $fc, $0d, $00 + db $0c, $fc, $0e, $00 + db $ec, $04, $0f, $00 + db $f4, $04, $10, $00 + db $fc, $04, $11, $00 + db $04, $04, $12, $00 + db $0c, $04, $13, $00 + db $ec, $0c, $14, $00 + db $f4, $0c, $15, $00 + db $fc, $0c, $16, $00 + db $04, $0c, $17, $00 + db $0c, $0c, $18, $00 + +.data_8e0d9 ; unreferenced + db $24 + db $e8, $e8, $00, $00 + db $e8, $f0, $01, $00 + db $e8, $f8, $02, $00 + db $e8, $00, $03, $00 + db $e8, $08, $04, $00 + db $e8, $10, $05, $00 + db $f0, $e8, $06, $00 + db $f0, $f0, $07, $00 + db $f0, $f8, $08, $00 + db $f0, $00, $09, $00 + db $f0, $08, $0a, $00 + db $f0, $10, $0b, $00 + db $f8, $e8, $0c, $00 + db $f8, $f0, $0d, $00 + db $f8, $f8, $0e, $00 + db $f8, $00, $0f, $00 + db $f8, $08, $10, $00 + db $f8, $10, $11, $00 + db $00, $e8, $12, $00 + db $00, $f0, $13, $00 + db $00, $f8, $14, $00 + db $00, $00, $15, $00 + db $00, $08, $16, $00 + db $00, $10, $17, $00 + db $08, $e8, $18, $00 + db $08, $f0, $19, $00 + db $08, $f8, $1a, $00 + db $08, $00, $1b, $00 + db $08, $08, $1c, $00 + db $08, $10, $1d, $00 + db $10, $e8, $1e, $00 + db $10, $f0, $1f, $00 + db $10, $f8, $20, $00 + db $10, $00, $21, $00 + db $10, $08, $22, $00 + db $10, $10, $23, $00 + +.data_8e16a ; 8e16a + db $04 + db $f8, $f8, $00, $00 + db $f8, $00, $01, $00 + db $00, $f8, $02, $00 + db $00, $00, $03, $00 + +.data_8e17b ; 8e17b + db $04 + db $f8, $f8, $00, $80 + db $f8, $00, $01, $80 + db $00, $f8, $02, $80 + db $00, $00, $03, $80 + +.data_8e18c ; 8e18c + db $04 + db $f8, $f8, $00, $00 + db $f8, $00, $01, $00 + db $00, $f8, $08, $00 + db $00, $00, $03, $00 + +.data_8e19d ; 8e19d + db $04 + db $f8, $f8, $04, $00 + db $f8, $00, $05, $00 + db $00, $f8, $08, $00 + db $00, $00, $07, $00 + +.data_8e1ae ; 8e1ae + db $04 + db $f8, $f8, $00, $00 + db $f8, $00, $01, $00 + db $00, $f8, $09, $00 + db $00, $00, $03, $00 + +.data_8e1bf ; 8e1bf + db $04 + db $f8, $f8, $04, $00 + db $f8, $00, $05, $00 + db $00, $f8, $09, $00 + db $00, $00, $07, $00 + +.data_8e1d0 ; 8e1d0 + db $06 + db $f8, $f4, $00, $01 + db $f8, $fc, $01, $01 + db $f8, $04, $02, $01 + db $00, $f4, $10, $01 + db $00, $fc, $11, $01 + db $00, $04, $12, $01 + +.data_8e1e9 ; 8e1e9 + db $0a + db $f4, $f0, $00, $00 + db $f4, $f8, $01, $00 + db $f4, $00, $02, $00 + db $f4, $08, $03, $00 + db $fc, $f0, $04, $00 + db $fc, $f8, $05, $00 + db $fc, $00, $06, $00 + db $04, $f0, $08, $00 + db $04, $f8, $09, $00 + db $04, $00, $0a, $00 + +.data_8e212 ; 8e212 + db $1b + db $e8, $e8, $00, $00 + db $e8, $f0, $01, $00 + db $e8, $f8, $02, $00 + db $f0, $e8, $10, $00 + db $f0, $f0, $11, $00 + db $f0, $f8, $12, $00 + db $f8, $e8, $20, $00 + db $f8, $f0, $21, $00 + db $f8, $f8, $22, $00 + db $f8, $00, $23, $00 + db $00, $e8, $30, $80 + db $00, $f0, $31, $80 + db $00, $f8, $32, $80 + db $00, $00, $33, $80 + db $00, $08, $34, $80 + db $08, $e8, $40, $80 + db $08, $f0, $41, $80 + db $08, $f8, $42, $80 + db $08, $00, $43, $80 + db $08, $08, $44, $80 + db $08, $10, $45, $80 + db $10, $e8, $50, $80 + db $10, $f0, $51, $80 + db $10, $f8, $52, $80 + db $10, $00, $53, $80 + db $10, $08, $54, $80 + db $10, $10, $55, $80 + +.data_8e27f ; 8e27f + db $1b + db $e8, $e8, $0d, $00 + db $e8, $f0, $0e, $00 + db $e8, $f8, $0f, $00 + db $f0, $e8, $1d, $00 + db $f0, $f0, $1e, $00 + db $f0, $f8, $1f, $00 + db $f8, $e8, $20, $00 + db $f8, $f0, $21, $00 + db $f8, $f8, $22, $00 + db $f8, $00, $23, $00 + db $00, $e8, $30, $80 + db $00, $f0, $31, $80 + db $00, $f8, $32, $80 + db $00, $00, $33, $80 + db $00, $08, $34, $80 + db $08, $e8, $40, $80 + db $08, $f0, $41, $80 + db $08, $f8, $42, $80 + db $08, $00, $43, $80 + db $08, $08, $44, $80 + db $08, $10, $45, $80 + db $10, $e8, $50, $80 + db $10, $f0, $51, $80 + db $10, $f8, $52, $80 + db $10, $00, $53, $80 + db $10, $08, $54, $80 + db $10, $10, $55, $80 + +.data_8e2ec ; 8e2ec + db $1d + db $e8, $e8, $00, $00 + db $e8, $f0, $01, $00 + db $e8, $f8, $02, $00 + db $e8, $00, $03, $00 + db $f0, $e8, $10, $00 + db $f0, $f0, $11, $00 + db $f0, $f8, $12, $00 + db $f0, $00, $13, $00 + db $f8, $e8, $20, $00 + db $f8, $f0, $21, $00 + db $f8, $f8, $22, $00 + db $f8, $00, $23, $00 + db $f8, $08, $24, $00 + db $00, $e8, $30, $80 + db $00, $f0, $31, $80 + db $00, $f8, $32, $80 + db $00, $00, $33, $80 + db $00, $08, $34, $80 + db $08, $e8, $40, $80 + db $08, $f0, $41, $80 + db $08, $f8, $42, $80 + db $08, $00, $43, $80 + db $08, $08, $44, $80 + db $08, $10, $45, $80 + db $10, $f0, $51, $80 + db $10, $f8, $52, $80 + db $10, $00, $53, $80 + db $10, $08, $54, $80 + db $10, $10, $55, $80 + +.data_8e361 ; 8e361 + db $02 + db $f8, $fc, $00, $00 + db $00, $fc, $10, $00 + +.data_8e36a ; 8e36a + db $05 + db $f0, $18, $00, $00 + db $f0, $20, $01, $00 + db $f8, $10, $02, $00 + db $f8, $18, $03, $00 + db $00, $10, $04, $00 + +.data_8e37f ; 8e37f + db $01 + db $fc, $fc, $00, $06 + +.data_8e384 ; 8e384 + db $04 + db $f8, $f8, $00, $06 + db $f8, $00, $01, $06 + db $00, $f8, $02, $06 + db $00, $00, $03, $06 + +.data_8e395 ; 8e395 + db $04 + db $ff, $ff, $00, $00 + db $ff, $00, $00, $20 + db $00, $ff, $00, $40 + db $00, $00, $00, $60 + +.data_8e3a6 ; 8e3a6 + db $0a + db $ff, $00, $00, $00 + db $ff, $08, $01, $00 + db $ff, $10, $01, $00 + db $ff, $18, $01, $00 + db $ff, $20, $00, $20 + db $00, $00, $00, $40 + db $00, $08, $01, $40 + db $00, $10, $01, $40 + db $00, $18, $01, $40 + db $00, $20, $00, $60 + +.data_8e3cf ; 8e3cf + db $0f + db $ec, $f4, $00, $11 + db $ec, $fc, $01, $11 + db $ec, $04, $02, $11 + db $f4, $f4, $03, $11 + db $f4, $fc, $04, $11 + db $f4, $04, $05, $11 + db $fc, $f4, $06, $11 + db $fc, $fc, $07, $11 + db $fc, $04, $08, $11 + db $04, $f4, $09, $11 + db $04, $fc, $0a, $11 + db $04, $04, $0b, $11 + db $0c, $f4, $0c, $11 + db $0c, $fc, $0d, $11 + db $0c, $04, $0e, $11 + +.data_8e40c ; 8e40c + db $06 + db $f4, $f4, $00, $15 + db $f4, $fc, $02, $15 + db $f4, $04, $00, $35 + db $04, $f4, $04, $15 + db $04, $fc, $06, $15 + db $04, $04, $04, $35 + +.data_8e425 ; 8e425 + db $06 + db $f4, $f4, $00, $16 + db $f4, $fc, $02, $16 + db $f4, $04, $04, $16 + db $04, $f4, $06, $16 + db $04, $fc, $08, $16 + db $04, $04, $0a, $16 + +.data_8e43e ; 8e43e + db $06 + db $f4, $f4, $00, $16 + db $f4, $fc, $02, $16 + db $f4, $04, $04, $16 + db $04, $f4, $0c, $16 + db $04, $fc, $0e, $16 + db $04, $04, $10, $16 + +.data_8e457 ; 8e457 + db $06 + db $f4, $f4, $00, $16 + db $f4, $fc, $02, $16 + db $f4, $04, $04, $16 + db $04, $f4, $12, $16 + db $04, $fc, $14, $16 + db $04, $04, $16, $16 + +.data_8e470 ; 8e470 + db $06 + db $f4, $f4, $00, $16 + db $f4, $fc, $02, $16 + db $f4, $04, $04, $16 + db $04, $f4, $18, $16 + db $04, $fc, $1a, $16 + db $04, $04, $1c, $16 + +.data_8e489 ; 8e489 + db $06 + db $f4, $f4, $1e, $16 + db $f4, $fc, $20, $16 + db $f4, $04, $22, $16 + db $04, $f4, $24, $16 + db $04, $fc, $26, $16 + db $04, $04, $28, $16 + +.data_8e4a2 ; 8e4a2 + db $03 + db $f4, $fc, $00, $10 + db $fc, $fc, $00, $10 + db $04, $fc, $00, $10 + +.data_8e4af ; 8e4af + db $06 + db $00, $00, $00, $00 + db $00, $08, $01, $00 + db $00, $10, $01, $00 + db $00, $18, $01, $00 + db $00, $20, $02, $00 + db $00, $28, $03, $00 + +.data_8e4c8 ; 8e4c8 + db $04 + db $00, $00, $00, $00 + db $00, $08, $01, $00 + db $00, $10, $02, $00 + db $00, $18, $03, $00 + +.data_8e4d9 ; 8e4d9 + db $04 + db $f8, $f6, $00, $06 + db $f8, $02, $01, $06 + db $00, $f6, $02, $06 + db $00, $02, $03, $06 + +.data_8e4ea ; 8e4ea + db $04 + db $f8, $f4, $00, $06 + db $f8, $04, $01, $06 + db $00, $f4, $02, $06 + db $00, $04, $03, $06 + +.data_8e4fb ; 8e4fb + db $04 + db $f8, $f0, $00, $06 + db $f8, $08, $01, $06 + db $00, $f0, $02, $06 + db $00, $08, $03, $06 + +.data_8e50c ; 8e50c + db $13 + db $f8, $e0, $00, $00 + db $f0, $e8, $02, $00 + db $00, $e8, $04, $00 + db $e8, $f0, $06, $00 + db $f8, $f0, $08, $00 + db $08, $f0, $0a, $00 + db $e8, $f8, $0c, $00 + db $f8, $f8, $0e, $00 + db $08, $f8, $10, $00 + db $e8, $00, $12, $00 + db $f8, $00, $14, $00 + db $08, $00, $16, $00 + db $e8, $08, $18, $00 + db $f8, $08, $1a, $00 + db $08, $08, $1c, $00 + db $f8, $10, $1e, $00 + db $08, $10, $20, $00 + db $f0, $18, $22, $00 + db $00, $18, $24, $00 + +.data_8e559 ; 8e559 + db $10 + db $f8, $e0, $00, $00 + db $f0, $e8, $02, $00 + db $00, $e8, $04, $00 + db $f8, $f0, $26, $00 + db $08, $f0, $0a, $00 + db $e8, $f8, $28, $00 + db $f8, $f8, $2a, $00 + db $08, $f8, $10, $00 + db $f8, $00, $2c, $00 + db $08, $00, $16, $00 + db $f8, $08, $30, $00 + db $08, $08, $1c, $00 + db $f8, $10, $1e, $00 + db $08, $10, $20, $00 + db $f0, $18, $22, $00 + db $00, $18, $24, $00 + +.data_8e59a ; 8e59a + db $0f + db $f8, $e0, $00, $00 + db $f0, $e8, $02, $00 + db $00, $e8, $32, $00 + db $f8, $f0, $34, $00 + db $08, $f0, $36, $00 + db $f8, $f8, $38, $00 + db $08, $f8, $3a, $00 + db $f8, $00, $3c, $00 + db $08, $00, $3e, $00 + db $f8, $08, $30, $00 + db $08, $08, $1c, $00 + db $f8, $10, $1e, $00 + db $08, $10, $20, $00 + db $f0, $18, $22, $00 + db $00, $18, $24, $00 + +.data_8e5d7 ; 8e5d7 + db $11 + db $f8, $e0, $00, $00 + db $f0, $e8, $02, $00 + db $00, $e8, $04, $00 + db $f8, $f0, $40, $00 + db $08, $f0, $42, $00 + db $18, $f0, $44, $00 + db $f8, $f8, $46, $00 + db $08, $f8, $48, $00 + db $18, $f8, $4a, $00 + db $f8, $00, $4c, $00 + db $08, $00, $4e, $00 + db $f8, $08, $30, $00 + db $08, $08, $1c, $00 + db $f8, $10, $1e, $00 + db $08, $10, $20, $00 + db $f0, $18, $22, $00 + db $00, $18, $24, $00 + +.data_8e61c ; 8e61c + db $11 + db $f8, $e0, $00, $00 + db $f0, $e8, $02, $00 + db $00, $e8, $04, $00 + db $f8, $f0, $50, $00 + db $08, $f0, $0a, $00 + db $e8, $f8, $52, $00 + db $f8, $f8, $54, $00 + db $08, $f8, $10, $00 + db $e8, $00, $56, $00 + db $f8, $00, $2e, $00 + db $08, $00, $16, $00 + db $f8, $08, $30, $00 + db $08, $08, $1c, $00 + db $f8, $10, $1e, $00 + db $08, $10, $20, $00 + db $f0, $18, $22, $00 + db $00, $18, $24, $00 + +.data_8e661 ; 8e661 + db $01 + db $fc, $fc, $00, $11 + +ELIF DEF(_SILVER) + dr $8dda3, $8e64c +ENDC diff --git a/engine/gfx/sprite_anims.asm b/engine/gfx/sprite_anims.asm index 285c3303..fbd57abf 100755 --- a/engine/gfx/sprite_anims.asm +++ b/engine/gfx/sprite_anims.asm @@ -711,6 +711,7 @@ DoAnimFrame: call .AnonymousJumptable jp hl +IF DEF(_GOLD) ; anonymous jumptable dw .Function8d835 dw .Function8d84c @@ -735,7 +736,6 @@ DoAnimFrame: ld a, [hl] cp $a4 jr nc, .asm_5881 - ld hl, $0d add hl, bc add $4 @@ -766,13 +766,57 @@ DoAnimFrame: call DeinitializeSprite ret +ELIF DEF(_SILVER) +; anonymous jumptable + dw .Function8d835 + dw .Function8d856 + +.Function8d835: + ld a, [wIntroSceneTimer] + and $30 + swap a + add $3 + ld d, a + ld hl, $0c + add hl, bc + ld a, [wIntroSceneTimer] + and $30 + swap a + add $07 + add [hl] + ld [hl], a + call .Sprites_Sine + ld hl, $07 + add hl, bc + ld [hl], a +.Function8d856: + ld hl, $04 + add hl, bc + ld a, [hl] + cp $a4 + jr nc, .asm_5863 + add $4 + ld [hl], a + ret + +.asm_5863 + call DeinitializeSprite + ret +ENDC + .Function8d885: ld hl, $0c add hl, bc ld a, [hl] +IF DEF(_GOLD) inc a ld [hl], a ld d, 2 +ELIF DEF(_SILVER) + dec a + ld [hl], a + ld d, 8 +ENDC call .Sprites_Sine ld hl, $07 add hl, bc diff --git a/engine/gfx/sprites.asm b/engine/gfx/sprites.asm index cb8aea53..ef352606 100755 --- a/engine/gfx/sprites.asm +++ b/engine/gfx/sprites.asm @@ -321,7 +321,7 @@ AddOrSubtractX: bit OAM_X_FLIP, [hl] jr z, .ok ; -8 - a - add $8 + add 8 xor $ff inc a @@ -486,9 +486,10 @@ GetSpriteAnimFrame: ret GetFrameOAMPointer: +; Load OAM data pointer ld e, a ld d, 0 - ld hl, $5dbd + ld hl, SpriteAnimOAMData add hl, de add hl, de add hl, de @@ -497,10 +498,10 @@ GetFrameOAMPointer: Unreferenced_BrokenGetStdGraphics: push hl ld l, a - ld h, $00 + ld h, 0 add hl, hl add hl, hl - ld de, $6666 + ld de, BrokenStdGFXPointers ; broken 2bpp pointers add hl, de ld c, [hl] inc hl @@ -519,18 +520,120 @@ INCLUDE "data/sprite_anims/sequences.asm" INCLUDE "engine/gfx/sprite_anims.asm" -SpriteAnimFrameData: - dr $8dbfe, $8e68a +INCLUDE "data/sprite_anims/framesets.asm" + +INCLUDE "data/sprite_anims/oam.asm" + +BrokenStdGFXPointers: + ; tile count, bank, pointer + ; (all pointers were dummied out to .deleted) + dbbw 128, $01, .deleted + dbbw 128, $01, .deleted + dbbw 128, $01, .deleted + dbbw 128, $01, .deleted + dbbw 16, $37, .deleted + dbbw 16, $11, .deleted + dbbw 16, $39, .deleted + dbbw 16, $24, .deleted + dbbw 16, $21, .deleted + +.deleted Sprites_Cosine: ; a = d * cos(a * pi/32) add %010000 ; cos(x) = sin(x + pi/2) ; fallthrough Sprites_Sine: - dr $8e68c, $8e6fd +; a = d * sin(a * pi/32) + calc_sine_wave .SineWave + +.SineWave: + sine_table 256 + +AnimateEndOfExpBar: + ldh a, [hSGB] + ld de, EndOfExpBarGFX + and a + jr z, .load + ld de, SGBEndOfExpBarGFX + +.load + ld hl, vTiles0 tile $00 + lb bc, BANK(EndOfExpBarGFX), 1 + call Request2bpp + ld c, 8 + ld d, 0 +.loop + push bc + call .AnimateFrame + call DelayFrame + pop bc + inc d + inc d + dec c + jr nz, .loop + call ClearSprites + ret + +.AnimateFrame: + ld hl, wVirtualOAMSprite00 + ld c, 8 ; number of animated circles +.anim_loop + ld a, c + and a + ret z + dec c + ld a, c +; multiply by 8 + sla a + sla a + sla a + push af + + push de + push hl + call Sprites_Sine + pop hl + pop de + add 13 * TILE_WIDTH + ld [hli], a ; y + + pop af + push de + push hl + call Sprites_Cosine + pop hl + pop de + add 10 * TILE_WIDTH + 4 + ld [hli], a ; x + + ld a, $0 + ld [hli], a ; tile id + ld a, PAL_BATTLE_OB_BLUE + ld [hli], a ; attributes + jr .anim_loop -AnimateEndOfExpBar:: - dr $8e6fd, $8e774 +EndOfExpBarGFX: +INCBIN "gfx/battle/expbarend.2bpp" +SGBEndOfExpBarGFX: +INCBIN "gfx/battle/expbarend_sgb.2bpp" -ClearSpriteAnims2:: - dr $8e774, $8e78b +ClearSpriteAnims2: + push hl + push de + push bc + push af + ld hl, wSpriteAnimDict + ld bc, wSpriteAnimsEnd - wSpriteAnimDict +.loop + ld [hl], 0 + inc hl + dec bc + ld a, c + or b + jr nz, .loop + pop af + pop bc + pop de + pop hl + ret diff --git a/gfx/battle/expbarend.2bpp b/gfx/battle/expbarend.2bpp Binary files differnew file mode 100755 index 00000000..24f32e15 --- /dev/null +++ b/gfx/battle/expbarend.2bpp diff --git a/gfx/battle/expbarend.png b/gfx/battle/expbarend.png Binary files differnew file mode 100755 index 00000000..51c0e720 --- /dev/null +++ b/gfx/battle/expbarend.png diff --git a/gfx/battle/expbarend_sgb.2bpp b/gfx/battle/expbarend_sgb.2bpp Binary files differnew file mode 100755 index 00000000..dbeb3fde --- /dev/null +++ b/gfx/battle/expbarend_sgb.2bpp diff --git a/gfx/battle/expbarend_sgb.png b/gfx/battle/expbarend_sgb.png Binary files differnew file mode 100755 index 00000000..25eed4a6 --- /dev/null +++ b/gfx/battle/expbarend_sgb.png @@ -14,6 +14,7 @@ INCLUDE "macros/scripts/movement.asm" INCLUDE "macros/scripts/battle_commands.asm" INCLUDE "macros/scripts/battle_anims.asm" INCLUDE "macros/scripts/trade_anims.asm" +INCLUDE "macros/scripts/gfx_anims.asm" ; TODO: Should this be included or not? ; - Leave out for now so no code depending on legacy macros gets introduced diff --git a/macros/scripts/gfx_anims.asm b/macros/scripts/gfx_anims.asm new file mode 100755 index 00000000..a6241a0d --- /dev/null +++ b/macros/scripts/gfx_anims.asm @@ -0,0 +1,53 @@ +; pic + oam animations + +frame: MACRO + db \1 +x = \2 +if _NARG > 2 +rept _NARG - 2 +x = x | (1 << (\3 + 1)) + shift +endr +endc + db x +ENDM + + enum_start $fc + + enum delanim_command ; $fc +delanim: MACRO +; Removes the object from the screen, as opposed to `endanim` which just stops all motion + db delanim_command +ENDM + + enum dowait_command ; $fd +dowait: MACRO + db dowait_command + db \1 ; frames +ENDM + + enum dorestart_command ; $fe +dorestart: MACRO + db dorestart_command +ENDM + + enum endanim_command ; $ff +endanim: MACRO + db endanim_command +ENDM + + +; Used for pic animations +__enum__ = $fd + + enum dorepeat_command ; $fd +dorepeat: MACRO + db dorepeat_command + db \1 ; command offset to jump to +ENDM + + enum setrepeat_command ; $fe +setrepeat: MACRO + db setrepeat_command + db \1 ; amount of times to repeat +ENDM |