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 |