diff --git a/13Death.inc b/13Death.inc index e58ecfe..18c21d7 100644 --- a/13Death.inc +++ b/13Death.inc @@ -14,10 +14,159 @@ Death: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer stars + ld [hl+], a + ld [hl+], a ; cvs+2 for starrs 2 + ld [hl+], a + ld [hl+], a ; cvs+4 for starrs 3 + ld [hl+], a + + ld a, %11000100 + ld [rOBP0], a + + ld hl, MY_OAM + ld [hl], 24+8 + inc hl + ld [hl], 16+8 + inc hl + ld [hl], 1 + + ld hl, MY_OAM+4*1 + ld [hl], 24+16 + inc hl + ld [hl], 16+32 + inc hl + ld [hl], 2 + + ld hl, MY_OAM+4*2 + ld [hl], 24+2 + inc hl + ld [hl], 16+57 + inc hl + ld [hl], 2 + + ld hl, MY_OAM+4*3 + ld [hl], 24+0 + inc hl + ld [hl], 16+40 + inc hl + ld [hl], 3 + + ld hl, MY_OAM+4*4 + ld [hl], 24-2 + inc hl + ld [hl], 16+20 + inc hl + ld [hl], 3 + + ld hl, MY_OAM+4*5 + ld [hl], 24+24 + inc hl + ld [hl], 16+60 + inc hl + ld [hl], 3 + + ld hl, MY_OAM+4*6 + ld [hl], 24+20 + inc hl + ld [hl], 16+5 + inc hl + ld [hl], 3 + 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 + jp c, :+ ; if the timer is less than $0600, skip + + ; if the timer is greater or equal to $0600, reset it + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + call .blink +: + + ld hl, CVS+2 + call IncrementTimer + + ld a, [CVS+2+1] ; checking the high byte of the timer + cp a, $03 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ ; if the timer is less than $0600, skip + + ; if the timer is greater or equal to $0600, reset it + ld a, 0 + ld [CVS+2], a + ld [CVS+2+1], a + + call .blink2 +: + + ld hl, CVS+4 + call IncrementTimer + + ld a, [CVS+4+1] ; checking the high byte of the timer + cp a, $04 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ ; if the timer is less than $0600, skip + + ; if the timer is greater or equal to $0600, reset it + ld a, 0 + ld [CVS+4], a + ld [CVS+4+1], a + + call .blink3 +: + ret .fDraw: ret + +.blink: + ld a, 2 + + ld hl, MY_OAM+2 + cp a, [hl] + jp z, :+ + jp nz, :++ +: dec [hl] + jp :++ +: inc [hl] +: + ret + +.blink2: + ld a, 2 + + ld hl, MY_OAM+(4*1)+2 + cp a, [hl] + jp z, :+ + jp nz, :++ +: inc [hl] + jp :++ +: dec [hl] +: + ret + +.blink3: + ld a, 2 + + ld hl, MY_OAM+(4*2)+2 + cp a, [hl] + jp z, :+ + jp nz, :++ +: inc [hl] + jp :++ +: dec [hl] +: + ret .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $20,$00,$50,$00,$88,$20,$50,$00,$20,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$20,$00,$50,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/13death.aseprite b/13death.aseprite index 0b157f1..f383a08 100644 Binary files a/13death.aseprite and b/13death.aseprite differ diff --git a/14Temperance.inc b/14Temperance.inc index d866e93..dbd05c4 100644 --- a/14Temperance.inc +++ b/14Temperance.inc @@ -14,10 +14,122 @@ Temperance: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret -.fDraw: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for waterfall + ld [hl+], a + ld [hl+], a ; CVS+2 frame of animation + 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 + jp c, :+ + + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld b, 6 + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a + + call .waterfall + +: + + ret +.fDraw: + ld a, [CVS+2] + sra a + cp a, 0 + jp z, .frame0 + cp a, 1 + jp z, .frame1 + cp a, 2 + jp z, .frame2 + +.frame0 + ld a, %10_01_00_00 + ld [rOBP0], a + ret +.frame1 + ld a, %01_00_10_00 + ld [rOBP0], a + ret +.frame2 + ld a, %00_10_01_00 + ld [rOBP0], a + ret + +.waterfall: + ld hl, .waterfall1 + ld a, [CVS+2] + bit 0, a + jp nz, :+ + ld hl, .waterfall2 +: + ld de, MY_OAM + ld b, 4*8 + ld c, 3*8 + ld a, $83 + call BuildMetaSprite + ret + +.waterfall1 +db $00, $00, $0f +db $13, $12, $11 +db $15, $14, $00 +db $16, $17, $00 +db $18, $19, $00 +db $1a, $1d, $00 +db $1b, $1c, $00 +db $01, $02, $00 +.waterfall2 +db $00, $00, $0f +db $0d, $0c, $0e +db $0a, $0b, $00 +db $09, $03, $00 +db $07, $08, $00 +db $06, $05, $00 +db $04, $10, $00 +db $01, $02, $00 .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$07,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$f0,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$f0,$00,$f0,$10,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0 + db $00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07 + db $e0,$00,$f0,$00,$f0,$00,$f0,$00,$e0,$10,$00,$f0,$00,$f0,$00,$f0 + db $07,$00,$07,$00,$07,$00,$07,$00,$03,$04,$00,$07,$00,$07,$00,$07 + db $03,$03,$03,$01,$03,$00,$03,$00,$03,$00,$03,$00,$07,$00,$07,$00 + db $f0,$f0,$e0,$e0,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00 + db $00,$03,$00,$03,$02,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 + db $03,$03,$03,$01,$03,$00,$03,$00,$01,$02,$00,$03,$00,$03,$00,$03 + db $fe,$fe,$fc,$f8,$fc,$00,$fc,$00,$fc,$00,$00,$f8,$00,$f8,$00,$f0 + db $00,$00,$01,$01,$03,$03,$07,$03,$1f,$00,$3f,$40,$00,$ff,$01,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01 + db $80,$c0,$80,$e0,$c0,$e0,$e0,$e0,$e0,$00,$80,$60,$00,$80,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0 + db $00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0 + db $00,$c0,$00,$e0,$00,$e0,$80,$e0,$e0,$e0,$e0,$00,$80,$00,$00,$00 + db $00,$00,$01,$01,$03,$03,$07,$07,$1f,$03,$7f,$00,$ff,$00,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$01 + db $00,$fe,$fc,$fc,$fc,$fc,$fc,$f8,$fc,$00,$f8,$00,$f8,$00,$f0,$00 + db $00,$03,$03,$03,$03,$03,$03,$01,$03,$00,$03,$00,$03,$00,$01,$02 + db $00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$02,$03,$03,$03,$03,$03 + db $00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$10,$f0,$f0,$f0,$f0,$f0 + db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$07,$03,$07,$00 + db $f0,$f0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$c0,$e0,$00 + db $07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00 + db $07,$00,$07,$00,$07,$00,$03,$04,$00,$07,$00,$07,$00,$07,$00,$07 + db $f0,$00,$f0,$00,$f0,$00,$e0,$10,$00,$f0,$00,$f0,$00,$f0,$00,$f0 + db $e0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00,$f0,$00 .SpriteTilesEnd: @@ -27,34 +139,33 @@ Temperance: .KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$00,$01,$01,$01,$01,$03,$03,$03,$03,$06,$06,$07,$07,$00,$00 - db $1b,$1b,$1b,$1b,$1b,$1b,$1b,$1b,$0e,$0e,$0e,$0e,$ff,$ff,$00,$00 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$00,$00 - db $00,$00,$e0,$e0,$c0,$c0,$c0,$c0,$80,$80,$80,$80,$80,$80,$80,$80 - db $00,$00,$07,$07,$03,$03,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00 - db $00,$00,$ff,$ff,$60,$60,$60,$60,$31,$31,$31,$31,$31,$31,$31,$31 - db $00,$00,$ff,$ff,$1b,$1b,$33,$33,$b3,$b3,$e3,$e3,$e3,$e3,$c3,$c3 - db $c3,$c3,$a3,$a3,$a3,$a3,$33,$33,$13,$13,$1b,$1b,$ff,$ff,$00,$00 + db $00,$01,$01,$01,$03,$03,$02,$03,$06,$06,$04,$06,$0f,$0f,$00,$00 + db $09,$19,$09,$19,$0f,$0f,$06,$0f,$06,$0f,$06,$06,$ff,$ff,$00,$00 + db $00,$80,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$00,$00 + db $00,$00,$f0,$f0,$60,$60,$40,$60,$c0,$c0,$80,$c0,$80,$c0,$80,$80 + db $00,$00,$0f,$0f,$04,$06,$06,$06,$02,$03,$03,$03,$01,$01,$01,$01 + db $00,$00,$ff,$ff,$60,$60,$20,$60,$30,$30,$10,$30,$10,$30,$19,$19 + db $00,$00,$ff,$ff,$11,$33,$31,$33,$21,$63,$61,$63,$41,$c3,$81,$c3 + db $c1,$c3,$41,$c3,$61,$63,$21,$63,$31,$33,$11,$33,$ff,$ff,$00,$00 db $00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$03,$00,$07,$01,$02,$07 db $00,$00,$00,$00,$7f,$00,$ff,$3f,$c1,$7f,$80,$ff,$00,$ff,$00,$ff - db $00,$00,$00,$00,$80,$01,$c0,$01,$f0,$c3,$7c,$c3,$7c,$e2,$3c,$f2 + db $00,$00,$00,$00,$80,$01,$c0,$01,$f0,$c3,$7c,$c3,$7c,$62,$3c,$32 db $00,$3f,$00,$f3,$00,$c7,$00,$9f,$00,$ff,$00,$bf,$00,$0f,$00,$00 db $00,$80,$00,$c0,$00,$e0,$00,$e0,$0c,$e0,$1f,$e0,$07,$f8,$07,$f8 db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$00,$e0,$00 - db $02,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$03,$00,$03,$00,$05 - db $00,$ff,$00,$ff,$00,$ff,$00,$fe,$00,$f8,$00,$e0,$00,$e0,$00,$80 - db $3c,$f2,$1d,$f3,$1c,$d3,$1e,$11,$0e,$11,$02,$1d,$01,$72,$01,$b2 + db $02,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$03,$00,$02,$00,$06 + db $00,$ff,$00,$fe,$00,$fc,$00,$f8,$00,$e0,$00,$80,$00,$00,$00,$00 + db $3c,$32,$1d,$13,$1c,$13,$1e,$11,$0e,$11,$02,$1d,$01,$72,$01,$b2 db $00,$00,$b8,$b8,$00,$a0,$00,$00,$00,$00,$00,$71,$00,$83,$80,$7c db $07,$f8,$07,$e8,$07,$e8,$07,$e8,$07,$e8,$07,$e8,$07,$d8,$00,$df db $f0,$00,$f0,$08,$e0,$18,$e0,$18,$e0,$18,$c0,$30,$90,$70,$30,$f0 - db $00,$07,$00,$06,$00,$07,$00,$03,$00,$07,$00,$07,$00,$07,$00,$07 - db $00,$01,$00,$03,$00,$06,$00,$07,$00,$06,$00,$06,$00,$04,$00,$0d + db $00,$01,$00,$03,$00,$02,$00,$03,$00,$02,$00,$06,$00,$04,$00,$0d db $01,$e2,$00,$01,$00,$01,$00,$18,$00,$f8,$00,$e8,$00,$f8,$00,$fc db $c0,$30,$00,$e0,$00,$e8,$40,$e8,$40,$c8,$c1,$c1,$7f,$ff,$00,$41 db $00,$d7,$00,$77,$03,$77,$00,$3f,$20,$3f,$e0,$e2,$70,$8e,$00,$38 db $60,$e0,$e0,$e0,$c0,$c0,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$40 - db $00,$06,$00,$06,$00,$06,$00,$06,$00,$06,$00,$06,$00,$06,$00,$04 - db $00,$0b,$00,$0f,$00,$08,$00,$18,$00,$18,$00,$18,$00,$19,$00,$1f + db $00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04 + db $00,$0b,$00,$0f,$00,$08,$00,$08,$00,$08,$00,$08,$00,$09,$00,$0f db $00,$78,$00,$3c,$00,$3c,$00,$3c,$00,$36,$0c,$32,$20,$f2,$ec,$f2 db $3f,$40,$00,$23,$00,$37,$00,$1c,$00,$08,$00,$00,$00,$00,$00,$00 db $80,$60,$00,$80,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$02,$03 @@ -64,8 +175,8 @@ Temperance: db $80,$b1,$06,$39,$00,$38,$07,$38,$00,$38,$07,$38,$00,$18,$07,$18 db $00,$00,$00,$00,$00,$ff,$07,$f8,$00,$00,$ff,$00,$00,$00,$ff,$00 db $0e,$0e,$38,$7e,$f8,$e6,$f8,$06,$78,$06,$f8,$06,$38,$06,$f8,$06 - db $00,$08,$00,$0c,$00,$0c,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08 - db $00,$18,$00,$18,$00,$18,$00,$18,$00,$18,$00,$18,$00,$18,$00,$08 + db $00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08 + db $00,$18,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08 db $00,$38,$0f,$30,$00,$30,$0f,$30,$00,$30,$0f,$30,$00,$30,$1f,$e0 db $18,$06,$f8,$06,$18,$06,$fc,$02,$0c,$02,$fc,$02,$04,$03,$fc,$03 db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$01 @@ -83,15 +194,15 @@ Temperance: db $0f,$30,$0f,$30,$0f,$30,$0f,$30,$1f,$20,$1f,$20,$1f,$20,$1f,$20 db $fc,$02,$fd,$02,$fc,$02,$fd,$02,$fc,$02,$fd,$02,$fc,$02,$fc,$03 db $00,$c0,$80,$40,$00,$40,$80,$40,$00,$40,$80,$40,$00,$c0,$00,$c0 - db $1f,$60,$3f,$40,$3f,$40,$7f,$00,$7f,$00,$7f,$00,$7f,$80,$ff,$00 + db $1f,$60,$3f,$40,$3f,$40,$7f,$00,$7f,$00,$7f,$00,$ff,$00,$ff,$00 db $fe,$01,$fe,$01,$fe,$01,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $00,$00,$7f,$80,$00,$80,$3f,$c0,$80,$c0,$df,$e0,$e0,$e0,$f3,$fc - db $00,$03,$f8,$07,$00,$0f,$f3,$0f,$03,$1f,$e7,$1f,$0f,$3f,$9f,$7f + db $00,$00,$7f,$80,$00,$80,$3f,$c0,$80,$c0,$df,$e0,$e0,$e0,$f7,$f8 + db $00,$03,$fc,$03,$00,$03,$fb,$07,$03,$07,$e7,$1f,$0f,$3f,$9f,$7f db $40,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$80,$c0,$80,$c0 db $00,$00,$00,$00,$00,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00 db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$80 db $f0,$7e,$b8,$7f,$8e,$5f,$87,$47,$83,$43,$80,$43,$80,$40,$80,$40 - db $00,$80,$38,$c7,$00,$ff,$f4,$fe,$fc,$fe,$00,$07,$00,$83,$00,$c3 + db $00,$00,$38,$c7,$00,$ff,$f4,$fe,$fc,$fe,$00,$07,$00,$83,$00,$c3 db $3f,$ff,$7e,$ff,$dc,$df,$00,$1f,$00,$0f,$00,$09,$00,$08,$00,$08 db $00,$c0,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80 db $00,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 @@ -113,17 +224,17 @@ Temperance: db $1a, $1a, $1a, $1a, $1a, $1a, $1a, $1a db $1a, $23, $24, $25, $26, $27, $28, $1a db $1a, $29, $2a, $2b, $2c, $2d, $2e, $1a - db $1a, $2f, $30, $31, $32, $33, $34, $1a - db $1a, $35, $36, $37, $38, $39, $3a, $1a - db $1a, $3b, $3c, $3d, $3e, $3f, $1a, $1a - db $1a, $40, $41, $42, $6a, $43, $1a, $1a - db $44, $45, $46, $47, $6a, $48, $49, $1a - db $4a, $4b, $4c, $4d, $6a, $4e, $4f, $1a - db $1a, $50, $51, $6a, $6a, $6a, $52, $1a - db $1a, $53, $54, $55, $6a, $56, $57, $1a - db $58, $59, $69, $5a, $5b, $5c, $5d, $1a - db $5e, $5f, $60, $61, $62, $63, $64, $1a - db $1a, $65, $66, $1a, $67, $68, $1a, $1a + db $1a, $34, $2f, $30, $31, $32, $33, $1a + db $1a, $34, $35, $36, $37, $38, $39, $1a + db $1a, $3a, $3b, $3c, $3d, $3e, $1a, $1a + db $1a, $3f, $40, $41, $69, $42, $1a, $1a + db $43, $44, $45, $46, $69, $47, $48, $1a + db $49, $4a, $4b, $4c, $69, $4d, $4e, $1a + db $1a, $4f, $50, $69, $69, $69, $51, $1a + db $1a, $52, $53, $54, $69, $55, $56, $1a + db $57, $58, $68, $59, $5a, $5b, $5c, $1a + db $5d, $5e, $5f, $60, $61, $62, $63, $1a + db $1a, $64, $65, $1a, $66, $67, $1a, $1a db $1a, $1a, $1f, $21, $20, $1e, $1a, $1a db $1a, $1a, $1b, $22, $1c, $1d, $1a, $1a .BackgroundCopyEnd: diff --git a/14temperance.aseprite b/14temperance.aseprite index f1636a2..fb870de 100644 Binary files a/14temperance.aseprite and b/14temperance.aseprite differ diff --git a/16TheTower.inc b/16TheTower.inc index faa64ed..5bb2bff 100644 --- a/16TheTower.inc +++ b/16TheTower.inc @@ -14,99 +14,328 @@ TheTower: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret -.fDraw: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for lightning bolt + ld [hl+], a + ld [hl+], a ; CVS+2 frame of lightning bolt + ld [hl+], a ; CVS+3 timer for flame + ld [hl+], a + ld [hl+], a ; CVS+5 frame of flame cycle + + ; past the 18 sprites needed for the lightning bolt + ; and past the 16 sprites needed for the ground flash + ; we need to set sprites to use palette 1, not palette 0 + ld hl, MY_OAM+(18+16)*4 + inc hl ; now poining at x + inc hl ; now pointing at tile id + inc hl ; now pointing at attributes + set OAMB_PAL1, [hl] + inc hl ; now pointing at y for next sprite + inc hl ; now poining at x + inc hl ; now pointing at tile id + inc hl ; now pointing at attributes + set OAMB_PAL1, [hl] + inc hl ; now pointing at y for next sprite + inc hl ; now poining at x + inc hl ; now pointing at tile id + inc hl ; now pointing at attributes + set OAMB_PAL1, [hl] + inc hl ; now pointing at y for next sprite + inc hl ; now poining at x + inc hl ; now pointing at tile id + inc hl ; now pointing at attributes + set OAMB_PAL1, [hl] + + ld a, %11_10_00_00 + ld [rOBP0], a + ld a, %00_10_01_00 + ld [rOBP1], a + + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $40 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ + + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld a, 1 + ld [CVS+2], a +: + + ld a, [CVS+2] + cp a, 0 + jp z, :+ + + ld b, 20 + inc a + call ArrayClampLoopingB + ld [CVS+2], a + + + ld hl, .bolt + ld de, MY_OAM + ld b, 8*(2+1) + ld c, 8*(1+1+3) + ld a, $55 + call BuildMetaSpritePacked + + ld hl, .doorAndFloor + ld de, MY_OAM + 4*18 + ld b, 8*(2+1+8) + ld c, 8*(1+1) + ld a, $58 + call BuildMetaSpritePacked + +: + + ld a, [CVS+2] + cp a, 0 + call z, .clearBolts + ld a, [CVS+2] + cp a, 6 + call z, .clearBolts + ld a, [CVS+2] + cp a, 7 + call z, .clearBolts + ld a, [CVS+2] + cp a, 8 + call z, .clearBolts + ld a, [CVS+2] + cp a, 9 + call z, .clearBolts + + + ld hl, CVS+3 + call IncrementTimer + + ld a, [CVS+3+1] ; checking the high byte of the timer + cp a, $01 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ + + ld a, 0 + ld [CVS+3], a + ld [CVS+3+1], a + + ld b, 12 + ld a, [CVS+5] + inc a + call ArrayClampLoopingB + ld [CVS+5], a + + call .cycle +: + + ret +.clearBolts: + ld hl, ZEROES + ld de, MY_OAM + ld bc, 4*(16+18) + call CopyRange + ret +.cycle: + ld hl, .flames + ld a, [CVS+5] + and a, %0000_0011 + sla a + sla a + ld c, a + ld b, 0 + add hl, bc + ; hl now points to the correct frame of .flames + + ld de, MY_OAM + (18+16)*4 + ld b, (6+2+1)*8 + ld c, (1+1+1)*8 + ld a, $22 + call BuildMetaSprite + ret +.fDraw: + ld a, [CVS+5] + sra a + sra a + cp a, 0 + jp z, .frame0 + cp a, 1 + jp z, .frame1 + cp a, 2 + jp z, .frame2 + +.frame0 + ld a, %10_00_01_00 + ld [rOBP1], a + ret +.frame1 + ld a, %01_10_00_00 + ld [rOBP1], a + ret +.frame2 + ld a, %00_01_10_00 + ld [rOBP1], a + ret + + + +.bolt: ; $55, 18 active sprites + db $00, $00, $00, $00, $01 + db $00, $0a, $0b, $02, $03 + db $1c, $20, $04, $05, $06 + db $21, $07, $08, $0c, $09 + db $22, $0e, $0f, $0d, $00 +.doorAndFloor: ; $58, 16 active sprites + db $00, $00, $00, $00, $00, $1d, $00, $00 + db $00, $00, $00, $00, $10, $1f, $00, $00 + db $00, $00, $00, $00, $11, $12, $00, $00 + db $15, $16, $17, $17, $13, $14, $19, $1e + db $18, $00, $00, $00, $00, $00, $1a, $1b +.burningWindow: ; $21, 2 active sprites + db $21 + db $22 +.flames: ; $22, stride of four, four sprites + db $2a, $2b + db $31, $2f + + db $24, $25 + db $28, $30 + + db $26, $27 + db $29, $2e + + db $2c, $2d + db $23, $32 + .SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $30,$00,$30,$00,$38,$00,$18,$00,$18,$00,$3c,$00,$ce,$00,$07,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3c,$00,$ff,$00,$67,$00 + db $06,$00,$06,$00,$0e,$00,$0e,$00,$3c,$00,$7c,$00,$f8,$00,$e0,$00 + db $00,$00,$01,$00,$01,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00 + db $ff,$00,$e0,$00,$a0,$00,$a0,$00,$20,$00,$10,$00,$10,$00,$00,$00 + db $e0,$00,$20,$00,$20,$00,$10,$00,$08,$00,$08,$00,$10,$00,$20,$00 + db $01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$3c,$3f,$40,$3f,$40 + db $03,$00,$83,$00,$47,$00,$3e,$00,$1c,$00,$f8,$00,$f0,$00,$20,$00 + db $e0,$00,$10,$00,$08,$00,$08,$00,$04,$00,$04,$00,$04,$00,$00,$00 + db $00,$00,$04,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $08,$00,$08,$00,$38,$00,$c8,$00,$04,$00,$02,$00,$01,$00,$00,$00 + db $00,$00,$80,$00,$80,$00,$80,$00,$80,$00,$40,$00,$20,$00,$10,$00 + db $1e,$00,$10,$00,$30,$00,$20,$00,$20,$00,$40,$00,$40,$00,$00,$00 + db $3e,$41,$3e,$41,$3e,$41,$3e,$41,$3e,$41,$3e,$41,$00,$7f,$00,$3f + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$0d + db $00,$0d,$00,$0d,$00,$1d,$00,$15,$00,$15,$00,$15,$00,$15,$00,$15 + db $00,$60,$00,$70,$00,$50,$00,$50,$00,$50,$60,$10,$00,$70,$00,$50 + db $00,$15,$00,$15,$00,$15,$00,$ff,$00,$ff,$00,$ff,$00,$00,$00,$00 + db $00,$50,$00,$50,$00,$50,$00,$50,$00,$fe,$00,$ff,$00,$1f,$00,$01 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$1f,$00,$f0 + db $00,$00,$00,$00,$00,$00,$00,$03,$00,$ff,$00,$ff,$00,$f0,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$ff,$00,$ff,$00,$ff,$00,$00,$00,$00 + db $00,$c0,$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,$c0,$00,$fc,$00,$ff + db $00,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$c0,$00,$f0,$00,$1c,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$78,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$e0,$00,$1c,$00,$02,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$60 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0e,$00,$01 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$06,$00,$00,$00,$00,$00,$07 + db $00,$00,$00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $06,$01,$07,$00,$03,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$0f,$00,$0f,$00,$24,$03,$36,$01,$37,$00,$3f,$00 + db $00,$00,$3c,$00,$fe,$00,$fe,$00,$3e,$c0,$0e,$f0,$42,$fc,$10,$fe + db $00,$00,$00,$00,$08,$00,$2c,$00,$47,$20,$05,$c2,$84,$43,$84,$43 + db $00,$00,$00,$00,$0c,$00,$1e,$00,$fe,$00,$fe,$00,$e0,$1e,$00,$fe + db $1f,$00,$1e,$01,$0f,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $85,$43,$44,$03,$06,$01,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3f,$3f,$1f,$10,$0f,$08,$0f,$08,$07,$04,$07,$04,$07,$04,$07,$04 + db $f8,$f8,$fc,$04,$fe,$02,$fe,$02,$0e,$f0,$86,$78,$82,$7c,$c2,$3c + db $40,$00,$70,$00,$7e,$00,$7f,$00,$30,$0f,$18,$07,$1e,$01,$0e,$01 + db $00,$00,$00,$00,$00,$00,$fe,$00,$0e,$f0,$00,$fe,$c0,$fe,$fc,$fe + db $be,$fe,$e2,$fe,$02,$fe,$e2,$1e,$e0,$00,$00,$00,$00,$00,$00,$00 + db $c2,$3c,$e0,$1e,$f0,$0e,$f8,$06,$e0,$e0,$00,$00,$00,$00,$00,$00 + db $88,$7e,$06,$fe,$e2,$1e,$f2,$0e,$e0,$00,$00,$00,$00,$00,$00,$00 + db $07,$04,$07,$04,$03,$02,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 + db $7c,$fe,$0e,$fe,$86,$7e,$e2,$1e,$e0,$00,$00,$00,$00,$00,$00,$00 .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle + + .KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $7f,$80,$7f,$80,$7f,$80,$77,$88,$7f,$80,$78,$87,$47,$bf,$3f,$ff - db $be,$c1,$ce,$f1,$f2,$fd,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $fe,$01,$dc,$23,$fe,$01,$76,$89,$fe,$01,$dc,$23,$fe,$01,$76,$89 - db $fe,$01,$fe,$01,$fe,$01,$f6,$09,$fe,$01,$fe,$01,$fe,$01,$7e,$81 - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $7f,$80,$5d,$a2,$7f,$80,$77,$88,$7f,$80,$5d,$a2,$7f,$80,$77,$88 - db $7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $08,$f7,$00,$ff,$00,$ff,$00,$ff,$08,$f7,$00,$ff,$02,$fd,$00,$ff - db $88,$77,$00,$ff,$00,$ff,$00,$ff,$88,$77,$00,$ff,$02,$fd,$00,$ff - db $28,$d7,$00,$ff,$22,$dd,$00,$ff,$2a,$d5,$00,$ff,$22,$dd,$00,$ff - db $a8,$57,$00,$ff,$22,$dd,$00,$ff,$aa,$55,$00,$ff,$22,$dd,$00,$ff - db $2a,$d5,$00,$ff,$2a,$d5,$00,$ff,$2a,$d5,$04,$fb,$2a,$d5,$00,$ff - db $aa,$55,$00,$ff,$aa,$55,$00,$ff,$aa,$55,$04,$fb,$aa,$55,$00,$ff - db $2a,$d5,$44,$bb,$2a,$d5,$10,$ef,$2a,$d5,$44,$bb,$2a,$d5,$11,$ee - db $aa,$55,$44,$bb,$aa,$55,$10,$ef,$aa,$55,$44,$bb,$aa,$55,$11,$ee - db $aa,$55,$44,$bb,$aa,$55,$10,$ef,$aa,$55,$44,$bb,$aa,$55,$10,$ef - db $2a,$d5,$54,$ab,$2a,$d5,$11,$ee,$2a,$d5,$55,$aa,$2a,$d5,$15,$ea - db $aa,$55,$54,$ab,$aa,$55,$11,$ee,$aa,$55,$55,$aa,$aa,$55,$15,$ea - db $aa,$55,$54,$ab,$aa,$55,$10,$ef,$aa,$55,$54,$ab,$aa,$55,$14,$eb - db $2a,$d5,$55,$aa,$2a,$d5,$55,$aa,$2e,$d1,$55,$aa,$2a,$d5,$55,$aa - db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$ae,$51,$55,$aa,$aa,$55,$55,$aa - db $aa,$55,$54,$ab,$aa,$55,$54,$ab,$ae,$51,$54,$ab,$aa,$55,$54,$ab - db $6e,$91,$55,$aa,$3a,$c5,$55,$aa,$6e,$91,$55,$aa,$3b,$c4,$55,$aa - db $ee,$11,$55,$aa,$ba,$45,$55,$aa,$ee,$11,$55,$aa,$bb,$44,$55,$aa - db $ee,$11,$54,$ab,$ba,$45,$54,$ab,$ee,$11,$54,$ab,$ba,$45,$54,$ab - db $7f,$80,$55,$aa,$3b,$c4,$55,$aa,$7f,$80,$55,$aa,$3f,$c0,$55,$aa - db $fe,$01,$54,$ab,$ba,$45,$54,$ab,$fe,$01,$54,$ab,$be,$41,$54,$ab - db $7f,$80,$55,$aa,$7f,$80,$55,$aa,$7f,$80,$5d,$a2,$7f,$80,$55,$aa - db $fe,$01,$d4,$2b,$fe,$01,$54,$ab,$fe,$01,$dc,$23,$fe,$01,$54,$ab - db $bf,$5f,$1f,$ff,$3f,$df,$1f,$ff,$bf,$5f,$3f,$ff,$3f,$ff,$3f,$ff - db $ff,$7f,$7f,$ff,$ff,$7f,$7f,$ff,$ff,$7f,$ff,$ff,$ff,$ff,$ff,$ff - db $aa,$55,$54,$ab,$aa,$55,$11,$ee,$aa,$55,$55,$aa,$ab,$55,$15,$eb - db $ab,$55,$55,$ab,$ab,$55,$55,$ab,$af,$51,$55,$ab,$ab,$55,$57,$ab - db $ef,$13,$57,$ab,$bb,$47,$57,$ab,$ef,$13,$57,$ab,$bb,$47,$57,$af - db $ff,$07,$57,$af,$bf,$47,$57,$af,$ff,$07,$57,$af,$bf,$47,$5f,$af - db $ff,$0f,$df,$2f,$ff,$0f,$5f,$af,$ff,$0f,$df,$2f,$ff,$0f,$5f,$af - db $ff,$00,$55,$aa,$bb,$44,$55,$aa,$ff,$00,$55,$aa,$bf,$c0,$d5,$aa - db $ff,$80,$d5,$aa,$ff,$80,$d5,$aa,$ff,$80,$dd,$e2,$ff,$c0,$d5,$ea + 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,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $88,$77,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$3f,$ff,$3f,$fc,$3f,$c3,$3f,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$ff,$f8,$ff,$07,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$ff,$07,$ff,$f8,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$c0,$fd,$e2,$ff,$e0,$f7,$e8,$ff,$e0,$fd,$e2,$ff,$e0,$f7,$e8 - db $ff,$ff,$ff,$ff,$7f,$ff,$87,$ff,$f8,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$e0,$ff,$e0,$ff,$e0,$f7,$f8,$ff,$f0,$0f,$f0,$f3,$fc,$fc,$ff - db $ff,$1f,$df,$3f,$ff,$1f,$7f,$9f,$ff,$1f,$df,$3f,$ff,$1f,$7f,$9f - db $ea,$d5,$c0,$ff,$ea,$d5,$e0,$ff,$ea,$f5,$e4,$fb,$ea,$f5,$e0,$ff - db $ea,$f5,$e4,$fb,$fa,$f5,$f0,$ff,$fa,$f5,$f4,$fb,$fa,$f5,$f1,$fe - db $fa,$f5,$fc,$fb,$fa,$fd,$f9,$fe,$fa,$fd,$fd,$fa,$fa,$fd,$fd,$fa - db $fe,$fd,$fd,$fe,$fe,$fd,$fd,$fe,$fe,$fd,$fd,$fe,$fe,$fd,$ff,$fe - db $fe,$ff,$ff,$fe,$fe,$ff,$ff,$fe,$fe,$ff,$ff,$fe,$ff,$fe,$ff,$ff - db $bf,$7f,$3f,$ff,$bf,$7f,$3f,$ff,$bf,$7f,$7f,$ff,$ff,$7f,$7f,$ff - db $a8,$d7,$80,$ff,$a2,$dd,$80,$ff,$ea,$d5,$c0,$ff,$e2,$dd,$c0,$ff - db $88,$77,$00,$ff,$03,$ff,$0f,$ff,$9f,$7f,$1f,$ff,$1f,$ff,$1f,$ff - db $88,$77,$00,$ff,$00,$ff,$00,$ff,$88,$f7,$80,$ff,$82,$fd,$80,$ff - db $88,$77,$f0,$ff,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$07,$07,$ff,$ff - db $ff,$ff,$ff,$ff,$00,$00,$fb,$fb,$f3,$f3,$f3,$f3,$e7,$e7,$67,$67 - db $6f,$6f,$0f,$0f,$0f,$0f,$8f,$8f,$9f,$9f,$9f,$9f,$00,$00,$ff,$ff - db $ff,$ff,$ff,$ff,$00,$00,$e4,$e4,$c4,$c4,$4e,$4e,$0e,$0e,$1e,$1e - db $9f,$9f,$1f,$1f,$0f,$0f,$67,$67,$73,$73,$fb,$fb,$00,$00,$ff,$ff - db $ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fc,$fc,$f0,$f0,$ff,$ff - db $ff,$ff,$ff,$ff,$f0,$f0,$fd,$fd,$fc,$fc,$fe,$fe,$ff,$ff,$ff,$ff - db $ff,$ff,$ff,$ff,$07,$07,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f + 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 .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $1f, $1f, $1f, $1f, $1f, $1f, $1f, $1f - db $22, $23, $52, $42, $54, $53, $23, $23 - db $24, $25, $38, $41, $41, $51, $25, $25 - db $26, $27, $50, $41, $41, $4b, $27, $27 - db $28, $29, $39, $41, $41, $4c, $29, $2a - db $2b, $3a, $41, $41, $41, $4d, $2c, $2d - db $2e, $3b, $41, $41, $41, $4e, $2f, $30 - db $31, $3c, $41, $41, $41, $4f, $32, $33 - db $34, $3d, $41, $41, $41, $41, $3f, $35 - db $36, $3e, $41, $41, $41, $41, $40, $37 - db $20, $4a, $41, $41, $41, $41, $47, $1d - db $1b, $43, $44, $45, $46, $48, $49, $1e - db $21, $41, $41, $41, $41, $41, $41, $1c - db $41, $41, $41, $41, $41, $41, $41, $41 - db $41, $41, $5b, $58, $56, $5c, $41, $41 - db $41, $41, $5a, $59, $57, $55, $41, $41 + 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 .BackgroundCopyEnd: diff --git a/16thetower.aseprite b/16thetower.aseprite index 974cc7e..5bbb603 100644 Binary files a/16thetower.aseprite and b/16thetower.aseprite differ diff --git a/17TheStar.inc b/17TheStar.inc index 1aa102e..7da1f25 100644 --- a/17TheStar.inc +++ b/17TheStar.inc @@ -14,10 +14,167 @@ TheStar: dw .fUpdate dw .fDraw -.fInit: ret -.fUpdate: ret -.fDraw: ret +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for star flicker + ld [hl+], a + ld [hl+], a ; CVS+2 frame of star flicker + ld [hl+], a ; CVS+3 timer for lil stars + ld [hl+], a + ld [hl+], a ; CVS+5 frame of lill stars + + ; star flare is first 20 OAM sprites + ld hl, MY_OAM+20*4 + ld b, 21 +.paletteLoop + inc hl ; now poining at x + inc hl ; now pointing at tile id + inc hl ; now pointing at attributes + set OAMB_PAL1, [hl] + inc hl ; now pointing at y for next sprite + dec b + jp nz, .paletteLoop + + ld a, %00_01_10_00 + ld [rOBP0], a + ld a, %10_01_00_00 + ld [rOBP1], a + + ld hl, .starflare + ld de, MY_OAM + ld b, (2+1)*8 + ld c, (1+1+2)*8 + ld a, $54 + call BuildMetaSprite + + ld hl, MY_OAM + 20*4 + ld [hl], (2+1)*8 + 3 + inc hl + ld [hl], (1+1)*8 + 7 + inc hl + ld [hl], 1 + + ld hl, MY_OAM + 20*4 + 1*4 + ld [hl], (2+1)*8 + 7 + inc hl + ld [hl], (1+1+6)*8 + 6 + inc hl + ld [hl], 1 + + ld hl, MY_OAM + 20*4 + 2*4 + ld [hl], (2+1+5)*8 + 2 + inc hl + ld [hl], (1+1+2)*8 + 5 + inc hl + ld [hl], 2 + + ld hl, MY_OAM + 20*4 + 3*4 + ld [hl], (2+1+6)*8 + 2 + inc hl + ld [hl], (1+1+5)*8 + 4 + inc hl + ld [hl], 2 + + ret +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $04 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ + + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld b, 4 + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a +: + + ld hl, CVS+3 + call IncrementTimer + + ld a, [CVS+3+1] ; checking the high byte of the timer + cp a, $02 ; $10 = 1 second, $02 = 1/8 of a second + jp c, :+ + + ld a, 0 + ld [CVS+3], a + ld [CVS+3+1], a + + ld b, 12 + ld a, [CVS+5] + inc a + call ArrayClampLoopingB + ld [CVS+5], a +: + call .flicker + ret + +.flicker: + + ret +.fDraw: + ld a, [CVS+2] + cp a, 0 + jp z, .frame0 + cp a, 1 + jp z, .frame1 + cp a, 2 + jp z, .frame2 + cp a, 3 + jp z, .frame3 + +.frame0 + ld a, %00_00_00_00 + ld [rOBP0], a + ret +.frame1 + ld a, %00_00_01_00 + ld [rOBP0], a + ret +.frame2 + ld a, %00_01_10_00 + ld [rOBP0], a + ret +.frame3 + ld a, %00_00_01_00 + ld [rOBP0], a + ret + +.starflare + 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 + .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 .SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/17thestar.aseprite b/17thestar.aseprite index 4012936..e3f5b59 100644 Binary files a/17thestar.aseprite and b/17thestar.aseprite differ diff --git a/Async.inc b/Async.inc index d030781..951c2bb 100644 --- a/Async.inc +++ b/Async.inc @@ -18,7 +18,7 @@ def ASYNC_STACK_TOP equ $ffc0 ; second value is the destination of the async call, at ffbc = ffbe-2 = ffc0-2-2 def ASYNC_THREAD_CALL equ ASYNC_STACK_TOP - 2 - 2 -def SAFE_ASYNC_START EQU 147 +def SAFE_ASYNC_START EQU 148 def SAFE_ASYNC_END EQU 153 Async_Spawn_HL: diff --git a/KeyArtTiles.asm b/KeyArtTiles.asm index 82ea54b..1fa81ed 100644 --- a/KeyArtTiles.asm +++ b/KeyArtTiles.asm @@ -4,82 +4,71 @@ KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$ff,$00,$00,$22,$9c,$00,$9c,$14,$c9,$00,$c9,$00,$eb,$04,$e3 - db $10,$e3,$00,$eb,$00,$c9,$14,$c9,$00,$9c,$22,$9c,$00,$00,$00,$ff - db $48,$93,$48,$93,$48,$93,$48,$93,$48,$93,$48,$93,$00,$00,$00,$ff - db $00,$ff,$00,$00,$48,$93,$48,$93,$48,$93,$48,$93,$48,$93,$48,$93 - db $c7,$ff,$dc,$fc,$78,$f8,$70,$70,$60,$60,$60,$60,$60,$60,$60,$60 - db $00,$ff,$00,$ff,$00,$ff,$07,$ff,$1e,$fe,$78,$f8,$e0,$e0,$00,$00 - db $00,$01,$00,$1f,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$00,$ff,$00,$ff,$3b,$ff,$de,$fe,$70,$f0,$c0,$c0,$00,$00 - db $00,$0f,$00,$3f,$00,$ff,$00,$ff,$00,$ff,$40,$ff,$87,$ff,$1f,$ff - db $0c,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$0c,$fe,$08,$fc,$18,$f8 - db $3c,$fc,$78,$f8,$f0,$f0,$c0,$c0,$00,$00,$00,$00,$00,$00,$00,$00 - db $04,$ff,$04,$ff,$04,$ff,$24,$ff,$24,$ff,$20,$ff,$20,$ff,$21,$ff - db $30,$f0,$20,$e0,$00,$e0,$00,$c0,$00,$80,$00,$80,$00,$80,$00,$80 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$03,$00,$0f,$00,$ff - db $00,$00,$00,$00,$00,$00,$00,$01,$e0,$ff,$c0,$ff,$c0,$ff,$c0,$ff - db $00,$00,$00,$00,$00,$00,$00,$07,$20,$3f,$c0,$ff,$01,$ff,$02,$ff - db $1c,$ff,$14,$ff,$10,$ff,$00,$ff,$00,$ff,$02,$ff,$02,$ff,$04,$ff - db $23,$ff,$23,$ff,$23,$ff,$20,$ff,$20,$fe,$60,$fe,$60,$fe,$60,$fe - db $60,$fe,$60,$fc,$64,$fc,$64,$fc,$64,$fc,$64,$fc,$64,$fc,$60,$fc - db $60,$fc,$60,$f8,$60,$f8,$60,$f8,$40,$f8,$40,$f8,$40,$f8,$40,$f8 - db $00,$f8,$20,$f8,$20,$f8,$20,$f8,$20,$f0,$20,$f0,$20,$f0,$20,$f0 - db $20,$f0,$20,$f0,$40,$f0,$40,$f0,$40,$f0,$40,$f0,$70,$f0,$50,$f0 - db $fe,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$e3,$fc,$00,$ff,$00,$ff - db $00,$00,$1c,$00,$fc,$00,$ff,$00,$ff,$00,$fe,$01,$00,$ff,$00,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07 - db $00,$ff,$02,$fe,$06,$fe,$04,$fe,$04,$fc,$08,$fc,$08,$fc,$04,$fc - db $0c,$fc,$04,$fc,$0c,$fc,$0c,$fc,$0c,$fc,$0b,$ff,$0f,$ff,$1c,$ff - db $70,$f0,$30,$f0,$30,$f0,$20,$f0,$20,$f0,$20,$f0,$20,$f0,$20,$f0 - db $20,$f0,$20,$f0,$20,$f0,$00,$f0,$00,$f0,$00,$f0,$10,$f0,$10,$f0 - db $18,$f8,$08,$f8,$08,$f8,$08,$f8,$08,$f8,$08,$f8,$08,$f8,$08,$fc - db $00,$fc,$02,$fc,$03,$fc,$01,$fe,$01,$fe,$21,$fe,$10,$ff,$10,$ff - db $7f,$80,$3f,$c0,$0f,$f0,$03,$fc,$81,$fe,$80,$ff,$f8,$ff,$60,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$01,$fe,$ff,$00,$ff,$00,$ff - db $3f,$00,$7f,$00,$ff,$00,$fd,$03,$fe,$1f,$70,$ff,$20,$ff,$00,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$fc,$0f,$fe,$03,$ff,$03,$ff,$01,$ff - db $80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$80,$7f,$c0,$3f,$f0,$0f,$fe,$c1,$ff,$00,$ff,$00,$ff,$00,$ff - db $30,$f0,$60,$e0,$c0,$c0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$ff,$fc,$ff,$02,$ff,$01,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$3f,$00,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$80 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$f0,$00,$fc - db $08,$ff,$0c,$ff,$0e,$ff,$07,$ff,$03,$ff,$01,$ff,$03,$ff,$00,$ff - db $00,$00,$00,$00,$80,$00,$e0,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $00,$00,$0f,$00,$3f,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $00,$00,$80,$00,$c0,$00,$e0,$00,$e0,$00,$f0,$00,$f8,$00,$fc,$00 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$1f,$00 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$ff,$00,$ff,$00 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$fe,$00,$ff,$00,$ff,$00 - db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$f8,$ff,$fe,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$38,$ff,$06,$ff,$01,$ff,$00,$ff,$00,$ff,$80,$ff,$e0,$ff + 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,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$01,$ff,$1e,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$ff,$ff - db $f8,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$00,$ff,$e0,$ff,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $00,$ff,$00,$ff,$00,$ff,$e0,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $20,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + 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 KeyArt: - db $34, $1a, $1a, $28, $29, $21, $22, $40 - db $35, $2a, $23, $20, $1f, $3e, $1a, $1a - db $2b, $24, $25, $1a, $55, $33, $42, $44 - db $26, $27, $1a, $1a, $1a, $1a, $1a, $1a - db $2c, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $2d, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $2e, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $2f, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $30, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $36, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $37, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $38, $1a, $1a, $1a, $1a, $1a, $1a, $1a - db $39, $46, $47, $48, $1a, $49, $4a, $4b - db $45, $3a, $3b, $31, $32, $3c, $3d, $43 - db $4c, $4d, $54, $1b, $1e, $51, $41, $3f - db $4e, $4f, $50, $1c, $1d, $4e, $52, $53 + 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 diff --git a/SpriteTiles.asm b/SpriteTiles.asm index 284be15..e79f3e0 100644 --- a/SpriteTiles.asm +++ b/SpriteTiles.asm @@ -4,129 +4,31 @@ 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,$07,$07 - db $78,$7f,$40,$7f,$81,$ff,$02,$ff,$05,$ff,$0a,$fe,$00,$f4,$e0,$fc - db $80,$80,$40,$c0,$00,$c0,$80,$c0,$00,$80,$00,$00,$00,$00,$00,$00 - db $0f,$0f,$07,$07,$04,$07,$04,$07,$06,$07,$00,$01,$01,$01,$01,$01 - db $fc,$fc,$fc,$fc,$1c,$fc,$00,$fc,$00,$fe,$00,$fe,$00,$ff,$00,$ff - db $80,$ff,$80,$ff,$80,$ff,$80,$ff,$80,$ff,$00,$7f,$40,$7f,$40,$7f - db $00,$00,$00,$80,$00,$80,$00,$81,$40,$c3,$42,$c7,$45,$c7,$4a,$cf - db $00,$00,$00,$00,$00,$00,$c0,$c0,$20,$e0,$20,$e0,$20,$e0,$40,$c0 - db $00,$00,$03,$03,$06,$07,$04,$07,$00,$07,$00,$07,$00,$07,$00,$07 - db $00,$00,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$1f,$ff,$0f,$ff - db $40,$7f,$c0,$ff,$40,$ff,$40,$ff,$40,$ff,$c0,$ff,$c0,$ff,$c0,$ff - db $54,$df,$68,$ef,$60,$ff,$61,$ff,$61,$ff,$62,$fe,$5e,$fe,$40,$c0 - db $40,$c0,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$07,$00,$03 - db $0c,$fc,$0c,$fc,$04,$fc,$04,$fc,$06,$fe,$03,$ff,$03,$ff,$03,$ff - db $c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$c0,$ff,$80,$ff,$80,$ff,$81,$ff - db $40,$c0,$40,$c0,$40,$c0,$40,$c0,$c0,$c0,$80,$80,$80,$80,$80,$80 - db $00,$03,$00,$03,$00,$03,$00,$03,$02,$03,$01,$03,$00,$03,$03,$03 - db $01,$ff,$01,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$ff,$ff,$ff,$ff - db $81,$ff,$81,$ff,$01,$ff,$01,$ff,$03,$ff,$05,$ff,$c9,$ff,$fe,$fe - db $01,$01,$00,$00,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01 - db $c0,$c0,$80,$80,$00,$ff,$00,$ff,$3f,$c0,$ff,$00,$ff,$00,$ff,$00 - db $00,$0e,$04,$3a,$1c,$e2,$7c,$82,$fc,$02,$fc,$02,$fc,$02,$fc,$02 - db $00,$01,$00,$01,$00,$01,$02,$01,$06,$01,$1e,$01,$3f,$00,$7f,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$fc,$03,$41,$be,$7f,$80,$7f,$80 - db $fc,$02,$fc,$02,$fc,$02,$7d,$82,$7d,$82,$fd,$02,$fd,$02,$fd,$02 - db $00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$e0,$00,$f8,$00,$fc,$00 - db $fe,$01,$f8,$06,$f7,$08,$ff,$00,$ff,$00,$7f,$00,$1f,$60,$03,$3c - db $7f,$80,$7f,$80,$7f,$80,$3f,$c0,$bf,$40,$ff,$00,$ff,$00,$ff,$00 - db $fc,$03,$fc,$02,$fd,$02,$fd,$02,$fb,$04,$ff,$00,$ff,$00,$ff,$00 - db $fc,$00,$3e,$c0,$de,$20,$fe,$00,$fe,$00,$f8,$04,$e0,$18,$c0,$30 - db $00,$07,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $fc,$03,$00,$ff,$00,$03,$00,$02,$00,$02,$01,$02,$03,$04,$00,$0c - db $04,$fb,$00,$fe,$00,$18,$00,$08,$00,$c8,$f0,$08,$18,$04,$00,$06 - db $00,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$08,$00,$08,$00,$08,$00,$18,$00,$18,$08,$19,$0d,$0c,$1e,$1e - db $00,$02,$00,$02,$10,$e2,$00,$13,$00,$03,$02,$9b,$9a,$02,$06,$06 - db $0a,$0e,$f3,$ff,$8f,$ff,$eb,$ff,$ba,$fe,$ba,$fe,$20,$20,$00,$00 - db $00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $1f,$1f,$1a,$1f,$0a,$0f,$0a,$0f,$0a,$0f,$00,$03,$00,$00,$00,$00 - db $00,$00,$00,$00,$00,$00,$03,$03,$04,$07,$04,$07,$04,$07,$0f,$0f - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$80 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f0,$f0,$08,$f8 - db $08,$0f,$10,$1f,$60,$7f,$40,$7f,$41,$7f,$40,$7f,$fe,$ff,$ff,$ff - db $00,$f8,$20,$f8,$50,$f0,$a0,$f0,$40,$c0,$00,$40,$00,$c0,$c0,$c0 - db $7f,$7f,$41,$7f,$40,$7f,$60,$7f,$00,$1f,$10,$1f,$10,$1f,$18,$1f - db $c0,$c0,$c0,$c0,$00,$c0,$00,$e0,$00,$e0,$00,$f0,$00,$f0,$00,$f8 - db $08,$0f,$08,$0f,$08,$0f,$08,$0f,$00,$03,$02,$03,$02,$03,$02,$03 - db $00,$f8,$00,$f8,$04,$fc,$04,$fc,$04,$fc,$04,$fc,$02,$fe,$02,$fe - db $00,$00,$0e,$0e,$01,$1f,$11,$3f,$21,$3f,$51,$7f,$a2,$fe,$82,$fe - db $00,$01,$18,$1f,$30,$3f,$20,$3f,$00,$3f,$00,$3f,$00,$3f,$00,$3f - db $06,$ff,$02,$ff,$02,$ff,$02,$ff,$06,$ff,$fe,$ff,$7e,$ff,$66,$e7 - db $03,$ff,$03,$ff,$03,$ff,$03,$ff,$03,$ff,$02,$ff,$02,$fe,$02,$fe - db $44,$7c,$04,$fc,$08,$f8,$08,$f8,$10,$f0,$f0,$f0,$00,$00,$00,$00 - db $00,$3f,$00,$3f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$0f - db $66,$e7,$26,$e7,$26,$e7,$16,$f7,$0e,$ff,$0e,$ff,$0e,$ff,$06,$ff - db $02,$fe,$02,$fe,$06,$fe,$04,$fc,$04,$fc,$04,$fc,$04,$fc,$04,$fc - db $00,$0f,$00,$0f,$00,$0f,$00,$0f,$08,$0f,$07,$0f,$03,$0f,$0f,$0f - db $06,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$00 - db $04,$fc,$04,$fc,$0c,$fc,$14,$fc,$24,$fc,$38,$f8,$c0,$f8,$10,$28 - db $06,$06,$00,$03,$00,$03,$00,$03,$01,$02,$01,$02,$01,$02,$01,$02 - db $00,$00,$00,$ff,$01,$fe,$7f,$80,$ff,$00,$ff,$00,$ff,$00,$ff,$00 - db $30,$c8,$70,$88,$f0,$08,$f0,$08,$f0,$08,$f8,$04,$f8,$04,$f8,$04 - db $01,$02,$01,$02,$01,$02,$05,$02,$0c,$03,$3e,$01,$7e,$01,$fc,$03 - db $ff,$00,$ff,$00,$fe,$01,$f8,$07,$83,$7c,$ff,$00,$ff,$00,$ff,$00 - db $f8,$04,$fa,$04,$fb,$04,$fb,$04,$fb,$04,$fb,$04,$f9,$06,$f8,$05 - db $00,$00,$00,$00,$80,$00,$c0,$00,$f0,$00,$f8,$00,$f8,$00,$7c,$80 - db $fc,$01,$fa,$05,$f7,$08,$ff,$00,$ff,$00,$7f,$00,$1f,$60,$00,$3f - db $ff,$00,$ff,$00,$3f,$c0,$bf,$40,$ff,$00,$ff,$00,$ff,$00,$fc,$03 - db $fb,$04,$fb,$04,$f7,$08,$ff,$00,$ff,$00,$ff,$00,$84,$7b,$00,$fe - db $bc,$40,$fc,$00,$f8,$00,$f0,$08,$c0,$30,$c0,$30,$00,$e0,$00,$00 - db $00,$ff,$00,$03,$00,$02,$00,$02,$01,$02,$03,$04,$00,$0c,$00,$08 - db $00,$98,$00,$08,$00,$48,$70,$88,$98,$04,$00,$06,$00,$02,$00,$02 - db $00,$08,$00,$08,$00,$08,$00,$0c,$04,$0c,$06,$06,$0f,$0f,$0f,$0f - db $10,$e2,$00,$13,$00,$03,$02,$db,$d9,$01,$03,$03,$05,$07,$79,$ff - db $0d,$0f,$05,$07,$05,$07,$05,$07,$01,$01,$00,$00,$00,$00,$00,$00 - db $47,$ff,$75,$ff,$5d,$ff,$5d,$ff,$50,$f0,$00,$00,$00,$00,$00,$00 - 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,$00,$00,$3c,$3c - db $01,$01,$02,$03,$04,$07,$0c,$0f,$10,$1f,$10,$1f,$10,$1f,$3f,$3f - db $c2,$fe,$02,$fe,$08,$ff,$0a,$ff,$14,$fe,$28,$f8,$00,$d0,$80,$f0 - db $3f,$3f,$1f,$1f,$10,$1f,$10,$1f,$18,$1f,$00,$07,$04,$07,$04,$07 - db $f0,$f0,$f0,$f0,$70,$f0,$00,$f0,$00,$f8,$00,$f8,$00,$fc,$00,$fc - db $06,$07,$02,$03,$02,$03,$02,$03,$02,$03,$00,$01,$01,$01,$01,$01 - db $00,$fc,$00,$fe,$00,$fe,$00,$fe,$01,$ff,$01,$ff,$01,$ff,$01,$ff - db $00,$00,$00,$00,$03,$07,$00,$0f,$08,$1f,$14,$1f,$29,$3f,$11,$7f - db $00,$00,$00,$00,$00,$00,$80,$80,$80,$80,$80,$80,$00,$00,$00,$00 - db $00,$00,$0c,$0f,$18,$1f,$10,$1f,$00,$1f,$00,$1f,$00,$1f,$00,$0f - db $01,$01,$03,$ff,$01,$ff,$01,$ff,$01,$ff,$03,$ff,$7f,$ff,$1f,$ff - db $01,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$80,$ff,$81,$ff - db $42,$7e,$a2,$be,$82,$fe,$84,$fc,$84,$fc,$88,$f8,$b8,$f8,$00,$00 - db $00,$0f,$00,$0f,$00,$0f,$00,$0f,$00,$0f,$00,$0f,$00,$0f,$00,$07 - db $19,$f9,$19,$f9,$09,$f9,$09,$f9,$0d,$fd,$07,$ff,$07,$ff,$07,$ff - db $81,$ff,$81,$ff,$81,$ff,$81,$ff,$81,$ff,$01,$ff,$01,$ff,$03,$ff - db $00,$07,$00,$07,$00,$07,$00,$07,$04,$07,$02,$07,$01,$07,$07,$07 - db $03,$ff,$03,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$ff,$ff,$ff,$ff - db $02,$fe,$02,$fe,$02,$fe,$02,$fe,$06,$fe,$0a,$fe,$92,$fe,$fc,$fc - db $03,$03,$01,$01,$00,$03,$00,$03,$00,$03,$01,$02,$01,$02,$01,$02 - db $80,$80,$00,$00,$00,$ff,$00,$ff,$7f,$80,$ff,$00,$ff,$00,$ff,$00 - db $00,$1c,$08,$74,$38,$c4,$f8,$04,$f8,$04,$f8,$04,$f8,$04,$f8,$04 - db $01,$02,$01,$02,$01,$02,$02,$01,$06,$01,$1e,$01,$3f,$00,$7f,$00 - db $f8,$04,$f8,$04,$fc,$02,$7d,$82,$7d,$82,$fd,$02,$fd,$02,$fd,$02 - db $00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$e8,$00,$fc,$00,$fc,$00 - db $fe,$00,$3e,$c0,$de,$20,$fe,$00,$f8,$04,$f0,$08,$e0,$10,$c0,$30 - db $00,$08,$00,$08,$00,$08,$00,$18,$00,$18,$08,$19,$05,$0c,$0e,$0e - db $00,$02,$00,$02,$10,$e2,$00,$13,$00,$03,$02,$9b,$99,$01,$03,$03 - db $0f,$0f,$0d,$0f,$05,$07,$05,$07,$05,$07,$00,$01,$00,$00,$00,$00 - db $85,$87,$79,$ff,$47,$ff,$75,$ff,$5d,$ff,$5c,$fe,$00,$00,$00,$00 - db $00,$00,$80,$80,$80,$80,$80,$80,$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 Sprites: - db $00, $00, $4f, $00, $00 - db $00, $50, $51, $00, $00 - db $00, $52, $53, $00, $00 - db $00, $54, $55, $56, $57 - db $58, $59, $5a, $5b, $00 - db $5c, $5d, $5e, $00, $00 - db $5f, $60, $61, $00, $00 - db $62, $63, $64, $00, $00 - db $65, $19, $66, $67, $00 - db $1c, $1d, $1e, $68, $00 - db $20, $21, $22, $23, $00 - db $00, $69, $6a, $00, $00 - db $00, $6b, $6c, $6d, $00 + 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 diff --git a/source.zip b/source.zip index a95e156..7f37dbd 100644 Binary files a/source.zip and b/source.zip differ