diff options
| -rw-r--r-- | audio/low_health_alarm.asm | 15 | ||||
| -rwxr-xr-x | constants/oam_constants.asm | 5 | ||||
| -rw-r--r-- | data/battle_anims/frame_blocks.asm | 1501 | ||||
| -rwxr-xr-x | data/maps/sprite_sets.asm | 31 | ||||
| -rw-r--r-- | engine/battle/scale_sprites.asm | 20 | ||||
| -rw-r--r-- | engine/events/hidden_objects/cinnabar_gym_quiz.asm | 22 | ||||
| -rwxr-xr-x | engine/menus/pokedex.asm | 6 | ||||
| -rwxr-xr-x | engine/movie/gamefreak.asm | 74 | ||||
| -rwxr-xr-x | engine/movie/trade.asm | 46 | ||||
| -rwxr-xr-x | engine/overworld/cut.asm | 4 | ||||
| -rwxr-xr-x | engine/overworld/emotion_bubbles.asm | 4 | ||||
| -rwxr-xr-x | engine/overworld/healing_machine.asm | 16 | ||||
| -rwxr-xr-x | engine/overworld/ledges.asm | 4 | ||||
| -rwxr-xr-x | engine/overworld/player_animations.asm | 12 | ||||
| -rw-r--r-- | macros/gfx.asm | 5 | 
15 files changed, 893 insertions, 872 deletions
| diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm index 514db55f..a550cf70 100644 --- a/audio/low_health_alarm.asm +++ b/audio/low_health_alarm.asm @@ -61,15 +61,20 @@ Music_DoLowHealthAlarm::  	jr nz, .copyLoop  	ret +alarm_tone: MACRO +	db \1 ; length +	db \2 ; envelope +	dw \3 ; frequency +ENDM +  ;bytes to write to sound channel 1 registers for health alarm. -;starting at FF11 (FF10 is always zeroed), so these bytes are: -;length, envelope, freq lo, freq hi +;starting at FF11 (FF10 is always zeroed).  .toneDataHi -	db $A0,$E2,$50,$87 +	alarm_tone $A0, $E2, $8750  .toneDataLo -	db $B0,$E2,$EE,$86 +	alarm_tone $B0, $E2, $86EE  ;written to stop the alarm  .toneDataSilence -	db $00,$00,$00,$80 +	alarm_tone $00, $00, $8000 diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm index 2d34048d..f0f06025 100755 --- a/constants/oam_constants.asm +++ b/constants/oam_constants.asm @@ -13,6 +13,7 @@ OAM_Y_FLIP    EQU 6  OAM_PRIORITY  EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)  ; OAM attribute masks -OAM_HFLIP     EQU 1 << OAM_X_FLIP ; horizontal flip -OAM_VFLIP     EQU 1 << OAM_Y_FLIP ; vertical flip +OAM_OBP1      EQU 1 << OAM_OBP_NUM  ; OBJ palette 1 +OAM_HFLIP     EQU 1 << OAM_X_FLIP   ; horizontal flip +OAM_VFLIP     EQU 1 << OAM_Y_FLIP   ; vertical flip  OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0) diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm index dd765ffe..8b9b0919 100644 --- a/data/battle_anims/frame_blocks.asm +++ b/data/battle_anims/frame_blocks.asm @@ -122,1124 +122,1117 @@ FrameBlockPointers:  	dw FrameBlock78  	dw FrameBlock79 -; FrameBlock format is as follows: -; first byte = number of tiles in FrameBlock -; -; Next, each group of 4 bytes describes a tile in the FrameBlock -; first byte = y offset -; second byte = x offset -; third byte = tile id (it's actually tile id - $31) -; fourth byte = tile properties (xflip/yflip/etc.)  FrameBlock01:  	db 9 ; # -	db $00, $00, $2c, $00 -	db $00, $08, $2d, $00 -	db $00, $10, $2c, $20 -	db $08, $00, $3c, $00 -	db $08, $08, $3d, $00 -	db $08, $10, $3c, $20 -	db $10, $00, $2c, $40 -	db $10, $08, $2d, $40 -	db $10, $10, $2c, $60 +	dbsprite  0,  0,  0,  0, $2c, 0 +	dbsprite  1,  0,  0,  0, $2d, 0 +	dbsprite  2,  0,  0,  0, $2c, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $3c, 0 +	dbsprite  1,  1,  0,  0, $3d, 0 +	dbsprite  2,  1,  0,  0, $3c, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $2c, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $2d, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $2c, OAM_HFLIP | OAM_VFLIP  FrameBlock02:  	db 16 ; # -	db $00, $00, $20, $00 -	db $00, $08, $21, $00 -	db $00, $10, $21, $20 -	db $00, $18, $20, $20 -	db $08, $00, $30, $00 -	db $08, $08, $31, $00 -	db $08, $10, $31, $20 -	db $08, $18, $30, $20 -	db $10, $00, $30, $40 -	db $10, $08, $31, $40 -	db $10, $10, $31, $60 -	db $10, $18, $30, $60 -	db $18, $00, $20, $40 -	db $18, $08, $21, $40 -	db $18, $10, $21, $60 -	db $18, $18, $20, $60 +	dbsprite  0,  0,  0,  0, $20, 0 +	dbsprite  1,  0,  0,  0, $21, 0 +	dbsprite  2,  0,  0,  0, $21, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $20, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $30, 0 +	dbsprite  1,  1,  0,  0, $31, 0 +	dbsprite  2,  1,  0,  0, $31, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $30, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $30, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $31, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $31, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  2,  0,  0, $30, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  3,  0,  0, $20, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $21, OAM_VFLIP +	dbsprite  2,  3,  0,  0, $21, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  3,  0,  0, $20, OAM_HFLIP | OAM_VFLIP  FrameBlock03:  	db 4 ; # -	db $00, $00, $02, $00 -	db $00, $08, $02, $20 -	db $08, $00, $12, $00 -	db $08, $08, $12, $20 +	dbsprite  0,  0,  0,  0, $02, 0 +	dbsprite  1,  0,  0,  0, $02, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $12, 0 +	dbsprite  1,  1,  0,  0, $12, OAM_HFLIP  FrameBlock04:  	db 4 ; # -	db $00, $00, $06, $00 -	db $00, $08, $07, $00 -	db $08, $00, $16, $00 -	db $08, $08, $17, $00 +	dbsprite  0,  0,  0,  0, $06, 0 +	dbsprite  1,  0,  0,  0, $07, 0 +	dbsprite  0,  1,  0,  0, $16, 0 +	dbsprite  1,  1,  0,  0, $17, 0  FrameBlock05:  	db 4 ; # -	db $00, $00, $07, $20 -	db $00, $08, $06, $20 -	db $08, $00, $17, $20 -	db $08, $08, $16, $20 +	dbsprite  0,  0,  0,  0, $07, OAM_HFLIP +	dbsprite  1,  0,  0,  0, $06, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $17, OAM_HFLIP +	dbsprite  1,  1,  0,  0, $16, OAM_HFLIP  FrameBlock06:  	db 12 ; # -	db $00, $08, $23, $00 -	db $08, $00, $32, $00 -	db $08, $08, $33, $00 -	db $00, $10, $23, $20 -	db $08, $10, $33, $20 -	db $08, $18, $32, $20 -	db $10, $00, $32, $40 -	db $10, $08, $33, $40 -	db $18, $08, $23, $40 -	db $10, $10, $33, $60 -	db $10, $18, $32, $60 -	db $18, $10, $23, $60 +	dbsprite  1,  0,  0,  0, $23, 0 +	dbsprite  0,  1,  0,  0, $32, 0 +	dbsprite  1,  1,  0,  0, $33, 0 +	dbsprite  2,  0,  0,  0, $23, OAM_HFLIP +	dbsprite  2,  1,  0,  0, $33, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $32, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $32, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $33, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $23, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $33, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  2,  0,  0, $32, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  3,  0,  0, $23, OAM_HFLIP | OAM_VFLIP  FrameBlock07:  	db 16 ; # -	db $00, $00, $20, $00 -	db $00, $08, $21, $00 -	db $08, $00, $30, $00 -	db $08, $08, $31, $00 -	db $00, $10, $21, $20 -	db $00, $18, $20, $20 -	db $08, $10, $31, $20 -	db $08, $18, $30, $20 -	db $10, $00, $30, $40 -	db $10, $08, $31, $40 -	db $18, $00, $20, $40 -	db $18, $08, $21, $40 -	db $10, $10, $31, $60 -	db $10, $18, $30, $60 -	db $18, $10, $21, $60 -	db $18, $18, $20, $60 +	dbsprite  0,  0,  0,  0, $20, 0 +	dbsprite  1,  0,  0,  0, $21, 0 +	dbsprite  0,  1,  0,  0, $30, 0 +	dbsprite  1,  1,  0,  0, $31, 0 +	dbsprite  2,  0,  0,  0, $21, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $20, OAM_HFLIP +	dbsprite  2,  1,  0,  0, $31, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $30, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $30, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $31, OAM_VFLIP +	dbsprite  0,  3,  0,  0, $20, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $21, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $31, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  2,  0,  0, $30, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  3,  0,  0, $21, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  3,  0,  0, $20, OAM_HFLIP | OAM_VFLIP  FrameBlock08:  	db 16 ; # -	db $00, $00, $20, $00 -	db $00, $08, $21, $00 -	db $08, $00, $30, $00 -	db $08, $08, $31, $00 -	db $00, $18, $21, $20 -	db $00, $20, $20, $20 -	db $08, $18, $31, $20 -	db $08, $20, $30, $20 -	db $18, $00, $30, $40 -	db $18, $08, $31, $40 -	db $20, $00, $20, $40 -	db $20, $08, $21, $40 -	db $18, $18, $31, $60 -	db $18, $20, $30, $60 -	db $20, $18, $21, $60 -	db $20, $20, $20, $60 +	dbsprite  0,  0,  0,  0, $20, 0 +	dbsprite  1,  0,  0,  0, $21, 0 +	dbsprite  0,  1,  0,  0, $30, 0 +	dbsprite  1,  1,  0,  0, $31, 0 +	dbsprite  3,  0,  0,  0, $21, OAM_HFLIP +	dbsprite  4,  0,  0,  0, $20, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $31, OAM_HFLIP +	dbsprite  4,  1,  0,  0, $30, OAM_HFLIP +	dbsprite  0,  3,  0,  0, $30, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $31, OAM_VFLIP +	dbsprite  0,  4,  0,  0, $20, OAM_VFLIP +	dbsprite  1,  4,  0,  0, $21, OAM_VFLIP +	dbsprite  3,  3,  0,  0, $31, OAM_HFLIP | OAM_VFLIP +	dbsprite  4,  3,  0,  0, $30, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  4,  0,  0, $21, OAM_HFLIP | OAM_VFLIP +	dbsprite  4,  4,  0,  0, $20, OAM_HFLIP | OAM_VFLIP  FrameBlock09:  	db 12 ; # -	db $00, $00, $24, $00 -	db $00, $08, $25, $00 -	db $08, $00, $34, $00 -	db $00, $18, $25, $20 -	db $00, $20, $24, $20 -	db $08, $20, $34, $20 -	db $18, $00, $34, $40 -	db $20, $00, $24, $40 -	db $20, $08, $25, $40 -	db $18, $20, $34, $60 -	db $20, $18, $25, $60 -	db $20, $20, $24, $60 +	dbsprite  0,  0,  0,  0, $24, 0 +	dbsprite  1,  0,  0,  0, $25, 0 +	dbsprite  0,  1,  0,  0, $34, 0 +	dbsprite  3,  0,  0,  0, $25, OAM_HFLIP +	dbsprite  4,  0,  0,  0, $24, OAM_HFLIP +	dbsprite  4,  1,  0,  0, $34, OAM_HFLIP +	dbsprite  0,  3,  0,  0, $34, OAM_VFLIP +	dbsprite  0,  4,  0,  0, $24, OAM_VFLIP +	dbsprite  1,  4,  0,  0, $25, OAM_VFLIP +	dbsprite  4,  3,  0,  0, $34, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  4,  0,  0, $25, OAM_HFLIP | OAM_VFLIP +	dbsprite  4,  4,  0,  0, $24, OAM_HFLIP | OAM_VFLIP  FrameBlock0a:  	db 12 ; # -	db $00, $00, $24, $00 -	db $00, $08, $25, $00 -	db $08, $00, $34, $00 -	db $00, $20, $25, $20 -	db $00, $28, $24, $20 -	db $08, $28, $34, $20 -	db $20, $00, $34, $40 -	db $28, $00, $24, $40 -	db $28, $08, $25, $40 -	db $20, $28, $34, $60 -	db $28, $20, $25, $60 -	db $28, $28, $24, $60 +	dbsprite  0,  0,  0,  0, $24, 0 +	dbsprite  1,  0,  0,  0, $25, 0 +	dbsprite  0,  1,  0,  0, $34, 0 +	dbsprite  4,  0,  0,  0, $25, OAM_HFLIP +	dbsprite  5,  0,  0,  0, $24, OAM_HFLIP +	dbsprite  5,  1,  0,  0, $34, OAM_HFLIP +	dbsprite  0,  4,  0,  0, $34, OAM_VFLIP +	dbsprite  0,  5,  0,  0, $24, OAM_VFLIP +	dbsprite  1,  5,  0,  0, $25, OAM_VFLIP +	dbsprite  5,  4,  0,  0, $34, OAM_HFLIP | OAM_VFLIP +	dbsprite  4,  5,  0,  0, $25, OAM_HFLIP | OAM_VFLIP +	dbsprite  5,  5,  0,  0, $24, OAM_HFLIP | OAM_VFLIP  FrameBlock0b:  	db 4 ; # -	db $00, $00, $05, $00 -	db $00, $08, $05, $20 -	db $08, $00, $15, $00 -	db $08, $08, $15, $20 +	dbsprite  0,  0,  0,  0, $05, 0 +	dbsprite  1,  0,  0,  0, $05, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $15, 0 +	dbsprite  1,  1,  0,  0, $15, OAM_HFLIP  FrameBlock0c:  	db 4 ; # -	db $00, $00, $04, $00 -	db $00, $08, $04, $20 -	db $08, $00, $14, $00 -	db $08, $08, $14, $20 +	dbsprite  0,  0,  0,  0, $04, 0 +	dbsprite  1,  0,  0,  0, $04, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $14, 0 +	dbsprite  1,  1,  0,  0, $14, OAM_HFLIP  FrameBlock0d:  	db 8 ; # -	db $00, $00, $0c, $00 -	db $00, $08, $0d, $00 -	db $08, $00, $1c, $00 -	db $08, $08, $1d, $00 -	db $10, $00, $1d, $60 -	db $10, $08, $1c, $60 -	db $18, $00, $0d, $60 -	db $18, $08, $0c, $60 +	dbsprite  0,  0,  0,  0, $0c, 0 +	dbsprite  1,  0,  0,  0, $0d, 0 +	dbsprite  0,  1,  0,  0, $1c, 0 +	dbsprite  1,  1,  0,  0, $1d, 0 +	dbsprite  0,  2,  0,  0, $1d, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  2,  0,  0, $1c, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  3,  0,  0, $0d, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  3,  0,  0, $0c, OAM_HFLIP | OAM_VFLIP  FrameBlock0e:  	db 4 ; # -	db $20, $00, $0c, $00 -	db $20, $08, $0d, $00 -	db $28, $00, $1c, $00 -	db $28, $08, $1d, $00 +	dbsprite  0,  4,  0,  0, $0c, 0 +	dbsprite  1,  4,  0,  0, $0d, 0 +	dbsprite  0,  5,  0,  0, $1c, 0 +	dbsprite  1,  5,  0,  0, $1d, 0  FrameBlock0f:  	db 4 ; # -	db $30, $00, $1d, $60 -	db $30, $08, $1c, $60 -	db $38, $00, $0d, $60 -	db $38, $08, $0c, $60 +	dbsprite  0,  6,  0,  0, $1d, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  6,  0,  0, $1c, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  7,  0,  0, $0d, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  7,  0,  0, $0c, OAM_HFLIP | OAM_VFLIP  FrameBlock10:  	db 8 ; # -	db $00, $00, $0e, $00 -	db $00, $08, $0f, $00 -	db $08, $00, $1e, $00 -	db $08, $08, $1f, $00 -	db $00, $10, $0f, $20 -	db $00, $18, $0e, $20 -	db $08, $10, $1f, $20 -	db $08, $18, $1e, $20 +	dbsprite  0,  0,  0,  0, $0e, 0 +	dbsprite  1,  0,  0,  0, $0f, 0 +	dbsprite  0,  1,  0,  0, $1e, 0 +	dbsprite  1,  1,  0,  0, $1f, 0 +	dbsprite  2,  0,  0,  0, $0f, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $0e, OAM_HFLIP +	dbsprite  2,  1,  0,  0, $1f, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $1e, OAM_HFLIP  FrameBlock11:  	db 8 ; # -	db $00, $00, $0e, $00 -	db $00, $08, $0f, $00 -	db $08, $00, $1e, $00 -	db $08, $08, $1f, $00 -	db $00, $20, $0f, $20 -	db $00, $28, $0e, $20 -	db $08, $20, $1f, $20 -	db $08, $28, $1e, $20 +	dbsprite  0,  0,  0,  0, $0e, 0 +	dbsprite  1,  0,  0,  0, $0f, 0 +	dbsprite  0,  1,  0,  0, $1e, 0 +	dbsprite  1,  1,  0,  0, $1f, 0 +	dbsprite  4,  0,  0,  0, $0f, OAM_HFLIP +	dbsprite  5,  0,  0,  0, $0e, OAM_HFLIP +	dbsprite  4,  1,  0,  0, $1f, OAM_HFLIP +	dbsprite  5,  1,  0,  0, $1e, OAM_HFLIP  FrameBlock12:  	db 3 ; # -	db $00, $00, $37, $00 -	db $08, $10, $37, $00 -	db $00, $20, $37, $00 +	dbsprite  0,  0,  0,  0, $37, 0 +	dbsprite  2,  1,  0,  0, $37, 0 +	dbsprite  4,  0,  0,  0, $37, 0  FrameBlock13:  	db 4 ; # -	db $00, $00, $36, $00 -	db $00, $08, $36, $20 -	db $08, $00, $36, $40 -	db $08, $08, $36, $60 +	dbsprite  0,  0,  0,  0, $36, 0 +	dbsprite  1,  0,  0,  0, $36, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $36, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $36, OAM_HFLIP | OAM_VFLIP  FrameBlock14:  	db 8 ; # -	db $00, $10, $28, $00 -	db $00, $18, $28, $20 -	db $08, $10, $38, $00 -	db $08, $18, $38, $20 -	db $00, $20, $36, $00 -	db $00, $28, $36, $20 -	db $08, $20, $36, $40 -	db $08, $28, $36, $60 +	dbsprite  2,  0,  0,  0, $28, 0 +	dbsprite  3,  0,  0,  0, $28, OAM_HFLIP +	dbsprite  2,  1,  0,  0, $38, 0 +	dbsprite  3,  1,  0,  0, $38, OAM_HFLIP +	dbsprite  4,  0,  0,  0, $36, 0 +	dbsprite  5,  0,  0,  0, $36, OAM_HFLIP +	dbsprite  4,  1,  0,  0, $36, OAM_VFLIP +	dbsprite  5,  1,  0,  0, $36, OAM_HFLIP | OAM_VFLIP  FrameBlock15:  	db 12 ; # -	db $00, $00, $28, $00 -	db $00, $08, $28, $20 -	db $08, $00, $38, $00 -	db $08, $08, $38, $20 -	db $00, $10, $29, $00 -	db $00, $18, $29, $20 -	db $08, $10, $39, $00 -	db $08, $18, $39, $20 -	db $00, $20, $28, $00 -	db $00, $28, $28, $20 -	db $08, $20, $38, $00 -	db $08, $28, $38, $20 +	dbsprite  0,  0,  0,  0, $28, 0 +	dbsprite  1,  0,  0,  0, $28, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $38, 0 +	dbsprite  1,  1,  0,  0, $38, OAM_HFLIP +	dbsprite  2,  0,  0,  0, $29, 0 +	dbsprite  3,  0,  0,  0, $29, OAM_HFLIP +	dbsprite  2,  1,  0,  0, $39, 0 +	dbsprite  3,  1,  0,  0, $39, OAM_HFLIP +	dbsprite  4,  0,  0,  0, $28, 0 +	dbsprite  5,  0,  0,  0, $28, OAM_HFLIP +	dbsprite  4,  1,  0,  0, $38, 0 +	dbsprite  5,  1,  0,  0, $38, OAM_HFLIP  FrameBlock16:  	db 8 ; # -	db $00, $00, $29, $00 -	db $00, $08, $29, $20 -	db $08, $00, $39, $00 -	db $08, $08, $39, $20 -	db $00, $20, $29, $00 -	db $00, $28, $29, $20 -	db $08, $20, $39, $00 -	db $08, $28, $39, $20 +	dbsprite  0,  0,  0,  0, $29, 0 +	dbsprite  1,  0,  0,  0, $29, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $39, 0 +	dbsprite  1,  1,  0,  0, $39, OAM_HFLIP +	dbsprite  4,  0,  0,  0, $29, 0 +	dbsprite  5,  0,  0,  0, $29, OAM_HFLIP +	dbsprite  4,  1,  0,  0, $39, 0 +	dbsprite  5,  1,  0,  0, $39, OAM_HFLIP  FrameBlock17:  	db 4 ; # -	db $00, $00, $08, $00 -	db $00, $08, $09, $00 -	db $08, $00, $18, $00 -	db $08, $08, $19, $00 +	dbsprite  0,  0,  0,  0, $08, 0 +	dbsprite  1,  0,  0,  0, $09, 0 +	dbsprite  0,  1,  0,  0, $18, 0 +	dbsprite  1,  1,  0,  0, $19, 0  FrameBlock18:  	db 1 ; # -	db $18, $00, $45, $60 +	dbsprite  0,  3,  0,  0, $45, OAM_HFLIP | OAM_VFLIP  FrameBlock19:  	db 2 ; # -	db $18, $08, $45, $00 -	db $10, $08, $46, $60 +	dbsprite  1,  3,  0,  0, $45, 0 +	dbsprite  1,  2,  0,  0, $46, OAM_HFLIP | OAM_VFLIP  FrameBlock1a:  	db 2 ; # -	db $10, $10, $45, $60 -	db $18, $10, $46, $00 +	dbsprite  2,  2,  0,  0, $45, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  3,  0,  0, $46, 0  FrameBlock1b:  	db 2 ; # -	db $10, $18, $45, $00 -	db $08, $18, $46, $60 +	dbsprite  3,  2,  0,  0, $45, 0 +	dbsprite  3,  1,  0,  0, $46, OAM_HFLIP | OAM_VFLIP  FrameBlock1c:  	db 2 ; # -	db $08, $20, $45, $60 -	db $10, $20, $46, $00 +	dbsprite  4,  1,  0,  0, $45, OAM_HFLIP | OAM_VFLIP +	dbsprite  4,  2,  0,  0, $46, 0  FrameBlock1d:  	db 2 ; # -	db $08, $28, $45, $00 -	db $00, $28, $46, $60 +	dbsprite  5,  1,  0,  0, $45, 0 +	dbsprite  5,  0,  0,  0, $46, OAM_HFLIP | OAM_VFLIP  FrameBlock1e:  	db 2 ; # -	db $00, $30, $45, $60 -	db $08, $30, $46, $00 +	dbsprite  6,  0,  0,  0, $45, OAM_HFLIP | OAM_VFLIP +	dbsprite  6,  1,  0,  0, $46, 0  FrameBlock75:  	db 4 ; # -	db $00, $00, $43, $00 -	db $00, $08, $43, $20 -	db $08, $00, $22, $00 -	db $08, $08, $43, $60 +	dbsprite  0,  0,  0,  0, $43, 0 +	dbsprite  1,  0,  0,  0, $43, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $22, 0 +	dbsprite  1,  1,  0,  0, $43, OAM_HFLIP | OAM_VFLIP  FrameBlock1f:  	db 2 ; # -	db $00, $00, $03, $00 -	db $00, $30, $03, $20 +	dbsprite  0,  0,  0,  0, $03, 0 +	dbsprite  6,  0,  0,  0, $03, OAM_HFLIP  FrameBlock20:  	db 6 ; # -	db $00, $00, $03, $00 -	db $00, $30, $03, $20 -	db $08, $08, $03, $00 -	db $08, $28, $03, $20 -	db $08, $00, $13, $00 -	db $08, $30, $13, $20 +	dbsprite  0,  0,  0,  0, $03, 0 +	dbsprite  6,  0,  0,  0, $03, OAM_HFLIP +	dbsprite  1,  1,  0,  0, $03, 0 +	dbsprite  5,  1,  0,  0, $03, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $13, 0 +	dbsprite  6,  1,  0,  0, $13, OAM_HFLIP  FrameBlock21:  	db 12 ; # -	db $00, $00, $03, $00 -	db $00, $30, $03, $20 -	db $08, $08, $03, $00 -	db $08, $28, $03, $20 -	db $08, $00, $13, $00 -	db $08, $30, $13, $20 -	db $10, $10, $03, $00 -	db $10, $20, $03, $20 -	db $10, $08, $13, $00 -	db $10, $28, $13, $20 -	db $10, $00, $03, $00 -	db $10, $30, $03, $20 +	dbsprite  0,  0,  0,  0, $03, 0 +	dbsprite  6,  0,  0,  0, $03, OAM_HFLIP +	dbsprite  1,  1,  0,  0, $03, 0 +	dbsprite  5,  1,  0,  0, $03, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $13, 0 +	dbsprite  6,  1,  0,  0, $13, OAM_HFLIP +	dbsprite  2,  2,  0,  0, $03, 0 +	dbsprite  4,  2,  0,  0, $03, OAM_HFLIP +	dbsprite  1,  2,  0,  0, $13, 0 +	dbsprite  5,  2,  0,  0, $13, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $03, 0 +	dbsprite  6,  2,  0,  0, $03, OAM_HFLIP  FrameBlock22:  	db 19 ; # -	db $00, $00, $03, $00 -	db $08, $00, $13, $00 -	db $10, $00, $03, $00 -	db $18, $00, $13, $00 -	db $08, $08, $03, $00 -	db $10, $08, $13, $00 -	db $18, $08, $03, $00 -	db $10, $10, $03, $00 -	db $18, $10, $13, $00 -	db $18, $18, $03, $00 -	db $10, $20, $03, $20 -	db $18, $20, $13, $20 -	db $08, $28, $03, $20 -	db $10, $28, $13, $20 -	db $18, $28, $03, $20 -	db $00, $30, $03, $20 -	db $08, $30, $13, $20 -	db $10, $30, $03, $20 -	db $18, $30, $13, $20 +	dbsprite  0,  0,  0,  0, $03, 0 +	dbsprite  0,  1,  0,  0, $13, 0 +	dbsprite  0,  2,  0,  0, $03, 0 +	dbsprite  0,  3,  0,  0, $13, 0 +	dbsprite  1,  1,  0,  0, $03, 0 +	dbsprite  1,  2,  0,  0, $13, 0 +	dbsprite  1,  3,  0,  0, $03, 0 +	dbsprite  2,  2,  0,  0, $03, 0 +	dbsprite  2,  3,  0,  0, $13, 0 +	dbsprite  3,  3,  0,  0, $03, 0 +	dbsprite  4,  2,  0,  0, $03, OAM_HFLIP +	dbsprite  4,  3,  0,  0, $13, OAM_HFLIP +	dbsprite  5,  1,  0,  0, $03, OAM_HFLIP +	dbsprite  5,  2,  0,  0, $13, OAM_HFLIP +	dbsprite  5,  3,  0,  0, $03, OAM_HFLIP +	dbsprite  6,  0,  0,  0, $03, OAM_HFLIP +	dbsprite  6,  1,  0,  0, $13, OAM_HFLIP +	dbsprite  6,  2,  0,  0, $03, OAM_HFLIP +	dbsprite  6,  3,  0,  0, $13, OAM_HFLIP  FrameBlock23:  	db 4 ; # -	db $00, $00, $0a, $00 -	db $00, $08, $0b, $00 -	db $08, $00, $1a, $00 -	db $08, $08, $1b, $00 +	dbsprite  0,  0,  0,  0, $0a, 0 +	dbsprite  1,  0,  0,  0, $0b, 0 +	dbsprite  0,  1,  0,  0, $1a, 0 +	dbsprite  1,  1,  0,  0, $1b, 0  FrameBlock24:  	db 2 ; # -	db $08, $00, $0a, $00 -	db $08, $08, $0b, $00 +	dbsprite  0,  1,  0,  0, $0a, 0 +	dbsprite  1,  1,  0,  0, $0b, 0  FrameBlock25:  	db 12 ; # -	db $10, $00, $0a, $00 -	db $10, $08, $0b, $00 -	db $18, $00, $1a, $00 -	db $18, $08, $1b, $00 -	db $00, $10, $0a, $00 -	db $00, $18, $0b, $00 -	db $08, $10, $1a, $00 -	db $08, $18, $1b, $00 -	db $08, $20, $0a, $00 -	db $08, $28, $0b, $00 -	db $10, $20, $1a, $00 -	db $10, $28, $1b, $00 +	dbsprite  0,  2,  0,  0, $0a, 0 +	dbsprite  1,  2,  0,  0, $0b, 0 +	dbsprite  0,  3,  0,  0, $1a, 0 +	dbsprite  1,  3,  0,  0, $1b, 0 +	dbsprite  2,  0,  0,  0, $0a, 0 +	dbsprite  3,  0,  0,  0, $0b, 0 +	dbsprite  2,  1,  0,  0, $1a, 0 +	dbsprite  3,  1,  0,  0, $1b, 0 +	dbsprite  4,  1,  0,  0, $0a, 0 +	dbsprite  5,  1,  0,  0, $0b, 0 +	dbsprite  4,  2,  0,  0, $1a, 0 +	dbsprite  5,  2,  0,  0, $1b, 0  FrameBlock26:  	db 4 ; # -	db $00, $10, $44, $00 -	db $00, $18, $44, $20 -	db $08, $10, $44, $40 -	db $08, $18, $44, $60 +	dbsprite  2,  0,  0,  0, $44, 0 +	dbsprite  3,  0,  0,  0, $44, OAM_HFLIP +	dbsprite  2,  1,  0,  0, $44, OAM_VFLIP +	dbsprite  3,  1,  0,  0, $44, OAM_HFLIP | OAM_VFLIP  FrameBlock27:  	db 5 ; # -	db $08, $08, $44, $00 -	db $08, $10, $44, $20 -	db $10, $08, $44, $40 -	db $10, $10, $44, $60 -	db $00, $18, $47, $00 +	dbsprite  1,  1,  0,  0, $44, 0 +	dbsprite  2,  1,  0,  0, $44, OAM_HFLIP +	dbsprite  1,  2,  0,  0, $44, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $44, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  0,  0,  0, $47, 0  FrameBlock28:  	db 6 ; # -	db $10, $00, $44, $00 -	db $10, $08, $44, $20 -	db $18, $00, $44, $40 -	db $18, $08, $44, $60 -	db $08, $10, $47, $00 -	db $02, $16, $47, $00 +	dbsprite  0,  2,  0,  0, $44, 0 +	dbsprite  1,  2,  0,  0, $44, OAM_HFLIP +	dbsprite  0,  3,  0,  0, $44, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $44, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  1,  0,  0, $47, 0 +	dbsprite  2,  0,  6,  2, $47, 0  FrameBlock29:  	db 4 ; # -	db $18, $00, $47, $00 -	db $12, $06, $47, $00 -	db $0c, $0c, $47, $00 -	db $06, $12, $47, $00 +	dbsprite  0,  3,  0,  0, $47, 0 +	dbsprite  0,  2,  6,  2, $47, 0 +	dbsprite  1,  1,  4,  4, $47, 0 +	dbsprite  2,  0,  2,  6, $47, 0  FrameBlock2a:  	db 4 ; # -	db $00, $00, $44, $00 -	db $00, $08, $44, $20 -	db $08, $00, $44, $40 -	db $08, $08, $44, $60 +	dbsprite  0,  0,  0,  0, $44, 0 +	dbsprite  1,  0,  0,  0, $44, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $44, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $44, OAM_HFLIP | OAM_VFLIP  FrameBlock2b:  	db 2 ; # -	db $06, $02, $47, $00 -	db $00, $08, $47, $00 +	dbsprite  0,  0,  2,  6, $47, 0 +	dbsprite  1,  0,  0,  0, $47, 0  FrameBlock2c:  	db 1 ; # -	db $a0, $00, $4d, $00 +	dbsprite  0, 20,  0,  0, $4d, 0  FrameBlock2d:  	db 8 ; # -	db $00, $00, $26, $00 -	db $00, $08, $27, $00 -	db $08, $00, $36, $00 -	db $08, $08, $37, $00 -	db $10, $00, $28, $00 -	db $10, $08, $29, $00 -	db $18, $00, $38, $00 -	db $18, $08, $39, $00 +	dbsprite  0,  0,  0,  0, $26, 0 +	dbsprite  1,  0,  0,  0, $27, 0 +	dbsprite  0,  1,  0,  0, $36, 0 +	dbsprite  1,  1,  0,  0, $37, 0 +	dbsprite  0,  2,  0,  0, $28, 0 +	dbsprite  1,  2,  0,  0, $29, 0 +	dbsprite  0,  3,  0,  0, $38, 0 +	dbsprite  1,  3,  0,  0, $39, 0  FrameBlock2e:  	db 8 ; # -	db $00, $00, $27, $20 -	db $00, $08, $26, $20 -	db $08, $00, $37, $20 -	db $08, $08, $36, $20 -	db $10, $00, $29, $20 -	db $10, $08, $28, $20 -	db $18, $00, $39, $20 -	db $18, $08, $38, $20 +	dbsprite  0,  0,  0,  0, $27, OAM_HFLIP +	dbsprite  1,  0,  0,  0, $26, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $37, OAM_HFLIP +	dbsprite  1,  1,  0,  0, $36, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $29, OAM_HFLIP +	dbsprite  1,  2,  0,  0, $28, OAM_HFLIP +	dbsprite  0,  3,  0,  0, $39, OAM_HFLIP +	dbsprite  1,  3,  0,  0, $38, OAM_HFLIP  FrameBlock2f:  	db 4 ; # -	db $00, $00, $0c, $00 -	db $00, $08, $0d, $00 -	db $08, $00, $0c, $40 -	db $08, $08, $0d, $40 +	dbsprite  0,  0,  0,  0, $0c, 0 +	dbsprite  1,  0,  0,  0, $0d, 0 +	dbsprite  0,  1,  0,  0, $0c, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $0d, OAM_VFLIP  FrameBlock30:  	db 4 ; # -	db $00, $00, $44, $00 -	db $00, $08, $44, $20 -	db $08, $00, $44, $40 -	db $08, $08, $44, $60 +	dbsprite  0,  0,  0,  0, $44, 0 +	dbsprite  1,  0,  0,  0, $44, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $44, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $44, OAM_HFLIP | OAM_VFLIP  FrameBlock31:  	db 1 ; # -	db $00, $00, $45, $00 +	dbsprite  0,  0,  0,  0, $45, 0  FrameBlock32:  	db 7 ; # -	db $00, $00, $4d, $00 -	db $00, $08, $2f, $00 -	db $00, $10, $4d, $20 -	db $08, $00, $4e, $00 -	db $08, $08, $07, $00 -	db $08, $10, $4e, $20 -	db $10, $08, $3f, $00 +	dbsprite  0,  0,  0,  0, $4d, 0 +	dbsprite  1,  0,  0,  0, $2f, 0 +	dbsprite  2,  0,  0,  0, $4d, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $4e, 0 +	dbsprite  1,  1,  0,  0, $07, 0 +	dbsprite  2,  1,  0,  0, $4e, OAM_HFLIP +	dbsprite  1,  2,  0,  0, $3f, 0  FrameBlock33:  	db 7 ; # -	db $00, $08, $3f, $40 -	db $08, $00, $4e, $40 -	db $08, $08, $07, $40 -	db $08, $10, $4e, $60 -	db $10, $00, $4d, $40 -	db $10, $08, $2f, $40 -	db $10, $10, $4d, $60 +	dbsprite  1,  0,  0,  0, $3f, OAM_VFLIP +	dbsprite  0,  1,  0,  0, $4e, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $07, OAM_VFLIP +	dbsprite  2,  1,  0,  0, $4e, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  2,  0,  0, $4d, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $2f, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $4d, OAM_HFLIP | OAM_VFLIP  FrameBlock34:  	db 1 ; # -	db $a0, $00, $00, $10 +	dbsprite  0, 20,  0,  0, $00, OAM_OBP1  FrameBlock35:  	db 6 ; # -	db $00, $00, $2a, $00 -	db $00, $08, $2b, $00 -	db $08, $00, $3a, $00 -	db $10, $00, $3a, $40 -	db $18, $00, $2a, $40 -	db $18, $08, $2b, $40 +	dbsprite  0,  0,  0,  0, $2a, 0 +	dbsprite  1,  0,  0,  0, $2b, 0 +	dbsprite  0,  1,  0,  0, $3a, 0 +	dbsprite  0,  2,  0,  0, $3a, OAM_VFLIP +	dbsprite  0,  3,  0,  0, $2a, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $2b, OAM_VFLIP  FrameBlock36:  	db 4 ; # -	db $00, $00, $00, $00 -	db $00, $08, $01, $00 -	db $08, $00, $10, $00 -	db $08, $08, $11, $00 +	dbsprite  0,  0,  0,  0, $00, 0 +	dbsprite  1,  0,  0,  0, $01, 0 +	dbsprite  0,  1,  0,  0, $10, 0 +	dbsprite  1,  1,  0,  0, $11, 0  FrameBlock37:  	db 4 ; # -	db $00, $00, $01, $a0 -	db $00, $08, $00, $a0 -	db $08, $00, $11, $a0 -	db $08, $08, $10, $a0 +	dbsprite  0,  0,  0,  0, $01, OAM_BEHIND_BG | OAM_HFLIP +	dbsprite  1,  0,  0,  0, $00, OAM_BEHIND_BG | OAM_HFLIP +	dbsprite  0,  1,  0,  0, $11, OAM_BEHIND_BG | OAM_HFLIP +	dbsprite  1,  1,  0,  0, $10, OAM_BEHIND_BG | OAM_HFLIP  FrameBlock38:  	db 4 ; # -	db $00, $00, $0a, $00 -	db $00, $08, $0b, $00 -	db $08, $00, $1a, $00 -	db $08, $08, $1b, $00 +	dbsprite  0,  0,  0,  0, $0a, 0 +	dbsprite  1,  0,  0,  0, $0b, 0 +	dbsprite  0,  1,  0,  0, $1a, 0 +	dbsprite  1,  1,  0,  0, $1b, 0  FrameBlock39:  	db 4 ; # -	db $00, $00, $0b, $20 -	db $00, $08, $0a, $20 -	db $08, $00, $1b, $20 -	db $08, $08, $1a, $20 +	dbsprite  0,  0,  0,  0, $0b, OAM_HFLIP +	dbsprite  1,  0,  0,  0, $0a, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $1b, OAM_HFLIP +	dbsprite  1,  1,  0,  0, $1a, OAM_HFLIP  FrameBlock3a:  	db 4 ; # -	db $20, $00, $05, $00 -	db $20, $08, $05, $20 -	db $28, $00, $15, $00 -	db $28, $08, $15, $20 +	dbsprite  0,  4,  0,  0, $05, 0 +	dbsprite  1,  4,  0,  0, $05, OAM_HFLIP +	dbsprite  0,  5,  0,  0, $15, 0 +	dbsprite  1,  5,  0,  0, $15, OAM_HFLIP  FrameBlock3b:  	db 5 ; # -	db $18, $00, $04, $00 -	db $18, $08, $04, $20 -	db $20, $00, $14, $00 -	db $20, $08, $14, $20 -	db $28, $04, $41, $00 +	dbsprite  0,  3,  0,  0, $04, 0 +	dbsprite  1,  3,  0,  0, $04, OAM_HFLIP +	dbsprite  0,  4,  0,  0, $14, 0 +	dbsprite  1,  4,  0,  0, $14, OAM_HFLIP +	dbsprite  0,  5,  4,  0, $41, 0  FrameBlock3c:  	db 6 ; # -	db $10, $00, $05, $00 -	db $10, $08, $05, $20 -	db $18, $00, $15, $00 -	db $18, $08, $15, $20 -	db $20, $04, $42, $00 -	db $28, $04, $42, $00 +	dbsprite  0,  2,  0,  0, $05, 0 +	dbsprite  1,  2,  0,  0, $05, OAM_HFLIP +	dbsprite  0,  3,  0,  0, $15, 0 +	dbsprite  1,  3,  0,  0, $15, OAM_HFLIP +	dbsprite  0,  4,  4,  0, $42, 0 +	dbsprite  0,  5,  4,  0, $42, 0  FrameBlock3d:  	db 7 ; # -	db $08, $00, $04, $00 -	db $08, $08, $04, $20 -	db $10, $00, $14, $00 -	db $10, $08, $14, $20 -	db $18, $04, $41, $00 -	db $20, $04, $41, $00 -	db $28, $04, $41, $00 +	dbsprite  0,  1,  0,  0, $04, 0 +	dbsprite  1,  1,  0,  0, $04, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $14, 0 +	dbsprite  1,  2,  0,  0, $14, OAM_HFLIP +	dbsprite  0,  3,  4,  0, $41, 0 +	dbsprite  0,  4,  4,  0, $41, 0 +	dbsprite  0,  5,  4,  0, $41, 0  FrameBlock3e:  	db 8 ; # -	db $00, $00, $05, $00 -	db $00, $08, $05, $20 -	db $08, $00, $15, $00 -	db $08, $08, $15, $20 -	db $10, $04, $42, $00 -	db $18, $04, $42, $00 -	db $20, $04, $42, $00 -	db $28, $04, $42, $00 +	dbsprite  0,  0,  0,  0, $05, 0 +	dbsprite  1,  0,  0,  0, $05, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $15, 0 +	dbsprite  1,  1,  0,  0, $15, OAM_HFLIP +	dbsprite  0,  2,  4,  0, $42, 0 +	dbsprite  0,  3,  4,  0, $42, 0 +	dbsprite  0,  4,  4,  0, $42, 0 +	dbsprite  0,  5,  4,  0, $42, 0  FrameBlock3f:  	db 8 ; # -	db $00, $00, $04, $00 -	db $00, $08, $04, $20 -	db $08, $00, $14, $00 -	db $08, $08, $14, $20 -	db $10, $04, $41, $00 -	db $18, $04, $41, $00 -	db $20, $04, $41, $00 -	db $28, $04, $41, $00 +	dbsprite  0,  0,  0,  0, $04, 0 +	dbsprite  1,  0,  0,  0, $04, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $14, 0 +	dbsprite  1,  1,  0,  0, $14, OAM_HFLIP +	dbsprite  0,  2,  4,  0, $41, 0 +	dbsprite  0,  3,  4,  0, $41, 0 +	dbsprite  0,  4,  4,  0, $41, 0 +	dbsprite  0,  5,  4,  0, $41, 0  FrameBlock40:  	db 3 ; # -	db $00, $00, $3d, $00 -	db $00, $08, $3d, $00 -	db $08, $08, $3d, $00 +	dbsprite  0,  0,  0,  0, $3d, 0 +	dbsprite  1,  0,  0,  0, $3d, 0 +	dbsprite  1,  1,  0,  0, $3d, 0  FrameBlock41:  	db 4 ; # -	db $00, $00, $06, $00 -	db $00, $08, $06, $20 -	db $08, $00, $16, $00 -	db $08, $08, $17, $00 +	dbsprite  0,  0,  0,  0, $06, 0 +	dbsprite  1,  0,  0,  0, $06, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $16, 0 +	dbsprite  1,  1,  0,  0, $17, 0  FrameBlock42:  	db 11 ; # -	db $00, $10, $42, $00 -	db $08, $00, $42, $00 -	db $08, $08, $42, $00 -	db $08, $10, $42, $00 -	db $08, $18, $42, $00 -	db $08, $20, $42, $00 -	db $10, $10, $42, $00 -	db $18, $08, $42, $00 -	db $18, $18, $42, $00 -	db $20, $00, $42, $00 -	db $20, $20, $42, $00 +	dbsprite  2,  0,  0,  0, $42, 0 +	dbsprite  0,  1,  0,  0, $42, 0 +	dbsprite  1,  1,  0,  0, $42, 0 +	dbsprite  2,  1,  0,  0, $42, 0 +	dbsprite  3,  1,  0,  0, $42, 0 +	dbsprite  4,  1,  0,  0, $42, 0 +	dbsprite  2,  2,  0,  0, $42, 0 +	dbsprite  1,  3,  0,  0, $42, 0 +	dbsprite  3,  3,  0,  0, $42, 0 +	dbsprite  0,  4,  0,  0, $42, 0 +	dbsprite  4,  4,  0,  0, $42, 0  FrameBlock43:  	db 11 ; # -	db $00, $10, $41, $00 -	db $08, $00, $41, $00 -	db $08, $08, $41, $00 -	db $08, $10, $41, $00 -	db $08, $18, $41, $00 -	db $08, $20, $41, $00 -	db $10, $10, $41, $00 -	db $18, $08, $41, $00 -	db $18, $18, $41, $00 -	db $20, $00, $41, $00 -	db $20, $20, $41, $00 +	dbsprite  2,  0,  0,  0, $41, 0 +	dbsprite  0,  1,  0,  0, $41, 0 +	dbsprite  1,  1,  0,  0, $41, 0 +	dbsprite  2,  1,  0,  0, $41, 0 +	dbsprite  3,  1,  0,  0, $41, 0 +	dbsprite  4,  1,  0,  0, $41, 0 +	dbsprite  2,  2,  0,  0, $41, 0 +	dbsprite  1,  3,  0,  0, $41, 0 +	dbsprite  3,  3,  0,  0, $41, 0 +	dbsprite  0,  4,  0,  0, $41, 0 +	dbsprite  4,  4,  0,  0, $41, 0  FrameBlock44:  	db 4 ; # -	db $00, $00, $49, $00 -	db $00, $28, $49, $00 -	db $28, $00, $49, $00 -	db $28, $28, $49, $00 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  5,  0,  0,  0, $49, 0 +	dbsprite  0,  5,  0,  0, $49, 0 +	dbsprite  5,  5,  0,  0, $49, 0  FrameBlock45:  	db 4 ; # -	db $00, $00, $49, $00 -	db $00, $18, $49, $00 -	db $18, $00, $49, $00 -	db $18, $18, $49, $00 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  3,  0,  0,  0, $49, 0 +	dbsprite  0,  3,  0,  0, $49, 0 +	dbsprite  3,  3,  0,  0, $49, 0  FrameBlock46:  	db 4 ; # -	db $00, $00, $49, $00 -	db $00, $08, $49, $00 -	db $08, $00, $49, $00 -	db $08, $08, $49, $00 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  1,  0,  0,  0, $49, 0 +	dbsprite  0,  1,  0,  0, $49, 0 +	dbsprite  1,  1,  0,  0, $49, 0  FrameBlock47:  	db 4 ; # -	db $00, $00, $43, $00 -	db $00, $08, $43, $20 -	db $08, $00, $43, $40 -	db $08, $08, $43, $60 +	dbsprite  0,  0,  0,  0, $43, 0 +	dbsprite  1,  0,  0,  0, $43, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $43, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $43, OAM_HFLIP | OAM_VFLIP  SmallBlackCircleFrameBlock:  	db 4 ; # -	db $08, $08, $33, $00 -	db $08, $10, $33, $20 -	db $10, $08, $33, $40 -	db $10, $10, $33, $60 +	dbsprite  1,  1,  0,  0, $33, 0 +	dbsprite  2,  1,  0,  0, $33, OAM_HFLIP +	dbsprite  1,  2,  0,  0, $33, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $33, OAM_HFLIP | OAM_VFLIP  LargeBlackCircleFrameBlock:  	db 16 ; # -	db $00, $00, $22, $00 -	db $00, $08, $23, $00 -	db $00, $10, $23, $20 -	db $00, $18, $22, $20 -	db $08, $00, $32, $00 -	db $08, $08, $43, $00 -	db $08, $10, $43, $20 -	db $08, $18, $32, $20 -	db $10, $00, $32, $40 -	db $10, $08, $43, $40 -	db $10, $10, $43, $60 -	db $10, $18, $32, $60 -	db $18, $00, $22, $40 -	db $18, $08, $23, $40 -	db $18, $10, $23, $60 -	db $18, $18, $22, $60 +	dbsprite  0,  0,  0,  0, $22, 0 +	dbsprite  1,  0,  0,  0, $23, 0 +	dbsprite  2,  0,  0,  0, $23, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $22, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $32, 0 +	dbsprite  1,  1,  0,  0, $43, 0 +	dbsprite  2,  1,  0,  0, $43, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $32, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $32, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $43, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  2,  0,  0, $32, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  3,  0,  0, $22, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $23, OAM_VFLIP +	dbsprite  2,  3,  0,  0, $23, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  3,  0,  0, $22, OAM_HFLIP | OAM_VFLIP  FrameBlock71:  	db 16 ; # -	db $00, $00, $22, $00 -	db $00, $08, $3b, $00 -	db $00, $10, $23, $20 -	db $00, $18, $22, $20 -	db $08, $00, $32, $00 -	db $08, $08, $43, $00 -	db $08, $10, $43, $20 -	db $08, $18, $32, $20 -	db $10, $00, $32, $40 -	db $10, $08, $43, $40 -	db $10, $10, $43, $60 -	db $10, $18, $32, $60 -	db $18, $00, $22, $40 -	db $18, $08, $23, $40 -	db $18, $10, $23, $60 -	db $18, $18, $22, $60 +	dbsprite  0,  0,  0,  0, $22, 0 +	dbsprite  1,  0,  0,  0, $3b, 0 +	dbsprite  2,  0,  0,  0, $23, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $22, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $32, 0 +	dbsprite  1,  1,  0,  0, $43, 0 +	dbsprite  2,  1,  0,  0, $43, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $32, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $32, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $43, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  2,  0,  0, $32, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  3,  0,  0, $22, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $23, OAM_VFLIP +	dbsprite  2,  3,  0,  0, $23, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  3,  0,  0, $22, OAM_HFLIP | OAM_VFLIP  FrameBlock72:  	db 12 ; # -	db $00, $00, $32, $00 -	db $00, $08, $43, $00 -	db $00, $10, $43, $20 -	db $00, $18, $32, $20 -	db $08, $00, $32, $40 -	db $08, $08, $43, $40 -	db $08, $10, $43, $60 -	db $08, $18, $32, $60 -	db $10, $00, $22, $40 -	db $10, $08, $23, $40 -	db $10, $10, $23, $60 -	db $10, $18, $22, $60 +	dbsprite  0,  0,  0,  0, $32, 0 +	dbsprite  1,  0,  0,  0, $43, 0 +	dbsprite  2,  0,  0,  0, $43, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $32, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $32, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $43, OAM_VFLIP +	dbsprite  2,  1,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  1,  0,  0, $32, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  2,  0,  0, $22, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $23, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $23, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  2,  0,  0, $22, OAM_HFLIP | OAM_VFLIP  FrameBlock73:  	db 8 ; # -	db $00, $00, $32, $40 -	db $00, $08, $43, $40 -	db $00, $10, $43, $60 -	db $00, $18, $32, $60 -	db $08, $00, $22, $40 -	db $08, $08, $23, $40 -	db $08, $10, $23, $60 -	db $08, $18, $22, $60 +	dbsprite  0,  0,  0,  0, $32, OAM_VFLIP +	dbsprite  1,  0,  0,  0, $43, OAM_VFLIP +	dbsprite  2,  0,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  0,  0,  0, $32, OAM_HFLIP | OAM_VFLIP +	dbsprite  0,  1,  0,  0, $22, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $23, OAM_VFLIP +	dbsprite  2,  1,  0,  0, $23, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  1,  0,  0, $22, OAM_HFLIP | OAM_VFLIP  FrameBlock74:  	db 4 ; # -	db $00, $00, $22, $40 -	db $00, $08, $23, $40 -	db $00, $10, $23, $60 -	db $00, $18, $22, $60 +	dbsprite  0,  0,  0,  0, $22, OAM_VFLIP +	dbsprite  1,  0,  0,  0, $23, OAM_VFLIP +	dbsprite  2,  0,  0,  0, $23, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  0,  0,  0, $22, OAM_HFLIP | OAM_VFLIP  FrameBlock4a:  	db 4 ; # -	db $08, $18, $4c, $20 -	db $20, $08, $4b, $00 -	db $30, $20, $4c, $00 -	db $18, $30, $4b, $40 +	dbsprite  3,  1,  0,  0, $4c, OAM_HFLIP +	dbsprite  1,  4,  0,  0, $4b, 0 +	dbsprite  4,  6,  0,  0, $4c, 0 +	dbsprite  6,  3,  0,  0, $4b, OAM_VFLIP  FrameBlock4b:  	db 4 ; # -	db $00, $18, $4c, $00 -	db $20, $00, $4b, $40 -	db $38, $20, $4c, $20 -	db $18, $38, $4b, $00 +	dbsprite  3,  0,  0,  0, $4c, 0 +	dbsprite  0,  4,  0,  0, $4b, OAM_VFLIP +	dbsprite  4,  7,  0,  0, $4c, OAM_HFLIP +	dbsprite  7,  3,  0,  0, $4b, 0  FrameBlock4c:  	db 4 ; # -	db $10, $08, $4a, $40 -	db $30, $10, $4a, $00 -	db $28, $30, $4a, $20 -	db $08, $28, $4a, $60 +	dbsprite  1,  2,  0,  0, $4a, OAM_VFLIP +	dbsprite  2,  6,  0,  0, $4a, 0 +	dbsprite  6,  5,  0,  0, $4a, OAM_HFLIP +	dbsprite  5,  1,  0,  0, $4a, OAM_HFLIP | OAM_VFLIP  FrameBlock4d:  	db 4 ; # -	db $08, $00, $4a, $20 -	db $38, $08, $4a, $60 -	db $30, $38, $4a, $40 -	db $00, $30, $4a, $00 +	dbsprite  0,  1,  0,  0, $4a, OAM_HFLIP +	dbsprite  1,  7,  0,  0, $4a, OAM_HFLIP | OAM_VFLIP +	dbsprite  7,  6,  0,  0, $4a, OAM_VFLIP +	dbsprite  6,  0,  0,  0, $4a, 0  FrameBlock4e:  	db 8 ; # -	db $00, $30, $44, $00 -	db $00, $38, $44, $20 -	db $08, $30, $44, $40 -	db $08, $38, $44, $60 -	db $26, $0a, $44, $00 -	db $26, $12, $44, $20 -	db $2e, $0a, $44, $40 -	db $2e, $12, $44, $60 +	dbsprite  6,  0,  0,  0, $44, 0 +	dbsprite  7,  0,  0,  0, $44, OAM_HFLIP +	dbsprite  6,  1,  0,  0, $44, OAM_VFLIP +	dbsprite  7,  1,  0,  0, $44, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  4,  2,  6, $44, 0 +	dbsprite  2,  4,  2,  6, $44, OAM_HFLIP +	dbsprite  1,  5,  2,  6, $44, OAM_VFLIP +	dbsprite  2,  5,  2,  6, $44, OAM_HFLIP | OAM_VFLIP  FrameBlock4f:  	db 12 ; # -	db $0e, $22, $44, $00 -	db $0e, $2a, $44, $20 -	db $16, $22, $44, $40 -	db $16, $2a, $44, $60 -	db $06, $32, $47, $00 -	db $00, $38, $47, $00 -	db $1a, $16, $44, $00 -	db $1a, $1e, $44, $20 -	db $22, $16, $44, $40 -	db $22, $1e, $44, $60 -	db $30, $08, $47, $00 -	db $2a, $0e, $47, $00 +	dbsprite  4,  1,  2,  6, $44, 0 +	dbsprite  5,  1,  2,  6, $44, OAM_HFLIP +	dbsprite  4,  2,  2,  6, $44, OAM_VFLIP +	dbsprite  5,  2,  2,  6, $44, OAM_HFLIP | OAM_VFLIP +	dbsprite  6,  0,  2,  6, $47, 0 +	dbsprite  7,  0,  0,  0, $47, 0 +	dbsprite  2,  3,  6,  2, $44, 0 +	dbsprite  3,  3,  6,  2, $44, OAM_HFLIP +	dbsprite  2,  4,  6,  2, $44, OAM_VFLIP +	dbsprite  3,  4,  6,  2, $44, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  6,  0,  0, $47, 0 +	dbsprite  1,  5,  6,  2, $47, 0  FrameBlock50:  	db 8 ; # -	db $06, $32, $47, $00 -	db $00, $38, $47, $00 -	db $12, $26, $47, $00 -	db $0c, $2c, $47, $00 -	db $1e, $1a, $47, $00 -	db $18, $20, $47, $00 -	db $2a, $0e, $47, $00 -	db $24, $14, $47, $00 +	dbsprite  6,  0,  2,  6, $47, 0 +	dbsprite  7,  0,  0,  0, $47, 0 +	dbsprite  4,  2,  6,  2, $47, 0 +	dbsprite  5,  1,  4,  4, $47, 0 +	dbsprite  3,  3,  2,  6, $47, 0 +	dbsprite  4,  3,  0,  0, $47, 0 +	dbsprite  1,  5,  6,  2, $47, 0 +	dbsprite  2,  4,  4,  4, $47, 0  FrameBlock51:  	db 8 ; # -	db $00, $00, $35, $20 -	db $08, $00, $35, $40 -	db $10, $00, $35, $00 -	db $18, $00, $35, $60 -	db $00, $40, $35, $00 -	db $08, $40, $35, $60 -	db $10, $40, $35, $20 -	db $18, $40, $35, $40 +	dbsprite  0,  0,  0,  0, $35, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $35, OAM_VFLIP +	dbsprite  0,  2,  0,  0, $35, 0 +	dbsprite  0,  3,  0,  0, $35, OAM_HFLIP | OAM_VFLIP +	dbsprite  8,  0,  0,  0, $35, 0 +	dbsprite  8,  1,  0,  0, $35, OAM_HFLIP | OAM_VFLIP +	dbsprite  8,  2,  0,  0, $35, OAM_HFLIP +	dbsprite  8,  3,  0,  0, $35, OAM_VFLIP  FrameBlock52:  	db 4 ; # -	db $00, $00, $2a, $00 -	db $00, $08, $2b, $00 -	db $08, $00, $3a, $00 -	db $08, $08, $3b, $00 +	dbsprite  0,  0,  0,  0, $2a, 0 +	dbsprite  1,  0,  0,  0, $2b, 0 +	dbsprite  0,  1,  0,  0, $3a, 0 +	dbsprite  1,  1,  0,  0, $3b, 0  FrameBlock53:  	db 3 ; # -	db $00, $00, $3f, $00 -	db $00, $08, $3f, $00 -	db $08, $06, $3f, $00 +	dbsprite  0,  0,  0,  0, $3f, 0 +	dbsprite  1,  0,  0,  0, $3f, 0 +	dbsprite  0,  1,  6,  0, $3f, 0  FrameBlock54:  	db 4 ; # -	db $00, $00, $0e, $00 -	db $00, $08, $0e, $20 -	db $08, $00, $0f, $00 -	db $08, $08, $0f, $20 +	dbsprite  0,  0,  0,  0, $0e, 0 +	dbsprite  1,  0,  0,  0, $0e, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $0f, 0 +	dbsprite  1,  1,  0,  0, $0f, OAM_HFLIP  FrameBlock55:  	db 3 ; # -	db $10, $00, $2c, $00 -	db $10, $08, $3c, $00 -	db $10, $10, $2d, $00 +	dbsprite  0,  2,  0,  0, $2c, 0 +	dbsprite  1,  2,  0,  0, $3c, 0 +	dbsprite  2,  2,  0,  0, $2d, 0  FrameBlock56:  	db 6 ; # -	db $10, $10, $31, $00 -	db $10, $18, $31, $00 -	db $08, $10, $2c, $00 -	db $08, $18, $3c, $00 -	db $08, $20, $2d, $00 -	db $10, $20, $2d, $00 +	dbsprite  2,  2,  0,  0, $31, 0 +	dbsprite  3,  2,  0,  0, $31, 0 +	dbsprite  2,  1,  0,  0, $2c, 0 +	dbsprite  3,  1,  0,  0, $3c, 0 +	dbsprite  4,  1,  0,  0, $2d, 0 +	dbsprite  4,  2,  0,  0, $2d, 0  FrameBlock57:  	db 9 ; # -	db $08, $20, $31, $00 -	db $10, $20, $31, $00 -	db $08, $28, $31, $00 -	db $10, $28, $31, $00 -	db $00, $20, $2c, $00 -	db $00, $28, $3c, $00 -	db $00, $30, $2d, $00 -	db $08, $30, $2d, $00 -	db $10, $30, $2d, $00 +	dbsprite  4,  1,  0,  0, $31, 0 +	dbsprite  4,  2,  0,  0, $31, 0 +	dbsprite  5,  1,  0,  0, $31, 0 +	dbsprite  5,  2,  0,  0, $31, 0 +	dbsprite  4,  0,  0,  0, $2c, 0 +	dbsprite  5,  0,  0,  0, $3c, 0 +	dbsprite  6,  0,  0,  0, $2d, 0 +	dbsprite  6,  1,  0,  0, $2d, 0 +	dbsprite  6,  2,  0,  0, $2d, 0  FrameBlock58:  	db 7 ; # -	db $00, $00, $46, $00 -	db $08, $02, $47, $00 -	db $10, $03, $48, $00 -	db $18, $04, $48, $00 -	db $20, $05, $48, $00 -	db $28, $05, $48, $00 -	db $30, $05, $48, $00 +	dbsprite  0,  0,  0,  0, $46, 0 +	dbsprite  0,  1,  2,  0, $47, 0 +	dbsprite  0,  2,  3,  0, $48, 0 +	dbsprite  0,  3,  4,  0, $48, 0 +	dbsprite  0,  4,  5,  0, $48, 0 +	dbsprite  0,  5,  5,  0, $48, 0 +	dbsprite  0,  6,  5,  0, $48, 0  FrameBlock59:  	db 1 ; # -	db $00, $00, $42, $00 +	dbsprite  0,  0,  0,  0, $42, 0  FrameBlock5a:  	db 12 ; # -	db $00, $00, $24, $00 -	db $00, $08, $25, $00 -	db $08, $00, $34, $00 -	db $00, $10, $25, $20 -	db $00, $18, $24, $20 -	db $08, $18, $34, $20 -	db $10, $00, $34, $40 -	db $18, $00, $24, $40 -	db $18, $08, $25, $40 -	db $10, $18, $34, $60 -	db $18, $10, $25, $60 -	db $18, $18, $24, $60 +	dbsprite  0,  0,  0,  0, $24, 0 +	dbsprite  1,  0,  0,  0, $25, 0 +	dbsprite  0,  1,  0,  0, $34, 0 +	dbsprite  2,  0,  0,  0, $25, OAM_HFLIP +	dbsprite  3,  0,  0,  0, $24, OAM_HFLIP +	dbsprite  3,  1,  0,  0, $34, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $34, OAM_VFLIP +	dbsprite  0,  3,  0,  0, $24, OAM_VFLIP +	dbsprite  1,  3,  0,  0, $25, OAM_VFLIP +	dbsprite  3,  2,  0,  0, $34, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  3,  0,  0, $25, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  3,  0,  0, $24, OAM_HFLIP | OAM_VFLIP  FrameBlock5b:  	db 4 ; # -	db $00, $00, $43, $00 -	db $00, $08, $43, $20 -	db $08, $00, $43, $40 -	db $08, $08, $43, $60 +	dbsprite  0,  0,  0,  0, $43, 0 +	dbsprite  1,  0,  0,  0, $43, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $43, OAM_VFLIP +	dbsprite  1,  1,  0,  0, $43, OAM_HFLIP | OAM_VFLIP  FrameBlock5c:  	db 8 ; # -	db $00, $00, $49, $00 -	db $02, $08, $49, $00 -	db $18, $00, $49, $00 -	db $10, $10, $49, $00 -	db $08, $00, $43, $00 -	db $08, $08, $43, $20 -	db $10, $00, $43, $40 -	db $10, $08, $43, $60 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  1,  0,  0,  2, $49, 0 +	dbsprite  0,  3,  0,  0, $49, 0 +	dbsprite  2,  2,  0,  0, $49, 0 +	dbsprite  0,  1,  0,  0, $43, 0 +	dbsprite  1,  1,  0,  0, $43, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $43, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $43, OAM_HFLIP | OAM_VFLIP  FrameBlock5d:  	db 11 ; # -	db $00, $00, $49, $00 -	db $18, $02, $49, $00 -	db $14, $10, $49, $00 -	db $08, $00, $43, $00 -	db $00, $08, $43, $20 -	db $10, $00, $43, $40 -	db $10, $08, $43, $60 -	db $04, $08, $43, $00 -	db $04, $10, $43, $20 -	db $0c, $08, $43, $40 -	db $0c, $10, $43, $60 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  0,  3,  2,  0, $49, 0 +	dbsprite  2,  2,  0,  4, $49, 0 +	dbsprite  0,  1,  0,  0, $43, 0 +	dbsprite  1,  0,  0,  0, $43, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $43, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  0,  0,  4, $43, 0 +	dbsprite  2,  0,  0,  4, $43, OAM_HFLIP +	dbsprite  1,  1,  0,  4, $43, OAM_VFLIP +	dbsprite  2,  1,  0,  4, $43, OAM_HFLIP | OAM_VFLIP  FrameBlock5e:  	db 15 ; # -	db $00, $08, $49, $00 -	db $08, $10, $49, $00 -	db $20, $00, $49, $00 -	db $08, $00, $43, $00 -	db $08, $08, $43, $20 -	db $10, $00, $43, $40 -	db $10, $08, $43, $60 -	db $10, $10, $43, $00 -	db $10, $18, $43, $20 -	db $18, $10, $43, $40 -	db $18, $18, $43, $60 -	db $20, $08, $43, $00 -	db $20, $10, $43, $20 -	db $28, $08, $43, $40 -	db $28, $10, $43, $60 +	dbsprite  1,  0,  0,  0, $49, 0 +	dbsprite  2,  1,  0,  0, $49, 0 +	dbsprite  0,  4,  0,  0, $49, 0 +	dbsprite  0,  1,  0,  0, $43, 0 +	dbsprite  1,  1,  0,  0, $43, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $43, OAM_VFLIP +	dbsprite  1,  2,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  2,  0,  0, $43, 0 +	dbsprite  3,  2,  0,  0, $43, OAM_HFLIP +	dbsprite  2,  3,  0,  0, $43, OAM_VFLIP +	dbsprite  3,  3,  0,  0, $43, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  4,  0,  0, $43, 0 +	dbsprite  2,  4,  0,  0, $43, OAM_HFLIP +	dbsprite  1,  5,  0,  0, $43, OAM_VFLIP +	dbsprite  2,  5,  0,  0, $43, OAM_HFLIP | OAM_VFLIP  FrameBlock5f:  	db 4 ; # -	db $00, $00, $49, $00 -	db $00, $10, $49, $00 -	db $00, $20, $49, $00 -	db $00, $30, $49, $00 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  2,  0,  0,  0, $49, 0 +	dbsprite  4,  0,  0,  0, $49, 0 +	dbsprite  6,  0,  0,  0, $49, 0  FrameBlock60:  	db 8 ; # -	db $00, $00, $49, $00 -	db $00, $10, $49, $00 -	db $00, $20, $49, $00 -	db $00, $30, $49, $00 -	db $08, $08, $49, $00 -	db $08, $18, $49, $00 -	db $08, $28, $49, $00 -	db $08, $38, $49, $00 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  2,  0,  0,  0, $49, 0 +	dbsprite  4,  0,  0,  0, $49, 0 +	dbsprite  6,  0,  0,  0, $49, 0 +	dbsprite  1,  1,  0,  0, $49, 0 +	dbsprite  3,  1,  0,  0, $49, 0 +	dbsprite  5,  1,  0,  0, $49, 0 +	dbsprite  7,  1,  0,  0, $49, 0  FrameBlock61:  	db 12 ; # -	db $00, $00, $49, $00 -	db $00, $10, $49, $00 -	db $00, $20, $49, $00 -	db $00, $30, $49, $00 -	db $08, $08, $49, $00 -	db $08, $18, $49, $00 -	db $08, $28, $49, $00 -	db $08, $38, $49, $00 -	db $10, $00, $49, $00 -	db $10, $10, $49, $00 -	db $10, $20, $49, $00 -	db $10, $30, $49, $00 +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  2,  0,  0,  0, $49, 0 +	dbsprite  4,  0,  0,  0, $49, 0 +	dbsprite  6,  0,  0,  0, $49, 0 +	dbsprite  1,  1,  0,  0, $49, 0 +	dbsprite  3,  1,  0,  0, $49, 0 +	dbsprite  5,  1,  0,  0, $49, 0 +	dbsprite  7,  1,  0,  0, $49, 0 +	dbsprite  0,  2,  0,  0, $49, 0 +	dbsprite  2,  2,  0,  0, $49, 0 +	dbsprite  4,  2,  0,  0, $49, 0 +	dbsprite  6,  2,  0,  0, $49, 0  FrameBlock62:  	db 15 ; # -	db $00, $00, $49, $00 -	db $00, $10, $49, $00 -	db $00, $20, $49, $00 -	db $00, $30, $49, $00 -	db $08, $08, $49, $00 -	db $08, $18, $49, $00 -	db $08, $28, $49, $00 -	db $08, $38, $49, $00 -	db $10, $00, $49, $00 -	db $10, $10, $49, $00 -	db $10, $20, $49, $00 -	db $10, $30, $49, $00 -	db $18, $08, $49, $00 -	db $18, $18, $49, $00 -	db $18, $28, $49, $00 -	db $18, $38, $49, $00 ; unused +	dbsprite  0,  0,  0,  0, $49, 0 +	dbsprite  2,  0,  0,  0, $49, 0 +	dbsprite  4,  0,  0,  0, $49, 0 +	dbsprite  6,  0,  0,  0, $49, 0 +	dbsprite  1,  1,  0,  0, $49, 0 +	dbsprite  3,  1,  0,  0, $49, 0 +	dbsprite  5,  1,  0,  0, $49, 0 +	dbsprite  7,  1,  0,  0, $49, 0 +	dbsprite  0,  2,  0,  0, $49, 0 +	dbsprite  2,  2,  0,  0, $49, 0 +	dbsprite  4,  2,  0,  0, $49, 0 +	dbsprite  6,  2,  0,  0, $49, 0 +	dbsprite  1,  3,  0,  0, $49, 0 +	dbsprite  3,  3,  0,  0, $49, 0 +	dbsprite  5,  3,  0,  0, $49, 0 +	dbsprite  7,  3,  0,  0, $49, 0  FrameBlock63:  	db 6 ; # -	db $10, $00, $26, $00 -	db $10, $08, $27, $00 -	db $08, $10, $26, $00 -	db $08, $18, $27, $00 -	db $00, $20, $26, $00 -	db $00, $28, $27, $00 +	dbsprite  0,  2,  0,  0, $26, 0 +	dbsprite  1,  2,  0,  0, $27, 0 +	dbsprite  2,  1,  0,  0, $26, 0 +	dbsprite  3,  1,  0,  0, $27, 0 +	dbsprite  4,  0,  0,  0, $26, 0 +	dbsprite  5,  0,  0,  0, $27, 0  FrameBlock64:  	db 6 ; # -	db $18, $00, $27, $00 -	db $10, $08, $26, $00 -	db $10, $10, $27, $00 -	db $08, $18, $26, $00 -	db $08, $20, $27, $00 -	db $00, $28, $26, $00 +	dbsprite  0,  3,  0,  0, $27, 0 +	dbsprite  1,  2,  0,  0, $26, 0 +	dbsprite  2,  2,  0,  0, $27, 0 +	dbsprite  3,  1,  0,  0, $26, 0 +	dbsprite  4,  1,  0,  0, $27, 0 +	dbsprite  5,  0,  0,  0, $26, 0  FrameBlock65:  	db 6 ; # -	db $00, $00, $1c, $00 -	db $00, $08, $1d, $00 -	db $10, $00, $1c, $00 -	db $10, $08, $1d, $00 -	db $20, $00, $1c, $00 -	db $20, $08, $1d, $00 +	dbsprite  0,  0,  0,  0, $1c, 0 +	dbsprite  1,  0,  0,  0, $1d, 0 +	dbsprite  0,  2,  0,  0, $1c, 0 +	dbsprite  1,  2,  0,  0, $1d, 0 +	dbsprite  0,  4,  0,  0, $1c, 0 +	dbsprite  1,  4,  0,  0, $1d, 0  FrameBlock66:  	db 2 ; # -	db $00, $00, $03, $00 -	db $08, $00, $13, $00 +	dbsprite  0,  0,  0,  0, $03, 0 +	dbsprite  0,  1,  0,  0, $13, 0  FrameBlock67:  	db 1 ; # -	db $00, $00, $03, $00 +	dbsprite  0,  0,  0,  0, $03, 0  FrameBlock68:  	db 4 ; # -	db $00, $00, $03, $00 -	db $00, $08, $03, $20 -	db $08, $00, $13, $00 -	db $08, $08, $13, $20 +	dbsprite  0,  0,  0,  0, $03, 0 +	dbsprite  1,  0,  0,  0, $03, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $13, 0 +	dbsprite  1,  1,  0,  0, $13, OAM_HFLIP  FrameBlock69:  	db 1 ; # -	db $00, $00, $06, $00 +	dbsprite  0,  0,  0,  0, $06, 0  FrameBlock6a:  	db 8 ; # -	db $00, $00, $2e, $00 -	db $00, $30, $2e, $20 -	db $30, $00, $2e, $40 -	db $30, $30, $2e, $60 -	db $00, $18, $2f, $00 -	db $30, $18, $2f, $40 -	db $18, $00, $3e, $00 -	db $18, $30, $3e, $20 +	dbsprite  0,  0,  0,  0, $2e, 0 +	dbsprite  6,  0,  0,  0, $2e, OAM_HFLIP +	dbsprite  0,  6,  0,  0, $2e, OAM_VFLIP +	dbsprite  6,  6,  0,  0, $2e, OAM_HFLIP | OAM_VFLIP +	dbsprite  3,  0,  0,  0, $2f, 0 +	dbsprite  3,  6,  0,  0, $2f, OAM_VFLIP +	dbsprite  0,  3,  0,  0, $3e, 0 +	dbsprite  6,  3,  0,  0, $3e, OAM_HFLIP  FrameBlock6b:  	db 8 ; # -	db $00, $00, $2e, $00 -	db $00, $20, $2e, $20 -	db $20, $00, $2e, $40 -	db $20, $20, $2e, $60 -	db $00, $10, $2f, $00 -	db $20, $10, $2f, $40 -	db $10, $00, $3e, $00 -	db $10, $20, $3e, $20 +	dbsprite  0,  0,  0,  0, $2e, 0 +	dbsprite  4,  0,  0,  0, $2e, OAM_HFLIP +	dbsprite  0,  4,  0,  0, $2e, OAM_VFLIP +	dbsprite  4,  4,  0,  0, $2e, OAM_HFLIP | OAM_VFLIP +	dbsprite  2,  0,  0,  0, $2f, 0 +	dbsprite  2,  4,  0,  0, $2f, OAM_VFLIP +	dbsprite  0,  2,  0,  0, $3e, 0 +	dbsprite  4,  2,  0,  0, $3e, OAM_HFLIP  FrameBlock6c:  	db 8 ; # -	db $00, $00, $2e, $00 -	db $00, $10, $2e, $20 -	db $10, $00, $2e, $40 -	db $10, $10, $2e, $60 -	db $00, $08, $2f, $00 -	db $10, $08, $2f, $40 -	db $08, $00, $3e, $00 -	db $08, $10, $3e, $20 +	dbsprite  0,  0,  0,  0, $2e, 0 +	dbsprite  2,  0,  0,  0, $2e, OAM_HFLIP +	dbsprite  0,  2,  0,  0, $2e, OAM_VFLIP +	dbsprite  2,  2,  0,  0, $2e, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  0,  0,  0, $2f, 0 +	dbsprite  1,  2,  0,  0, $2f, OAM_VFLIP +	dbsprite  0,  1,  0,  0, $3e, 0 +	dbsprite  2,  1,  0,  0, $3e, OAM_HFLIP  FrameBlock6d:  	db 2 ; # -	db $00, $00, $1e, $00 -	db $00, $08, $1f, $00 +	dbsprite  0,  0,  0,  0, $1e, 0 +	dbsprite  1,  0,  0,  0, $1f, 0  FrameBlock6e:  	db 4 ; # -	db $00, $00, $48, $00 -	db $00, $08, $48, $20 -	db $08, $00, $12, $00 -	db $08, $08, $12, $20 +	dbsprite  0,  0,  0,  0, $48, 0 +	dbsprite  1,  0,  0,  0, $48, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $12, 0 +	dbsprite  1,  1,  0,  0, $12, OAM_HFLIP  FrameBlock6f:  	db 4 ; # -	db $00, $00, $4a, $00 -	db $00, $08, $07, $00 -	db $08, $00, $16, $00 -	db $08, $08, $17, $00 +	dbsprite  0,  0,  0,  0, $4a, 0 +	dbsprite  1,  0,  0,  0, $07, 0 +	dbsprite  0,  1,  0,  0, $16, 0 +	dbsprite  1,  1,  0,  0, $17, 0  FrameBlock70:  	db 4 ; # -	db $00, $00, $07, $20 -	db $00, $08, $4a, $20 -	db $08, $00, $17, $20 -	db $08, $08, $16, $20 +	dbsprite  0,  0,  0,  0, $07, OAM_HFLIP +	dbsprite  1,  0,  0,  0, $4a, OAM_HFLIP +	dbsprite  0,  1,  0,  0, $17, OAM_HFLIP +	dbsprite  1,  1,  0,  0, $16, OAM_HFLIP  FrameBlock76:  	db 7 ; # -	db $00, $10, $2f, $00 -	db $01, $08, $2f, $00 -	db $01, $18, $2f, $00 -	db $02, $00, $2e, $00 -	db $02, $20, $2e, $20 -	db $0a, $00, $3e, $00 -	db $0a, $20, $3e, $20 +	dbsprite  2,  0,  0,  0, $2f, 0 +	dbsprite  1,  0,  0,  1, $2f, 0 +	dbsprite  3,  0,  0,  1, $2f, 0 +	dbsprite  0,  0,  0,  2, $2e, 0 +	dbsprite  4,  0,  0,  2, $2e, OAM_HFLIP +	dbsprite  0,  1,  0,  2, $3e, 0 +	dbsprite  4,  1,  0,  2, $3e, OAM_HFLIP  FrameBlock77:  	db 4 ; # -	db $00, $02, $4b, $00 -	db $00, $0a, $4c, $00 -	db $08, $00, $4c, $60 -	db $08, $08, $4b, $60 +	dbsprite  0,  0,  2,  0, $4b, 0 +	dbsprite  1,  0,  2,  0, $4c, 0 +	dbsprite  0,  1,  0,  0, $4c, OAM_HFLIP | OAM_VFLIP +	dbsprite  1,  1,  0,  0, $4b, OAM_HFLIP | OAM_VFLIP  FrameBlock78:  	db 1 ; # -	db $00, $00, $4d, $00 +	dbsprite  0,  0,  0,  0, $4d, 0  FrameBlock79:  	db 1 ; # -	db $00, $00, $4e, $00 +	dbsprite  0,  0,  0,  0, $4e, 0  INCLUDE "data/battle_anims/base_coords.asm"  FrameBlock00:  	db 0 ; # -	db $00 + +	db $00 ; unused diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 1cc0b128..b2c9371c 100755 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -37,26 +37,27 @@ MapSpriteSets:  	db $02 ; ROUTE_24  	db $02 ; ROUTE_25 +EAST_WEST   EQU 1 +NORTH_SOUTH EQU 2 +  ; Format: -; 00: determines whether the map is split East/West or North/South -; $01 = East/West divide -; $02 = North/South divide +; 00: determines whether the map is split EAST_WEST or NORTH_SOUTH  ; 01: coordinate of dividing line  ; 02: sprite set ID if in the West or North side  ; 03: sprite set ID if in the East or South side  SplitMapSpriteSets: -	db $02, $25, $02, $01 ; $f1 -	db $02, $32, $02, $03 ; $f2 -	db $01, $39, $04, $08 ; $f3 -	db $02, $15, $03, $08 ; $f4 -	db $01, $08, $0A, $08 ; $f5 -	db $01, $18, $09, $05 ; $f6 -	db $01, $22, $09, $0A ; $f7 -	db $01, $35, $01, $0A ; $f8 -	db $02, $21, $02, $07 ; $f9 -	db $02, $02, $07, $04 ; $fa -	db $01, $11, $05, $07 ; $fb -	db $01, $03, $07, $03 ; $fc +	db NORTH_SOUTH, 37, $02, $01 ; $f1 +	db NORTH_SOUTH, 50, $02, $03 ; $f2 +	db EAST_WEST,   57, $04, $08 ; $f3 +	db NORTH_SOUTH, 21, $03, $08 ; $f4 +	db EAST_WEST,    8, $0A, $08 ; $f5 +	db EAST_WEST,   24, $09, $05 ; $f6 +	db EAST_WEST,   34, $09, $0A ; $f7 +	db EAST_WEST,   53, $01, $0A ; $f8 +	db NORTH_SOUTH, 33, $02, $07 ; $f9 +	db NORTH_SOUTH,  2, $07, $04 ; $fa +	db EAST_WEST,   17, $05, $07 ; $fb +	db EAST_WEST,    3, $07, $03 ; $fc  SpriteSets:  ; sprite set $01 diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 69979412..87b4398d 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -79,7 +79,19 @@ ScalePixelsByTwo:  ; repeats each input bit twice  DuplicateBitsTable: -	db $00, $03, $0c, $0f -	db $30, $33, $3c, $3f -	db $c0, $c3, $cc, $cf -	db $f0, $f3, $fc, $ff +	db %00000000 +	db %00000011 +	db %00001100 +	db %00001111 +	db %00110000 +	db %00110011 +	db %00111100 +	db %00111111 +	db %11000000 +	db %11000011 +	db %11001100 +	db %11001111 +	db %11110000 +	db %11110011 +	db %11111100 +	db %11111111 diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index 2e4f48f3..e2ae7fbe 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -183,12 +183,18 @@ UpdateCinnabarGymGateTileBlocks_::  	jr nz, .loop  	ret +gym_gate_coord: MACRO +	db \1, \2, \3, 0 +ENDM + +HORIZONTAL_GATE_BLOCK EQU $54 +VERTICAL_GATE_BLOCK   EQU $5f +  CinnabarGymGateCoords: -	; format: x-coord, y-coord, direction, padding -	; direction: $54 = horizontal gate, $5f = vertical gate -	db $09,$03,$54,$00 -	db $06,$03,$54,$00 -	db $06,$06,$54,$00 -	db $03,$08,$5f,$00 -	db $02,$06,$54,$00 -	db $02,$03,$54,$00 +	; x coord, y coord, block id +	gym_gate_coord 9, 3, HORIZONTAL_GATE_BLOCK +	gym_gate_coord 6, 3, HORIZONTAL_GATE_BLOCK +	gym_gate_coord 6, 6, HORIZONTAL_GATE_BLOCK +	gym_gate_coord 3, 8, VERTICAL_GATE_BLOCK +	gym_gate_coord 2, 6, HORIZONTAL_GATE_BLOCK +	gym_gate_coord 2, 3, HORIZONTAL_GATE_BLOCK diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 53719712..5660ecfb 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -599,10 +599,8 @@ PokeText:  ; horizontal line that divides the pokedex text description from the rest of the data  PokedexDataDividerLine: -	db $68,$69,$6B,$69,$6B -	db $69,$6B,$69,$6B,$6B -	db $6B,$6B,$69,$6B,$69 -	db $6B,$69,$6B,$69,$6A +	db $68, $69, $6B, $69, $6B, $69, $6B, $69, $6B, $6B +	db $6B, $6B, $69, $6B, $69, $6B, $69, $6B, $69, $6A  	db "@"  ; draws a line of tiles diff --git a/engine/movie/gamefreak.asm b/engine/movie/gamefreak.asm index 1463eb4f..1f837443 100755 --- a/engine/movie/gamefreak.asm +++ b/engine/movie/gamefreak.asm @@ -146,7 +146,7 @@ AnimateShootingStar:  	ret  SmallStarsOAM: -	db $00,$00,$A2,$90 +	dbsprite  0,  0,  0,  0, $A2, OAM_BEHIND_BG | OAM_OBP1  SmallStarsOAMEnd:  SmallStarsWaveCoordsPointerTable: @@ -161,28 +161,28 @@ SmallStarsWaveCoordsPointerTable:  ; These arrays contain the Y and X coordinates of each OAM entry.  SmallStarsWave1Coords: -	db $68,$30 -	db $68,$40 -	db $68,$58 -	db $68,$78 +	db $68, $30 +	db $68, $40 +	db $68, $58 +	db $68, $78  SmallStarsWave2Coords: -	db $68,$38 -	db $68,$48 -	db $68,$60 -	db $68,$70 +	db $68, $38 +	db $68, $48 +	db $68, $60 +	db $68, $70  SmallStarsWave3Coords: -	db $68,$34 -	db $68,$4C -	db $68,$54 -	db $68,$64 +	db $68, $34 +	db $68, $4C +	db $68, $54 +	db $68, $64  SmallStarsWave4Coords: -	db $68,$3C -	db $68,$5C -	db $68,$6C -	db $68,$74 +	db $68, $3C +	db $68, $5C +	db $68, $6C +	db $68, $74  SmallStarsEmptyWave:  	db $FF @@ -213,29 +213,29 @@ MoveDownSmallStars:  	ret  GameFreakLogoOAMData: -	db $48,$50,$8D,$00 -	db $48,$58,$8E,$00 -	db $50,$50,$8F,$00 -	db $50,$58,$90,$00 -	db $58,$50,$91,$00 -	db $58,$58,$92,$00 -	db $60,$30,$80,$00 -	db $60,$38,$81,$00 -	db $60,$40,$82,$00 -	db $60,$48,$83,$00 -	db $60,$50,$93,$00 -	db $60,$58,$84,$00 -	db $60,$60,$85,$00 -	db $60,$68,$83,$00 -	db $60,$70,$81,$00 -	db $60,$78,$86,$00 +	dbsprite 10,  9,  0,  0, $8d, 0 +	dbsprite 11,  9,  0,  0, $8e, 0 +	dbsprite 10, 10,  0,  0, $8f, 0 +	dbsprite 11, 10,  0,  0, $90, 0 +	dbsprite 10, 11,  0,  0, $91, 0 +	dbsprite 11, 11,  0,  0, $92, 0 +	dbsprite  6, 12,  0,  0, $80, 0 +	dbsprite  7, 12,  0,  0, $81, 0 +	dbsprite  8, 12,  0,  0, $82, 0 +	dbsprite  9, 12,  0,  0, $83, 0 +	dbsprite 10, 12,  0,  0, $93, 0 +	dbsprite 11, 12,  0,  0, $84, 0 +	dbsprite 12, 12,  0,  0, $85, 0 +	dbsprite 13, 12,  0,  0, $83, 0 +	dbsprite 14, 12,  0,  0, $81, 0 +	dbsprite 15, 12,  0,  0, $86, 0  GameFreakLogoOAMDataEnd:  GameFreakShootingStarOAMData: -	db $00,$A0,$A0,$10 -	db $00,$A8,$A0,$30 -	db $08,$A0,$A1,$10 -	db $08,$A8,$A1,$30 +	dbsprite 20,  0,  0,  0, $a0, OAM_OBP1 +	dbsprite 21,  0,  0,  0, $a0, OAM_OBP1 | OAM_HFLIP +	dbsprite 20,  1,  0,  0, $a1, OAM_OBP1 +	dbsprite 21,  1,  0,  0, $a1, OAM_OBP1 | OAM_HFLIP  GameFreakShootingStarOAMDataEnd:  FallingStar: diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 992cbd97..fa84e01d 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -59,11 +59,11 @@ TradeAnimCommon:  addtradefunc: MACRO  \1TradeFunc::  	dw \1 -	ENDM +ENDM  tradefunc: MACRO  	db (\1TradeFunc - TradeFuncPointerTable) / 2 -	ENDM +ENDM  ; The functions in the sequences below are executed in order by TradeFuncCommon.  ; They are from opposite perspectives. The external clock one makes use of @@ -86,7 +86,7 @@ InternalClockTradeFuncSequence:  	tradefunc Trade_ShowEnemyMon  	tradefunc Trade_Delay100  	tradefunc Trade_Cleanup -	db $FF +	db -1 ; end  ExternalClockTradeFuncSequence:  	tradefunc LoadTradingGFXAndMonNames @@ -110,7 +110,7 @@ ExternalClockTradeFuncSequence:  	tradefunc Trade_ShowClearedWindow  	tradefunc PrintTradeWentToText  	tradefunc Trade_Cleanup -	db $FF +	db -1 ; end  TradeFuncPointerTable:  	addtradefunc LoadTradingGFXAndMonNames @@ -346,8 +346,8 @@ Trade_AnimateBallEnteringLinkCable:  	ret  Trade_BallInsideLinkCableOAM: -	db $7E,$00,$7E,$20 -	db $7E,$40,$7E,$60 +	dbsprite  0, 15,  0,  6, $7e, OAM_HFLIP +	dbsprite  8, 15,  0,  6, $7e, OAM_HFLIP | OAM_VFLIP  Trade_ShowEnemyMon:  	ld a, TRADE_BALL_TILT_ANIM @@ -697,31 +697,33 @@ Trade_WriteCircleOAM:  	jr nz, .loop  	ret +trade_circle_oam: MACRO +	dw \1 +	db \2, \3 +ENDM +  Trade_CircleOAMPointers: -	dw Trade_CircleOAM0 -	db $08,$08 -	dw Trade_CircleOAM1 -	db $18,$08 -	dw Trade_CircleOAM2 -	db $08,$18 -	dw Trade_CircleOAM3 -	db $18,$18 +	; oam pointer, upper-left x coord, upper-left y coord +	trade_circle_oam Trade_CircleOAM0, $08, $08 +	trade_circle_oam Trade_CircleOAM1, $18, $08 +	trade_circle_oam Trade_CircleOAM2, $08, $18 +	trade_circle_oam Trade_CircleOAM3, $18, $18  Trade_CircleOAM0: -	db $38,$10,$39,$10 -	db $3A,$10,$3B,$10 +	dbsprite  2,  7,  0,  0, $39, OAM_OBP1 +	dbsprite  2,  7,  0,  2, $3b, OAM_OBP1  Trade_CircleOAM1: -	db $39,$30,$38,$30 -	db $3B,$30,$3A,$30 +	dbsprite  6,  7,  0,  1, $38, OAM_OBP1 | OAM_HFLIP +	dbsprite  6,  7,  0,  3, $3a, OAM_OBP1 | OAM_HFLIP  Trade_CircleOAM2: -	db $3A,$50,$3B,$50 -	db $38,$50,$39,$50 +	dbsprite 10,  7,  0,  2, $3b, OAM_OBP1 | OAM_VFLIP +	dbsprite 10,  7,  0,  0, $39, OAM_OBP1 | OAM_VFLIP  Trade_CircleOAM3: -	db $3B,$70,$3A,$70 -	db $39,$70,$38,$70 +	dbsprite 14,  7,  0,  3, $3a, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP +	dbsprite 14,  7,  0,  1, $38, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP  ; a = species  Trade_LoadMonSprite: diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 07039e03..6a92ccc0 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -123,8 +123,8 @@ WriteCutOrBoulderDustAnimationOAMBlock:  	jp WriteOAMBlock  CutOrBoulderDustAnimationTilesAndAttributes: -	db $FC,$10,$FD,$10 -	db $FE,$10,$FF,$10 +	dbsprite  2, -1,  0,  4, $fd, OAM_OBP1 +	dbsprite  2, -1,  0,  6, $ff, OAM_OBP1  GetCutOrBoulderDustAnimationOffsets:  	ld hl, wSpritePlayerStateData1YPixels diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 298858a2..0315687d 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -67,8 +67,8 @@ EmotionBubblesPointerTable:  	dw HappyEmote  EmotionBubblesOAM: -	db $F8,$00,$F9,$00 -	db $FA,$00,$FB,$00 +	dbsprite  0, -1,  0,  0, $f9, 0 +	dbsprite  0, -1,  0,  2, $fb, 0  EmotionBubbles:  ShockEmote:    INCBIN "gfx/emotes/shock.2bpp" diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index eaa396d0..40ca6f65 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -66,13 +66,15 @@ PokeCenterFlashingMonitorAndHealBall:  	INCBIN "gfx/overworld/heal_machine.2bpp"  PokeCenterOAMData: -	db $24,$34,$7C,$10 ; heal machine monitor -	db $2B,$30,$7D,$10 ; pokeballs 1-6 -	db $2B,$38,$7D,$30 -	db $30,$30,$7D,$10 -	db $30,$38,$7D,$30 -	db $35,$30,$7D,$10 -	db $35,$38,$7D,$30 +	; heal machine monitor +	dbsprite  6,  4,  4,  4, $7c, OAM_OBP1 +	; poke balls 1-6 +	dbsprite  6,  5,  0,  3, $7d, OAM_OBP1 +	dbsprite  7,  5,  0,  3, $7d, OAM_OBP1 | OAM_HFLIP +	dbsprite  6,  6,  0,  0, $7d, OAM_OBP1 +	dbsprite  7,  6,  0,  0, $7d, OAM_OBP1 | OAM_HFLIP +	dbsprite  6,  6,  0,  5, $7d, OAM_OBP1 +	dbsprite  7,  6,  0,  5, $7d, OAM_OBP1 | OAM_HFLIP  ; d = value to xor with palette  FlashSprite8Times: diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 0e006c5e..f01ae5ef 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -72,5 +72,5 @@ LedgeHoppingShadow:  LedgeHoppingShadowEnd:  LedgeHoppingShadowOAM: -	db $FF,$10,$FF,$20 -	db $FF,$40,$FF,$60 +	dbsprite  2, -1,  0,  7, $ff, OAM_HFLIP +	dbsprite  8, -1,  0,  7, $ff, OAM_HFLIP | OAM_VFLIP diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 9e9b4073..c458a013 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -470,14 +470,10 @@ ItsABiteText:  FishingRodOAM:  ; specifies how the fishing rod should be drawn on the screen -; first byte = screen y coordinate -; second byte = screen x coordinate -; third byte = tile number -; fourth byte = sprite properties -	db $5B, $4C, $FD, $00 ; player facing down -	db $44, $4C, $FD, $00 ; player facing up -	db $50, $40, $FE, $00 ; player facing left -	db $50, $58, $FE, $20 ; player facing right ($20 means "horizontally flip the tile") +	dbsprite  9, 11,  4,  3, $fd, 0         ; down +	dbsprite  9,  8,  4,  4, $fd, 0         ; up +	dbsprite  8, 10,  0,  0, $fe, 0         ; left +	dbsprite 11, 10,  0,  0, $fe, OAM_HFLIP ; right  fishing_gfx: MACRO  	dw \1 diff --git a/macros/gfx.asm b/macros/gfx.asm index 8803dad2..98eabec4 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -15,3 +15,8 @@ color    EQUS "+ PAL_COLOR_SIZE *"  tiles EQUS "* LEN_2BPP_TILE"  tile  EQUS "+ LEN_2BPP_TILE *" + +dbsprite: MACRO +; x tile, y tile, x pixel, y pixel, vtile offset, attributes +	db (\2 * TILE_WIDTH) % $100 + \4, (\1 * TILE_WIDTH) % $100 + \3, \5, \6 +ENDM | 
