diff --git a/06TheLovers.inc b/06TheLovers.inc index 8a36f5f..5217c5a 100644 --- a/06TheLovers.inc +++ b/06TheLovers.inc @@ -14,20 +14,162 @@ TheLovers: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for ripples + ld [hl+], a + ld [hl+], a ; CVS+2 frame of ripple offsets + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $08 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ ; if the timer is less than $0600, skip + + ; if the timer is greater or equal to $0700, reset it + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ; and increment frame number + ld hl, .topOffsets + ld a, [CVS+2] + inc a + call ArrayClampLooping + ld [CVS+2], a + +: + call .doRipples + ret .fDraw: ret + +.doRipples: + ld a, [CVS+2] + ld hl, .topOffsets+1 ; +1 bc body of array + ld b, 0 + ld c, a + add hl, bc + add hl, bc ; add twice because it's a list of yx pairs + ld b, [hl] + inc hl + ld c, [hl] + + ld hl, .top + ld de, MY_OAM + ; b and c already set + ld a, $26 + call BuildMetaSprite + + ld a, [CVS+2] + ld hl, .upperOffsets+1 ; +1 bc body of array + ld b, 0 + ld c, a + add hl, bc + add hl, bc ; add twice because it's a list of yx pairs + ld b, [hl] + inc hl + ld c, [hl] + + ld hl, .upper + ld de, MY_OAM + (.topOffsets-.top)*4 + ; b and c already set + ld a, $22 + call BuildMetaSprite + + ld a, [CVS+2] + ld hl, .lowerOffsets+1 ; +1 bc body of array + ld b, 0 + ld c, a + add hl, bc + add hl, bc ; add twice because it's a list of yx pairs + ld b, [hl] + inc hl + ld c, [hl] + + ld hl, .lower + ld de, MY_OAM + (.topOffsets-.top)*4 + (.upperOffsets - .upper)*4 + ; b and c already set + ld a, $22 + call BuildMetaSprite + + ld a, [CVS+2] + ld hl, .bottomOffsets+1 ; +1 bc body of array + ld b, 0 + ld c, a + add hl, bc + add hl, bc ; add twice because it's a list of yx pairs + ld b, [hl] + inc hl + ld c, [hl] + + ld hl, .bottom + ld de, MY_OAM + (.topOffsets-.top)*4 + (.upperOffsets-.upper)*4 + (.lowerOffsets-.lower)*4 + ; b and c already set + ld a, $27 + call BuildMetaSprite + ret + + + + + +.top ; y=2+1, x=1+1 + db $01, $02, $03, $12, $05, $06 + db $07, $00, $00, $00, $00, $00 +.topOffsets + db 9,22, 15, 22, 15, 22, 15, 23, 16, 23, 16, 24, 16, 24, 16, 24, 16, 23, 16 +.upper ; y=2+1+3, x=1+1+2 + db $0e, $0f + db $10, $15 +.upperOffsets + db 9, 48, 32, 48, 32, 48, 32, 48, 32, 48, 32, 49, 33, 49, 33, 49, 33, 49, 33, + +.lower ; y=2+1+8, x=1+1+5 + db $14, $16 + db $11, $00 +.lowerOffsets + db 9, 88, 56, 88, 56, 89, 57, 89, 57, 89, 57, 88, 56, 88, 56, 88, 56, 88, 56, + + +.bottom ; y=2+1+12, x=1+1+1 + db $00, $00, $00, $00, $00, $08, $09 + db $0a, $0b, $04, $0c, $0d, $13, $00 +.bottomOffsets + db 9, 120, 24, 119, 24, 119, 24, 118, 24, 118, 24, 118, 24, 119, 24, 119, 24, 120, 24, + .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$3f,$00,$fe,$00 + db $00,$00,$00,$00,$00,$00,$07,$00,$ff,$00,$ff,$00,$f0,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$f0,$00,$ff,$00,$ff,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$f0,$00,$7e,$00,$00,$00 + db $07,$00,$3c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$1e,$00,$7c,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$80,$00,$00,$00,$00,$00 + db $00,$00,$1f,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$80,$00,$ff,$00,$7f,$00,$03,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$1f,$00,$ff,$00,$fe,$00,$00,$00,$00,$00,$00,$00 + db $03,$00,$0f,$00,$fe,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$07,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f0,$00,$e0,$00 + db $0c,$00,$18,$00,$21,$00,$03,$00,$02,$00,$00,$00,$00,$00,$00,$00 + db $0e,$00,$3c,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$ff,$00,$ff,$00,$ff,$00,$00,$00,$00,$00 + db $e0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$00,$3b,$00,$27,$00 + db $00,$00,$00,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$00,$00,$00,$00 .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle .KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$ff,$ff,$60,$60,$20,$60,$30,$30,$10,$30,$19,$19 - db $00,$00,$00,$00,$ff,$ff,$64,$6c,$44,$6c,$c4,$cc,$84,$cc,$84,$8c - db $09,$19,$09,$19,$0f,$0f,$06,$0f,$06,$06,$ff,$ff,$00,$00,$00,$00 - db $04,$8c,$04,$8c,$04,$0c,$04,$0c,$04,$0c,$ff,$ff,$00,$00,$00,$00 db $e0,$c0,$c1,$81,$81,$01,$03,$07,$06,$07,$04,$0e,$04,$06,$86,$07 db $82,$83,$c3,$83,$c1,$81,$c1,$81,$e0,$80,$e0,$c0,$f0,$c0,$f0,$40 db $f0,$e0,$f8,$e0,$78,$e0,$38,$70,$3c,$30,$1c,$18,$08,$0c,$08,$0c @@ -43,7 +185,7 @@ TheLovers: db $cf,$f0,$e7,$f8,$67,$78,$63,$7c,$73,$7c,$39,$3e,$1c,$1f,$0e,$0f db $c2,$02,$c2,$02,$c1,$01,$e1,$01,$60,$00,$00,$01,$00,$01,$00,$03 db $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$c0,$c0,$c0,$c0,$c1,$d1 - db $03,$03,$00,$00,$00,$00,$1f,$1f,$1e,$1e,$36,$3e,$20,$30,$60,$70 + db $03,$03,$00,$00,$00,$00,$1f,$1f,$1c,$1e,$30,$3e,$20,$30,$60,$70 db $8f,$f0,$e7,$f8,$1d,$1e,$e3,$fe,$00,$7f,$00,$01,$00,$00,$00,$00 db $00,$00,$80,$01,$c0,$00,$f0,$00,$38,$c0,$1c,$e2,$00,$00,$00,$00 db $0d,$03,$0f,$07,$1e,$06,$02,$02,$07,$07,$44,$07,$4e,$0f,$ce,$0f @@ -65,12 +207,12 @@ TheLovers: db $01,$07,$05,$05,$05,$07,$05,$07,$85,$87,$c4,$c4,$44,$44,$44,$44 db $4c,$4c,$48,$48,$4c,$48,$cc,$c8,$9c,$90,$98,$90,$98,$91,$b9,$a1 db $63,$63,$21,$23,$61,$63,$c2,$c1,$c6,$c1,$87,$c3,$87,$8b,$8e,$86 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$30,$30,$38,$48 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$30,$40 db $06,$0e,$03,$07,$7b,$7f,$0b,$7f,$0f,$1f,$7f,$ff,$bf,$fe,$18,$3f db $56,$df,$ff,$ff,$99,$ff,$f7,$e8,$59,$af,$8f,$ff,$77,$98,$ff,$df db $00,$00,$00,$00,$80,$f0,$e0,$f0,$80,$c0,$80,$f0,$e0,$e0,$83,$f3 db $00,$00,$00,$03,$0c,$0c,$10,$10,$20,$20,$40,$40,$c0,$c0,$80,$c0 - db $78,$88,$1c,$0c,$1c,$04,$0a,$02,$0f,$03,$07,$01,$03,$01,$03,$60 + db $78,$88,$18,$08,$1c,$04,$0a,$02,$0e,$02,$07,$01,$03,$01,$03,$60 db $7f,$7f,$f6,$f6,$f9,$f9,$7d,$7d,$0e,$0e,$ee,$fe,$32,$32,$72,$72 db $c6,$47,$e6,$e4,$fe,$f8,$9c,$e0,$00,$f0,$b0,$40,$f8,$00,$88,$00 db $00,$87,$00,$07,$01,$0f,$03,$0f,$02,$1e,$00,$3e,$1e,$66,$3f,$43 @@ -120,23 +262,27 @@ TheLovers: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 db $c0,$00,$c0,$00,$80,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $18,$00,$10,$00,$00,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$ff,$ff,$60,$60,$20,$60,$30,$30,$10,$30,$10,$30,$19,$19 + db $00,$00,$ff,$ff,$64,$6c,$44,$6c,$c4,$cc,$84,$cc,$84,$cc,$84,$8c + db $09,$19,$09,$19,$0f,$0f,$06,$0f,$06,$0f,$06,$06,$3f,$3f,$00,$00 + db $04,$8c,$04,$8c,$04,$0c,$04,$0c,$04,$0c,$04,$0c,$ff,$ff,$00,$00 .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $1a, $1a, $78, $77, $1a, $1a, $44, $1a - db $1a, $1a, $45, $46, $47, $48, $49, $75 - db $1a, $66, $4a, $3d, $4b, $4c, $4d, $4e - db $3e, $1f, $72, $4f, $7a, $50, $51, $52 - db $3f, $20, $6d, $53, $54, $65, $55, $56 - db $6a, $21, $22, $41, $57, $58, $59, $5a - db $76, $68, $23, $42, $43, $5b, $5c, $75 - db $69, $79, $24, $25, $26, $5d, $5e, $5f - db $27, $40, $28, $29, $2a, $1a, $60, $61 - db $2b, $6b, $1a, $71, $2c, $2d, $62, $63 - db $2e, $2f, $30, $1a, $31, $73, $64, $67 - db $32, $33, $34, $35, $36, $37, $38, $1a - db $39, $6e, $1a, $1a, $3c, $3a, $74, $1a - db $3b, $6c, $1a, $1a, $1a, $1a, $1a, $1a - db $6f, $70, $1a, $1b, $1c, $1a, $1a, $1a - db $1a, $1a, $1a, $1d, $1e, $1a, $1a, $1a + db $1a, $1a, $74, $73, $1a, $1a, $40, $1a + db $1a, $1a, $41, $42, $43, $44, $45, $71 + db $1a, $62, $46, $39, $47, $48, $49, $4a + db $3a, $1b, $6e, $4b, $76, $4c, $4d, $4e + db $3b, $1c, $69, $4f, $50, $61, $51, $52 + db $66, $1d, $1e, $3d, $53, $54, $55, $56 + db $72, $64, $1f, $3e, $3f, $57, $58, $71 + db $65, $75, $20, $21, $22, $59, $5a, $5b + db $23, $3c, $24, $25, $26, $1a, $5c, $5d + db $27, $67, $1a, $6d, $28, $29, $5e, $5f + db $2a, $2b, $2c, $1a, $2d, $6f, $60, $63 + db $2e, $2f, $30, $31, $32, $33, $34, $1a + db $35, $6a, $1a, $1a, $38, $36, $70, $1a + db $37, $68, $1a, $1a, $1a, $1a, $1a, $1a + db $6b, $6c, $1a, $77, $78, $1a, $1a, $1a + db $1a, $1a, $1a, $79, $7a, $1a, $1a, $1a .BackgroundCopyEnd: diff --git a/06thelovers.aseprite b/06thelovers.aseprite index 95c9b88..00fbfe4 100644 Binary files a/06thelovers.aseprite and b/06thelovers.aseprite differ diff --git a/06thelovers.asm b/06thelovers.asm index 0c472b3..b093942 100644 --- a/06thelovers.asm +++ b/06thelovers.asm @@ -3,10 +3,6 @@ .KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$ff,$ff,$60,$60,$20,$60,$30,$30,$10,$30,$19,$19 - db $00,$00,$00,$00,$ff,$ff,$64,$6c,$44,$6c,$c4,$cc,$84,$cc,$84,$8c - db $09,$19,$09,$19,$0f,$0f,$06,$0f,$06,$06,$ff,$ff,$00,$00,$00,$00 - db $04,$8c,$04,$8c,$04,$0c,$04,$0c,$04,$0c,$ff,$ff,$00,$00,$00,$00 db $e0,$c0,$c1,$81,$81,$01,$03,$07,$06,$07,$04,$0e,$04,$06,$86,$07 db $82,$83,$c3,$83,$c1,$81,$c1,$81,$e0,$80,$e0,$c0,$f0,$c0,$f0,$40 db $f0,$e0,$f8,$e0,$78,$e0,$38,$70,$3c,$30,$1c,$18,$08,$0c,$08,$0c @@ -22,7 +18,7 @@ db $cf,$f0,$e7,$f8,$67,$78,$63,$7c,$73,$7c,$39,$3e,$1c,$1f,$0e,$0f db $c2,$02,$c2,$02,$c1,$01,$e1,$01,$60,$00,$00,$01,$00,$01,$00,$03 db $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$c0,$c0,$c0,$c0,$c1,$d1 - db $03,$03,$00,$00,$00,$00,$1f,$1f,$1e,$1e,$36,$3e,$20,$30,$60,$70 + db $03,$03,$00,$00,$00,$00,$1f,$1f,$1c,$1e,$30,$3e,$20,$30,$60,$70 db $8f,$f0,$e7,$f8,$1d,$1e,$e3,$fe,$00,$7f,$00,$01,$00,$00,$00,$00 db $00,$00,$80,$01,$c0,$00,$f0,$00,$38,$c0,$1c,$e2,$00,$00,$00,$00 db $0d,$03,$0f,$07,$1e,$06,$02,$02,$07,$07,$44,$07,$4e,$0f,$ce,$0f @@ -44,12 +40,12 @@ db $01,$07,$05,$05,$05,$07,$05,$07,$85,$87,$c4,$c4,$44,$44,$44,$44 db $4c,$4c,$48,$48,$4c,$48,$cc,$c8,$9c,$90,$98,$90,$98,$91,$b9,$a1 db $63,$63,$21,$23,$61,$63,$c2,$c1,$c6,$c1,$87,$c3,$87,$8b,$8e,$86 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$30,$30,$38,$48 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$30,$40 db $06,$0e,$03,$07,$7b,$7f,$0b,$7f,$0f,$1f,$7f,$ff,$bf,$fe,$18,$3f db $56,$df,$ff,$ff,$99,$ff,$f7,$e8,$59,$af,$8f,$ff,$77,$98,$ff,$df db $00,$00,$00,$00,$80,$f0,$e0,$f0,$80,$c0,$80,$f0,$e0,$e0,$83,$f3 db $00,$00,$00,$03,$0c,$0c,$10,$10,$20,$20,$40,$40,$c0,$c0,$80,$c0 - db $78,$88,$1c,$0c,$1c,$04,$0a,$02,$0f,$03,$07,$01,$03,$01,$03,$60 + db $78,$88,$18,$08,$1c,$04,$0a,$02,$0e,$02,$07,$01,$03,$01,$03,$60 db $7f,$7f,$f6,$f6,$f9,$f9,$7d,$7d,$0e,$0e,$ee,$fe,$32,$32,$72,$72 db $c6,$47,$e6,$e4,$fe,$f8,$9c,$e0,$00,$f0,$b0,$40,$f8,$00,$88,$00 db $00,$87,$00,$07,$01,$0f,$03,$0f,$02,$1e,$00,$3e,$1e,$66,$3f,$43 @@ -99,23 +95,27 @@ db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 db $c0,$00,$c0,$00,$80,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $18,$00,$10,$00,$00,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$ff,$ff,$60,$60,$20,$60,$30,$30,$10,$30,$10,$30,$19,$19 + db $00,$00,$ff,$ff,$64,$6c,$44,$6c,$c4,$cc,$84,$cc,$84,$cc,$84,$8c + db $09,$19,$09,$19,$0f,$0f,$06,$0f,$06,$0f,$06,$06,$3f,$3f,$00,$00 + db $04,$8c,$04,$8c,$04,$0c,$04,$0c,$04,$0c,$04,$0c,$ff,$ff,$00,$00 .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $1a, $1a, $78, $77, $1a, $1a, $44, $1a - db $1a, $1a, $45, $46, $47, $48, $49, $75 - db $1a, $66, $4a, $3d, $4b, $4c, $4d, $4e - db $3e, $1f, $72, $4f, $7a, $50, $51, $52 - db $3f, $20, $6d, $53, $54, $65, $55, $56 - db $6a, $21, $22, $41, $57, $58, $59, $5a - db $76, $68, $23, $42, $43, $5b, $5c, $75 - db $69, $79, $24, $25, $26, $5d, $5e, $5f - db $27, $40, $28, $29, $2a, $1a, $60, $61 - db $2b, $6b, $1a, $71, $2c, $2d, $62, $63 - db $2e, $2f, $30, $1a, $31, $73, $64, $67 - db $32, $33, $34, $35, $36, $37, $38, $1a - db $39, $6e, $1a, $1a, $3c, $3a, $74, $1a - db $3b, $6c, $1a, $1a, $1a, $1a, $1a, $1a - db $6f, $70, $1a, $1b, $1c, $1a, $1a, $1a - db $1a, $1a, $1a, $1d, $1e, $1a, $1a, $1a + db $1a, $1a, $74, $73, $1a, $1a, $40, $1a + db $1a, $1a, $41, $42, $43, $44, $45, $71 + db $1a, $62, $46, $39, $47, $48, $49, $4a + db $3a, $1b, $6e, $4b, $76, $4c, $4d, $4e + db $3b, $1c, $69, $4f, $50, $61, $51, $52 + db $66, $1d, $1e, $3d, $53, $54, $55, $56 + db $72, $64, $1f, $3e, $3f, $57, $58, $71 + db $65, $75, $20, $21, $22, $59, $5a, $5b + db $23, $3c, $24, $25, $26, $1a, $5c, $5d + db $27, $67, $1a, $6d, $28, $29, $5e, $5f + db $2a, $2b, $2c, $1a, $2d, $6f, $60, $63 + db $2e, $2f, $30, $31, $32, $33, $34, $1a + db $35, $6a, $1a, $1a, $38, $36, $70, $1a + db $37, $68, $1a, $1a, $1a, $1a, $1a, $1a + db $6b, $6c, $1a, $77, $78, $1a, $1a, $1a + db $1a, $1a, $1a, $79, $7a, $1a, $1a, $1a .BackgroundCopyEnd: diff --git a/07TheChariot.inc b/07TheChariot.inc index a7d1386..5fd2fc8 100644 --- a/07TheChariot.inc +++ b/07TheChariot.inc @@ -14,79 +14,283 @@ TheChariot: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld a, %00100100 + ld [rOBP0], a + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for horses + ld [hl+], a + ld [hl+], a ; CVS+2 frame of horses + ld a, 1 + ld [hl+], a + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $02 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ ; if the timer is less than $0600, skip + + ; if the timer is greater or equal to $0700, reset it + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ; and increment frame number + ld b, 4 + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a + + ld b, 4 + ld a, [CVS+3] + inc a + call ArrayClampLoopingB + ld [CVS+3], a + + call .doHorses + +: + ret + +.doHorses: + ld a, [CVS+2] + ; multiply a by 32 + sla a ; a *2 + sla a ; a *4 + sla a ; a *8 + ld b, a ; b=8a + add a, b ; a *16 + add a, b ; a *24 + add a, b ; a *32 + + ld b, 0 + ld c, a + ld hl, .horse1 + add hl, bc + ld b, (2+2)*8 + ld c, (1+1)*8 + ld de, MY_OAM + ld a, $84 + call BuildMetaSpritePacked + + ld a, [CVS+2] + ; multiply a by 32 + sla a ; a *2 + + ld b, 0 + ld c, a + ld hl, .tail + add hl, bc + ld b, (2+7)*8 + ld c, (1+2)*8 + 2 + ld de, MY_OAM + 4*(20-2) + ld a, $21 + call BuildMetaSprite + + ld a, [CVS+3] + ; multiply a by 32 + sla a ; a *2 + sla a ; a *4 + sla a ; a *8 + ld b, a ; b=8a + add a, b ; a *16 + add a, b ; a *24 + add a, b ; a *32 + + ld b, 0 + ld c, a + ld hl, .horse1 + add hl, bc + ld de, MY_OAM+20*4 + ld b, (2+2)*8 + ld c, (1+8)*8 + ld a, $84 + call BuildMetaSpritePackedHflip + + + ld a, [CVS+3] + ; multiply a by 32 + sla a ; a *2 + + ld b, 0 + ld c, a + ld hl, .tail + add hl, bc + ld b, (2+7)*8 + ld c, (1+7)*8 -2 + ld de, MY_OAM + 4*(40-2) + ld a, $21 + call BuildMetaSpriteHFlip + ret + + + .fDraw: ret +.horse1 ;; 8 by 4 +db $01, $02, $03, $04 +db $00, $10, $11, $12 +db $00, $1b, $1c, $1d +db $27, $00, $00, $28 +db $2e, $00, $00, $28 +db $34, $00, $00, $35 +db $34, $00, $00, $00 +db $3c, $00, $00, $00 + +db $05, $06, $07, $08 +db $00, $13, $14, $15 +db $00, $1e, $1f, $20 +db $29, $00, $00, $2a +db $2f, $00, $00, $30 +db $36, $00, $00, $37 +db $3a, $00, $00, $00 +db $3c, $00, $00, $00 + +db $09, $0a, $0b, $0c +db $00, $3b, $16, $17 +db $00, $21, $22, $23 +db $2b, $00, $00, $2c +db $31, $00, $00, $32 +db $34, $00, $00, $38 +db $3b, $00, $00, $00 +db $3d, $00, $00, $00 + +db $00, $0d, $0e, $0f +db $00, $18, $19, $1a +db $00, $24, $25, $26 +db $2d, $00, $00, $28 +db $33, $00, $00, $28 +db $34, $00, $00, $39 +db $34, $00, $00, $00 +db $3e, $00, $00, $00 + +.tail + db $44 + db $45 + db $3f + db $43 + db $41 + db $42 + db $3f + db $40 + + + .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00 + db $00,$80,$80,$c0,$80,$e1,$c0,$ff,$71,$ff,$77,$ff,$37,$ff,$0f,$7f + db $00,$7c,$18,$fc,$18,$fc,$98,$fc,$d8,$fe,$d6,$ff,$d6,$ff,$c7,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80 + db $00,$00,$00,$3f,$0f,$3f,$0f,$1f,$07,$1f,$03,$0f,$00,$07,$00,$01 + db $00,$00,$00,$c0,$80,$ef,$8f,$ff,$9e,$ff,$df,$ff,$ff,$ff,$ff,$ff + db $00,$3c,$00,$ff,$1c,$ff,$7c,$ff,$79,$ff,$f1,$ff,$c7,$ff,$ff,$ff + db $00,$00,$00,$c0,$00,$c0,$c0,$e0,$c0,$e0,$e0,$f0,$e0,$f0,$c0,$f0 + db $00,$07,$03,$07,$03,$07,$01,$07,$01,$03,$00,$01,$00,$00,$00,$00 + db $00,$c0,$80,$e1,$c0,$ff,$f1,$ff,$ff,$ff,$ff,$ff,$7f,$ff,$0f,$7f + db $00,$ff,$0f,$ff,$9f,$ff,$de,$ff,$fc,$ff,$f2,$ff,$fe,$ff,$fe,$ff + db $00,$c0,$80,$c0,$80,$c0,$00,$c0,$00,$c0,$00,$80,$00,$80,$00,$80 + db $00,$fc,$30,$ff,$3c,$ff,$3e,$ff,$1f,$7f,$1f,$7f,$1f,$3f,$0f,$3f + db $30,$f8,$70,$ff,$71,$ff,$f3,$ff,$f7,$ff,$f7,$ff,$e7,$ff,$ff,$ff + db $00,$00,$00,$e0,$c0,$f8,$f0,$f8,$f0,$f8,$f0,$f8,$f0,$f8,$c0,$f8 + db $0f,$3f,$0f,$1f,$0f,$1f,$0c,$1f,$0c,$1f,$08,$1f,$18,$3f,$1c,$3f + db $ff,$ff,$ff,$ff,$ff,$ff,$3f,$ff,$1b,$ff,$19,$ff,$38,$ff,$18,$ff + db $00,$80,$00,$c0,$80,$c0,$c0,$e0,$e0,$f0,$f0,$f8,$f8,$fc,$68,$fc + db $7f,$ff,$7f,$ff,$7f,$ff,$61,$ff,$60,$ff,$60,$ff,$60,$ff,$60,$ff + db $ff,$ff,$fe,$ff,$f8,$ff,$f8,$ff,$60,$fe,$e0,$f0,$60,$f0,$e0,$f0 + db $00,$e0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3c,$ff,$1c,$ff,$1c,$ff,$0c,$ff,$84,$ff,$0e,$ff,$4e,$ff,$46,$ff + db $00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $0f,$1f,$0f,$1f,$0c,$1f,$0c,$1f,$0c,$3f,$1c,$3f,$1c,$3f,$1c,$3f + db $9f,$ff,$1f,$ff,$3c,$ff,$18,$ff,$18,$fc,$28,$fc,$08,$fc,$38,$fc + db $80,$e0,$80,$c0,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $18,$3f,$1c,$7f,$38,$7f,$38,$7f,$38,$7f,$30,$ff,$7e,$ff,$7f,$ff + db $38,$ff,$18,$fe,$38,$fe,$38,$fe,$38,$ff,$7d,$ff,$3f,$ff,$bf,$ff + db $18,$fc,$00,$78,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$80,$e0 + db $60,$ff,$62,$ff,$60,$ff,$62,$ff,$70,$ff,$78,$ff,$7f,$ff,$7f,$ff + db $60,$ff,$62,$ff,$73,$ff,$33,$ff,$39,$ff,$7b,$ff,$f9,$ff,$fc,$ff + db $00,$00,$00,$80,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$c0,$00,$e0 + db $07,$1f,$0e,$1f,$0e,$1f,$0e,$1f,$0e,$1f,$0f,$3f,$1f,$3f,$3f,$ff + db $0e,$ff,$07,$ff,$1f,$ff,$1f,$ff,$0f,$ff,$cf,$ff,$ff,$ff,$ff,$ff + db $00,$80,$00,$80,$80,$f0,$d0,$f8,$d0,$fc,$e8,$fc,$e8,$fc,$e8,$fc + db $1c,$7f,$3c,$7f,$3c,$7f,$3c,$7f,$3c,$ff,$3f,$ff,$7f,$ff,$7f,$ff + db $68,$fc,$08,$fc,$38,$fe,$18,$ff,$3d,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$80,$e0,$c0,$e0 + db $00,$01,$00,$01,$01,$03,$03,$07,$03,$0f,$07,$0f,$07,$0f,$07,$0f + db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0 + db $00,$01,$00,$03,$01,$07,$01,$07,$03,$0f,$07,$1f,$07,$1f,$1f,$3f + db $c0,$e0,$80,$e0,$80,$c0,$80,$c0,$00,$c0,$00,$80,$00,$80,$00,$80 + db $00,$01,$00,$03,$01,$03,$01,$03,$01,$07,$03,$07,$03,$0f,$07,$0f + db $e0,$f8,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0 + db $00,$01,$00,$01,$01,$03,$01,$03,$01,$03,$01,$07,$03,$07,$03,$07 + db $07,$0f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f + db $1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f + db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$c0,$00,$c0,$80,$e0 + db $07,$1f,$07,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f + db $e0,$f0,$e0,$f0,$c0,$f0,$c0,$f0,$c0,$f0,$c0,$e0,$c0,$e0,$c0,$e0 + db $03,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f + db $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f + db $c0,$e0,$80,$e0,$80,$e0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$e0 + db $1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$0f,$3f + db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$80,$e0 + db $80,$e0,$80,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$e0,$80,$e0,$80,$e0 + db $80,$e0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$e0,$80,$e0 + db $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$07,$1f + db $0f,$1f,$0f,$1f,$0f,$1f,$07,$1f,$07,$1f,$07,$0f,$07,$0f,$07,$0f + db $07,$1f,$07,$1f,$06,$0e,$04,$0c,$00,$08,$00,$00,$00,$00,$00,$00 + db $07,$0f,$07,$0f,$06,$0e,$04,$0c,$00,$08,$00,$00,$00,$00,$00,$00 + db $0f,$1f,$0f,$1f,$0e,$1e,$0c,$1c,$00,$08,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$7e,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$ff,$00,$df,$00,$dd,$00,$d5,$00,$55,$00,$56,$00,$56,$00,$54 + db $00,$00,$00,$18,$00,$3c,$00,$3c,$00,$7e,$00,$7e,$00,$7e,$00,$7c + db $00,$3c,$00,$3c,$00,$3e,$00,$7e,$00,$7e,$00,$fe,$00,$ff,$00,$ff + db $00,$7f,$00,$7e,$00,$7e,$00,$7e,$00,$7e,$00,$7e,$00,$7e,$00,$7e + db $00,$00,$00,$00,$00,$1c,$00,$3c,$00,$3e,$00,$3e,$00,$3e,$00,$3e + db $00,$3e,$00,$7e,$00,$7e,$00,$7f,$00,$7f,$00,$7f,$00,$7f,$00,$7e .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle .KeyArtTiles: - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $1f,$1f,$1f,$1f,$1b,$1f,$1f,$1f,$0a,$1f,$1f,$1f,$0a,$1f,$1d,$1f db $ff,$ff,$ff,$ff,$bb,$ff,$ff,$ff,$aa,$ff,$7f,$ff,$aa,$ff,$dd,$ff - db $aa,$ff,$54,$ff,$aa,$ff,$54,$ff,$a2,$ff,$54,$ff,$03,$fc,$1f,$e0 - db $2a,$ff,$15,$7f,$0a,$7f,$00,$3f,$00,$8e,$00,$88,$00,$c8,$03,$f0 - db $82,$ff,$00,$e7,$02,$e5,$03,$64,$01,$26,$00,$29,$00,$29,$00,$38 - db $aa,$ff,$00,$ff,$e0,$18,$e0,$10,$e0,$10,$c0,$30,$00,$e0,$00,$e0 - db $aa,$ff,$00,$ff,$0f,$10,$07,$18,$03,$0c,$03,$0c,$03,$04,$01,$06 - db $a8,$ff,$00,$fc,$e0,$1c,$f0,$0c,$e0,$12,$e0,$12,$c0,$23,$c0,$20 - db $2a,$ff,$05,$ff,$02,$df,$00,$8f,$00,$82,$00,$82,$18,$81,$3c,$01 + db $aa,$ff,$54,$ff,$aa,$ff,$54,$ff,$a2,$ff,$54,$ff,$07,$f8,$7f,$80 + db $2a,$ff,$95,$7f,$8a,$7f,$c0,$3f,$07,$f8,$7f,$80,$ff,$00,$ff,$00 + db $82,$ff,$18,$e7,$02,$fd,$1f,$e0,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $aa,$ff,$00,$ff,$fe,$00,$fc,$00,$f8,$00,$f0,$00,$e0,$00,$e0,$00 + db $ba,$ef,$18,$e7,$7f,$00,$3f,$00,$1f,$00,$0f,$00,$07,$00,$07,$00 + db $a8,$ff,$03,$fc,$e3,$1c,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $2a,$ff,$05,$ff,$22,$df,$70,$8f,$fc,$02,$fc,$02,$fe,$01,$fe,$01 db $8a,$ff,$05,$df,$0a,$df,$05,$9f,$02,$3f,$05,$7f,$00,$ff,$f0,$0f - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $07,$f0,$a7,$50,$e4,$10,$e6,$10,$e7,$10,$e7,$10,$c4,$20,$e7,$60 - db $80,$00,$e0,$00,$f0,$00,$38,$00,$f8,$04,$f0,$06,$78,$07,$f8,$07 - db $00,$60,$00,$c0,$00,$40,$00,$20,$00,$10,$00,$08,$00,$04,$00,$94 - db $01,$02,$01,$02,$00,$01,$00,$01,$00,$02,$00,$04,$00,$04,$00,$04 - db $c0,$20,$81,$40,$03,$80,$03,$24,$01,$0c,$03,$1c,$03,$3c,$01,$7c - db $fc,$01,$e4,$01,$8c,$01,$fc,$01,$fc,$01,$c4,$01,$fd,$01,$cd,$01 - db $e6,$60,$e7,$60,$e7,$60,$ff,$78,$9f,$7c,$01,$f0,$00,$c0,$00,$80 - db $71,$07,$f3,$07,$fb,$07,$ff,$0f,$ff,$07,$bd,$03,$01,$01,$01,$01 - db $00,$e4,$00,$f8,$00,$e0,$80,$80,$80,$80,$80,$80,$00,$c0,$00,$60 - db $00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $0d,$fc,$0f,$de,$0b,$0e,$1b,$1c,$10,$1f,$10,$3c,$10,$78,$10,$70 - db $ff,$07,$ff,$0f,$fe,$1e,$c0,$23,$00,$80,$00,$00,$00,$00,$00,$00 - db $7f,$80,$7f,$80,$3f,$c0,$3f,$c0,$1f,$60,$1f,$20,$0f,$30,$0f,$10 - db $fc,$03,$fc,$02,$f8,$06,$f0,$0c,$f0,$0c,$f0,$08,$e0,$18,$e0,$10 - db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00 - db $00,$20,$00,$20,$00,$20,$80,$a0,$80,$a0,$80,$a0,$80,$a0,$80,$a0 - db $00,$00,$00,$00,$00,$01,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03 - db $10,$f0,$30,$f0,$20,$a0,$20,$a0,$20,$a0,$20,$20,$20,$20,$20,$20 - db $07,$18,$07,$18,$07,$08,$03,$0c,$03,$0c,$03,$04,$03,$04,$01,$06 - db $80,$90,$80,$90,$80,$90,$40,$50,$40,$51,$41,$51,$61,$71,$25,$2d - db $c0,$c1,$e0,$e1,$a0,$a1,$a0,$a1,$a0,$e1,$20,$61,$10,$73,$18,$3b - db $20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$60,$20,$e0,$20,$a0 - db $01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02 - db $00,$00,$00,$00,$00,$0f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$c0,$00,$c0 - db $2f,$2f,$38,$7c,$30,$78,$20,$30,$20,$30,$20,$30,$70,$70,$18,$18 - db $10,$37,$18,$1b,$08,$1b,$08,$1b,$08,$1a,$08,$1a,$08,$1b,$08,$1b - db $20,$a0,$20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$e0,$20,$e0,$20 - db $00,$00,$00,$04,$00,$0e,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f - db $00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$0f,$00,$0f - db $00,$c0,$00,$c0,$00,$c0,$01,$c1,$01,$e1,$03,$c6,$07,$fc,$1f,$f8 - db $18,$18,$3e,$3e,$7f,$63,$ff,$c1,$fd,$03,$fb,$07,$f7,$0f,$ef,$1a - db $18,$7b,$30,$f3,$20,$e3,$00,$81,$e0,$7f,$ec,$33,$ff,$30,$ff,$18 - db $e0,$20,$e0,$20,$e0,$20,$f0,$20,$f0,$30,$14,$f8,$f0,$17,$f0,$17 - db $00,$3f,$00,$3f,$00,$3f,$00,$3f,$00,$3f,$00,$2f,$00,$ef,$00,$eb - db $01,$02,$01,$02,$01,$82,$01,$c2,$01,$c2,$01,$f2,$01,$f6,$03,$f4 - db $e0,$18,$e0,$18,$f0,$08,$f0,$08,$f0,$08,$f0,$0c,$f8,$07,$f8,$07 - db $00,$0f,$00,$89,$00,$8f,$01,$cf,$03,$ff,$0f,$f7,$0f,$f7,$37,$ce + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$05,$05 + db $c0,$c0,$e0,$e0,$a0,$e0,$a0,$e0,$a0,$e0,$20,$60,$10,$70,$10,$30 + db $0f,$0f,$38,$3c,$30,$38,$20,$30,$20,$30,$20,$30,$30,$30,$18,$18 + db $10,$30,$18,$18,$08,$18,$08,$18,$08,$18,$08,$18,$08,$18,$08,$18 + db $00,$03,$00,$0f,$00,$3f,$00,$ff,$01,$ff,$03,$fe,$07,$fc,$1f,$f8 + db $18,$f8,$1e,$fe,$7f,$e3,$ff,$c1,$fd,$03,$fb,$07,$f7,$0f,$ed,$1a + db $18,$7f,$30,$ff,$20,$ff,$c0,$ff,$60,$ff,$7b,$a4,$6d,$b2,$b6,$59 + db $00,$c0,$00,$f0,$00,$fc,$00,$ff,$00,$ff,$00,$ff,$90,$7f,$d0,$3f + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$e0,$00,$f8,$00,$fc + db $ff,$00,$ff,$00,$fe,$01,$fc,$03,$f8,$07,$f0,$0f,$e0,$1f,$e0,$1f + db $00,$7f,$00,$ff,$00,$ff,$01,$ff,$03,$ff,$0f,$f7,$0f,$f7,$37,$ce db $3f,$f0,$7f,$e0,$ff,$c0,$ff,$80,$fe,$81,$fd,$03,$ff,$01,$ff,$03 - db $df,$38,$bf,$70,$bf,$60,$7f,$c0,$ff,$80,$ff,$00,$fe,$0f,$bb,$7f - db $ff,$08,$ff,$04,$ff,$06,$ff,$03,$ff,$03,$ff,$3b,$ee,$ef,$a7,$87 - db $fd,$1a,$fe,$09,$fb,$0c,$fd,$0a,$ee,$19,$8f,$fc,$fd,$fe,$92,$d3 - db $00,$fb,$00,$ff,$60,$9f,$90,$6f,$d0,$2f,$6e,$91,$b6,$49,$da,$25 - db $03,$f4,$03,$f4,$01,$fe,$03,$fc,$03,$fc,$03,$fc,$07,$f8,$07,$f8 - db $f8,$07,$f8,$07,$f1,$0e,$e6,$19,$cb,$34,$8d,$72,$96,$69,$19,$e6 - db $1e,$e7,$6c,$97,$b4,$4f,$5c,$a7,$6e,$97,$36,$cf,$de,$27,$4e,$b7 + db $de,$39,$bb,$74,$ad,$72,$76,$c9,$db,$a4,$6d,$92,$be,$4f,$bb,$7f + db $db,$2c,$6d,$96,$b6,$4f,$db,$27,$6f,$93,$bf,$7b,$ee,$ef,$a7,$87 + db $7d,$9a,$be,$49,$db,$2c,$6d,$9a,$ae,$59,$8f,$fc,$fd,$fe,$92,$d3 + db $00,$fe,$00,$ff,$60,$9f,$90,$6f,$d0,$2f,$6e,$91,$b6,$49,$da,$25 + db $ff,$00,$ff,$00,$7f,$80,$3f,$c0,$1f,$e0,$0f,$f0,$07,$f8,$07,$f8 + db $c0,$3f,$c0,$3f,$81,$7e,$86,$79,$0b,$f4,$0d,$f2,$16,$e9,$1b,$e4 + db $1e,$e7,$6c,$97,$b4,$4f,$dc,$27,$6e,$97,$b6,$4f,$de,$27,$6e,$97 db $fe,$03,$ff,$03,$ff,$03,$fb,$07,$7f,$83,$7e,$82,$7e,$82,$6e,$96 db $60,$e1,$d8,$c0,$f4,$80,$d8,$80,$62,$00,$4c,$00,$30,$00,$bc,$40 db $3f,$83,$1d,$c1,$37,$c0,$7e,$80,$07,$c0,$62,$80,$70,$00,$0f,$00 db $03,$83,$01,$01,$81,$81,$c1,$c1,$63,$63,$27,$36,$7f,$38,$ff,$08 - db $6d,$92,$b6,$49,$db,$24,$ed,$12,$f6,$89,$fb,$c4,$cd,$72,$d6,$69 - db $07,$f8,$d3,$2c,$63,$9c,$b5,$4a,$d2,$2d,$6c,$93,$b6,$49,$db,$24 + db $6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$c9,$db,$e4,$cd,$72,$d6,$69 + db $03,$fc,$d3,$2c,$61,$9e,$b4,$4b,$d2,$2d,$6c,$93,$b6,$49,$db,$24 db $0d,$12,$16,$09,$1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$12,$16,$09 db $b6,$4b,$da,$27,$6e,$93,$b7,$4b,$db,$25,$6d,$93,$b7,$49,$db,$25 db $6e,$9d,$3f,$cf,$3f,$c3,$3e,$c2,$3b,$c6,$3f,$c6,$1f,$ef,$1f,$ee @@ -96,51 +300,65 @@ TheChariot: db $fb,$64,$ed,$72,$f6,$29,$fb,$24,$ed,$32,$f6,$29,$fb,$14,$fd,$12 db $6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49 db $1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$12 - db $6d,$93,$b7,$49,$db,$25,$6d,$93,$b7,$49,$db,$25,$6c,$93,$b7,$48 + db $6d,$93,$b7,$49,$db,$25,$6d,$93,$b7,$49,$db,$25,$6d,$93,$b7,$49 db $13,$ec,$1f,$e0,$8f,$f1,$8f,$f3,$83,$ff,$80,$ff,$83,$fc,$80,$ff db $93,$ef,$84,$ff,$98,$7f,$f0,$ff,$1c,$df,$9f,$1f,$81,$4f,$00,$ff db $97,$e8,$c3,$fc,$21,$fe,$07,$ff,$00,$ff,$9c,$ff,$f3,$f0,$1f,$e0 db $2f,$30,$f9,$f7,$ff,$ff,$cf,$ff,$88,$f7,$0e,$11,$ef,$10,$c7,$38 db $7e,$99,$7b,$8c,$fd,$8a,$fe,$cd,$ff,$c6,$7f,$c6,$be,$47,$fd,$26 - db $db,$25,$6d,$93,$b7,$49,$db,$27,$6e,$93,$b2,$4f,$dc,$27,$6c,$97 - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $03,$fc,$01,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $db,$25,$6d,$93,$b7,$49,$db,$27,$6f,$93,$b2,$4f,$d8,$27,$68,$97 + db $03,$fc,$01,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$84,$ff,$84,$ff db $fd,$03,$dd,$23,$fd,$03,$7d,$83,$7d,$83,$3d,$c3,$1d,$e3,$01,$ff - db $bc,$4f,$d8,$2f,$68,$9f,$b8,$4f,$d0,$3f,$70,$9f,$b0,$5f,$d0,$3f - db $02,$ff,$01,$ff,$03,$ff,$02,$ff,$03,$ff,$01,$ff,$01,$ff,$00,$ff - db $01,$ff,$03,$ff,$e2,$ff,$de,$3f,$6d,$92,$b6,$49,$db,$e4,$ed,$d2 - db $70,$bf,$a0,$7f,$e0,$7f,$40,$ff,$c0,$7f,$c0,$ff,$80,$ff,$80,$ff - db $00,$ff,$00,$ff,$00,$fc,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $00,$ff,$00,$ff,$00,$00,$00,$7d,$00,$39,$00,$bb,$00,$bb,$00,$b3 - db $00,$ff,$00,$ff,$00,$01,$00,$6f,$00,$6f,$00,$6f,$00,$6f,$00,$6f - db $36,$e9,$3b,$e4,$1d,$f2,$16,$f9,$1b,$fc,$0d,$fa,$0e,$fd,$07,$fc + db $b0,$4f,$d0,$2f,$60,$9f,$b0,$4f,$c0,$3f,$60,$9f,$a0,$5f,$c0,$3f + db $c7,$ff,$c3,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$f0,$ff,$f0,$ff,$f8,$ff + db $01,$ff,$83,$ff,$c2,$ff,$fe,$7f,$6d,$9a,$b6,$49,$1b,$e4,$2d,$d2 + db $40,$bf,$80,$7f,$80,$7f,$00,$ff,$81,$7f,$03,$ff,$07,$ff,$07,$ff + db $7f,$ff,$7e,$fe,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $16,$e9,$1b,$e4,$0d,$f2,$06,$f9,$03,$fc,$05,$fa,$02,$fd,$03,$fc db $db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92 db $16,$09,$1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$13,$17,$09,$1b,$05 - db $80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fc,$00,$ff,$00,$ff,$00,$ff - db $00,$97,$00,$d7,$00,$c7,$00,$ef,$00,$00,$00,$ff,$00,$ff,$00,$ff - db $00,$6f,$00,$6f,$00,$6f,$00,$6f,$00,$01,$00,$ff,$00,$ff,$00,$ff - db $07,$fe,$03,$fe,$03,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff + db $0f,$ff,$0f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$3f,$ff,$3f,$ff + db $01,$fe,$81,$fe,$c0,$ff,$c0,$ff,$e0,$ff,$e0,$ff,$f0,$ff,$f0,$ff db $b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24 - db $c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20 - db $c0,$30,$e0,$10,$e0,$10,$e0,$10,$e0,$10,$e0,$10,$e0,$10,$e0,$10 + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$01,$ff,$01,$ff,$01,$ff + db $00,$ff,$00,$ff,$00,$ff,$70,$ff,$f8,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$7e,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $03,$ff,$07,$ff,$07,$ff,$07,$ff,$0f,$ff,$1f,$ff,$1f,$ff,$3f,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $f8,$ff,$fc,$ff,$fc,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff + db $ff,$ff,$00,$00,$7d,$7d,$7d,$7d,$bb,$39,$bb,$bb,$bb,$bb,$bb,$bb + db $ff,$ff,$01,$01,$db,$93,$db,$93,$db,$93,$db,$93,$db,$93,$db,$93 + db $db,$93,$db,$93,$db,$93,$db,$93,$db,$93,$db,$93,$01,$01,$ff,$ff + db $d7,$93,$d7,$d7,$d7,$d7,$d7,$d7,$ef,$c7,$ef,$ef,$80,$80,$ff,$ff + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $07,$00,$03,$00,$03,$00,$03,$00,$01,$00,$01,$00,$01,$00,$01,$00 + db $e0,$00,$c0,$00,$c0,$00,$c0,$00,$80,$00,$80,$00,$80,$00,$80,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$07,$00,$1f,$00,$3f + db $aa,$ff,$55,$ff,$aa,$ff,$55,$ff,$a0,$ff,$50,$ff,$00,$ff,$0f,$f0 + db $aa,$ff,$55,$ff,$a8,$ff,$40,$ff,$01,$fe,$1f,$e0,$ff,$00,$ff,$00 + db $aa,$ff,$00,$ff,$00,$ff,$1f,$e0,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $00,$ff,$00,$ff,$3f,$c0,$fc,$00,$f8,$00,$f0,$00,$f0,$00,$e0,$00 + db $00,$ff,$00,$ff,$fc,$03,$3f,$00,$1f,$00,$0f,$00,$0f,$00,$07,$00 + db $aa,$ff,$01,$ff,$00,$ff,$e0,$1f,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $aa,$ff,$55,$ff,$0a,$ff,$00,$ff,$f0,$0f,$ff,$00,$ff,$00,$ff,$00 + db $aa,$ff,$55,$ff,$aa,$ff,$55,$ff,$02,$ff,$00,$ff,$c0,$3f,$fc,$03 .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 db $1c, $1c, $1c, $1c, $1c, $1c, $1c, $1c - db $1d, $1e, $1f, $20, $21, $22, $23, $24 - db $25, $26, $27, $28, $29, $2a, $2b, $25 - db $25, $2c, $2d, $2e, $2f, $30, $31, $32 - db $33, $1a, $34, $35, $36, $37, $1a, $38 - db $7d, $1a, $1a, $39, $3a, $3b, $1a, $3c - db $7d, $3d, $3e, $3f, $40, $41, $42, $3c - db $7e, $43, $44, $45, $46, $47, $48, $49 - db $4a, $4b, $4c, $4d, $4e, $4f, $50, $51 - db $52, $53, $54, $55, $56, $57, $58, $59 - db $61, $5b, $5c, $5d, $5e, $5f, $60, $61 - db $75, $63, $64, $65, $66, $67, $68, $75 - db $7c, $69, $6a, $6a, $6a, $6b, $6c, $7c - db $61, $6d, $6a, $6a, $6a, $6e, $6f, $61 - db $75, $70, $71, $72, $73, $6a, $74, $75 - db $7c, $77, $78, $79, $7a, $6a, $7b, $7c + db $69, $6a, $6b, $6c, $6d, $6e, $6f, $70 + db $65, $65, $65, $67, $66, $65, $65, $65 + db $65, $65, $65, $1a, $1a, $65, $65, $65 + db $65, $1a, $1a, $1a, $1a, $1a, $1a, $65 + db $65, $1a, $1a, $25, $26, $1a, $1a, $65 + db $65, $1a, $1a, $27, $28, $1a, $1a, $65 + db $65, $68, $29, $2a, $2b, $2c, $2d, $65 + db $2e, $2f, $30, $31, $32, $33, $34, $35 + db $36, $37, $38, $39, $3a, $3b, $3c, $3d + db $45, $3f, $40, $41, $42, $43, $44, $45 + db $56, $47, $48, $49, $4a, $4b, $4c, $56 + db $5a, $4d, $5b, $5c, $5d, $4e, $4f, $5a + db $45, $50, $5e, $5f, $5f, $51, $52, $45 + db $56, $53, $54, $61, $62, $60, $55, $56 + db $5a, $58, $5f, $64, $63, $5f, $59, $5a .BackgroundCopyEnd: diff --git a/07thechariot.aseprite b/07thechariot.aseprite index 020e00d..e6ed4e8 100644 Binary files a/07thechariot.aseprite and b/07thechariot.aseprite differ diff --git a/07thechariot.asm b/07thechariot.asm index 3eeb796..dcf6949 100644 --- a/07thechariot.asm +++ b/07thechariot.asm @@ -1,125 +1,86 @@ ; original export script by gabriel reis, modified by shoofle -.KeyArtTiles: +.SpriteTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $1f,$1f,$1f,$1f,$1b,$1f,$1f,$1f,$0a,$1f,$1f,$1f,$0a,$1f,$1d,$1f - db $ff,$ff,$ff,$ff,$bb,$ff,$ff,$ff,$aa,$ff,$7f,$ff,$aa,$ff,$dd,$ff - db $aa,$ff,$54,$ff,$aa,$ff,$54,$ff,$a2,$ff,$54,$ff,$03,$fc,$1f,$e0 - db $2a,$ff,$15,$7f,$0a,$7f,$00,$3f,$00,$8e,$00,$88,$00,$c8,$03,$f0 - db $82,$ff,$00,$e7,$02,$e5,$03,$64,$01,$26,$00,$29,$00,$29,$00,$38 - db $aa,$ff,$00,$ff,$e0,$18,$e0,$10,$e0,$10,$c0,$30,$00,$e0,$00,$e0 - db $aa,$ff,$00,$ff,$0f,$10,$07,$18,$03,$0c,$03,$0c,$03,$04,$01,$06 - db $a8,$ff,$00,$fc,$e0,$1c,$f0,$0c,$e0,$12,$e0,$12,$c0,$23,$c0,$20 - db $2a,$ff,$05,$ff,$02,$df,$00,$8f,$00,$82,$00,$82,$18,$81,$3c,$01 - db $8a,$ff,$05,$df,$0a,$df,$05,$9f,$02,$3f,$05,$7f,$00,$ff,$f0,$0f - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $07,$f0,$a7,$50,$e4,$10,$e6,$10,$e7,$10,$e7,$10,$c4,$20,$e7,$60 - db $80,$00,$e0,$00,$f0,$00,$38,$00,$f8,$04,$f0,$06,$78,$07,$f8,$07 - db $00,$60,$00,$c0,$00,$40,$00,$20,$00,$10,$00,$08,$00,$04,$00,$94 - db $01,$02,$01,$02,$00,$01,$00,$01,$00,$02,$00,$04,$00,$04,$00,$04 - db $c0,$20,$81,$40,$03,$80,$03,$24,$01,$0c,$03,$1c,$03,$3c,$01,$7c - db $fc,$01,$e4,$01,$8c,$01,$fc,$01,$fc,$01,$c4,$01,$fd,$01,$cd,$01 - db $e6,$60,$e7,$60,$e7,$60,$ff,$78,$9f,$7c,$01,$f0,$00,$c0,$00,$80 - db $71,$07,$f3,$07,$fb,$07,$ff,$0f,$ff,$07,$bd,$03,$01,$01,$01,$01 - db $00,$e4,$00,$f8,$00,$e0,$80,$80,$80,$80,$80,$80,$00,$c0,$00,$60 - db $00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $0d,$fc,$0f,$de,$0b,$0e,$1b,$1c,$10,$1f,$10,$3c,$10,$78,$10,$70 - db $ff,$07,$ff,$0f,$fe,$1e,$c0,$23,$00,$80,$00,$00,$00,$00,$00,$00 - db $7f,$80,$7f,$80,$3f,$c0,$3f,$c0,$1f,$60,$1f,$20,$0f,$30,$0f,$10 - db $fc,$03,$fc,$02,$f8,$06,$f0,$0c,$f0,$0c,$f0,$08,$e0,$18,$e0,$10 - db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00 - db $00,$20,$00,$20,$00,$20,$80,$a0,$80,$a0,$80,$a0,$80,$a0,$80,$a0 - db $00,$00,$00,$00,$00,$01,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03 - db $10,$f0,$30,$f0,$20,$a0,$20,$a0,$20,$a0,$20,$20,$20,$20,$20,$20 - db $07,$18,$07,$18,$07,$08,$03,$0c,$03,$0c,$03,$04,$03,$04,$01,$06 - db $80,$90,$80,$90,$80,$90,$40,$50,$40,$51,$41,$51,$61,$71,$25,$2d - db $c0,$c1,$e0,$e1,$a0,$a1,$a0,$a1,$a0,$e1,$20,$61,$10,$73,$18,$3b - db $20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$60,$20,$e0,$20,$a0 - db $01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02 - db $00,$00,$00,$00,$00,$0f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$c0,$00,$c0 - db $2f,$2f,$38,$7c,$30,$78,$20,$30,$20,$30,$20,$30,$70,$70,$18,$18 - db $10,$37,$18,$1b,$08,$1b,$08,$1b,$08,$1a,$08,$1a,$08,$1b,$08,$1b - db $20,$a0,$20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$e0,$20,$e0,$20 - db $00,$00,$00,$04,$00,$0e,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f - db $00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$0f,$00,$0f - db $00,$c0,$00,$c0,$00,$c0,$01,$c1,$01,$e1,$03,$c6,$07,$fc,$1f,$f8 - db $18,$18,$3e,$3e,$7f,$63,$ff,$c1,$fd,$03,$fb,$07,$f7,$0f,$ef,$1a - db $18,$7b,$30,$f3,$20,$e3,$00,$81,$e0,$7f,$ec,$33,$ff,$30,$ff,$18 - db $e0,$20,$e0,$20,$e0,$20,$f0,$20,$f0,$30,$14,$f8,$f0,$17,$f0,$17 - db $00,$3f,$00,$3f,$00,$3f,$00,$3f,$00,$3f,$00,$2f,$00,$ef,$00,$eb - db $01,$02,$01,$02,$01,$82,$01,$c2,$01,$c2,$01,$f2,$01,$f6,$03,$f4 - db $e0,$18,$e0,$18,$f0,$08,$f0,$08,$f0,$08,$f0,$0c,$f8,$07,$f8,$07 - db $00,$0f,$00,$89,$00,$8f,$01,$cf,$03,$ff,$0f,$f7,$0f,$f7,$37,$ce - db $3f,$f0,$7f,$e0,$ff,$c0,$ff,$80,$fe,$81,$fd,$03,$ff,$01,$ff,$03 - db $df,$38,$bf,$70,$bf,$60,$7f,$c0,$ff,$80,$ff,$00,$fe,$0f,$bb,$7f - db $ff,$08,$ff,$04,$ff,$06,$ff,$03,$ff,$03,$ff,$3b,$ee,$ef,$a7,$87 - db $fd,$1a,$fe,$09,$fb,$0c,$fd,$0a,$ee,$19,$8f,$fc,$fd,$fe,$92,$d3 - db $00,$fb,$00,$ff,$60,$9f,$90,$6f,$d0,$2f,$6e,$91,$b6,$49,$da,$25 - db $03,$f4,$03,$f4,$01,$fe,$03,$fc,$03,$fc,$03,$fc,$07,$f8,$07,$f8 - db $f8,$07,$f8,$07,$f1,$0e,$e6,$19,$cb,$34,$8d,$72,$96,$69,$19,$e6 - db $1e,$e7,$6c,$97,$b4,$4f,$5c,$a7,$6e,$97,$36,$cf,$de,$27,$4e,$b7 - db $fe,$03,$ff,$03,$ff,$03,$fb,$07,$7f,$83,$7e,$82,$7e,$82,$6e,$96 - db $60,$e1,$d8,$c0,$f4,$80,$d8,$80,$62,$00,$4c,$00,$30,$00,$bc,$40 - db $3f,$83,$1d,$c1,$37,$c0,$7e,$80,$07,$c0,$62,$80,$70,$00,$0f,$00 - db $03,$83,$01,$01,$81,$81,$c1,$c1,$63,$63,$27,$36,$7f,$38,$ff,$08 - db $6d,$92,$b6,$49,$db,$24,$ed,$12,$f6,$89,$fb,$c4,$cd,$72,$d6,$69 - db $07,$f8,$d3,$2c,$63,$9c,$b5,$4a,$d2,$2d,$6c,$93,$b6,$49,$db,$24 - db $0d,$12,$16,$09,$1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$12,$16,$09 - db $b6,$4b,$da,$27,$6e,$93,$b7,$4b,$db,$25,$6d,$93,$b7,$49,$db,$25 - db $6e,$9d,$3f,$cf,$3f,$c3,$3e,$c2,$3b,$c6,$3f,$c6,$1f,$ef,$1f,$ee - db $1a,$c0,$8e,$80,$38,$00,$43,$20,$87,$60,$0f,$f0,$1f,$e0,$dc,$e3 - db $03,$00,$70,$03,$da,$00,$ff,$00,$f1,$0e,$fc,$03,$fe,$03,$3f,$c1 - db $ff,$78,$df,$38,$9f,$bc,$df,$fc,$ff,$3c,$fb,$3c,$13,$d4,$e3,$ec - db $fb,$64,$ed,$72,$f6,$29,$fb,$24,$ed,$32,$f6,$29,$fb,$14,$fd,$12 - db $6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49 - db $1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$12 - db $6d,$93,$b7,$49,$db,$25,$6d,$93,$b7,$49,$db,$25,$6c,$93,$b7,$48 - db $13,$ec,$1f,$e0,$8f,$f1,$8f,$f3,$83,$ff,$80,$ff,$83,$fc,$80,$ff - db $93,$ef,$84,$ff,$98,$7f,$f0,$ff,$1c,$df,$9f,$1f,$81,$4f,$00,$ff - db $97,$e8,$c3,$fc,$21,$fe,$07,$ff,$00,$ff,$9c,$ff,$f3,$f0,$1f,$e0 - db $2f,$30,$f9,$f7,$ff,$ff,$cf,$ff,$88,$f7,$0e,$11,$ef,$10,$c7,$38 - db $7e,$99,$7b,$8c,$fd,$8a,$fe,$cd,$ff,$c6,$7f,$c6,$be,$47,$fd,$26 - db $db,$25,$6d,$93,$b7,$49,$db,$27,$6e,$93,$b2,$4f,$dc,$27,$6c,$97 - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $03,$fc,$01,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $fd,$03,$dd,$23,$fd,$03,$7d,$83,$7d,$83,$3d,$c3,$1d,$e3,$01,$ff - db $bc,$4f,$d8,$2f,$68,$9f,$b8,$4f,$d0,$3f,$70,$9f,$b0,$5f,$d0,$3f - db $02,$ff,$01,$ff,$03,$ff,$02,$ff,$03,$ff,$01,$ff,$01,$ff,$00,$ff - db $01,$ff,$03,$ff,$e2,$ff,$de,$3f,$6d,$92,$b6,$49,$db,$e4,$ed,$d2 - db $70,$bf,$a0,$7f,$e0,$7f,$40,$ff,$c0,$7f,$c0,$ff,$80,$ff,$80,$ff - db $00,$ff,$00,$ff,$00,$fc,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $00,$ff,$00,$ff,$00,$00,$00,$7d,$00,$39,$00,$bb,$00,$bb,$00,$b3 - db $00,$ff,$00,$ff,$00,$01,$00,$6f,$00,$6f,$00,$6f,$00,$6f,$00,$6f - db $36,$e9,$3b,$e4,$1d,$f2,$16,$f9,$1b,$fc,$0d,$fa,$0e,$fd,$07,$fc - db $db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92 - db $16,$09,$1b,$04,$0d,$12,$16,$09,$1b,$04,$0d,$13,$17,$09,$1b,$05 - db $80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fc,$00,$ff,$00,$ff,$00,$ff - db $00,$97,$00,$d7,$00,$c7,$00,$ef,$00,$00,$00,$ff,$00,$ff,$00,$ff - db $00,$6f,$00,$6f,$00,$6f,$00,$6f,$00,$01,$00,$ff,$00,$ff,$00,$ff - db $07,$fe,$03,$fe,$03,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff - db $b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24,$6d,$92,$b6,$49,$db,$24 - db $c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20,$c0,$20 - db $c0,$30,$e0,$10,$e0,$10,$e0,$10,$e0,$10,$e0,$10,$e0,$10,$e0,$10 -.KeyArtTilesEnd: + db $00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00 + db $00,$80,$80,$c0,$80,$e1,$c0,$ff,$71,$ff,$77,$ff,$37,$ff,$0f,$7f + db $00,$7c,$18,$fc,$18,$fc,$98,$fc,$d8,$fe,$d6,$ff,$d6,$ff,$c7,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80 + db $00,$00,$00,$3f,$0f,$3f,$0f,$1f,$07,$1f,$03,$0f,$00,$07,$00,$01 + db $00,$00,$00,$c0,$80,$ef,$8f,$ff,$9e,$ff,$df,$ff,$ff,$ff,$ff,$ff + db $00,$3c,$00,$ff,$1c,$ff,$7c,$ff,$79,$ff,$f1,$ff,$c7,$ff,$ff,$ff + db $00,$00,$00,$c0,$00,$c0,$c0,$e0,$c0,$e0,$e0,$f0,$e0,$f0,$c0,$f0 + db $00,$07,$03,$07,$03,$07,$01,$07,$01,$03,$00,$01,$00,$00,$00,$00 + db $00,$c0,$80,$e1,$c0,$ff,$f1,$ff,$ff,$ff,$ff,$ff,$7f,$ff,$0f,$7f + db $00,$ff,$0f,$ff,$9f,$ff,$de,$ff,$fc,$ff,$f2,$ff,$fe,$ff,$fe,$ff + db $00,$c0,$80,$c0,$80,$c0,$00,$c0,$00,$c0,$00,$80,$00,$80,$00,$80 + db $00,$fc,$30,$ff,$3c,$ff,$3e,$ff,$1f,$7f,$1f,$7f,$1f,$3f,$0f,$3f + db $30,$f8,$70,$ff,$71,$ff,$f3,$ff,$f7,$ff,$f7,$ff,$e7,$ff,$ff,$ff + db $00,$00,$00,$e0,$c0,$f8,$f0,$f8,$f0,$f8,$f0,$f8,$f0,$f8,$c0,$f8 + db $0f,$3f,$0f,$1f,$0f,$1f,$0c,$1f,$0c,$1f,$08,$1f,$18,$3f,$1c,$3f + db $ff,$ff,$ff,$ff,$ff,$ff,$3f,$ff,$1b,$ff,$19,$ff,$38,$ff,$18,$ff + db $00,$80,$00,$c0,$80,$c0,$c0,$e0,$e0,$f0,$f0,$f8,$f8,$fc,$68,$fc + db $7f,$ff,$7f,$ff,$7f,$ff,$61,$ff,$60,$ff,$60,$ff,$60,$ff,$60,$ff + db $ff,$ff,$fe,$ff,$f8,$ff,$f8,$ff,$60,$fe,$e0,$f0,$60,$f0,$e0,$f0 + db $00,$e0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3c,$ff,$1c,$ff,$1c,$ff,$0c,$ff,$84,$ff,$0e,$ff,$4e,$ff,$46,$ff + db $00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $0f,$1f,$0f,$1f,$0c,$1f,$0c,$1f,$0c,$3f,$1c,$3f,$1c,$3f,$1c,$3f + db $9f,$ff,$1f,$ff,$3c,$ff,$18,$ff,$18,$fc,$28,$fc,$08,$fc,$38,$fc + db $80,$e0,$80,$c0,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $18,$3f,$1c,$7f,$38,$7f,$38,$7f,$38,$7f,$30,$ff,$7e,$ff,$7f,$ff + db $38,$ff,$18,$fe,$38,$fe,$38,$fe,$38,$ff,$7d,$ff,$3f,$ff,$bf,$ff + db $18,$fc,$00,$78,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$80,$e0 + db $60,$ff,$62,$ff,$60,$ff,$62,$ff,$70,$ff,$78,$ff,$7f,$ff,$7f,$ff + db $60,$ff,$62,$ff,$73,$ff,$33,$ff,$39,$ff,$7b,$ff,$f9,$ff,$fc,$ff + db $00,$00,$00,$80,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$c0,$00,$e0 + db $07,$1f,$0e,$1f,$0e,$1f,$0e,$1f,$0e,$1f,$0f,$3f,$1f,$3f,$3f,$ff + db $0e,$ff,$07,$ff,$1f,$ff,$1f,$ff,$0f,$ff,$cf,$ff,$ff,$ff,$ff,$ff + db $00,$80,$00,$80,$80,$f0,$d0,$f8,$d0,$fc,$e8,$fc,$e8,$fc,$e8,$fc + db $1c,$7f,$3c,$7f,$3c,$7f,$3c,$7f,$3c,$ff,$3f,$ff,$7f,$ff,$7f,$ff + db $68,$fc,$08,$fc,$38,$fe,$18,$ff,$3d,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$80,$e0,$c0,$e0 + db $00,$01,$00,$01,$01,$03,$03,$07,$03,$0f,$07,$0f,$07,$0f,$07,$0f + db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0 + db $00,$01,$00,$03,$01,$07,$01,$07,$03,$0f,$07,$1f,$07,$1f,$1f,$3f + db $c0,$e0,$80,$e0,$80,$c0,$80,$c0,$00,$c0,$00,$80,$00,$80,$00,$80 + db $00,$01,$00,$03,$01,$03,$01,$03,$01,$07,$03,$07,$03,$0f,$07,$0f + db $e0,$f8,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0,$e0,$f0 + db $00,$01,$00,$01,$01,$03,$01,$03,$01,$03,$01,$07,$03,$07,$03,$07 + db $07,$0f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f + db $1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f + db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$c0,$00,$c0,$80,$e0 + db $07,$1f,$07,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f + db $e0,$f0,$e0,$f0,$c0,$f0,$c0,$f0,$c0,$f0,$c0,$e0,$c0,$e0,$c0,$e0 + db $03,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f,$07,$0f + db $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f + db $c0,$e0,$80,$e0,$80,$e0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$e0 + db $1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$0f,$3f + db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$80,$e0 + db $80,$e0,$80,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$e0,$80,$e0,$80,$e0 + db $80,$e0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$e0,$80,$e0 + db $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f,$07,$1f + db $0f,$1f,$0f,$1f,$0f,$1f,$07,$1f,$07,$1f,$07,$0f,$07,$0f,$07,$0f + db $07,$1f,$07,$1f,$06,$0e,$04,$0c,$00,$08,$00,$00,$00,$00,$00,$00 + db $07,$0f,$07,$0f,$06,$0e,$04,$0c,$00,$08,$00,$00,$00,$00,$00,$00 + db $0f,$1f,$0f,$1f,$0e,$1e,$0c,$1c,$00,$08,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$7e,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$ff,$00,$df,$00,$dd,$00,$d5,$00,$55,$00,$56,$00,$56,$00,$54 + db $00,$00,$00,$18,$00,$3c,$00,$3c,$00,$7e,$00,$7e,$00,$7e,$00,$7c + db $00,$3c,$00,$3c,$00,$3e,$00,$7e,$00,$7e,$00,$fe,$00,$ff,$00,$ff + db $00,$7f,$00,$7e,$00,$7e,$00,$7e,$00,$7e,$00,$7e,$00,$7e,$00,$7e + db $00,$00,$00,$00,$00,$1c,$00,$3c,$00,$3e,$00,$3e,$00,$3e,$00,$3e + db $00,$3e,$00,$7e,$00,$7e,$00,$7f,$00,$7f,$00,$7f,$00,$7f,$00,$7e +.SpriteTilesEnd: -.BackgroundCopy: ; tiles start at 26 - db $1c, $1c, $1c, $1c, $1c, $1c, $1c, $1c - db $1d, $1e, $1f, $20, $21, $22, $23, $24 - db $25, $26, $27, $28, $29, $2a, $2b, $25 - db $25, $2c, $2d, $2e, $2f, $30, $31, $32 - db $33, $1a, $34, $35, $36, $37, $1a, $38 - db $7d, $1a, $1a, $39, $3a, $3b, $1a, $3c - db $7d, $3d, $3e, $3f, $40, $41, $42, $3c - db $7e, $43, $44, $45, $46, $47, $48, $49 - db $4a, $4b, $4c, $4d, $4e, $4f, $50, $51 - db $52, $53, $54, $55, $56, $57, $58, $59 - db $61, $5b, $5c, $5d, $5e, $5f, $60, $61 - db $75, $63, $64, $65, $66, $67, $68, $75 - db $7c, $69, $6a, $6a, $6a, $6b, $6c, $7c - db $61, $6d, $6a, $6a, $6a, $6e, $6f, $61 - db $75, $70, $71, $72, $73, $6a, $74, $75 - db $7c, $77, $78, $79, $7a, $6a, $7b, $7c -.BackgroundCopyEnd: +.Sprites: ; tiles start at 0 + db $44 + db $45 + db $3f + db $43 + db $41 + db $42 + db $3f + db $40 +.SpritesEnd: diff --git a/CardHelpers.inc b/CardHelpers.inc index f5b0eba..9b2a19f 100644 --- a/CardHelpers.inc +++ b/CardHelpers.inc @@ -165,6 +165,10 @@ CardInit: ld bc, $100 call CopyRange + ld a, %11100100 + ld [rOBP0], a + ld [rOBP1], a + call CARD_INIT - 1 ret diff --git a/CopyTilesSafe.inc b/CopyTilesSafe.inc index 899bd24..6c4f1e2 100644 --- a/CopyTilesSafe.inc +++ b/CopyTilesSafe.inc @@ -69,6 +69,7 @@ BuildMetaSprite: inc de ; move to the next sprite ld [hl], a inc hl + res OAMB_XFLIP, [hl] ; make sure xflip is turned off inc hl ; skip the attributes byte ; we're going to wait to get our a value (number of tiles left to draw in this ; row) until after we've used a for changing c @@ -106,4 +107,246 @@ BuildMetaSprite: ret +BuildMetaSpriteHFlip: + ; takkes similar args as copytilestomapunsafe but builds several sprites + ; instead. + ; location of source tile map: hl + ; location in memory to write to: de + ; y and x in b and c + ; height and width in a & %11110000 and a & %00001111 ??? that's deranged + push hl + push de + pop hl ; want hl and de to be swapped just for the sake of consistent apis + pop de ; hl now holds the OAM location, de holds the sprite map + push af ; save to the stack so we can retrieve it for row-wise decrement + and a, $0F + ;sla a ;times 2 + ;sla a ; times 4 + ;sla a ; times 8 + ;add a, c + + ;ld a, b + ;adc a, 0 + ;ld b, a + pop af + push af + push bc ; hold onto the upper-left corner so we can update it each row + + +.writeRow + pop bc + pop af + push af + push bc ; refresh af and bc from their authoritative stack versions + and a, $0F ; take only the horizontal tile count + +.buildSprite + ; + ld [hl], b ; write y byte + inc hl + ld [hl], c ; write x byte + inc hl + push af ; save a before we use it for transferring de to hl + ld a, [de] + inc de ; move to the next sprite + ld [hl], a + inc hl + set OAMB_XFLIP, [hl] ; make sure xflip is turned on + inc hl ; skip the attributes byte + ; we're going to wait to get our a value (number of tiles left to draw in this + ; row) until after we've used a for changing c + + ;we've written a whole sprite. hl and de are in the right state, we need to + ; update a and bc. + + ; update bc + ld a, c + sub a, 8 + ld c, a + pop af ; get back the number of tiles to draw in this row + dec a + jp nz, .buildSprite ; if there are still tiles left to draw in this row, do it! + + ; otherwise we have no more tiles to write this row bc needs to be updated + + + pop bc + ld a, b + add a, 8 + ld b, a ; add 8 to the y coordinate + + pop af + sub a, $10 + push af + push bc + + and a, $F0 + ; stakc has bc and af, ready for repeating from the top + jp nz, .writeRow ; last numerical operation was and a, $F0 so checking if upper byte is zero + + pop bc + pop af + + ret + + + +BuildMetaSpritePackedHflip: + ; takkes similar args as copytilestomapunsafe but builds several sprites + ; instead. + ; location of source tile map: hl + ; location in memory to write to: de + ; y and x in b and c + ; height and width in a & %11110000 and a & %00001111 ??? that's deranged + push hl + push de + pop hl ; want hl and de to be swapped just for the sake of consistent apis + pop de ; hl now holds the OAM location, de holds the sprite map + push af ; save to the stack so we can retrieve it for row-wise decrement + push bc ; hold onto the upper-left corner so we can update it each row + + +.writeRow + pop bc + pop af + push af + push bc ; refresh af and bc from their authoritative stack versions + and a, $0F ; take only the horizontal tile count + +.buildSprite + ; + ld [hl], b ; write y byte + inc hl + ld [hl], c ; write x byte + inc hl + push af ; save a before we use it for transferring de to hl + + ld a, [de] + inc de ; move to the next sprite + ld [hl], a + cp a, 0 + jp nz, :+ + + dec hl + dec hl + jp :++ +: + inc hl + set OAMB_XFLIP, [hl] ; make sure xflip is turned off + inc hl ; skip the attributes byte + ; we're going to wait to get our a value (number of tiles left to draw in this + ; row) until after we've used a for changing c + + ;we've written a whole sprite. hl and de are in the right state, we need to + ; update a and bc. + + ; update bc +: ld a, c + sub a, 8 + ld c, a + pop af ; get back the number of tiles to draw in this row + dec a + jp nz, .buildSprite ; if there are still tiles left to draw in this row, do it! + + ; otherwise we have no more tiles to write this row bc needs to be updated + + + pop bc + ld a, b + add a, 8 + ld b, a ; add 8 to the y coordinate + + pop af + sub a, $10 + push af + push bc + + and a, $F0 + ; stakc has bc and af, ready for repeating from the top + jp nz, .writeRow ; last numerical operation was and a, $F0 so checking if upper byte is zero + + pop bc + pop af + + ret + + +BuildMetaSpritePacked: + ; takkes similar args as copytilestomapunsafe but builds several sprites + ; instead. + ; location of source tile map: hl + ; location in memory to write to: de + ; y and x in b and c + ; height and width in a & %11110000 and a & %00001111 ??? that's deranged + push hl + push de + pop hl ; want hl and de to be swapped just for the sake of consistent apis + pop de ; hl now holds the OAM location, de holds the sprite map + push af ; save to the stack so we can retrieve it for row-wise decrement + push bc ; hold onto the upper-left corner so we can update it each row + + +.writeRow + pop bc + pop af + push af + push bc ; refresh af and bc from their authoritative stack versions + and a, $0F ; take only the horizontal tile count + +.buildSprite + ; + ld [hl], b ; write y byte + inc hl + ld [hl], c ; write x byte + inc hl + push af ; save a before we use it for transferring de to hl + + ld a, [de] + inc de ; move to the next sprite + ld [hl], a + cp a, 0 + jp nz, :+ + + dec hl + dec hl + jp :++ +: + inc hl + res OAMB_XFLIP, [hl] ; make sure xflip is turned off + inc hl ; skip the attributes byte + ; we're going to wait to get our a value (number of tiles left to draw in this + ; row) until after we've used a for changing c + + ;we've written a whole sprite. hl and de are in the right state, we need to + ; update a and bc. + + ; update bc +: ld a, c + add a, 8 + ld c, a + pop af ; get back the number of tiles to draw in this row + dec a + jp nz, .buildSprite ; if there are still tiles left to draw in this row, do it! + + ; otherwise we have no more tiles to write this row bc needs to be updated + + + pop bc + ld a, b + add a, 8 + ld b, a ; add 8 to the y coordinate + + pop af + sub a, $10 + push af + push bc + + and a, $F0 + ; stakc has bc and af, ready for repeating from the top + jp nz, .writeRow ; last numerical operation was and a, $F0 so checking if upper byte is zero + + pop bc + pop af + + ret \ No newline at end of file diff --git a/misc.py b/misc.py new file mode 100644 index 0000000..7998537 --- /dev/null +++ b/misc.py @@ -0,0 +1,30 @@ +def splitfour(the_string): + """ takes a block of sprites output by gb-export.lua from aseprite. + divides it into four line-by-line and returns them as separate sprite maps. + if you arranged your sprites horizontally, this divides them up.""" + out = ["", "", "", ""] + for l in the_string.split("\n"): + sub = list(l.strip()[3:].split(",")) + length = len(sub) + out[0] += "db " + ", ".join(sub[0:length//4]) + "\n" + out[1] += "db " + ", ".join(sub[length//4 : length//2]) + "\n" + out[2] += "db " + ", ".join(sub[length//2 : 3*length//4]) + "\n" + out[3] += "db " + ", ".join(sub[3*length//4 : length]) + "\n" + for d in out: + print(d) + return out + +def splitn(n, the_string): + """ takes a block of sprites output by gb-export.lua from aseprite. + divides it into n line-by-line and returns them as separate sprite maps. + + if you arranged your sprites horizontally, this divides them up.""" + out = ["" for _ in range(n)] + for l in the_string.split("\n"): + sub = list(l.strip()[3:].split(", ")) + length = len(sub) + for i in range(n): + out[i] += "db " + ", ".join(sub[(i*length)//n:((i+1)*length)//n]) + "\n" + for d in out: + print(d) + return out diff --git a/source.zip b/source.zip deleted file mode 100644 index 3c33025..0000000 Binary files a/source.zip and /dev/null differ