diff --git a/.gitignore b/.gitignore index e43b0f9..6a4dae1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .DS_Store +__pycache__ diff --git a/02TheHighPriestess.inc b/02TheHighPriestess.inc index ebce483..efe6288 100644 --- a/02TheHighPriestess.inc +++ b/02TheHighPriestess.inc @@ -27,7 +27,7 @@ TheHighPriestess: call IncrementTimer ld a, [CVS+1] ; checking the high byte of the timer - cp a, $07 ; $10 = 1 second, $02 = 1/8 of a second + cp a, $03 ; $10 = 1 second, $02 = 1/8 of a second jp c, .doneWithTimer1 ; if the timer is less than $0600, skip ; if the timer is greater or equal to $0600, reset it diff --git a/07TheChariot.inc b/07TheChariot.inc index 5fd2fc8..760135f 100644 --- a/07TheChariot.inc +++ b/07TheChariot.inc @@ -124,7 +124,7 @@ TheChariot: ld c, (1+7)*8 -2 ld de, MY_OAM + 4*(40-2) ld a, $21 - call BuildMetaSpriteHFlip + call BuildMetaSpritePackedHflip ret diff --git a/08Strength.inc b/08Strength.inc index 037ae13..2e92478 100644 --- a/08Strength.inc +++ b/08Strength.inc @@ -14,10 +14,139 @@ Strength: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer + ld [hl+], a ; + ld [hl+], a ; CVS + 2 frame index for clouds goin back and forth + ld [hl+], a ; CVS + 3 frame index for clouds goin back and forth + ld [hl+], a ; CVS + 4 frame index for clouds goin back and forth + ld [hl+], a ; CVS + 5 frame index for clouds goin back and forth + + ld a, %00_00_00_00 + ld [rOBP0], a + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $28 ; $10 = 1 second, $02 = 1/8 of a second + ret c + + ; if the timer is greater or equal to $0600, reset it + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld hl, .cloud1Anim + ld a, [CVS+2] + inc a + call ArrayClampLooping + ld [CVS+2], a + ld b, 0 + ld c, a + inc hl + add hl, bc + add hl, bc + ld b, [hl] + inc hl + ld c, [hl] + ld hl, .cloud1 + ld de, MY_OAM + ld a, $13 + call BuildMetaSprite + + ld hl, .cloud2Anim + ld a, [CVS+3] + inc a + call ArrayClampLooping + ld [CVS+3], a + ld b, 0 + ld c, a + inc hl + add hl, bc + add hl, bc + ld b, [hl] + inc hl + ld a, [hl] + add a, 5 + ld c, a + ld hl, .cloud2 + ld de, MY_OAM+3*4 + ld a, $13 + call BuildMetaSprite + + ld hl, .cloud3Anim + ld a, [CVS+4] + inc a + call ArrayClampLooping + ld [CVS+4], a + ld b, 0 + ld c, a + inc hl + add hl, bc + add hl, bc + ld b, [hl] + inc hl + ld c, [hl] + ld hl, .cloud3 + ld de, MY_OAM+6*4 + ld a, $13 + call BuildMetaSprite + + + ld hl, .cloud4Anim + ld a, [CVS+5] + inc a + call ArrayClampLooping + ld [CVS+5], a + ld b, 0 + ld c, a + inc hl + add hl, bc + add hl, bc + ld b, [hl] + inc hl + ld c, [hl] + ld hl, .cloud4 + ld de, MY_OAM+9*4 + ld a, $13 + call BuildMetaSprite + + + ret .fDraw: ret + +.cloud1 + db $09, $05, $06 +.cloud1Anim + db 8, 24, 16, 24, 17, 24, 18, 24, 19, 24, 19, 24, 18, 24, 17, 24, 16, + +.cloud2 + db $01, $03, $02 +.cloud2Anim + db 6, 28, 48, 28, 49, 28, 50, 28, 50, 28, 49, 28, 48, +.cloud3 + db $04, $07, $00 +.cloud3Anim + db 8, 48, 64, 48, 64, 48, 65, 48, 65, 48, 66, 48, 66, 48, 65, 48, 65, +.cloud4 + db $08, $00, $00 +.cloud4Anim + db 6, 69, 59, 69, 59, 69, 59, 69, 60, 69, 60, 69, 60, .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,$7f,$7f + db $00,$00,$00,$00,$00,$00,$00,$00,$f0,$f0,$f8,$f8,$fe,$fe,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$3f,$3f,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$3f,$3f,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$e0,$e0,$f8,$f8,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$70,$70,$f8,$f8 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3c,$3c + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$30,$30,$ff,$ff .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle @@ -84,11 +213,8 @@ Strength: db $7f,$c0,$7f,$c0,$ff,$c0,$bf,$c0,$bf,$c0,$bf,$c0,$bf,$c0,$9f,$e0 db $ff,$e0,$3f,$30,$1f,$18,$0f,$0c,$0f,$0e,$07,$07,$01,$03,$00,$00 db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$c0 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$f8,$00,$00,$00,$00,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$3f,$00,$1f,$00,$07,$00,$01,$00 db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$fc,$93,$ff,$41,$ff db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$3f,$c0,$ff,$e0 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$f8,$00 db $00,$00,$00,$0c,$00,$0b,$0d,$0f,$07,$07,$00,$00,$00,$00,$00,$00 db $23,$63,$67,$e5,$5f,$f9,$bf,$fb,$ff,$fb,$0f,$11,$07,$08,$07,$08 db $03,$0c,$07,$18,$07,$38,$07,$38,$07,$78,$3b,$c4,$f9,$06,$fc,$03 @@ -117,20 +243,20 @@ Strength: .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $5b, $57, $58, $47, $47, $47, $47, $47 - db $47, $47, $48, $59, $5a, $5b, $57, $58 + db $47, $47, $47, $47, $47, $47, $47, $47 + db $47, $47, $48, $57, $58, $47, $47, $47 db $47, $47, $49, $43, $4a, $47, $47, $47 db $47, $4b, $4c, $40, $4d, $47, $47, $47 db $4e, $4f, $41, $44, $50, $47, $47, $47 db $51, $1b, $42, $38, $45, $52, $47, $47 db $53, $1c, $1d, $37, $39, $54, $47, $47 - db $5c, $5d, $3c, $3b, $3a, $55, $56, $47 - db $64, $3d, $3e, $36, $62, $63, $61, $6a - db $65, $2d, $2e, $2f, $2c, $3f, $46, $60 - db $67, $30, $31, $5e, $32, $1e, $1a, $5f - db $68, $33, $34, $6c, $35, $1f, $20, $1a - db $69, $1a, $1a, $6b, $21, $22, $23, $24 - db $66, $25, $26, $27, $28, $29, $2a, $2b - db $6a, $6a, $6d, $6e, $71, $73, $6a, $6a - db $6a, $6a, $6f, $70, $72, $74, $6a, $6a + db $59, $5a, $3c, $3b, $3a, $55, $56, $47 + db $61, $3d, $3e, $36, $5f, $60, $5e, $67 + db $62, $2d, $2e, $2f, $2c, $3f, $46, $5d + db $64, $30, $31, $5b, $32, $1e, $1a, $5c + db $65, $33, $34, $69, $35, $1f, $20, $1a + db $66, $1a, $1a, $68, $21, $22, $23, $24 + db $63, $25, $26, $27, $28, $29, $2a, $2b + db $67, $67, $6a, $6b, $6e, $70, $67, $67 + db $67, $67, $6c, $6d, $6f, $71, $67, $67 .BackgroundCopyEnd: diff --git a/08strength.aseprite b/08strength.aseprite index b0fdb20..4582b98 100644 Binary files a/08strength.aseprite and b/08strength.aseprite differ diff --git a/17TheStar.inc b/17TheStar.inc index 7da1f25..23a7a65 100644 --- a/17TheStar.inc +++ b/17TheStar.inc @@ -49,33 +49,89 @@ TheStar: call BuildMetaSprite ld hl, MY_OAM + 20*4 - ld [hl], (2+1)*8 + 3 + ld [hl], (2+1)*8 + 34 inc hl - ld [hl], (1+1)*8 + 7 + ld [hl], (1+1)*8 + 20 inc hl ld [hl], 1 ld hl, MY_OAM + 20*4 + 1*4 - ld [hl], (2+1)*8 + 7 + ld [hl], (2+1)*8 + 48 inc hl - ld [hl], (1+1+6)*8 + 6 + ld [hl], (1+1)*8 + 14 inc hl ld [hl], 1 ld hl, MY_OAM + 20*4 + 2*4 - ld [hl], (2+1+5)*8 + 2 + ld [hl], (2+1)*8 + 60 inc hl - ld [hl], (1+1+2)*8 + 5 + ld [hl], (1+1)*8 + 22 inc hl - ld [hl], 2 + ld [hl], 1 ld hl, MY_OAM + 20*4 + 3*4 - ld [hl], (2+1+6)*8 + 2 + ld [hl], (2+1)*8 + 78 inc hl - ld [hl], (1+1+5)*8 + 4 + ld [hl], (1+1)*8 + 45 + inc hl + ld [hl], 1 + + ld hl, MY_OAM + 20*4 + 4*4 + ld [hl], (2+1)*8 + 86 + inc hl + ld [hl], (1+1)*8 + 34 + inc hl + ld [hl], 1 + + ld hl, MY_OAM + 20*4 + 5*4 + ld [hl], (2+1)*8 + 77 + inc hl + ld [hl], (1+1)*8 + 18 + inc hl + ld [hl], 1 + + ld hl, MY_OAM + 20*4 + 6*4 + ld [hl], (2+1)*8 + 45 + inc hl + ld [hl], (1+1)*8 + 37 inc hl ld [hl], 2 + ld hl, MY_OAM + 20*4 + 7*4 + ld [hl], (2+1)*8 + 20 + inc hl + ld [hl], (1+1)*8 + 51 + inc hl + ld [hl], 2 + + ld hl, MY_OAM + 20*4 + 8*4 + ld [hl], (2+1)*8 + 3 + inc hl + ld [hl], (1+1)*8 + 4 + inc hl + ld [hl], 2 + + ld hl, MY_OAM + 20*4 + 9*4 + ld [hl], (2+1)*8 + 34 + inc hl + ld [hl], (1+1)*8 + 7 + inc hl + ld [hl], 2 + + ld hl, MY_OAM + 20*4 + 10*4 + ld [hl], (2+1)*8 + 66 + inc hl + ld [hl], (1+1)*8 + 50 + inc hl + ld [hl], 2 + + ld hl, MY_OAM + 20*4 + 11*4 + ld [hl], (2+1)*8 + 70 + inc hl + ld [hl], (1+1)*8 + 5 + inc hl + ld [hl], 2 + ret .fUpdate: ld hl, CVS diff --git a/18TheMoon.inc b/18TheMoon.inc index 960575d..c96d106 100644 --- a/18TheMoon.inc +++ b/18TheMoon.inc @@ -14,10 +14,167 @@ TheMoon: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for animating all the clouds + ld [hl+], a + ld a, 50 + ld [hl+], a ; CVS+2 x of cloud 1 + ld a, 70 + ld [hl+], a ; CVS+3 x of cloud 2 + ld a, 56 + ld [hl+], a ; CVS+4 x of cloud 3 + ld a, 36 + ld [hl+], a ; CVS+5 x of cloud 4 + ld a, 108 + ld [hl+], a ; CVS+6 x of cloud 5 + + call SetUpEdgeMasks + 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 + ret c + + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld a, [CVS+2] + sub a, 1 + cp a, 100 + jp c, :+ + ld a, 100 +: ld [CVS+2], a + + ld a, [CVS+3] + sub a, 1 + cp a, 80 + jp c, :+ + ld a, 80 +: ld [CVS+3], a + + ld a, [CVS+4] + sub a, 2 + cp a, 105 + jp c, :+ + ld a, 105 +: ld [CVS+4], a + + ld a, [CVS+5] + sub a, 1 + cp a, 120 + jp c, :+ + ld a, 120 +: ld [CVS+5], a + + ld a, [CVS+6] + sub a, 2 + cp a, 110 + jp c, :+ + ld a, 110 +: ld [CVS+6], a + + call .drawClouds + + ret + +.drawClouds: + ld hl, .cloud1 + ld de, MY_OAM + 10*4 + ld b, 76 + ld a, [CVS+2] + sub a, 0 + ld c, a + ld a, $11 + call BuildMetaSprite + + ld hl, .cloud2 + ld de, MY_OAM + 11*4 + ld b, 68 + ld a, [CVS+3] + sub a, 0 + ld c, a + ld a, $11 + call BuildMetaSprite + + ld hl, .cloud3 + ld de, MY_OAM + 12*4 + ld b, 60 + ld a, [CVS+4] + sub a, 16 + ld c, a + ld a, $15 + call BuildMetaSprite + + + ld hl, .cloud4 + ld de, MY_OAM + 18*4 + ld b, 40 + ld a, [CVS+5] + sub a, 40 + ld c, a + ld a, $27 + call BuildMetaSprite + + + ld hl, .cloud5 + ld de, MY_OAM + 31*4 + ld b, 32 + ld a, [CVS+6] + sub a, 32 + ld c, a + ld a, $15 + call BuildMetaSprite + + + call CleanUpOutsideSprites + + ret .fDraw: ret + + +.cloud1 + db $17 +.cloud2 + db $16 +.cloud3 ; $15 + db $11, $12, $13, $14, $15 +.cloud4 ; $27 + db $02, $03, $04, $05, $00, $00, $00 + db $06, $07, $07, $08, $09, $0a, $0b +.cloud5 ; $15 + db $0c, $0d, $0e, $0f, $10 + .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1f,$00,$7f + db $00,$00,$00,$00,$00,$00,$00,$0e,$00,$3f,$00,$7f,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$83,$00,$e7,$00,$ef,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$e0,$00,$f0,$00,$f8,$00,$fc + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$7f,$00,$3f,$00,$0f + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$fc,$00,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$8c,$00,$fe,$00,$fe,$00,$fc,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$d8,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$fc + db $00,$3c,$00,$7e,$00,$ff,$00,$ff,$00,$7f,$00,$7f,$00,$7f,$00,$3f + db $00,$0f,$00,$1f,$00,$bf,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$80,$00,$c0,$00,$e0,$00,$f0,$00,$fc,$00,$ff,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$f8 + db $00,$01,$00,$03,$00,$7f,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$1f + db $00,$e0,$00,$f1,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$00,$00,$c0,$00,$e0,$00,$f0,$00,$f8,$00,$fe,$00,$ff,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1c,$00,$3f,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$f0,$00,$7f + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$e0,$00,$f8,$00,$7f .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/18themoon.aseprite b/18themoon.aseprite index 56cd830..ec4b199 100644 Binary files a/18themoon.aseprite and b/18themoon.aseprite differ diff --git a/19TheSun.inc b/19TheSun.inc index bf83e3d..316cc11 100644 --- a/19TheSun.inc +++ b/19TheSun.inc @@ -14,133 +14,321 @@ TheSun: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for shimmer + ld [hl+], a + ld [hl+], a ; CVS+2 frame of shimmer + + ld a, %00_10_01_00 + ld [rOBP0], a + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $05 ; $10 = 1 second, $02 = 1/8 of a second + ret c + + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld b, 5 + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a + + cp a, 0 + jp nz, :+ + ld hl, .frame1 +: cp a, 1 + jp nz, :+ + ld hl, .frame2 +: cp a, 2 + jp nz, :+ + ld hl, .frame3 +: cp a, 3 + jp nz, :+ + ld hl, .frame4 +: cp a, 4 + jp nz, :+ + ld hl, .frame5 +: + ld de, MY_OAM + ld b, (2+1+6)*8 + ld c, (1+1+0)*8 + ld a, $48 + call BuildMetaSprite + ret + .fDraw: ret + +.frame1 ; $48 + db $66, $66, $02, $21, $53, $12, $22, $66 + db $03, $00, $3b, $3c, $3d, $3e, $18, $14 + db $00, $1a, $1b, $1e, $1f, $20, $1c, $1d + db $17, $09, $00, $00, $00, $00, $10, $11 +.frame2 + db $34, $2e, $2f, $30, $31, $32, $33, $34 + db $69, $00, $2a, $2b, $2c, $2d, $18, $6a + db $00, $23, $24, $25, $26, $27, $28, $29 + db $17, $09, $00, $00, $00, $00, $10, $11 +.frame3 + db $6c, $3f, $40, $41, $42, $43, $44, $6c + db $03, $00, $3b, $3c, $3d, $3e, $18, $14 + db $00, $35, $36, $37, $38, $39, $3a, $0f + db $6d, $6e, $00, $00, $00, $00, $6f, $70 +.frame4 + db $45, $46, $47, $48, $49, $4a, $4b, $4c + db $03, $00, $2a, $2b, $2c, $2d, $18, $14 + db $00, $55, $56, $57, $58, $59, $5a, $67 + db $17, $09, $00, $00, $00, $00, $10, $11 +.frame5 + db $52, $64, $4e, $4f, $65, $50, $51, $4d + db $00, $00, $60, $61, $62, $63, $00, $00 + db $00, $68, $5b, $5c, $5d, $5e, $5f, $6b + db $00, $00, $00, $00, $00, $00, $00, $54 + .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$e0,$e0 + db $f8,$f8,$f8,$f8,$fc,$fc,$fc,$fc,$f0,$f0,$c0,$c0,$00,$00,$00,$00 + db $fe,$fe,$f0,$f0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$0f,$0f,$1f,$1f,$3f,$3f + db $00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0,$f8,$f8,$f0,$f0,$f1,$f1 + db $00,$00,$00,$00,$03,$03,$07,$07,$0f,$0f,$1f,$1f,$3f,$3f,$ff,$ff + db $7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$e0,$e0 + db $e1,$e1,$e1,$e1,$e3,$e3,$c3,$c3,$c3,$c3,$83,$83,$07,$87,$00,$00 + db $fc,$fc,$84,$84,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $e0,$e0,$e0,$e0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f8,$f8,$00,$00 + db $00,$00,$00,$00,$00,$00,$07,$07,$03,$03,$01,$01,$01,$01,$e0,$e0 + db $00,$00,$00,$00,$00,$00,$f0,$f0,$fc,$fc,$fe,$fe,$ff,$ff,$ff,$ff + db $3f,$3f,$1f,$1f,$1f,$1f,$0f,$0f,$07,$07,$03,$03,$01,$01,$00,$00 + db $e0,$e0,$f0,$f0,$fc,$fc,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$c0,$e0,$e0,$f0,$f0 + db $7f,$7f,$3e,$3e,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $98,$98,$1e,$1e,$0f,$0f,$0f,$0f,$0f,$0f,$07,$07,$01,$01,$00,$00 + db $3f,$3f,$3f,$3f,$7f,$7f,$7f,$7f,$0f,$0f,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$03,$03,$00,$00 + db $1f,$1f,$03,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f,$3f,$3f,$1f,$1f,$0f,$0f,$03,$03 + db $ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$f8,$f8,$f0,$f0,$c0,$c0 + db $01,$01,$03,$03,$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,$c0,$c0 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$03,$03,$07,$07,$0f,$0f,$1f,$1f,$00,$00,$00,$00 + db $00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$00,$00 + db $00,$00,$00,$00,$fc,$fc,$fe,$fe,$ff,$ff,$ff,$ff,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$c0,$00,$00,$00,$00 + db $00,$00,$00,$00,$e3,$e3,$c3,$c3,$c3,$c3,$83,$83,$00,$00,$00,$00 + db $00,$00,$00,$00,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$00,$00,$00,$00 + db $00,$00,$00,$00,$1f,$1f,$0f,$0f,$07,$07,$03,$03,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f,$3f,$3f,$1f,$1f,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$00,$00,$00,$00 + db $00,$00,$00,$00,$03,$03,$07,$07,$00,$00,$00,$00,$00,$00,$ff,$ff + db $7f,$7f,$81,$81,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$00,$00,$e0,$e0 + db $e1,$e1,$e1,$e1,$e3,$e3,$c3,$c3,$00,$00,$00,$00,$00,$00,$00,$00 + db $e0,$e0,$e0,$e0,$f0,$f0,$f0,$f0,$00,$00,$00,$00,$00,$00,$00,$00 + db $30,$30,$1f,$1f,$1f,$1f,$0f,$0f,$00,$00,$00,$00,$00,$00,$00,$00 + db $60,$60,$f0,$f0,$fc,$fc,$fe,$fe,$00,$00,$00,$00,$00,$00,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f0,$f0 + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$0f,$0f,$00,$00,$3f,$3f + db $00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0,$f8,$f8,$00,$00,$f1,$f1 + db $00,$00,$00,$00,$00,$00,$07,$07,$03,$03,$01,$01,$00,$00,$e0,$e0 + db $00,$00,$00,$00,$00,$00,$f0,$f0,$fc,$fc,$fe,$fe,$00,$00,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$fe,$fe,$e0,$e0 + db $f8,$f8,$f8,$f8,$fc,$fc,$fc,$fc,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f,$00,$00,$00,$00,$0f,$0f,$03,$03 + db $ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$00,$00,$00,$00,$f0,$f0,$c0,$c0 + db $3f,$3f,$3f,$3f,$7f,$7f,$7f,$7f,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$03,$03,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$03,$03,$00,$00,$00,$00,$1f,$1f,$3f,$3f,$ff,$ff + db $7f,$7f,$00,$00,$ff,$ff,$00,$00,$00,$00,$ff,$ff,$03,$03,$e0,$e0 + db $e1,$e1,$00,$00,$e3,$e3,$00,$00,$00,$00,$83,$83,$00,$80,$00,$00 + db $e0,$e0,$00,$00,$f0,$f0,$00,$00,$00,$00,$f0,$f0,$38,$38,$00,$00 + db $3f,$3f,$00,$00,$1f,$1f,$00,$00,$00,$00,$03,$03,$01,$01,$00,$00 + db $e0,$e0,$00,$00,$fc,$fc,$00,$00,$00,$00,$ff,$ff,$f0,$f0,$ff,$ff + db $00,$00,$00,$00,$00,$00,$01,$01,$00,$00,$0f,$0f,$1f,$1f,$3f,$3f + db $00,$00,$00,$00,$00,$00,$80,$80,$00,$00,$f8,$f8,$f0,$f0,$f1,$f1 + db $00,$00,$00,$00,$00,$00,$07,$07,$00,$00,$01,$01,$01,$01,$e0,$e0 + db $00,$00,$00,$00,$00,$00,$f0,$f0,$00,$00,$fe,$fe,$ff,$ff,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$fe,$fe,$00,$00 + db $f8,$f8,$f8,$f8,$fc,$fc,$00,$00,$f0,$f0,$c0,$c0,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$7f,$7f,$00,$00,$3f,$3f,$1f,$1f,$0f,$0f,$00,$00 + db $ff,$ff,$ff,$ff,$fe,$fe,$00,$00,$fc,$fc,$f8,$f8,$f0,$f0,$00,$00 + db $3f,$3f,$3f,$3f,$7f,$7f,$00,$00,$0f,$0f,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$7f,$7f,$03,$03,$00,$00 + db $ff,$ff,$ff,$ff,$c0,$c0,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff + db $ff,$ff,$ff,$ff,$7c,$7c,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$e0,$e0 + db $f8,$f8,$f8,$f8,$1c,$1c,$fc,$fc,$f0,$f0,$c0,$c0,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$70,$70,$7f,$7f,$3f,$3f,$1f,$1f,$00,$00,$03,$03 + db $ff,$ff,$ff,$ff,$6e,$6e,$fe,$fe,$fc,$fc,$f8,$f8,$00,$00,$c0,$c0 + db $3f,$3f,$3f,$3f,$70,$70,$7f,$7f,$0f,$0f,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$07,$07,$ff,$ff,$ff,$ff,$7f,$7f,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$c3,$c3,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff + db $ff,$ff,$f7,$f7,$ff,$ff,$ff,$ff,$ff,$ff,$7c,$7c,$ff,$ff,$ff,$ff + db $f8,$f8,$78,$78,$fc,$fc,$fc,$fc,$f0,$f0,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$fb,$fb,$7f,$7f,$7f,$7f,$3f,$3f,$00,$00,$0f,$0f,$03,$03 + db $3f,$3f,$3e,$3e,$7f,$7f,$7f,$7f,$0f,$0f,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$3f,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$03,$03,$00,$00 + db $ff,$ff,$f1,$f1,$ff,$ff,$ff,$ff,$ff,$ff,$01,$01,$ff,$ff,$7f,$7f + db $ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$f8,$f8,$00,$00,$00,$00 + db $00,$00,$00,$00,$0f,$0f,$0f,$0f,$0f,$0f,$07,$07,$01,$01,$00,$00 + db $00,$00,$00,$00,$00,$00,$03,$03,$0f,$0f,$1f,$1f,$3f,$3f,$00,$00 + db $7f,$7f,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00 + db $e1,$e1,$00,$00,$00,$00,$c3,$c3,$c3,$c3,$83,$83,$07,$87,$00,$00 + db $e0,$e0,$00,$00,$00,$00,$f0,$f0,$f0,$f0,$f0,$f0,$f8,$f8,$00,$00 + db $3f,$3f,$00,$00,$00,$00,$0f,$0f,$07,$07,$03,$03,$01,$01,$00,$00 + db $e0,$e0,$00,$00,$00,$00,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff,$e0,$e0 + db $00,$00,$e1,$e1,$e3,$e3,$00,$00,$c3,$c3,$00,$00,$07,$87,$00,$00 + db $00,$00,$e0,$e0,$f0,$f0,$00,$00,$f0,$f0,$00,$00,$f8,$f8,$00,$00 + db $00,$00,$1f,$1f,$1f,$1f,$00,$00,$07,$07,$00,$00,$01,$01,$00,$00 + db $00,$00,$f0,$f0,$fc,$fc,$00,$00,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$0f,$0f,$1f,$1f,$00,$00 + db $00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0,$f8,$f8,$f0,$f0,$00,$00 + db $00,$00,$00,$00,$00,$00,$07,$07,$03,$03,$01,$01,$01,$01,$00,$00 + db $00,$00,$00,$00,$00,$00,$f0,$f0,$fc,$fc,$fe,$fe,$ff,$ff,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$e0,$e0 + db $ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$00,$00,$f0,$f0,$c0,$c0 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$c0,$e0,$e0,$00,$00 + db $00,$00,$00,$00,$03,$03,$00,$00,$0f,$0f,$00,$00,$3f,$3f,$ff,$ff + db $fe,$fe,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $10,$10,$03,$03,$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,$e0,$e0,$f0,$f0 + db $ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00 + db $01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $fc,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $7f,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $98,$98,$00,$00,$0f,$0f,$0f,$0f,$0f,$0f,$07,$07,$01,$01,$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 $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $00,$ff,$00,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$3f,$ff,$7e,$ff,$78,$ff - db $03,$f3,$7f,$ff,$ff,$ff,$fe,$ff,$e0,$ff,$00,$ff,$00,$ff,$00,$ff - db $f0,$ff,$c1,$fe,$c6,$f9,$0c,$f3,$18,$e7,$30,$cf,$00,$ff,$00,$ff - db $ff,$ff,$ff,$fe,$f7,$f8,$03,$fc,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $f8,$ff,$ff,$ff,$ff,$3f,$7f,$81,$3f,$c0,$cf,$30,$7f,$80,$03,$fc - db $00,$80,$81,$ff,$ff,$ff,$ff,$ff,$ff,$1f,$fc,$03,$c0,$3f,$80,$7f - db $60,$7f,$e0,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$f8,$ff,$3e,$ff,$0f,$ff - db $03,$ff,$01,$ff,$00,$ff,$00,$ff,$02,$ff,$0f,$ff,$03,$ff,$01,$ff - db $00,$ff,$aa,$55,$00,$00,$aa,$55,$00,$ff,$22,$dd,$00,$00,$1f,$1f - db $00,$ff,$aa,$55,$00,$e0,$aa,$55,$00,$ff,$22,$dd,$00,$fe,$c8,$f7 - db $ff,$ff,$ff,$00,$ff,$00,$f8,$07,$0e,$f1,$03,$fc,$00,$ff,$00,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $54,$a8,$f0,$00,$40,$80,$c0,$00,$00,$80,$80,$00,$00,$00,$00,$00 - db $14,$2a,$0f,$00,$01,$02,$03,$00,$01,$00,$01,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$00,$80,$80,$00,$40,$80,$a0,$40,$50,$a0,$a8,$54 - db $00,$00,$00,$00,$01,$00,$00,$01,$01,$02,$02,$05,$05,$0a,$2a,$15 - db $40,$80,$80,$40,$00,$80,$82,$01,$50,$a0,$aa,$55,$55,$aa,$aa,$55 - db $00,$00,$00,$00,$00,$00,$e0,$00,$00,$00,$aa,$55,$54,$a8,$aa,$55 - db $00,$e0,$a8,$54,$44,$bb,$aa,$55,$11,$ee,$aa,$55,$44,$bb,$aa,$55 - db $00,$00,$00,$00,$05,$8a,$ff,$00,$55,$aa,$bb,$44,$55,$aa,$c0,$00 - db $05,$0a,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$bb,$44,$40,$80,$00,$00 - db $55,$aa,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$00,$00,$00,$00,$00,$00 - db $ff,$00,$ff,$00,$ff,$00,$fe,$00,$fc,$00,$f8,$00,$f8,$00,$f0,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$fc,$00,$f8,$00,$f0,$00 - db $e0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$fc,$00,$f8,$00 - db $f0,$00,$e0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $0f,$00,$0f,$00,$0f,$00,$0f,$00,$07,$08,$1f,$00,$dc,$22,$fc,$00 - db $f0,$00,$f0,$00,$e0,$00,$c0,$00,$00,$80,$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,$03,$00,$1d,$02,$ff,$00 - db $55,$aa,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$bb,$44,$00,$00,$00,$00 - db $54,$aa,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$bb,$44,$15,$2a,$00,$00 - db $01,$00,$83,$00,$45,$a2,$ff,$00,$55,$aa,$bb,$44,$55,$aa,$0e,$01 - db $00,$00,$00,$00,$00,$00,$0e,$01,$00,$00,$aa,$55,$01,$00,$0a,$15 - db $05,$02,$03,$04,$01,$02,$c2,$01,$05,$0a,$aa,$55,$55,$aa,$aa,$55 - db $01,$00,$2a,$55,$55,$aa,$aa,$55,$11,$ee,$aa,$55,$44,$bb,$aa,$55 db $7f,$00,$3f,$00,$1f,$00,$1f,$00,$0f,$00,$0f,$00,$07,$00,$07,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $c0,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$e0,$00,$e0,$00,$e0,$00 + db $07,$00,$07,$00,$1f,$00,$1f,$00,$3f,$00,$3f,$00,$3f,$00,$3f,$00 db $03,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$3f,$00,$3f,$00 + db $e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00 + db $7f,$00,$7f,$00,$7f,$00,$7f,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $ff,$00,$ff,$00,$ff,$00,$fe,$00,$fc,$00,$f8,$00,$f8,$00,$f0,$00 db $1f,$00,$0f,$00,$0f,$00,$07,$00,$07,$00,$03,$00,$03,$00,$01,$00 + db $01,$00,$01,$00,$01,$00,$01,$00,$03,$00,$03,$00,$03,$00,$07,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$fc,$00,$f8,$00,$f0,$00 + db $e0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $ff,$00,$7f,$00,$7f,$00,$3f,$00,$1f,$00,$1f,$00,$0f,$00,$07,$00 + db $e0,$00,$e0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00 + db $07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$0f,$00,$0f,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$fc,$00,$f8,$00 + db $f0,$00,$e0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $00,$00,$00,$00,$c0,$00,$f0,$00,$74,$88,$ff,$00,$dd,$22,$ff,$00 db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$f8,$00 db $07,$00,$03,$00,$03,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $f0,$00,$f0,$00,$f0,$00,$f0,$00,$70,$80,$f0,$00,$5d,$22,$ff,$00 - db $c0,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$e0,$00,$e0,$00,$e0,$00 - db $07,$00,$07,$00,$1f,$00,$1f,$00,$3f,$00,$3f,$00,$3f,$00,$3f,$00 - db $e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00 - db $7f,$00,$7f,$00,$7f,$00,$7f,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $01,$00,$01,$00,$01,$00,$01,$00,$03,$00,$03,$00,$03,$00,$07,$00 - db $e0,$00,$e0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00 - db $07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$0f,$00,$0f,$00 - db $00,$ff,$aa,$55,$00,$0f,$aa,$55,$00,$ff,$22,$dd,$00,$03,$ff,$ff + db $0f,$00,$0f,$00,$0f,$00,$0f,$00,$07,$08,$1f,$00,$dc,$22,$fc,$00 + db $f0,$00,$f0,$00,$e0,$00,$c0,$00,$00,$80,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$1d,$02,$ff,$00 + db $55,$aa,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$bb,$44,$00,$00,$00,$00 + db $54,$aa,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$bb,$44,$15,$2a,$00,$00 + db $01,$00,$83,$00,$45,$a2,$ff,$00,$55,$aa,$bb,$44,$55,$aa,$0e,$01 + db $54,$a8,$f0,$00,$40,$80,$c0,$00,$00,$80,$80,$00,$00,$00,$00,$00 + db $14,$2a,$0f,$00,$01,$02,$03,$00,$01,$00,$01,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$05,$8a,$ff,$00,$55,$aa,$bb,$44,$55,$aa,$c0,$00 + db $05,$0a,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$bb,$44,$40,$80,$00,$00 + db $55,$aa,$ff,$00,$55,$aa,$ff,$00,$55,$aa,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ef,$10,$ff,$00,$aa,$55,$ff,$00,$ff,$00 + db $ff,$00,$ff,$00,$ff,$00,$fe,$01,$ff,$00,$aa,$55,$ff,$00,$ea,$15 + db $55,$aa,$bb,$44,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55 + db $00,$00,$00,$00,$00,$80,$80,$00,$40,$80,$a0,$40,$50,$a0,$a8,$54 + db $00,$00,$00,$00,$01,$00,$00,$01,$01,$02,$02,$05,$05,$0a,$2a,$15 + db $40,$80,$80,$40,$00,$80,$82,$01,$50,$a0,$aa,$55,$55,$aa,$aa,$55 + db $00,$00,$00,$00,$00,$00,$e0,$00,$00,$00,$aa,$55,$54,$a8,$aa,$55 + db $00,$00,$00,$00,$00,$00,$ec,$10,$00,$00,$aa,$55,$00,$00,$00,$00 + db $11,$ee,$aa,$55,$55,$aa,$aa,$55,$11,$ee,$aa,$55,$44,$bb,$aa,$55 + db $11,$ee,$aa,$55,$44,$bb,$aa,$55,$11,$ee,$aa,$55,$44,$bb,$aa,$55 db $11,$ee,$aa,$55,$44,$bb,$aa,$54,$10,$ec,$aa,$55,$40,$a0,$80,$40 db $11,$ee,$aa,$55,$44,$bb,$2a,$55,$11,$0e,$aa,$55,$04,$0b,$0a,$05 - db $00,$ff,$aa,$55,$00,$fc,$aa,$55,$00,$ff,$22,$dd,$00,$c0,$80,$40 - db $00,$ff,$aa,$55,$00,$3c,$aa,$55,$00,$ff,$22,$dd,$00,$70,$ff,$ff db $11,$ee,$aa,$55,$44,$bb,$a8,$54,$10,$ec,$aa,$55,$44,$ba,$2a,$15 db $11,$ee,$aa,$55,$44,$bb,$0a,$05,$00,$07,$aa,$55,$00,$01,$00,$00 - db $00,$ff,$aa,$55,$00,$07,$aa,$55,$00,$ff,$22,$dd,$00,$00,$00,$00 - db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$1f,$08,$17 - db $00,$00,$00,$00,$00,$00,$6e,$10,$00,$00,$aa,$55,$00,$00,$00,$00 - db $00,$00,$00,$00,$00,$00,$ec,$10,$00,$00,$aa,$55,$00,$00,$00,$00 - db $11,$ee,$aa,$55,$44,$bb,$aa,$55,$11,$ee,$aa,$55,$44,$bb,$aa,$55 + db $00,$e0,$a8,$54,$44,$bb,$aa,$55,$11,$ee,$aa,$55,$44,$bb,$aa,$55 db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$88,$77 + db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$80,$7f + db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$1f,$ff + db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$ff,$ff + db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$c8,$f7 + db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$00,$ff + db $00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff,$08,$f7 + db $00,$ff,$00,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$3f,$ff,$7e,$ff,$78,$ff + db $03,$ff,$7f,$ff,$ff,$ff,$fe,$ff,$e0,$ff,$00,$ff,$00,$ff,$00,$ff + db $ff,$ff,$ff,$fe,$f7,$f8,$03,$fc,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $ff,$ff,$ff,$00,$ff,$00,$f9,$06,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $ff,$ff,$ff,$00,$ff,$00,$f8,$07,$0e,$f1,$03,$fc,$00,$ff,$00,$ff + db $f8,$ff,$ff,$ff,$ff,$3f,$7f,$81,$3f,$c0,$cf,$30,$7f,$80,$03,$fc + db $00,$ff,$81,$ff,$ff,$ff,$ff,$ff,$ff,$1f,$fc,$03,$c0,$3f,$80,$7f + db $60,$ff,$e0,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$f8,$ff,$3e,$ff,$0f,$ff + db $f0,$ff,$c1,$fe,$c6,$f9,$0c,$f3,$18,$e7,$30,$cf,$00,$ff,$00,$ff db $00,$ff,$01,$ff,$01,$ff,$03,$ff,$06,$ff,$0e,$ff,$1f,$ff,$1f,$ff db $00,$ff,$c0,$ff,$e0,$ff,$70,$ff,$7c,$ff,$de,$ff,$ce,$ff,$fe,$ff - db $3f,$ff,$3f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $c1,$ff,$c1,$ff,$c3,$ff,$c3,$ff,$c7,$ff,$87,$ff,$87,$ff,$0f,$ff - db $0f,$ff,$0f,$ff,$0f,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$1f,$ff,$1f,$ff - db $fe,$ff,$fe,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff - db $f8,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$f0,$ff,$f0,$ff,$f0,$ff - db $1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff - db $3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff - db $f0,$ff,$f0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff - db $e0,$ff,$e0,$fc,$e0,$fe,$e0,$fe,$e0,$ff,$e0,$ff,$e0,$ff,$c0,$ff - db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$00,$00,$00,$fa,$00,$72,$00,$76,$00,$26,$00,$ae,$00,$8e - db $00,$de,$00,$8e,$00,$ae,$00,$26,$00,$76,$00,$72,$00,$00,$00,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$03,$ff,$03,$ff,$07,$ff,$07,$ff - db $02,$fd,$03,$fc,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff - db $07,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$01,$ff,$01,$ff - db $80,$ff,$c0,$ff,$c0,$ff,$e0,$ff,$e0,$ff,$f0,$ff,$f0,$ff,$f0,$ff - db $01,$ff,$01,$3f,$01,$7f,$00,$7f,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $f8,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff - db $fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff - db $ff,$ff,$ff,$00,$ff,$00,$f9,$06,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff db $00,$ff,$00,$ff,$60,$9f,$fc,$03,$87,$78,$80,$7f,$80,$7f,$c0,$3f db $80,$7f,$c0,$3f,$20,$df,$10,$ef,$f0,$0f,$00,$ff,$00,$ff,$00,$ff + db $03,$ff,$01,$ff,$00,$ff,$00,$ff,$02,$ff,$0f,$ff,$03,$ff,$01,$ff + db $00,$ff,$60,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$c1,$ff + db $3f,$ff,$3f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $fe,$ff,$fe,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff db $60,$9f,$38,$c7,$0e,$f1,$01,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff db $00,$ff,$00,$ff,$00,$ff,$80,$7f,$e0,$1f,$18,$e7,$0c,$f3,$06,$f9 + db $c1,$ff,$c1,$ff,$c3,$ff,$c3,$ff,$c7,$ff,$87,$ff,$87,$ff,$0f,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $f8,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$f0,$ff,$f0,$ff,$f0,$ff + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$03,$ff,$03,$ff,$07,$ff,$07,$ff + db $02,$fd,$03,$fc,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff db $00,$ff,$00,$ff,$80,$7f,$c0,$3f,$40,$bf,$60,$9f,$30,$cf,$10,$ef + db $0f,$ff,$0f,$ff,$0f,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$1f,$ff,$1f,$ff + db $f0,$ff,$f0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff + db $07,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$01,$ff,$01,$ff + db $80,$ff,$c0,$ff,$c0,$ff,$e0,$ff,$e0,$ff,$f0,$ff,$f0,$ff,$f0,$ff db $10,$ef,$10,$ef,$18,$e7,$08,$f7,$0f,$f1,$07,$ff,$03,$ff,$01,$ff - db $00,$ff,$60,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$c1,$ff - db $c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$fe,$c0,$fc,$c0,$ff - db $00,$7b,$00,$71,$00,$75,$00,$64,$00,$6e,$00,$4e,$00,$00,$00,$ff + db $1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff + db $e0,$ff,$e0,$fc,$e0,$fe,$e0,$fe,$e0,$ff,$e0,$ff,$e0,$ff,$c0,$ff + db $00,$ff,$00,$00,$00,$fa,$00,$72,$00,$76,$00,$26,$00,$ae,$00,$8e db $00,$ff,$00,$00,$00,$5f,$00,$4e,$00,$6e,$00,$64,$00,$75,$00,$71 + db $01,$ff,$01,$3f,$01,$7f,$00,$7f,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $f8,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff + db $3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$3f,$ff + db $c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$fe,$c0,$fc,$c0,$ff + db $00,$de,$00,$8e,$00,$ae,$00,$26,$00,$76,$00,$72,$00,$00,$00,$ff + db $00,$7b,$00,$71,$00,$75,$00,$64,$00,$6e,$00,$4e,$00,$00,$00,$ff db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$3f,$00,$ff + db $fc,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $41, $1b, $1b, $4a, $1a, $4b, $1b, $1b - db $42, $43, $1b, $4c, $39, $4d, $1b, $32 - db $1a, $44, $1b, $4c, $4e, $1b, $33, $34 - db $1a, $1a, $45, $4f, $50, $35, $36, $1a - db $46, $47, $48, $49, $37, $38, $39, $3a - db $3b, $3c, $3d, $28, $29, $2f, $30, $31 - db $5a, $3e, $3f, $2a, $2b, $2c, $2d, $5b - db $40, $5c, $52, $53, $56, $57, $5c, $2e - db $5d, $54, $24, $55, $51, $25, $58, $59 - db $1c, $1d, $1f, $73, $26, $20, $21, $22 - db $1e, $5e, $5f, $27, $27, $74, $75, $23 - db $7a, $60, $63, $27, $27, $76, $77, $27 - db $61, $69, $64, $27, $27, $6c, $6d, $78 - db $62, $69, $67, $27, $27, $6e, $6f, $79 - db $65, $69, $68, $6a, $7d, $70, $71, $27 - db $66, $69, $7b, $6b, $7c, $7e, $72, $27 + db $1b, $1c, $1c, $1d, $1a, $1e, $1c, $1c + db $1f, $20, $1c, $21, $22, $23, $1c, $24 + db $1a, $25, $1c, $21, $26, $1c, $27, $28 + db $1a, $1a, $29, $2a, $2b, $2c, $2d, $1a + db $2e, $2f, $30, $31, $32, $33, $22, $34 + db $35, $36, $37, $38, $39, $3a, $3b, $3c + db $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f + db $45, $46, $46, $46, $46, $46, $46, $46 + db $4c, $4d, $4e, $4f, $4f, $50, $51, $52 + db $53, $54, $55, $56, $57, $58, $59, $5a + db $5b, $5c, $5d, $5e, $5e, $5f, $60, $61 + db $62, $63, $64, $5e, $5e, $65, $66, $5e + db $67, $68, $69, $5e, $5e, $6a, $6b, $6c + db $6d, $68, $6e, $5e, $5e, $6f, $70, $71 + db $72, $68, $73, $74, $75, $76, $77, $5e + db $78, $68, $79, $7a, $7b, $7c, $7d, $5e .BackgroundCopyEnd: diff --git a/19thesun.aseprite b/19thesun.aseprite index 330baaa..0d6f364 100644 Binary files a/19thesun.aseprite and b/19thesun.aseprite differ diff --git a/20Judgement.inc b/20Judgement.inc index 076d95f..9b0c8c6 100644 --- a/20Judgement.inc +++ b/20Judgement.inc @@ -14,10 +14,350 @@ Judgement: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer + ld [hl+], a ; + ld [hl+], a ; CVS + 2 frame index for various sparks + + ld a, %00_00_00_00 + ld [rOBP0], a + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $01 ; $10 = 1 second, $02 = 1/8 of a second + ret c + + ld a, 0 ; reset timer + ld [CVS], a + ld [CVS+1], a + + ld hl, .spark1Anim + ld a, [CVS+2] + inc a + call ArrayClampLooping + ld [CVS+2], a + + ld a, [CVS+2] + ld hl, .spark1Anim + ld d, 1 + ld e, 0 + call .drawSpark + + ld a, [CVS+2] + ld hl, .spark2Anim + ld d, 5 + ld e, 1 + call .drawSpark + + ld a, [CVS+2] + ld hl, .spark3Anim + ld d, 5 + ld e, 2 + call .drawSpark + + ld hl, .spark4Anim + ld a, [CVS+2] + ld d, 5 + ld e, 3 + call .drawSpark + + ld hl, .spark5Anim + ld a, [CVS+2] + ld d, 5 + ld e, 4 + call .drawSpark + + ld hl, .spark6Anim + ld a, [CVS+2] + ld d, 1 + ld e, 5 + call .drawSpark + + ld hl, .spark7Anim + ld a, [CVS+2] + ld d, 1 + ld e, 6 + call .drawSpark + + ld hl, .spark8Anim + ld a, [CVS+2] + ld d, 1 + ld e, 7 + call .drawSpark + + ld hl, .spark9Anim + ld a, [CVS+2] + ld d, 5 + ld e, 8 + call .drawSpark + + ld hl, .spark10Anim + ld a, [CVS+2] + ld d, 1 + ld e, 9 + call .drawSpark + + ld hl, .spark11Anim + ld a, [CVS+2] + ld d, 1 + ld e, 10 + call .drawSpark + + ld hl, .spark12Anim + ld a, [CVS+2] + ld d, 5 + ld e, 11 + call .drawSpark + + ld hl, .spark13Anim + ld a, [CVS+2] + ld d, 5 + ld e, 12 + call .drawSpark + + ld hl, .spark14Anim + ld a, [CVS+2] + ld d, 5 + ld e, 13 + call .drawSpark + + ld a, [CVS+2] + and a, $03 + sla a + sla a + sla a + ld b, 0 + ld c, a + ld hl, .smash + add hl, bc + ld de, MY_OAM + 14*4 + ld b, (2+1+7)*8 + ld c, (1+1+2)*8 + ld a, $24 + call BuildMetaSprite + + + ld hl, ZEROES + ld de, MY_OAM + 20*4 + ld bc, 20*4 + call CopyRange + + ld a, [CVS+2] + and a, %0000_0110 + sra a + cp a, 0 + jp nz, :+ + ld hl, .tail1 +: cp a, 1 + jp nz, :+ + ld hl, .tail2 +: cp a, 2 + jp nz, :+ + ld hl, .tail3 +: cp a, 3 + jp nz, :+ + ld hl, .tail4 +: + + + ld de, MY_OAM + 20*4 + ld b, (2+1+0)*8 + ld c, (1+1+4)*8 + ld a, $74 + call BuildMetaSpritePacked + + ret + .fDraw: ret + +.drawSpark: + ; hl should point to a curve animation + ; d should be the offset into the tile IDs for the sprite animation? + ; e should be the sprite ID number + ; a is the index into the curve + ld b, 0 + ld c, a + inc hl + add hl, bc + add hl, bc + + ld b, [hl] + inc hl + ld c, [hl] + + and a, $03 + add a, d ; get a tile ID from the animation index + + ld hl, MY_OAM + ld d, 0 + add hl, de + add hl, de + add hl, de + add hl, de ; step forward by 4*e steps to get the e'th OAM slot + + ld [hl], b + inc hl + ld [hl], c + inc hl + ld [hl], a + + ret + +.spark1Anim +db 16, 0, 0, 87, 50, 83, 53, 79, 56, 72, 57, 66, 57, 61, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +.spark2Anim +db 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 37, 78, 32, 74, 27, 70, 23, 66, 19, 62, 15, 0, 0, 0, 0, +.spark3Anim +db 16, 93, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 50, 91, 55, 91, 61, 92, 67, 93, 71, +.spark4Anim +db 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 35, 83, 27, 80, 21, 78, 16, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, +.spark5Anim +db 16, 110, 70, 114, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 51, 94, 55, 100, 60, 105, 65, +.spark6Anim +db 16, 0, 0, 0, 0, 0, 0, 0, 0, 81, 42, 75, 39, 67, 41, 58, 44, 52, 47, 44, 51, 35, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +.spark7Anim +db 16, 90, 45, 90, 43, 88, 40, 85, 37, 78, 32, 67, 27, 57, 23, 48, 20, 39, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +.spark8Anim +db 16, 78, 72, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 90, 47, 91, 51, 91, 54, 87, 61, +.spark9Anim +db 16, 0, 0, 0, 0, 90, 46, 94, 52, 97, 60, 100, 66, 103, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +.spark10Anim +db 16, 89, 44, 87, 40, 84, 34, 82, 26, 81, 17, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, +.spark11Anim +db 16, 68, 19, 63, 16, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 88, 41, 86, 36, 81, 32, 76, 28, 71, 24, +.spark12Anim +db 16, 70, 36, 62, 33, 54, 29, 45, 25, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 86, 44, 79, 39, +.spark13Anim +db 16, 0, 1, 0, 1, 0, 1, 0, 1, 89, 43, 91, 49, 93, 55, 95, 62, 96, 72, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, +.spark14Anim +db 16, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 89, 44, 95, 49, 99, 54, 104, 61, 0, 1, 0, 1, 0, 1, + + +.smash ; $24, 8 tiles + db $15, $16, $00, $00 + db $17, $18, $19, $1a + + db $09, $0a, $00, $00 + db $0b, $0c, $0d, $0e + + db $0f, $10, $00, $00 + db $11, $12, $13, $14 + + db $1b, $1c, $00, $00 + db $1d, $1e, $1f, $20 + +.tail1 ; $74 + db $00, $00, $00, $00 + db $00, $00, $00, $00 + db $00, $00, $00, $00 + db $00, $31, $33, $00 + db $28, $32, $35, $00 + db $30, $36, $00, $00 + db $34, $37, $00, $00 +.tail2 + db $00, $00, $00, $00 + db $00, $00, $00, $00 + db $00, $00, $38, $00 + db $00, $39, $3a, $00 + db $3b, $3c, $3e, $00 + db $3d, $3f, $40, $00 + db $34, $41, $00, $00 +.tail3 + db $00, $00, $00, $00 + db $00, $00, $26, $27 + db $00, $28, $29, $2a + db $00, $25, $2b, $00 + db $23, $24, $2c, $00 + db $21, $2d, $2e, $00 + db $22, $2f, $00, $00 +.tail4 + db $00, $00, $00, $00 + db $00, $00, $00, $00 + db $00, $00, $42, $00 + db $00, $43, $3a, $00 + db $44, $24, $46, $00 + db $45, $2d, $47, $00 + db $22, $48, $00, $00 + .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $08,$00,$18,$00,$38,$00,$3c,$00,$1c,$00,$0c,$00,$0c,$00,$04,$00 + db $00,$00,$10,$00,$1c,$00,$0e,$00,$0c,$00,$1c,$00,$38,$00,$00,$00 + db $00,$00,$06,$00,$0e,$00,$1c,$00,$38,$00,$30,$00,$30,$00,$10,$00 + db $00,$00,$18,$00,$30,$00,$30,$00,$30,$00,$3c,$00,$1c,$00,$08,$00 + db $00,$00,$00,$00,$00,$20,$00,$30,$00,$30,$00,$3f,$00,$3e,$00,$1c + db $00,$00,$00,$40,$00,$70,$00,$38,$00,$38,$00,$3c,$00,$06,$00,$00 + db $00,$00,$00,$60,$00,$3e,$00,$1e,$00,$06,$00,$0c,$00,$08,$00,$00 + db $00,$40,$00,$40,$00,$60,$00,$38,$00,$38,$00,$1c,$00,$06,$00,$02 + db $00,$00,$00,$00,$00,$00,$00,$00,$0d,$0d,$07,$07,$27,$27,$1f,$1f + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0,$70,$70 + db $0f,$0f,$03,$03,$07,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $fc,$fc,$fc,$fc,$ff,$ff,$7f,$7f,$3f,$3f,$03,$03,$03,$03,$00,$00 + db $00,$00,$00,$00,$f0,$f0,$ff,$ff,$ff,$ff,$fe,$fe,$ff,$ff,$0e,$0e + db $00,$00,$60,$60,$80,$80,$00,$00,$e0,$e0,$c0,$c0,$c0,$c0,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$05,$07,$07,$07,$07 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$c0,$c0,$c0 + db $03,$03,$07,$07,$33,$33,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $f0,$f0,$f8,$f8,$fc,$fc,$ff,$ff,$3f,$3f,$07,$07,$03,$03,$00,$00 + db $00,$00,$00,$00,$00,$00,$e7,$e7,$fe,$fe,$ff,$ff,$ff,$ff,$01,$01 + db $00,$00,$00,$00,$c0,$c0,$00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0c,$0c,$02,$02,$07,$07 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0 + db $1a,$1a,$0b,$0b,$03,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $f8,$f8,$fc,$fc,$ff,$ff,$7f,$7f,$3f,$3f,$0f,$0f,$00,$00,$00,$00 + db $00,$00,$00,$00,$80,$80,$e0,$e0,$fc,$fc,$ff,$ff,$fc,$fc,$7f,$7f + db $00,$00,$00,$00,$00,$00,$08,$08,$00,$00,$e0,$e0,$00,$00,$50,$50 + db $00,$00,$00,$00,$01,$01,$02,$02,$23,$23,$39,$39,$1d,$1d,$0f,$0f + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$c0,$e0,$e0 + db $7f,$7f,$1b,$1b,$07,$07,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 + db $fc,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$01,$01,$00,$00,$00,$00 + db $00,$00,$00,$00,$1f,$1f,$ff,$ff,$ff,$ff,$ff,$ff,$7e,$7e,$07,$07 + db $00,$00,$00,$00,$c0,$c0,$00,$00,$80,$80,$80,$80,$20,$20,$00,$00 + db $0f,$0f,$0f,$0f,$1f,$1f,$3f,$3f,$7f,$7f,$7f,$7f,$7f,$7f,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$07,$03,$03 + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$03,$03,$07,$07,$07,$07 + db $7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $03,$03,$07,$07,$0f,$0f,$0f,$0f,$1f,$1f,$3f,$3f,$3f,$3f,$7f,$7f + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$07,$07,$07,$07 + db $00,$00,$40,$40,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$03,$03 + db $0f,$0f,$1f,$1f,$3f,$3f,$7f,$7f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff + db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fc,$fc,$fc,$fc + db $fc,$fc,$fc,$fc,$f8,$f8,$f8,$f8,$f0,$f0,$f0,$f0,$f0,$f0,$e0,$e0 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe + db $e0,$e0,$e0,$e0,$c0,$c0,$c0,$c0,$80,$80,$80,$80,$00,$00,$00,$00 + db $fe,$fe,$fc,$fc,$fc,$fc,$f8,$f8,$f0,$f0,$f0,$f0,$e0,$e0,$c0,$c0 + db $03,$03,$07,$07,$07,$07,$0f,$0f,$0f,$0f,$3f,$3f,$3f,$3f,$7f,$7f + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$07,$07,$07,$07,$0f,$0f + db $1f,$1f,$1f,$1f,$3f,$3f,$7f,$7f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff + db $20,$20,$60,$60,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$c0,$c0,$c0,$c0 + db $7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$07,$03,$03 + db $c0,$c0,$c0,$c0,$c0,$c0,$80,$80,$80,$80,$80,$80,$80,$80,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$fc,$fc,$f8,$f8 + db $f8,$f8,$f0,$f0,$f0,$f0,$e0,$e0,$e0,$e0,$c0,$c0,$c0,$c0,$00,$00 + db $00,$00,$02,$02,$0e,$0e,$1e,$1e,$3e,$3e,$3e,$3e,$7e,$7e,$fc,$fc + db $00,$00,$01,$01,$03,$03,$07,$07,$0f,$0f,$0f,$0f,$1f,$1f,$3f,$3f + db $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$f8,$f8,$f8,$f8,$f8,$f8,$f8,$f8 + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$03,$03,$03,$03,$03,$07,$07 + db $3f,$3f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $07,$07,$0f,$0f,$1f,$1f,$3f,$3f,$3f,$3f,$7f,$7f,$7f,$7f,$7f,$7f + db $f0,$f0,$f0,$f0,$f0,$f0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$c0,$c0 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$f8,$f8 + db $c0,$c0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $f8,$f8,$f0,$f0,$f0,$f0,$f0,$f0,$e0,$e0,$e0,$e0,$e0,$e0,$c0,$c0 + db $03,$03,$06,$06,$0e,$0e,$0e,$0e,$1e,$1e,$7e,$7e,$fc,$fc,$fc,$fc + db $01,$01,$03,$03,$07,$07,$07,$07,$0f,$0f,$1f,$1f,$3f,$3f,$7f,$7f + db $00,$00,$00,$00,$01,$01,$01,$01,$03,$03,$03,$03,$07,$07,$0f,$0f + db $0f,$0f,$1f,$1f,$3f,$3f,$3f,$3f,$3f,$3f,$7f,$7f,$7f,$7f,$ff,$ff + db $f8,$f8,$f8,$f8,$f8,$f8,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$e0,$e0 + db $c0,$c0,$c0,$c0,$80,$80,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00 + db $fc,$fc,$fc,$fc,$f8,$f8,$f0,$f0,$f0,$f0,$e0,$e0,$c0,$c0,$80,$80 .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle ; sparks flying off @@ -34,8 +374,8 @@ Judgement: db $00,$ff,$00,$ff,$00,$ff,$80,$7f,$7f,$80,$30,$cf,$00,$ff,$00,$ff db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$fe,$01,$63,$9c,$01,$fe,$00,$ff db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fc,$fc,$f8,$f8,$e0,$e0 - db $fa,$fb,$fe,$fe,$ff,$ff,$c0,$c0,$00,$00,$00,$00,$07,$00,$3f,$00 - db $00,$f3,$00,$1f,$80,$83,$80,$80,$00,$00,$30,$00,$ff,$00,$ff,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$c0,$c0,$00,$00,$00,$00,$07,$00,$3f,$00 + db $80,$f3,$e0,$ff,$c0,$c3,$00,$00,$00,$00,$30,$00,$ff,$00,$ff,$00 db $00,$1c,$00,$f1,$00,$c3,$01,$fe,$00,$03,$00,$00,$b8,$00,$ff,$00 db $7f,$70,$7f,$80,$ff,$00,$ff,$07,$3c,$fc,$00,$00,$1c,$00,$f7,$00 db $ff,$00,$ff,$00,$ff,$00,$ff,$ff,$1f,$1f,$07,$07,$03,$03,$80,$40 @@ -62,7 +402,7 @@ Judgement: db $00,$3f,$00,$ff,$01,$ff,$03,$ff,$03,$ff,$07,$ff,$0f,$ff,$0f,$ff db $80,$60,$80,$78,$80,$7c,$18,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$0f,$ff db $93,$9f,$82,$9e,$c0,$dc,$c1,$58,$c1,$58,$81,$58,$80,$4c,$80,$66 - db $1c,$1c,$0d,$0d,$e7,$07,$13,$03,$13,$43,$12,$03,$e1,$07,$00,$0e + db $1c,$1c,$0c,$0c,$e7,$07,$13,$03,$13,$43,$12,$03,$e1,$07,$00,$0e db $80,$80,$80,$80,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00 db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01 db $01,$01,$03,$03,$03,$03,$03,$03,$07,$07,$07,$07,$07,$07,$07,$07 @@ -73,21 +413,16 @@ Judgement: db $70,$70,$e0,$e0,$c0,$c0,$80,$80,$80,$80,$03,$03,$07,$07,$1f,$1e db $01,$01,$03,$03,$0f,$0f,$3f,$3f,$ff,$fc,$ff,$e0,$ff,$00,$ff,$00 db $ff,$f8,$ff,$f8,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$fe,$ff,$fe,$ff,$fe - db $ff,$e1,$ff,$f0,$ff,$f0,$ff,$f8,$ff,$fc,$ff,$fe,$e7,$e6,$f3,$f3 + db $ff,$e1,$ff,$f0,$ff,$f0,$ff,$f8,$ff,$fc,$ff,$fe,$ff,$fe,$ff,$ff db $ff,$f8,$ff,$f0,$ff,$c0,$ff,$80,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $ff,$01,$ff,$03,$ff,$07,$ff,$07,$fe,$0e,$fc,$1c,$f8,$18,$f8,$38 - db $ff,$f0,$bf,$b0,$3f,$30,$3f,$30,$3f,$30,$3f,$30,$3f,$30,$3f,$20 - db $f0,$70,$e0,$60,$c0,$c0,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00 - db $7f,$60,$7f,$60,$7f,$40,$7f,$40,$7f,$40,$ff,$c0,$ff,$c0,$ff,$c0 - db $fc,$1c,$f8,$38,$f0,$30,$f0,$30,$e0,$60,$c0,$c0,$c0,$c0,$80,$80 - db $00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$03,$03,$03,$03 - db $ff,$c3,$ff,$c3,$ff,$c7,$fe,$c6,$fc,$cc,$fc,$cc,$f8,$d8,$f8,$f8 - db $80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $03,$02,$03,$02,$07,$06,$07,$06,$0f,$0e,$0f,$0e,$0f,$0c,$1f,$1c - db $f0,$f0,$f0,$f0,$e0,$e0,$c0,$c0,$80,$80,$80,$80,$80,$80,$00,$00 - db $1f,$18,$1f,$18,$3f,$30,$3f,$20,$7f,$60,$7f,$61,$ff,$e7,$fe,$ce - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8,$f8,$fc,$fc - db $01,$01,$03,$03,$03,$03,$07,$07,$0f,$0f,$0e,$0e,$1c,$1c,$38,$38 + db $ff,$01,$ff,$03,$ff,$07,$ff,$07,$ff,$0f,$ff,$1f,$ff,$1f,$ff,$3f + db $ff,$f0,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$e0 + db $ff,$7f,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$1f,$ff,$3f,$ff,$3f,$ff,$3f,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$c3,$ff,$c3,$ff,$c7,$ff,$c7,$ff,$cf,$ff,$cf,$ff,$df,$ff,$ff + db $ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fc,$ff,$fc + db $ff,$f8,$ff,$f8,$ff,$f0,$ff,$e0,$ff,$e0,$ff,$e1,$ff,$e7,$fe,$ce + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fc,$fc,$f8,$f8 db $f8,$f8,$f8,$f8,$f0,$f0,$f0,$f0,$f0,$f0,$e0,$e0,$e0,$e0,$e0,$e0 db $e0,$e0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$80,$80 db $ff,$e0,$ff,$e0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0 @@ -102,7 +437,7 @@ Judgement: db $fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$10,$ff,$30,$ff,$70,$ff,$f0 db $ff,$f0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0 - db $ff,$00,$ff,$00,$ff,$00,$ff,$01,$ff,$03,$ff,$03,$fe,$06,$fc,$0c + db $ff,$00,$ff,$00,$ff,$00,$ff,$01,$ff,$03,$ff,$03,$ff,$07,$ff,$0f db $ff,$e0,$ff,$e0,$ff,$e0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c1,$ff,$c1 db $7f,$70,$ff,$f8,$ff,$f8,$ff,$f8,$ff,$f0,$ff,$f0,$ff,$f0,$ff,$f0 db $3f,$38,$3f,$38,$3f,$38,$3f,$38,$3f,$38,$7f,$70,$7f,$70,$7f,$70 @@ -111,39 +446,39 @@ Judgement: db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$c0,$ff,$70,$ff,$bc,$ff db $01,$ff,$01,$ff,$01,$ff,$01,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff db $07,$ff,$1f,$ff,$3f,$ff,$3f,$ff,$ff,$ff,$fd,$ff,$fb,$ff,$de,$ff - db $00,$ff,$00,$00,$00,$7d,$00,$39,$00,$bb,$00,$93,$00,$d7,$00,$c7 - db $00,$ff,$00,$00,$00,$be,$00,$9c,$00,$dd,$00,$c9,$00,$eb,$00,$e3 - db $00,$ff,$00,$7f,$07,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$10,$ff,$00,$ff + db $00,$ff,$ff,$00,$82,$7d,$c6,$39,$44,$bb,$6c,$93,$28,$d7,$38,$c7 + db $00,$ff,$ff,$00,$41,$be,$63,$9c,$22,$dd,$36,$c9,$14,$eb,$1c,$e3 + db $00,$ff,$80,$7f,$07,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$10,$ff,$00,$ff db $00,$ff,$00,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$80,$ff,$00,$ff,$00,$ff - db $00,$ef,$00,$c7,$00,$d7,$00,$93,$00,$bb,$00,$39,$00,$00,$00,$ff - db $00,$f7,$00,$e3,$00,$eb,$00,$c9,$00,$dd,$00,$9c,$00,$00,$00,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01 + db $10,$ef,$38,$c7,$28,$d7,$6c,$93,$44,$bb,$c6,$39,$ff,$00,$00,$ff + db $08,$f7,$1c,$e3,$14,$eb,$36,$c9,$22,$dd,$63,$9c,$ff,$00,$00,$ff + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$80,$7f,$00,$ff db $ff,$c0,$ff,$c0,$ff,$80,$ff,$80,$ff,$00,$ff,$00,$ff,$00,$ff,$00 db $fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$1e,$fe,$0e,$fe,$0e db $ff,$fe,$ff,$fc,$ff,$fc,$ff,$fc,$ff,$f8,$ff,$f8,$ff,$f0,$ff,$f0 db $ff,$1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$1f,$ff,$3f db $07,$ff,$01,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$01,$ff,$03,$ff,$03,$ff - db $00,$ff,$00,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$ff + db $00,$ff,$01,$fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$01,$fe,$00,$ff .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $3b, $7a, $7b, $59, $6a, $2c, $2c, $65 - db $3b, $5b, $5c, $5a, $69, $2c, $4c, $4d - db $3b, $5d, $5e, $40, $66, $67, $4e, $4f - db $3b, $5f, $63, $1a, $68, $50, $51, $78 - db $3b, $60, $64, $41, $52, $53, $54, $2c - db $3b, $49, $79, $42, $55, $77, $56, $44 - db $3b, $3b, $61, $43, $57, $58, $45, $46 + db $3b, $74, $75, $54, $65, $2c, $2c, $60 + db $3b, $56, $57, $55, $64, $2c, $4c, $4d + db $3b, $58, $59, $40, $61, $62, $4e, $56 + db $3b, $5a, $5e, $1a, $63, $4f, $3b, $72 + db $3b, $5b, $5f, $41, $50, $3b, $51, $2c + db $3b, $49, $73, $42, $3b, $3b, $52, $44 + db $3b, $3b, $5c, $43, $3b, $53, $45, $46 db $3b, $3b, $4a, $3e, $3f, $47, $48, $4b - db $3b, $22, $23, $24, $25, $26, $27, $62 + db $3b, $22, $23, $24, $25, $26, $27, $5d db $28, $29, $2c, $35, $36, $2d, $3d, $2a - db $2b, $30, $31, $32, $2f, $2f, $7c, $2e + db $2b, $30, $31, $32, $2f, $2f, $76, $2e db $3c, $39, $3a, $33, $2f, $2f, $2f, $2f db $1b, $1c, $1e, $1f, $34, $20, $21, $37 db $1d, $38, $2f, $2f, $2f, $2f, $2f, $2f - db $6b, $2f, $7e, $70, $71, $72, $73, $6e - db $6c, $6d, $7f, $74, $75, $76, $7d, $6f + db $66, $2f, $78, $6b, $6c, $6d, $6e, $69 + db $67, $68, $79, $6f, $70, $71, $77, $6a + .BackgroundCopyEnd: diff --git a/20judgement.aseprite b/20judgement.aseprite index ada5ad5..5edd3a4 100644 Binary files a/20judgement.aseprite and b/20judgement.aseprite differ diff --git a/21TheWorld.inc b/21TheWorld.inc index d9a7483..5e94e31 100644 --- a/21TheWorld.inc +++ b/21TheWorld.inc @@ -1,3 +1,11 @@ +; my magnum opus... my greatest work. gaze upon it and despair +; this is such a tangled (not really) mess of lookup tables and case switches +; which is impressive given thta i don't hvae those in assembly. +; there's a matrix of speesd that determines how fast sprites move across +; the globe to make it look like it's really rotating andd not just madde of +; sliding segments. i'm very proud of this not because it's good code but +; because it works. + TheWorld: db 10, "THE WORLD " db 10, " " @@ -14,85 +22,596 @@ TheWorld: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer + ld [hl+], a ; + ld [hl+], a ; CVS + 2 frame index for rotating earth + ld [hl+], a ; CVS + 3 flag for whether we've run out of OAM + + + + ld hl, MY_OAM +.priorityLoop + inc hl + inc hl + inc hl + set OAMB_PRI, [hl] + inc hl + ld a, l + cp a, $9F + jp c, .priorityLoop + + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $01 ; $10 = 1 second, $02 = 1/8 of a second + ret c + + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld b, 80 + ld a, [CVS+2] + dec a + call ArrayClampLoopingB + ld [CVS+2], a + + + call .rotate + + call .cleanNonVisibleTiles + + call .spawnNewTiles + + ret + +.spawnNewTiles: + ; spawn whatever new stripe of tiles is indicated in the map structure + ld a, [CVS+2] + ld b, a + ld hl, .map +.loopFindCurrentStripes + ld a, [CVS+2] + ld b, a + ld a, [hl] ; hl points at a timing index + cp a, 255 + jp z, .doneSpawningStripe ; if it's 255 then we've reached the end of the list + cp a, b + jp z, .foundOne ; if it's =[CVS+2] then we've found a stripe that should be spawned now + inc hl ; now hl points at LOW(stripe address) + inc hl ; now hl points at HIGH(stripe address) + inc hl ; now hl points at a timing index + jp .loopFindCurrentStripes ; look at the next one +.foundOne + inc hl ; now hl points at LOW(stripe address) + ld c, [hl] + inc hl ; now hl points at HIGH(strpie address) + ld b, [hl] + push hl ; save our location from the map list... + ld h, b + ld l, c + + ; hl holdds the addrerss of a map stripe in memory, linearly packed + call .BuildMapStripe + pop hl ; rerstore the map list memory location + inc hl ; now hl points at a timing index + jp .loopFindCurrentStripes ; look at the next one +.doneSpawningStripe + ret + +.BuildMapStripe: + ; go through MY_OAM aand fiind six unused sprites, and draw our candidate + ; sprites in those slots. + ; each time we need to check if our counter (b) is six + ; and also if we're outsidde the dedicated OAM space (not as important maybe) + + ; hl points to a list of six tile ids + ld b, 0 + ld d, h + ld e, l + ld hl, MY_OAM + +.spriteLoop + ld a, [hl] + cp a, 0 + jp nz, .skipToNextSlot ; if the y value of the slot we're in is not zero, + ; we have to skip this OAM slot + ld a, 6 ; STRPES ARE SIX TILIES TALLL + cp a, b + ret z ; if we'rer trying to draw sprite 6 in our stripe, we're done + + ld a, [de] + cp a, 0 + jp z, .doneDrawingSprite ; if the tile we're trying to draw is id 0, we're done + ; else, fill this slot with the correct sprite. + ; six way branch based on what position in the stripe we're at + ld a, b +: cp a, 0 + jp nz, :+ + + ld [hl], (2+1+5)*8 ; y + inc hl + ld [hl], (1+1+1)*8 + 2; x + inc hl + ld a, [de] + ld [hl], a + ld a, 255 +: cp a, 1 + jp nz, :+ + + ld [hl], (2+1+6)*8 ; y + inc hl + ld [hl], (1+1+0)*8+4; x + inc hl + ld a, [de] + ld [hl], a + + ld a, 255 +: cp a, 2 + jp nz, :+ + + ld [hl], (2+1+7)*8 ; y + inc hl + ld [hl], (1+1+0)*8+1; x + inc hl + ld a, [de] + ld [hl], a + + ld a, 255 +: cp a, 3 + jp nz, :+ + + ld [hl], (2+1+8)*8 ; y + inc hl + ld [hl], (1+1+0)*8+1; x + inc hl + ld a, [de] + ld [hl], a + + ld a, 255 +: cp a, 4 + jp nz, :+ + + ld [hl], (2+1+9)*8 ; y + inc hl + ld [hl], (1+1+0)*8+4; x + inc hl + ld a, [de] + ld [hl], a + + ld a, 255 +: cp a, 5 + jp nz, :+ + + ld [hl], (2+1+10)*8 ; y + inc hl + ld [hl], (1+1+1)*8 + 2; x + inc hl + ld a, [de] + ld [hl], a + + ld a, 255 +: + inc hl ; now it's pointing at the attributes + ;set OAMB_PRI, [hl] + inc hl ; now it's pointing at the next OAM slot +.doneDrawingSprite + inc de ; move to the next sprite in the strip + inc b ; increment our sprite-in-strip counter + jp .checkIfOutOfOAM + +.skipToNextSlot + inc hl + inc hl + inc hl + inc hl + jp .checkIfOutOfOAM + +.checkIfOutOfOAM + ld a, l + cp a, $9F + jp c, .spriteLoop + + ret ; if we're out of oam we're done! + + +.rotate: + ; move all currently visible sprites according to the rotation behavior. + ld hl, MY_OAM +.loop + ld a, [hl] ; y value + cp a, 0 + jp nz, :+ + inc hl ; x + inc hl ; tile id + inc hl ; attrs + inc hl ; next oam value + + ld a, l + cp a, $9F + ret nc + jp .loop +: + ld b, [hl] ; y value + inc hl + ld c, [hl] ; x value + + push hl + ld hl, .speedMatrix + call .GetOffsetForMatrix + pop hl + ld b, a ; b now holds the speed matrrix value + + ld a, [CVS+2] + and a, $01 + ld d, a ; every-other-frame bit + ld a, [CVS+2] + and a, $03 + inc a + sra a + sra a + ld e, a ; every-fourth-frame bit + + ld a, [hl] ; x value to modify + bit 0, b + jp z, :+ + add a, 1 +: bit 1, b + jp z, :+ + add a, d +: bit 2, b + jp z, :+ + add a, e +: + ld [hl], a + +.done + inc hl ; now ponting at tile id + inc hl ; now pointing at attrs + inc hl + ld a, l + cp a, $A0 + jp nz, .loop + + ret + +.cleanNonVisibleTiles: + ld hl, MY_OAM + ; go through MY_OAM and, for any which aren't still visible, set their + ; y value to zero. +.cleanUpLoop + ld a, [hl] ; a is the y value and hl points to y +: cp a, (2+1+5)*8 + jp nz, :+ ; if the y value doesn't match our target, try the next check + inc hl + ld a, [hl-] ; a is the x value and hl points to x + cp a, (1+1+5)*8+6 + jp c, .nextTile ; if x value is not less than the threshold, + ; skip this tile and look at the next tile + + ; else, the x value is <= the threshhold, so we put it in baby jail + ld [hl], 0 ; set y to zero + jp .nextTile +: cp a, (2+1+6)*8 + jp nz, :+ + inc hl + ld a, [hl-] ; a is the x value and hl points to x + cp a, (1+1+6)*8+4 + jp c, .nextTile ; if x value is not less than the threshold, + ; skip this tile and look at the next tile + + ; else, the x value is <= the threshhold, so we put it in baby jail + ld [hl], 0 ; set y to zero + jp .nextTile +: cp a, (2+1+7)*8 + jp nz, :+ + inc hl + ld a, [hl-] ; a is the x value and hl points to x + cp a, (1+1+7)*8+4 + jp c, .nextTile ; if x value is not less than the threshold, + ; skip this tile and look at the next tile + + ; else, the x value is <= the threshhold, so we put it in baby jail + ld [hl], 0 ; set y to zero + jp .nextTile +: cp a, (2+1+8)*8 + jp nz, :+ + inc hl + ld a, [hl-] ; a is the x value and hl points to x + cp a, (1+1+7)*8+4 + jp c, .nextTile ; if x value is not less than the threshold, + ; skip this tile and look at the next tile + + ; else, the x value is <= the threshhold, so we put it in baby jail + ld [hl], 0 ; set y to zero + jp .nextTile +: cp a, (2+1+9)*8 + jp nz, :+ + inc hl + ld a, [hl-] ; a is the x value and hl points to x + cp a, (1+1+6)*8+4 + jp c, .nextTile ; if x value is not less than the threshold, + ; skip this tile and look at the next tile + + ; else, the x value is <= the threshhold, so we put it in baby jail + ld [hl], 0 ; set y to zero + jp .nextTile +: cp a, (2+1+10)*8 + jp nz, :+ + inc hl + ld a, [hl-] ; a is the x value and hl points to y + cp a, (1+1+5)*8+6 + jp c, .nextTile ; if x value is not less than the threshold, + ; skip this tile and look at the next tile + + ; else, the x value is <= the threshhold, so we put it in baby jail + ld [hl], 0 ; set y to zero + jp .nextTile +: +.nextTile + inc hl + inc hl + inc hl + inc hl + ld a, $A0 + cp a, l + jp nz, .cleanUpLoop + ret + + + +.GetOffsetForMatrix: + ; b has y, c has x, hl has a 6x6 matrix of bytes. + ; when this is done hl will point to the individual byte we want + ; subtract (2+1+5)*8 from b, then divide by 8 + ; subtract (1+1+1)*8 from c, then divide by 8. + ld a, b + sub a, (2+1+5)*8 + sra a + sra a + sra a + cp a, 5 + jp c, :+ + ld a, 5 +: ld b, a + + ld a, c + sub a, (1+1+0)*8 + sra a + sra a + sra a + cp a, 6 + jp c, :+ + ld a, 6 +: ld c, a + + ld d, 0 + ld a, 0 + add a, b + add a, b + add a, b + add a, b + add a, b + add a, b ; a = 6*b + add a, b + ld e, a + + add hl, de + + ld d, 0 + ld e, c + + add hl, de + + ld a, [hl] + + ret + +.speedMatrix + ; bits are + ; 1s: normal speed, + ; 2s: 50% boost + ; 4s: 25% boost + db %0000_0111, %0000_0110, %0000_0110, %0000_0001, %0000_0110, %0000_0110, %0000_0111 + db %0000_0001, %0000_0101, %0000_0101, %0000_0101, %0000_0101, %0000_0101, %0000_0001 + db %0000_0101, %0000_0101, %0000_0011, %0000_0011, %0000_0011, %0000_0101, %0000_0101 + db %0000_0101, %0000_0101, %0000_0011, %0000_0011, %0000_0011, %0000_0101, %0000_0101 + db %0000_0001, %0000_0101, %0000_0101, %0000_0101, %0000_0101, %0000_0101, %0000_0001 + db %0000_0111, %0000_0110, %0000_0110, %0000_0001, %0000_0110, %0000_0110, %0000_0111 + + +.map + db 0 + dw .stripes + db 5 + dw .stripes + 6 + db 10 + dw .stripes + 12 + db 15 + dw .stripes + 18 + db 20 + dw .stripes + 24 + db 25 + dw .stripes + 30 + db 30 + dw .stripes + 36 + db 35 + dw .stripes + 42 + db 40 + dw .stripes + 48 + db 45 + dw .stripes + 54 + db 50 + dw .stripes + 60 + db 55 + dw .stripes + 66 + db 60 + dw .stripes + 72 + db 65 + dw .stripes + 78 + db 70 + dw .stripes + 84 + db 75 + dw .stripes + 90 + db 255 + +.stripes +db $02, $05, $00, $00, $00, $00 +db $03, $06, $07, $00, $00, $33 +db $04, $0a, $08, $0c, $00, $2c +db $09, $0b, $0d, $0e, $10, $00 +db $12, $00, $00, $0f, $11, $00 +db $00, $13, $17, $00, $00, $2d +db $1c, $14, $18, $1a, $00, $2e +db $1d, $15, $19, $1b, $00, $2f +db $24, $16, $00, $00, $00, $00 +db $25, $1e, $1f, $00, $00, $00 +db $26, $20, $21, $00, $00, $32 +db $22, $23, $2b, $27, $29, $30 +db $34, $37, $00, $28, $2a, $31 +db $35, $38, $00, $00, $39, $00 +db $36, $00, $00, $00, $00, $00 .fDraw: ret .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$00,$03,$03,$0f,$0f,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$1f,$1f + db $00,$00,$f0,$f0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$3e,$3e,$ff,$ff,$f7,$ff,$d5,$ff,$ea,$ff,$d1,$ff,$ff,$ff + db $03,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $cf,$ff,$e7,$ff,$73,$7f,$19,$1f,$0f,$0f,$0e,$0f,$06,$07,$06,$05 + db $06,$05,$06,$05,$07,$04,$07,$04,$03,$03,$01,$01,$00,$00,$00,$00 + db $f2,$7e,$fe,$fe,$ee,$ee,$c6,$c6,$e0,$e0,$f0,$f0,$ff,$ff,$01,$01 + db $00,$00,$00,$00,$fc,$fc,$58,$f8,$b0,$f0,$60,$e0,$80,$80,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fa,$fa,$fd,$3d,$fd,$1f,$fb,$1f + db $80,$80,$e0,$e0,$e0,$e0,$e0,$e0,$c0,$c0,$80,$80,$00,$00,$00,$00 + db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$f8,$f8 + db $fe,$fe,$e3,$ff,$61,$ff,$60,$ff,$30,$ff,$b3,$ff,$bf,$ff,$bf,$ff + db $00,$00,$80,$80,$c0,$c0,$40,$c0,$e0,$e0,$e0,$e0,$c0,$c0,$c0,$c0 + db $5f,$7f,$5f,$7f,$5f,$73,$bc,$e4,$f0,$c0,$e0,$c0,$c0,$80,$80,$80 + db $80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $7f,$41,$7f,$41,$7f,$40,$3f,$00,$3f,$31,$1f,$13,$1e,$12,$00,$00 + db $01,$01,$03,$03,$0f,$0f,$0e,$0e,$00,$00,$03,$03,$0f,$0e,$1f,$10 + db $ff,$ff,$f2,$f2,$02,$02,$00,$00,$00,$00,$ff,$ff,$ff,$06,$ff,$00 + db $ff,$ff,$bb,$ba,$3b,$3a,$1f,$1f,$3c,$34,$7f,$61,$df,$d0,$ef,$68 + db $ff,$e0,$ff,$00,$ff,$00,$ff,$c0,$3f,$3e,$07,$07,$81,$81,$01,$01 + db $1f,$10,$1f,$10,$1f,$18,$0f,$0f,$03,$03,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$30,$ff,$fc,$cf,$cd,$0f,$0f,$07,$07,$0f,$0f + db $f2,$32,$f0,$00,$fa,$0a,$fe,$3e,$fe,$3e,$fe,$fe,$fe,$fe,$fc,$fc + db $07,$07,$0f,$0f,$07,$07,$07,$07,$0f,$0f,$0f,$0d,$07,$04,$03,$02 + db $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fd,$fd,$f9,$99,$f1,$11,$e0,$00 + db $00,$00,$01,$01,$01,$01,$03,$03,$46,$46,$c0,$c0,$87,$87,$1f,$1f + db $00,$00,$80,$80,$df,$df,$fb,$ff,$73,$7f,$e7,$ff,$cf,$ff,$df,$ff + db $ff,$02,$ff,$04,$f3,$0c,$f9,$0f,$fc,$3f,$fe,$ff,$ff,$ff,$f8,$f8 + db $f0,$f0,$e0,$e0,$c0,$c0,$00,$00,$20,$20,$60,$60,$00,$00,$00,$00 + db $ff,$63,$ff,$03,$ff,$07,$ff,$0f,$fb,$8f,$76,$fe,$fc,$fc,$f8,$f8 + db $78,$78,$38,$38,$38,$38,$20,$20,$20,$20,$30,$30,$18,$18,$08,$08 + db $0c,$0c,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$fc,$fc,$e0,$e0,$c0,$c0,$70,$70,$18,$18,$00,$00,$00,$00 + db $00,$00,$0f,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $3f,$00,$ff,$00,$ff,$f0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $fc,$00,$ff,$00,$ff,$01,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f1 + db $03,$03,$00,$00,$e0,$e0,$07,$07,$1f,$1f,$3f,$31,$7f,$60,$ff,$e0 + db $fe,$fe,$00,$00,$00,$00,$08,$08,$08,$08,$9c,$9c,$fe,$fe,$ff,$07 + db $ff,$e4,$7f,$7f,$38,$38,$10,$10,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$03,$ff,$c3,$fe,$fe,$3c,$3c,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$18,$18,$10,$10,$c0,$c0,$8f,$8f + db $00,$00,$00,$00,$03,$03,$0e,$0e,$fc,$fc,$f8,$f8,$fe,$fe,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$e0,$e0,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f3,$f3,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$f0,$f0,$f8,$f8,$d8,$d8,$c0,$c0,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$07,$07,$07,$07,$00,$00 + db $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$e0,$e0 + db $00,$00,$e0,$e0,$fc,$fc,$fc,$fc,$f8,$f8,$e0,$e0,$00,$00,$00,$00 + db $f8,$f8,$00,$00,$00,$00,$00,$00,$20,$20,$20,$20,$60,$60,$c0,$c0 + db $60,$60,$60,$60,$60,$60,$c0,$c0,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$06,$06,$02,$02,$06,$06,$0c,$0c,$18,$18,$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 $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $03,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$ff,$3f,$3f,$07,$07,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$3f,$3f,$1f,$1f,$07,$07 - db $03,$03,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f,$3f,$3f,$1f,$1f,$0f,$0f - db $0f,$0f,$07,$07,$07,$07,$03,$03,$03,$03,$03,$03,$01,$01,$01,$01 - db $01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fc,$fc,$f8,$f8,$e0,$e0 - db $ff,$ff,$fc,$fc,$e0,$e0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00 - db $c0,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$f8,$f8,$f0,$f0 - db $c0,$c0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $f0,$f0,$e0,$e0,$e0,$e0,$c0,$c0,$c0,$c0,$c0,$c0,$80,$80,$80,$80 - db $80,$80,$80,$80,$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,$80,$80,$80,$80 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01 - db $80,$80,$80,$80,$c0,$c0,$c0,$c0,$c0,$c0,$e0,$e0,$e0,$e0,$f0,$f0 - db $01,$01,$01,$01,$03,$03,$03,$03,$03,$03,$07,$07,$07,$07,$0f,$0f - db $f0,$f0,$f8,$f8,$fc,$fc,$fe,$fe,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$c0,$c0 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$03,$03 - db $0f,$0f,$1f,$1f,$3f,$3f,$7f,$7f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff - db $e0,$e0,$f8,$f8,$fc,$fc,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$e0,$e0,$fc,$fc,$ff,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$c0 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03 - db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$07,$07,$3f,$3f,$ff,$ff - db $07,$07,$1f,$1f,$3f,$3f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 db $ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$07,$ff,$07,$ff,$07,$ff,$07 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$00,$ff,$00,$ff,$80,$ff,$80,$ff,$c0,$ff,$f8,$ff,$ff,$ff,$ff db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$04 db $ff,$00,$ff,$00,$ff,$07,$ff,$07,$ff,$07,$ff,$07,$ff,$07,$ff,$0f db $ff,$0f,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$06,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$07,$ff,$0f,$ff,$3f - db $ff,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $ff,$00,$ff,$00,$ff,$80,$ff,$80,$ff,$c0,$ff,$f8,$ff,$ff,$ff,$ff db $ff,$80,$ff,$80,$ff,$c0,$ff,$f0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$c0,$ff,$f0,$ff,$f8 + db $ff,$06,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$07,$ff,$0f,$ff,$3f + db $ff,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe + db $ff,$ff,$fe,$fe,$fd,$fd,$ea,$ea,$d4,$d4,$88,$88,$50,$50,$a0,$a0 + db $e0,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $07,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$7f,$7f,$1f,$1f,$07,$07,$03,$03,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$3f,$3f + db $fe,$fe,$fd,$fd,$fa,$fa,$f5,$f5,$ea,$ea,$d5,$d5,$ea,$ea,$d5,$d5 + db $a0,$a0,$00,$00,$80,$80,$00,$00,$80,$80,$00,$00,$00,$00,$00,$00 + db $1f,$1f,$1f,$1f,$0f,$0f,$07,$07,$07,$07,$03,$03,$03,$03,$01,$01 + db $dc,$dc,$aa,$aa,$d4,$d4,$aa,$aa,$d4,$d4,$aa,$aa,$54,$54,$aa,$aa + db $01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $dc,$dc,$aa,$aa,$54,$54,$aa,$aa,$d4,$d4,$aa,$aa,$d4,$d4,$aa,$aa + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01 + db $ee,$ee,$d5,$d5,$ea,$ea,$f5,$f5,$ea,$ea,$f5,$f5,$fa,$fa,$fd,$fd + db $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$00,$00,$80,$80,$40,$40 + db $01,$01,$03,$03,$03,$03,$07,$07,$07,$07,$0f,$0f,$1f,$1f,$1f,$1f + db $ff,$ff,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $40,$40,$80,$80,$50,$50,$e8,$e8,$f4,$f4,$f8,$f8,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff + db $00,$00,$00,$00,$00,$00,$03,$03,$07,$07,$1f,$1f,$7f,$7f,$ff,$ff + db $3f,$3f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0f db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$ff,$f8,$ff,$f0,$ff,$f0 db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$e7,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $ff,$ff,$1f,$1f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3e,$3f,$38,$3f,$38 - db $ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$80,$ff,$00,$ff,$00,$ff,$00 - db $3f,$38,$3f,$38,$3f,$30,$3f,$30,$3f,$30,$3f,$30,$1f,$10,$ff,$f0 - db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0f db $ff,$07,$ff,$03,$ff,$03,$ff,$02,$ff,$00,$ff,$00,$ff,$00,$ff,$00 db $ff,$ff,$ff,$ff,$ff,$cf,$ff,$07,$ff,$03,$ff,$01,$ff,$00,$ff,$00 db $ff,$ff,$f8,$f8,$fd,$fd,$fc,$fc,$fe,$fe,$fe,$fe,$ff,$1f,$ff,$0f - db $ff,$0f,$ff,$0f,$ff,$0f,$fe,$0e,$fe,$0e,$fc,$0c,$f8,$08,$ff,$0f - db $df,$df,$8f,$8f,$af,$af,$27,$27,$77,$77,$73,$73,$00,$00,$ff,$ff - db $ff,$ff,$00,$00,$fb,$fb,$73,$73,$77,$77,$27,$27,$af,$af,$8f,$8f db $ff,$ff,$00,$00,$f6,$f6,$e6,$e6,$ef,$ef,$4f,$4f,$5f,$5f,$1f,$1f + db $ff,$ff,$00,$00,$fb,$fb,$73,$73,$77,$77,$27,$27,$af,$af,$8f,$8f + db $ff,$ff,$1f,$1f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3e,$3f,$38,$3f,$38 + db $ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$80,$ff,$00,$ff,$00,$ff,$00 + db $ff,$0f,$ff,$0f,$ff,$0f,$fe,$0e,$fe,$0e,$fc,$0c,$f8,$08,$ff,$0f db $bf,$bf,$1f,$1f,$5f,$5f,$4f,$4f,$ef,$ef,$e6,$e6,$00,$00,$ff,$ff + db $df,$df,$8f,$8f,$af,$af,$27,$27,$77,$77,$73,$73,$00,$00,$ff,$ff + db $3f,$38,$3f,$38,$3f,$30,$3f,$30,$3f,$30,$3f,$30,$1f,$10,$ff,$f0 + db $1f,$1f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $fd,$fd,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $dd,$dd,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $11,$11,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $3e, $3e, $38, $1b, $1b, $3f, $3e, $3e - db $39, $3a, $3b, $1b, $1b, $1b, $40, $41 - db $3c, $3d, $1b, $1b, $1b, $1b, $1b, $1b - db $1b, $1b, $1b, $1b, $1b, $1b, $1b, $1b - db $1b, $23, $24, $25, $1c, $1d, $1e, $1b - db $26, $27, $1a, $1a, $1a, $1a, $1f, $20 - db $28, $1a, $1a, $1a, $1a, $1a, $1a, $21 - db $29, $1a, $1a, $1a, $1a, $1a, $1a, $22 - db $2a, $1a, $1a, $1a, $1a, $1a, $1a, $2b - db $2c, $1a, $1a, $1a, $1a, $1a, $1a, $2d - db $2e, $2f, $1a, $1a, $1a, $1a, $30, $31 - db $1b, $32, $33, $34, $35, $36, $37, $1b - db $1b, $1b, $1b, $1b, $1b, $1b, $1b, $1b - db $47, $1b, $1b, $1b, $1b, $1b, $42, $43 - db $48, $49, $4a, $4e, $4d, $44, $45, $3e - db $3e, $3e, $4b, $4f, $4c, $46, $3e, $3e + db $1b, $1b, $1c, $1d, $1d, $1e, $1b, $1b + db $1f, $20, $21, $1d, $1d, $1d, $22, $23 + db $24, $25, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $26, $27, $28, $29, $2a, $2b, $1d + db $1d, $2c, $2d, $1a, $1a, $1a, $2e, $1d + db $1d, $2f, $1a, $1a, $1a, $1a, $30, $1d + db $1d, $31, $1a, $1a, $1a, $1a, $32, $1d + db $1d, $33, $34, $1a, $1a, $1a, $35, $1d + db $1d, $36, $37, $38, $38, $39, $3a, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $3b, $1d, $1d, $1d, $1d, $1d, $3c, $3d + db $3e, $3f, $40, $41, $42, $43, $44, $1b + db $1b, $1b, $45, $46, $47, $48, $1b, $1b + .BackgroundCopyEnd: diff --git a/21theworld.aseprite b/21theworld.aseprite index f4a6ced..42a02c0 100644 Binary files a/21theworld.aseprite and b/21theworld.aseprite differ diff --git a/CardHelpers.inc b/CardHelpers.inc index f568202..31985ca 100644 --- a/CardHelpers.inc +++ b/CardHelpers.inc @@ -210,4 +210,249 @@ IncrementTimer: adc a, 0 ld [hl], a dec hl - ret \ No newline at end of file + ret + +SetUpEdgeMasks: + ld hl, EdgeMasks + ld de, _VRAM + 8*16*16 ; 8 rows of 16 tiles each, 16 bytes per tile + ld bc, EdgeMasks.end - EdgeMasks + call CopyRange + + ld a, %00_00_00_00 + ld [rOBP1], a + ret + + +EdgeMasks: + dw `00000000, `00000000, `00000000, `00000000, `00000000, `00000000, `00000000, `00000000, + dw `00000003, `00000003, `00000003, `00000003, `00000003, `00000003, `00000003, `00000003, + dw `00000033, `00000033, `00000033, `00000033, `00000033, `00000033, `00000033, `00000033, + dw `00000333, `00000333, `00000333, `00000333, `00000333, `00000333, `00000333, `00000333, + dw `00003333, `00003333, `00003333, `00003333, `00003333, `00003333, `00003333, `00003333, + dw `00033333, `00033333, `00033333, `00033333, `00033333, `00033333, `00033333, `00033333, + dw `00333333, `00333333, `00333333, `00333333, `00333333, `00333333, `00333333, `00333333, + dw `03333333, `03333333, `03333333, `03333333, `03333333, `03333333, `03333333, `03333333, + dw `33333333, `33333333, `33333333, `33333333, `33333333, `33333333, `33333333, `33333333, +.end + +CleanUpOutsideSprites: + ld hl, MY_OAM + 10*4 + +.processSprite + ;hl points at an OAM entry's y value + ld a, 17 ; sprites are visible if y value >= 17 + cp a, [hl] + jp c, :+ ; skip if 17-y < 0 + ld [hl], 0 +: + ld a, 152 ; sprites are visible if y value is < 152 + cp a, [hl] + jp nc, :+ ; skip if 152 - y < 0 + ld [hl], 0 +: + inc hl ; look at x value + ld a, 8 ; sprites are visible if y value >= 8 + cp a, [hl] + jp c, :+ ; skip if 8-y <= 0 + ld [hl], 0 +: + ld a, 80 ; sprites are visible if x value < 80 + cp a, [hl] + jp nc, :+ + ld [hl], 0 +: + inc hl ; now pointing at tile ID + inc hl ; now pointing at attributes + inc hl ; now pointing at next OAM y value + ld a, l + cp a, $A0 + jp nz, .processSprite + + + + ; now we hide the overlapping edges + ld hl, MY_OAM + 10*4 + ld de, MY_OAM +.hideEdges + ld a, 0 ; check if y value is zero; if so, skip this sprite + cp a, [hl] + jp nz, :+ + inc hl ; x + inc hl ; tile id + inc hl ; attr + inc hl ; next y + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret +: + inc hl ; check if x value is zero; if so, skip this + ld a, 0 + cp a, [hl] + jp nz, :+ + inc hl + inc hl + inc hl + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret +: dec hl + + ;hl points at an OAM entry's y value + ld a, 24 ; sprites are clear if y value > 24 + cp a, [hl] + jp c, :+ ; skip if 24-y < 0 + + + + ; writing an edge mask on the TOP + ; else write an edge sprite + ld a, 16 ; y value should be 16 (covers top row) + ld [de], a ; y value in first slot + inc de ;write head moves forward to x + inc hl ; read head moves forward to x + ld a, [hl] ; x value matches the sprite we're mirroring + ld [de], a + + inc de ; write head moves forward to tile ID + inc hl ; read head moves forward to tile id + ld a, 8*16 + 8 + ld [de], a ; tile ID 1 for the hidden ones + + inc de ; write head moves forward to attribute + inc hl ; read head moves forward to attributes + ld a, [de] + set OAMB_PRI, a + set OAMB_PAL1, a + ld [de], a + + inc de ; point at next slot for both mask and source + inc hl + + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret +: + ld a, 145 ; sprites don't overlap edge if y value is <= 145 + cp a, [hl] + jp nc, :+ ; skip if 145 - y >= 0 + + + + ; writing an edge mask on the BOTTOM + ld a, 144 ; y value should be 144 (covers bottom row) + ld [de], a ; y value in first slot + inc de ;write head moves forward to x + inc hl ; read head moves forward to x + ld a, [hl] ; x value matches the sprite we're mirroring + ld [de], a + + inc de ; write head moves forward to tile ID + inc hl ; read head moves forward to tile id + ld a, 8*16 + 8 + ld [de], a ; tile ID 1 for the hidden ones + + inc de ; write head moves forward to attribute + inc hl ; read head moves forward to attributes + ld a, [de] + set OAMB_PRI, a + set OAMB_PAL1, a + ld [de], a + + inc de + inc hl + + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret +: + inc hl ; look at x value + ld a, 16 ; sprites dno't need coverage if x value > 16 + cp a, [hl] + jp c, :+ ; skip if 16-y < 0 + + + + + ; else write an edge mask on the LEFT + dec hl ; step back so we're looking at y + ld a, [hl] ; copy y over from sprite + ld [de], a + + inc hl ; point at x now + inc de ; point at x now + + ld a, 8 ; x value should be 8 (covers left edge) + ld [de], a ; x value + + inc de ; write head moves forward to tile ID + inc hl ; read head moves forward to tile id + ld a, 1 + ld [de], a ; tile ID 1 for the hidden ones + + inc de ; write head moves forward to attribute + inc hl ; read head moves forward to attributes + ld a, [de] + set OAMB_PRI, a + set OAMB_PAL1, a + ld [de], a + + inc de + inc hl + + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret + +: + ld a, 72 ; sprites dont needd coverage if x value < 72 + cp a, [hl] + jp nc, :+ + + + + ; else write an edge mask on the RIGHT + dec hl ; step back so we're looking at y + ld a, [hl] ; copy y over from sprite + ld [de], a + + inc hl ; point at x now + inc de ; point at x now + + ld a, [hl] ; x value should match the sprite we're masking... + ld [de], a ; x value + + inc de ; write head moves forward to tile ID + inc hl ; read head moves forward to tile id + ; a currently holds the x coordinate + sub a, 72 ; subtract off 72 to get the amount that we're overlapping + add a, 8*16 ; add the offset for the mask sprites... + ld [de], a ; that makes the tile ID for the mask we want! + + inc de ; write head moves forward to attribute + inc hl ; read head moves forward to attributes + ld a, [de] + set OAMB_PRI, a + set OAMB_PAL1, a + ld [de], a + + inc de + inc hl + + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret +: + inc hl ; now pointing at tile ID + inc hl ; now pointing at attributes + inc hl ; now pointing at next OAM y value + ld a, l + cp a, $A0 + jp nz, .hideEdges + ret + \ No newline at end of file diff --git a/CopyTilesSafe.inc b/CopyTilesSafe.inc index 37bbfb6..6d80a1a 100644 --- a/CopyTilesSafe.inc +++ b/CopyTilesSafe.inc @@ -39,6 +39,9 @@ CopyTilesToMapUnsafe: jp nz, CopyTilesToMap ret +; this function is used by practically all the card animations and all over the place. +; it uses every register. this was a bad idea and i should have just used the stack. +; if i were rewriting this, i would like to do it differently. BuildMetaSprite: ; takkes similar args as copytilestomapunsafe but builds several sprites ; instead. @@ -110,97 +113,13 @@ 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 + ; same as BuildMetaSprite but it skips blank tiles aand also flips the + ; whole thing horizontally push hl push de pop hl ; want hl and de to be swapped just for the sake of consistent apis @@ -275,12 +194,7 @@ BuildMetaSpritePackedHflip: 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 + ; same args as BuildMetaSprite but this one skips blank sprites. push hl push de pop hl ; want hl and de to be swapped just for the sake of consistent apis diff --git a/KeyArtTiles.asm b/KeyArtTiles.asm index 1fa81ed..772c323 100644 --- a/KeyArtTiles.asm +++ b/KeyArtTiles.asm @@ -4,71 +4,75 @@ KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$00,$55,$aa,$ff,$00,$55,$aa,$ff,$00,$5f,$a7,$df,$3f,$7f,$ff - db $ff,$c0,$fd,$f2,$ff,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$00,$55,$aa,$ff,$00,$55,$aa,$ff,$00,$5d,$a2,$ff,$00,$d5,$aa - db $9f,$7f,$1f,$ff,$3f,$df,$1f,$ff,$9f,$7f,$1f,$ff,$3f,$ff,$3f,$ff - db $ff,$7f,$7f,$ff,$ff,$7f,$7f,$ff,$ff,$7f,$7f,$ff,$ff,$7f,$ff,$ff - db $ab,$55,$45,$bb,$ab,$55,$11,$ef,$ab,$55,$45,$bb,$ab,$55,$11,$ef - db $ab,$55,$57,$ab,$ab,$57,$53,$af,$ab,$57,$57,$ab,$ab,$57,$57,$ab - db $eb,$17,$57,$ab,$af,$57,$57,$af,$af,$57,$57,$af,$af,$57,$57,$af - db $ef,$17,$57,$af,$bf,$4f,$5f,$af,$ef,$1f,$5f,$af,$bf,$4f,$5f,$af - db $ea,$15,$55,$aa,$aa,$55,$55,$aa,$ae,$51,$55,$aa,$aa,$d5,$d5,$aa - db $ee,$91,$d5,$aa,$bb,$c4,$d5,$aa,$ee,$91,$d5,$ea,$fb,$c4,$d5,$ea + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$07,$ff,$07,$ff,$07,$ff,$07 db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $80,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$3f,$7f,$bf,$ff,$3f,$7f,$bf,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $fe,$c1,$d5,$ea,$fb,$c4,$d5,$ea,$ff,$e0,$f5,$ea,$ff,$e0,$f5,$ea - db $ff,$e0,$f5,$ea,$ff,$e0,$f5,$fa,$ff,$f0,$fd,$f2,$ff,$fc,$ff,$ff - db $ff,$0f,$5f,$af,$bf,$4f,$5f,$bf,$ff,$1f,$5f,$bf,$bf,$5f,$5f,$bf - db $e8,$d7,$c0,$ff,$e2,$dd,$c0,$ff,$ea,$d5,$e0,$ff,$e2,$fd,$e0,$ff - db $ea,$f5,$e0,$ff,$ea,$f5,$e0,$ff,$fa,$f5,$f0,$ff,$fa,$f5,$f0,$ff - db $fa,$f5,$f4,$fb,$fa,$f5,$f8,$ff,$fa,$fd,$fc,$fb,$fa,$fd,$f9,$fe - db $fa,$fd,$fc,$fb,$fe,$fd,$fd,$fe,$fe,$fd,$fd,$fe,$fe,$fd,$fd,$fe - db $fe,$ff,$ff,$fe,$fe,$ff,$ff,$fe,$fe,$ff,$ff,$fe,$fe,$ff,$ff,$ff - db $bf,$7f,$3f,$ff,$3f,$ff,$3f,$ff,$bf,$7f,$3f,$ff,$7f,$ff,$7f,$ff - db $88,$f7,$80,$ff,$a0,$df,$80,$ff,$88,$f7,$80,$ff,$e2,$dd,$c0,$ff - db $80,$7f,$00,$ff,$03,$ff,$0f,$ff,$0f,$ff,$1f,$ff,$1f,$ff,$1f,$ff - db $80,$7f,$00,$ff,$00,$ff,$00,$ff,$08,$f7,$00,$ff,$00,$ff,$80,$ff - db $80,$7f,$f0,$ff,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $80,$7f,$00,$ff,$00,$ff,$00,$ff,$08,$f7,$00,$ff,$00,$ff,$00,$ff - db $88,$77,$00,$ff,$20,$df,$00,$ff,$88,$77,$00,$ff,$22,$dd,$00,$ff - db $a8,$57,$00,$ff,$22,$dd,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff - db $aa,$55,$00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$aa,$55,$00,$ff - db $aa,$55,$44,$bb,$aa,$55,$10,$ef,$aa,$55,$44,$bb,$aa,$55,$01,$fe - db $aa,$55,$44,$bb,$aa,$55,$11,$ee,$aa,$55,$45,$ba,$aa,$55,$11,$ee - db $aa,$55,$55,$aa,$aa,$55,$51,$ae,$aa,$55,$55,$aa,$aa,$55,$55,$aa - db $ea,$15,$55,$aa,$aa,$55,$55,$aa,$ae,$51,$55,$aa,$aa,$55,$55,$aa - db $ee,$11,$55,$aa,$bb,$44,$55,$aa,$ee,$11,$55,$aa,$bb,$44,$55,$aa - db $fe,$01,$55,$aa,$bb,$44,$55,$aa,$ff,$00,$55,$aa,$bf,$40,$55,$aa - db $ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$fc,$fd,$fc,$f8,$f8,$ff,$ff - db $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$3f,$3f,$ff,$ff - db $ff,$ff,$f8,$f8,$fd,$fc,$fc,$fc,$fe,$fc,$fe,$fe,$ff,$fe,$ff,$ff - db $ff,$ff,$00,$00,$f5,$e4,$e4,$e4,$ee,$e4,$4e,$4c,$5e,$4e,$3f,$1e - db $ff,$ff,$00,$00,$fb,$f2,$f3,$f2,$f7,$f2,$f7,$f2,$67,$66,$6f,$66 - db $ff,$ff,$3f,$3f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f - db $9f,$1e,$5f,$0f,$4f,$4f,$ef,$e7,$e7,$e7,$f7,$e7,$00,$00,$ff,$ff - db $6f,$66,$6f,$6e,$0f,$0e,$9f,$0e,$9f,$9e,$9f,$9e,$00,$00,$ff,$ff - db $ff,$ff,$ff,$ff,$f1,$ff,$ce,$ff,$de,$ff,$de,$ff,$be,$ff,$be,$ff - db $be,$ff,$be,$ff,$be,$ff,$be,$ff,$a0,$ff,$00,$ff,$01,$ff,$1f,$ff + db $ff,$00,$ff,$00,$ff,$80,$ff,$80,$ff,$c0,$ff,$f8,$ff,$ff,$ff,$ff + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$04 + db $ff,$00,$ff,$00,$ff,$07,$ff,$07,$ff,$07,$ff,$07,$ff,$07,$ff,$0f + db $ff,$0f,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$80,$ff,$80,$ff,$c0,$ff,$f0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$c0,$ff,$f0,$ff,$f8 + db $ff,$06,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$07,$ff,$0f,$ff,$3f + db $ff,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe + db $ff,$ff,$fe,$fe,$fd,$fd,$ea,$ea,$d4,$d4,$88,$88,$50,$50,$a0,$a0 + db $e0,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $07,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$7f,$7f,$1f,$1f,$07,$07,$03,$03,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$3f,$3f + db $fe,$fe,$fd,$fd,$fa,$fa,$f5,$f5,$ea,$ea,$d5,$d5,$ea,$ea,$d5,$d5 + db $a0,$a0,$00,$00,$80,$80,$00,$00,$80,$80,$00,$00,$00,$00,$00,$00 + db $1f,$1f,$1f,$1f,$0f,$0f,$07,$07,$07,$07,$03,$03,$03,$03,$01,$01 + db $dc,$dc,$aa,$aa,$d4,$d4,$aa,$aa,$d4,$d4,$aa,$aa,$54,$54,$aa,$aa + db $01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $dc,$dc,$aa,$aa,$54,$54,$aa,$aa,$d4,$d4,$aa,$aa,$d4,$d4,$aa,$aa + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01 + db $ee,$ee,$d5,$d5,$ea,$ea,$f5,$f5,$ea,$ea,$f5,$f5,$fa,$fa,$fd,$fd + db $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$00,$00,$80,$80,$40,$40 + db $01,$01,$03,$03,$03,$03,$07,$07,$07,$07,$0f,$0f,$1f,$1f,$1f,$1f + db $ff,$ff,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $40,$40,$80,$80,$50,$50,$e8,$e8,$f4,$f4,$f8,$f8,$ff,$ff,$ff,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff + db $00,$00,$00,$00,$00,$00,$03,$03,$07,$07,$1f,$1f,$7f,$7f,$ff,$ff + db $3f,$3f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0f + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$ff,$f8,$ff,$f0,$ff,$f0 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$e7,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $ff,$07,$ff,$03,$ff,$03,$ff,$02,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $ff,$ff,$ff,$ff,$ff,$cf,$ff,$07,$ff,$03,$ff,$01,$ff,$00,$ff,$00 + db $ff,$ff,$f8,$f8,$fd,$fd,$fc,$fc,$fe,$fe,$fe,$fe,$ff,$1f,$ff,$0f + db $ff,$ff,$00,$00,$f6,$f6,$e6,$e6,$ef,$ef,$4f,$4f,$5f,$5f,$1f,$1f + db $ff,$ff,$00,$00,$fb,$fb,$73,$73,$77,$77,$27,$27,$af,$af,$8f,$8f + db $ff,$ff,$1f,$1f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3e,$3f,$38,$3f,$38 + db $ff,$e0,$ff,$e0,$ff,$e0,$ff,$e0,$ff,$80,$ff,$00,$ff,$00,$ff,$00 + db $ff,$0f,$ff,$0f,$ff,$0f,$fe,$0e,$fe,$0e,$fc,$0c,$f8,$08,$ff,$0f + db $bf,$bf,$1f,$1f,$5f,$5f,$4f,$4f,$ef,$ef,$e6,$e6,$00,$00,$ff,$ff + db $df,$df,$8f,$8f,$af,$af,$27,$27,$77,$77,$73,$73,$00,$00,$ff,$ff + db $3f,$38,$3f,$38,$3f,$30,$3f,$30,$3f,$30,$3f,$30,$1f,$10,$ff,$f0 + db $1f,$1f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $fd,$fd,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $dd,$dd,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $11,$11,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 KeyArt: - db $36, $36, $36, $36, $36, $36, $36, $36 - db $37, $37, $33, $27, $35, $34, $37, $37 - db $38, $38, $1e, $26, $26, $32, $38, $38 - db $39, $39, $31, $26, $26, $2c, $39, $39 - db $3a, $3a, $1f, $26, $26, $2d, $3a, $3a - db $3b, $3b, $26, $26, $26, $2e, $3b, $3b - db $3c, $20, $49, $26, $26, $2f, $3c, $3c - db $3d, $21, $4a, $26, $26, $30, $3d, $3d - db $3e, $22, $26, $26, $26, $26, $24, $3e - db $3f, $23, $26, $26, $26, $26, $25, $3f - db $40, $2b, $26, $26, $26, $26, $29, $40 - db $1b, $28, $26, $26, $26, $26, $2a, $1d - db $26, $26, $26, $26, $26, $26, $26, $1c - db $26, $26, $26, $26, $26, $26, $26, $26 - db $26, $26, $43, $44, $45, $46, $26, $26 - db $26, $26, $41, $47, $48, $42, $26, $26 + db $1b, $1b, $1c, $1d, $1d, $1e, $1b, $1b + db $1f, $20, $21, $1d, $1d, $1d, $22, $23 + db $24, $25, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $26, $27, $28, $29, $2a, $2b, $1d + db $1d, $2c, $2d, $1a, $1a, $1a, $2e, $1d + db $1d, $2f, $1a, $1a, $1a, $1a, $30, $1d + db $1d, $31, $1a, $1a, $1a, $1a, $32, $1d + db $1d, $33, $34, $1a, $1a, $1a, $35, $1d + db $1d, $36, $37, $38, $38, $39, $3a, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $1d, $1d, $1d, $1d, $1d, $1d, $1d, $1d + db $3b, $1d, $1d, $1d, $1d, $1d, $3c, $3d + db $3e, $3f, $40, $41, $42, $43, $44, $1b + db $1b, $1b, $45, $46, $47, $48, $1b, $1b diff --git a/ScreenCardBrowse.inc b/ScreenCardBrowse.inc index 9302d76..ecdfe5e 100644 --- a/ScreenCardBrowse.inc +++ b/ScreenCardBrowse.inc @@ -66,12 +66,12 @@ CardBrowseUpdate: ld a, [vSelectedCardIndex] ld hl, rMYBTNP - bit 3, [hl] - jp z, :+ ; skip the following code if down is not pressed + bit 0, [hl] + jp z, :+ ; skip the following code if left is not pressed inc a : - bit 2, [hl] - jp z, :+ ; skip the following code if up is not pressed + bit 1, [hl] + jp z, :+ ; skip the following code if right is not pressed dec a : ld [vSelectedCardIndex], a diff --git a/SpriteTiles.asm b/SpriteTiles.asm index e79f3e0..188115f 100644 --- a/SpriteTiles.asm +++ b/SpriteTiles.asm @@ -4,31 +4,70 @@ SpriteTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$20,$00,$50,$20,$88,$00,$50,$00,$20,$00,$00,$00,$00,$00,$00 - db $00,$00,$00,$20,$20,$50,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$00,$00,$f0,$00,$0c,$f0,$f0,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$01,$00,$01,$00,$03,$00,$03,$00,$07,$00,$00,$00 - db $80,$7e,$80,$7f,$80,$7f,$3a,$c1,$62,$81,$c2,$01,$82,$01,$02,$01 - db $00,$00,$00,$00,$01,$00,$0f,$00,$38,$07,$0f,$00,$01,$00,$00,$00 - db $80,$7f,$00,$fe,$00,$f8,$00,$f0,$00,$f0,$00,$f0,$80,$70,$00,$78 - db $00,$00,$00,$00,$00,$00,$06,$00,$03,$00,$03,$00,$01,$00,$01,$00 - db $01,$00,$01,$00,$01,$00,$03,$00,$c2,$01,$62,$81,$32,$c1,$98,$67 - db $80,$00,$80,$00,$80,$00,$80,$00,$c3,$00,$4f,$80,$59,$86,$23,$dc - db $00,$00,$00,$00,$00,$00,$c0,$00,$80,$00,$80,$00,$00,$00,$00,$00 - db $02,$fc,$00,$7e,$01,$1e,$01,$0e,$00,$0f,$01,$0e,$03,$0c,$00,$1c - db $04,$78,$06,$f8,$02,$fc,$03,$fc,$59,$86,$4d,$82,$47,$80,$41,$80 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$c0,$00 - db $40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$c0,$00,$80,$00,$80,$00 - db $80,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $02,$01,$02,$01,$02,$01,$02,$01,$03,$00,$01,$00,$01,$00,$01,$00 + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff + db $00,$00,$03,$03,$0f,$0f,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$1f,$1f + db $00,$00,$f0,$f0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$3e,$3e,$ff,$ff,$f7,$ff,$d5,$ff,$ea,$ff,$d1,$ff,$ff,$ff + db $03,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $cf,$ff,$e7,$ff,$73,$7f,$19,$1f,$0f,$0f,$0e,$0f,$06,$07,$06,$05 + db $06,$05,$06,$05,$07,$04,$07,$04,$03,$03,$01,$01,$00,$00,$00,$00 + db $f2,$7e,$fe,$fe,$ee,$ee,$c6,$c6,$e0,$e0,$f0,$f0,$ff,$ff,$01,$01 + db $00,$00,$00,$00,$fc,$fc,$58,$f8,$b0,$f0,$60,$e0,$80,$80,$00,$00 + db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fa,$fa,$fd,$3d,$fd,$1f,$fb,$1f + db $80,$80,$e0,$e0,$e0,$e0,$e0,$e0,$c0,$c0,$80,$80,$00,$00,$00,$00 + db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$f8,$f8 + db $fe,$fe,$e3,$ff,$61,$ff,$60,$ff,$30,$ff,$b3,$ff,$bf,$ff,$bf,$ff + db $00,$00,$80,$80,$c0,$c0,$40,$c0,$e0,$e0,$e0,$e0,$c0,$c0,$c0,$c0 + db $5f,$7f,$5f,$7f,$5f,$73,$bc,$e4,$f0,$c0,$e0,$c0,$c0,$80,$80,$80 + db $80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $7f,$41,$7f,$41,$7f,$40,$3f,$00,$3f,$31,$1f,$13,$1e,$12,$00,$00 + db $01,$01,$03,$03,$0f,$0f,$0e,$0e,$00,$00,$03,$03,$0f,$0e,$1f,$10 + db $ff,$ff,$f2,$f2,$02,$02,$00,$00,$00,$00,$ff,$ff,$ff,$06,$ff,$00 + db $ff,$ff,$bb,$ba,$3b,$3a,$1f,$1f,$3c,$34,$7f,$61,$df,$d0,$ef,$68 + db $ff,$e0,$ff,$00,$ff,$00,$ff,$c0,$3f,$3e,$07,$07,$81,$81,$01,$01 + db $1f,$10,$1f,$10,$1f,$18,$0f,$0f,$03,$03,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$30,$ff,$fc,$cf,$cd,$0f,$0f,$07,$07,$0f,$0f + db $f2,$32,$f0,$00,$fa,$0a,$fe,$3e,$fe,$3e,$fe,$fe,$fe,$fe,$fc,$fc + db $07,$07,$0f,$0f,$07,$07,$07,$07,$0f,$0f,$0f,$0d,$07,$04,$03,$02 + db $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fd,$fd,$f9,$99,$f1,$11,$e0,$00 + db $00,$00,$01,$01,$01,$01,$03,$03,$46,$46,$c0,$c0,$87,$87,$1f,$1f + db $00,$00,$80,$80,$df,$df,$fb,$ff,$73,$7f,$e7,$ff,$cf,$ff,$df,$ff + db $ff,$02,$ff,$04,$f3,$0c,$f9,$0f,$fc,$3f,$fe,$ff,$ff,$ff,$f8,$f8 + db $f0,$f0,$e0,$e0,$c0,$c0,$00,$00,$20,$20,$60,$60,$00,$00,$00,$00 + db $ff,$63,$ff,$03,$ff,$07,$ff,$0f,$fb,$8f,$76,$fe,$fc,$fc,$f8,$f8 + db $78,$78,$38,$38,$38,$38,$20,$20,$20,$20,$30,$30,$18,$18,$08,$08 + db $0c,$0c,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$fc,$fc,$e0,$e0,$c0,$c0,$70,$70,$18,$18,$00,$00,$00,$00 + db $00,$00,$0f,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $3f,$00,$ff,$00,$ff,$f0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $fc,$00,$ff,$00,$ff,$01,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f1 + db $03,$03,$00,$00,$e0,$e0,$07,$07,$1f,$1f,$3f,$31,$7f,$60,$ff,$e0 + db $fe,$fe,$00,$00,$00,$00,$08,$08,$08,$08,$9c,$9c,$fe,$fe,$ff,$07 + db $ff,$e4,$7f,$7f,$38,$38,$10,$10,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$03,$ff,$c3,$fe,$fe,$3c,$3c,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$18,$18,$10,$10,$c0,$c0,$8f,$8f + db $00,$00,$00,$00,$03,$03,$0e,$0e,$fc,$fc,$f8,$f8,$fe,$fe,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$e0,$e0,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f3,$f3,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$f0,$f0,$f8,$f8,$d8,$d8,$c0,$c0,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$ff,$ff,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$07,$07,$07,$07,$00,$00 + db $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$e0,$e0 + db $00,$00,$e0,$e0,$fc,$fc,$fc,$fc,$f8,$f8,$e0,$e0,$00,$00,$00,$00 + db $f8,$f8,$00,$00,$00,$00,$00,$00,$20,$20,$20,$20,$60,$60,$c0,$c0 + db $60,$60,$60,$60,$60,$60,$c0,$c0,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$06,$06,$02,$02,$06,$06,$0c,$0c,$18,$18,$00,$00 Sprites: - db $09, $0a, $0b, $0c - db $07, $08, $0d, $04 - db $05, $06, $0e, $0f - db $00, $13, $10, $00 - db $00, $12, $11, $00 + db $02, $03, $04, $09, $12, $00, $1c, $1d, $24, $25, $26, $22, $34, $35, $36 + db $05, $06, $0a, $0b, $00, $13, $14, $15, $16, $1e, $20, $23, $37, $38, $00 + db $00, $07, $08, $0d, $00, $17, $18, $19, $00, $1f, $21, $2b, $00, $00, $00 + db $00, $00, $0c, $0e, $0f, $00, $1a, $1b, $00, $00, $00, $27, $28, $00, $00 + db $00, $00, $00, $10, $11, $00, $00, $00, $00, $00, $00, $29, $2a, $39, $00 + db $00, $33, $2c, $00, $00, $2d, $2e, $2f, $00, $00, $32, $30, $31, $00, $00 diff --git a/misc.py b/misc.py index 7998537..9720805 100644 --- a/misc.py +++ b/misc.py @@ -28,3 +28,17 @@ def splitn(n, the_string): for d in out: print(d) return out + +def transpose_gb_tiles(the_string): + out = [[] for _ in range(max(map(lambda l: len(l.split(", ")), the_string.split("\n"))))] + + for l in the_string.split("\n"): + sub = list(l.strip()[3:].split(", ")) + for i, byte in enumerate(sub): + out[i].append(byte) + + for d in out: + print("db " + ", ".join(d)) + + return out + diff --git a/source.zip b/source.zip index 7f37dbd..a935c13 100644 Binary files a/source.zip and b/source.zip differ