ref: 76289dfda0b7405944e10a78b7381c723475bea4
parent: f53341efa170a322392e5d9cf094128a52041b1d
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Fri Jul 17 11:58:06 EDT 2020
Port dbsprite macro for OAM y,x,tile,attr data from pokecrystal
--- a/audio/low_health_alarm.asm
+++ b/audio/low_health_alarm.asm
@@ -61,15 +61,20 @@
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
--- a/constants/oam_constants.asm
+++ b/constants/oam_constants.asm
@@ -13,6 +13,7 @@
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)
--- a/data/battle_anims/frame_blocks.asm
+++ b/data/battle_anims/frame_blocks.asm
@@ -122,1124 +122,1117 @@
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
--- a/data/maps/sprite_sets.asm
+++ b/data/maps/sprite_sets.asm
@@ -37,26 +37,27 @@
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
--- a/engine/battle/scale_sprites.asm
+++ b/engine/battle/scale_sprites.asm
@@ -79,7 +79,19 @@
; 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
--- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm
+++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm
@@ -183,12 +183,18 @@
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
--- a/engine/menus/pokedex.asm
+++ b/engine/menus/pokedex.asm
@@ -599,10 +599,8 @@
; 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
--- a/engine/movie/gamefreak.asm
+++ b/engine/movie/gamefreak.asm
@@ -146,7 +146,7 @@
ret
SmallStarsOAM:
- db $00,$00,$A2,$90
+ dbsprite 0, 0, 0, 0, $A2, OAM_BEHIND_BG | OAM_OBP1
SmallStarsOAMEnd:
SmallStarsWaveCoordsPointerTable:
@@ -161,28 +161,28 @@
; 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 @@
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:
--- a/engine/movie/trade.asm
+++ b/engine/movie/trade.asm
@@ -59,11 +59,11 @@
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 @@
tradefunc Trade_ShowEnemyMon
tradefunc Trade_Delay100
tradefunc Trade_Cleanup
- db $FF
+ db -1 ; end
ExternalClockTradeFuncSequence:
tradefunc LoadTradingGFXAndMonNames
@@ -110,7 +110,7 @@
tradefunc Trade_ShowClearedWindow
tradefunc PrintTradeWentToText
tradefunc Trade_Cleanup
- db $FF
+ db -1 ; end
TradeFuncPointerTable:
addtradefunc LoadTradingGFXAndMonNames
@@ -346,8 +346,8 @@
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 @@
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:
--- a/engine/overworld/cut.asm
+++ b/engine/overworld/cut.asm
@@ -123,8 +123,8 @@
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
--- a/engine/overworld/emotion_bubbles.asm
+++ b/engine/overworld/emotion_bubbles.asm
@@ -67,8 +67,8 @@
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"
--- a/engine/overworld/healing_machine.asm
+++ b/engine/overworld/healing_machine.asm
@@ -66,13 +66,15 @@
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:
--- a/engine/overworld/ledges.asm
+++ b/engine/overworld/ledges.asm
@@ -72,5 +72,5 @@
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
--- a/engine/overworld/player_animations.asm
+++ b/engine/overworld/player_animations.asm
@@ -470,14 +470,10 @@
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
--- a/macros/gfx.asm
+++ b/macros/gfx.asm
@@ -15,3 +15,8 @@
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