diff --git a/00TheFool.inc b/00TheFool.inc index 551aa5b..d87f2e0 100644 --- a/00TheFool.inc +++ b/00TheFool.inc @@ -26,14 +26,6 @@ def Card_Offset_functions equ @-TheFool dw .fUpdate dw .fDraw -; CVS: timer for dog -; CVS+2: frame for dog -; CVS+3: timer for zero -; CVS+5: frame for zero -; CVS+6: timer for cloud 1 -; CVS+8: frame for cloud 1 -; CVS+9: timer for cloud 2 -; CVS+11: frame for cloud 2 .fInit: ld hl, CVS ld a, 0 @@ -75,7 +67,7 @@ def Card_Offset_functions equ @-TheFool ; set up the palette for the clouds ld hl, rOBP1 - ld [hl], %00_10_01_11 + ld [hl], %11_10_01_00 ld hl, .cloud1 ; six sprites for the doggie, four for the zero, 4 bytes each @@ -106,7 +98,7 @@ def Card_Offset_functions equ @-TheFool ld hl, .cloud3 ld de, MY_OAM + 16*4 - ld bc, 90*$100 + 67 + ld bc, 88*$100 + 67 ld a, $11 call BuildMetaSprite ld hl, MY_OAM + 16*4+3 @@ -119,7 +111,7 @@ def Card_Offset_functions equ @-TheFool call IncrementTimer ld a, [CVS+1] ; checking the high byte of the timer - cp a, 06 ; $10 00 = 1 second + cp a, $06 ; $10 00 = 1 second jp c, .doneWithTimer1 ; if the timer is less than $0600, skip ; if the timer is greater or equal to $0600, reset it @@ -134,7 +126,8 @@ def Card_Offset_functions equ @-TheFool ld a, [CVS+3+1] ; check the high byte of the zero sprite timer cp a, $30 ; $10 00 = 1 second - jp c, .doneWithTimer2 + jp c, .doneWithTimer2 + jp .doneWithTimer2 ld a, 0 ld [CVS+3], a @@ -356,7 +349,7 @@ def Card_Offset_functions equ @-TheFool .cloud3: db $14 .cloud3Anim: - db 2, 90, 66, 90, 67, + db 2, 88, 66, 88, 67, diff --git a/00thefool.aseprite b/00thefool.aseprite index 2d48899..e1f21ee 100644 Binary files a/00thefool.aseprite and b/00thefool.aseprite differ diff --git a/01TheMagician.inc b/01TheMagician.inc index edd7626..3f48eca 100644 --- a/01TheMagician.inc +++ b/01TheMagician.inc @@ -18,41 +18,282 @@ TheMagician: ; CARD_VARS_START + 2 ; frame counter 1 ; CARD_VARS_START + 3 ; frame counter 2 .fInit: - ld a, [rLCDC] - and a, %1111_1011 - ld [rLCDC], a - ld hl, CARD_VARS_START + ld hl, CVS ld a, 0 - ld [hl+], a ; timer for dog @ +0 + ld [hl+], a ; CVS timer for flame ld [hl+], a - ld [hl+], a ; frame of animation 1 - ld [hl+], a ; frame of animation 2 + ld [hl+], a ; CVS+2 frame of flame 1 + ld [hl+], a ; CVS+3 frame of flame 2 + ld [hl+], a ; CVS+4 color cycling frame + ld [hl+], a ; CVS+5 sprite frame + ld [hl+], a ; CVS+6 delay timer for sheen + ld [hl+], a + ld [hl+], a ; CVS+8 frame of sheen animation + + ; starting values for flame 1 + ld a, 0 ; starting frame number for flame 1 + ld [CVS+2], a + ld hl, MY_OAM + ld [hl], 36 ; y + inc hl + ld [hl], 39 ; x + inc hl + ld [hl], 1 ; tile + inc hl + set OAMB_PAL1, [hl] + + ; srtarting values for flame 2 + ld a, 10 + ld [CVS+3], a + ld hl, MY_OAM + 1*4 ; pre-populate with flame 2 + ld [hl], 36 ; y + inc hl + ld [hl], 59 ; x + inc hl + ld [hl], 2 ; tile + inc hl + set OAMB_PAL1, [hl] + + ; starting values for sheens + ld hl, MY_OAM + 2*4 ; sword sheen sprite goes in OAM+2 + ld [hl], 0 + inc hl + ld [hl], 0 + inc hl + ld [hl], 3 ; sword sheen sprite + + ld hl, MY_OAM + 3*4 ; pentaacle sheen ggoes in OAM+3 + ld [hl], 0 + inc hl + ld [hl], 0 + inc hl + ld [hl], 4 ; pentacle sheen sprite + inc hl + set OAMB_PRI, [hl] + ret .fUpdate: - ret + 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, .doneWithTimer1 ; 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 .drawFlames +.doneWithTimer1 + + ld hl, CVS+6 + call IncrementTimer + ld a, [CVS+6+1] + cp a, $40 ; this should go off every four seconds + jp c, .doneWithTimer2 + + ld a, 0 + ld [CVS+6], a + ld [CVS+6+1], a + ld a, 1 + ld [CVS+8], a ; set the sheen animation to run +.doneWithTimer2 + + ld a, [CVS+8] + cp a, 0 + jp z, .doneWithTimer3 + + ; play the sheen animation + call .runSheen + +.doneWithTimer3 + ret + +.drawFlames: + ;update positions based on animation data + ;draw frame 1 + ld hl, .flameAnimation + ld a, [CVS+2] + inc a + call ArrayClampLooping + ld [CVS+2], a + + ld b, 0 + ld c, a + + ld hl, .flameAnimation+1 + add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element + add hl, bc ; of the list + ld b, [hl] ; load y into b + inc hl + ld c, [hl] ; load x into c + + + ld hl, MY_OAM + ld [hl], b + inc hl + ld [hl], c + inc hl + + + ;draw frame 2 + ld hl, .flameAnimation + ld a, [CVS+3] + inc a + call ArrayClampLooping + ld [CVS+3], a + + ld b, 0 + ld c, a + + ld hl, .flameAnimation+1 + add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element + add hl, bc ; of the list + ld b, [hl] ; load y into b + inc hl + ld c, [hl] ; load x into c + + ld hl, MY_OAM + 1*4 + ld [hl], b + inc hl + ld [hl], c + inc hl + + ; advance the three-frame palette cyclling animation + ld b, 12 + ld a, [CVS+4] + inc a + call ArrayClampLoopingB + ld [CVS+4], a + cp a, 0 + jp z, :+ + cp a, 4 + jp z, :++ + cp a, 8 + jp z, :+++ + jp .doneWithPalette +: + ld a, %10_10_00_00 + ld [rOBP1], a + jp .doneWithPalette +: + ld a, %00_10_10_00 + ld [rOBP1], a + jp .doneWithPalette +: + ld a, %10_00_10_00 + ld [rOBP1], a + jp .doneWithPalette + +.doneWithPalette + ; advance the two-frame sprite swapping animation + ld b, 8 + ld a, [CVS+5] + inc a + call ArrayClampLoopingB + ld [CVS+5], a + cp a, 0 + jp z, :+ + cp a, 4 + jp z, :++ + jp .doneWithSpriteSwap +: + ld hl, MY_OAM + 0*4 + 2 + ld [hl], 1 + ld hl, MY_OAM + 1*4 + 2 + ld [hl], 2 + jp .doneWithSpriteSwap +: + ld hl, MY_OAM + 0*4 + 2 + ld [hl], 2 + ld hl, MY_OAM + 1*4 + 2 + ld [hl], 1 + + jp .doneWithSpriteSwap +.doneWithSpriteSwap + ; two-frame left-right animation + ld a, [CVS+5] + bit 0, a + jp z, :+ + jp :++ +: + ld hl, MY_OAM + 0*4 + 3 + ld a, OAMF_XFLIP + xor a, [hl] + ld [hl], a + + ld hl, MY_OAM + 1*4 + 3 + ld a, OAMF_XFLIP + xor a, [hl] + ld [hl], a +: + + ret + +.flameAnimation: + db 32, 29, 35, 28, 35, 26, 36, 25, 37, 24, 39, 24, 40, 25, 42, 27, 44, 29, 45, 31, 46, 33, 48, 34, 50, 34, 51, 33, 53, 32, 54, 30, 55, 29, 55, 28, 55, 26, 54, 25, 53, 24, 51, 24, 50, 25, 48, 27, 46, 29, 45, 31, 44, 33, 42, 34, 40, 34, 39, 33, 37, 32, 36, 30, 35 + +.runSheen: + ld hl, .swordSheen + ld a, [CVS+8] + inc a + call ArrayClampLooping + ld [CVS+8], a + + ld b, 0 + ld c, a + + ld hl, .swordSheen+1 + add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element + add hl, bc ; of the list + ld b, [hl] ; load y into b + dec b + inc hl + ld c, [hl] ; load x into c + + ld hl, MY_OAM + 2*4 + ld [hl], b + inc hl + ld [hl], c + + ld a, [CVS+8] + + ld b, 0 + ld c, a + + ld hl, .pentacleSheen+1 + add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element + add hl, bc ; of the list + ld b, [hl] ; load y into b + inc hl + ld c, [hl] ; load x into c + + ld hl, MY_OAM + 3*4 + ld [hl], b + inc hl + ld [hl], c + inc hl + + ret +.swordSheen: + db 22, 96, 0, 96, 21, 96, 22, 96, 23, 96, 24, 96, 25, 96, 26, 96, 27, 96, 28, 96, 29, 96, 30, 96, 31, 96, 32, 96, 33, 96, 34, 96, 35, 96, 36, 96, 37, 96, 38, 96, 39, 96, 40, 96, 41, +.pentacleSheen: + db 22, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 32, 96, 33, 96, 34, 96, 35, 96, 36, 96, 37, 96, 38, 96, 39, 96, 40, 96, 41, .fDraw: ret .SpriteTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $01,$01,$01,$01,$01,$01,$01,$01,$1f,$1f,$1f,$10,$1f,$10,$1f,$1c - db $f0,$f0,$fc,$5c,$fe,$06,$5f,$a3,$ff,$01,$ff,$00,$ff,$00,$ff,$00 - db $00,$00,$00,$00,$00,$00,$07,$07,$87,$85,$ff,$fd,$ff,$01,$ff,$01 - db $07,$07,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$93,$fe,$d2,$7e,$76,$1c,$1c - db $ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$c9,$7f,$69,$3f,$3b,$0e,$0e - db $00,$00,$00,$00,$00,$00,$0e,$0e,$8f,$8b,$ff,$fd,$ff,$01,$ff,$01 - db $ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$93,$fe,$96,$fc,$dc,$70,$70 - db $ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$c9,$7f,$4b,$7e,$6e,$38,$38 - db $00,$00,$03,$03,$07,$07,$0c,$0c,$18,$18,$18,$18,$30,$30,$30,$30 - db $00,$00,$c0,$c0,$e0,$e0,$30,$30,$18,$18,$18,$18,$0c,$0c,$0c,$0c - db $30,$30,$30,$30,$18,$18,$18,$18,$0c,$0c,$07,$07,$03,$03,$00,$00 - db $0c,$0c,$0c,$0c,$18,$18,$18,$18,$30,$30,$e0,$e0,$c0,$c0,$00,$00 + db $20,$20,$30,$30,$38,$28,$3c,$24,$6c,$54,$c6,$fa,$6c,$54,$38,$38 + db $0c,$0c,$18,$18,$38,$28,$3c,$24,$6c,$54,$c6,$fa,$6c,$54,$38,$38 + db $00,$d0,$00,$68,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$80,$00,$80 .SpriteTilesEnd: MagicianTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$ff,$ff,$ff,$e0,$e0,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $ff,$ff,$ff,$ff,$e0,$e0,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe db $01,$21,$03,$23,$03,$22,$03,$3e,$01,$02,$01,$02,$01,$02,$01,$02 db $fe,$81,$d5,$aa,$bb,$c4,$d5,$aa,$ae,$d1,$d5,$aa,$c2,$9d,$d1,$8e db $ff,$00,$ff,$00,$ff,$00,$ff,$70,$df,$50,$df,$50,$df,$50,$57,$d8 @@ -73,7 +314,7 @@ MagicianTiles: db $70,$88,$e0,$10,$80,$70,$00,$f0,$e0,$10,$e0,$10,$00,$f0,$00,$20 db $40,$10,$40,$10,$40,$10,$40,$10,$40,$10,$40,$10,$40,$10,$40,$10 db $48,$14,$40,$1c,$40,$1c,$40,$1e,$50,$0e,$50,$0e,$50,$0e,$50,$0f - db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$e0,$e0,$ff,$ff,$ff,$ff + db $fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$e0,$e0,$ff,$ff,$ff,$ff db $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$07,$07,$ff,$ff,$ff,$ff db $ff,$ff,$ff,$ff,$07,$07,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f db $c0,$20,$40,$b0,$b0,$48,$50,$ac,$ec,$13,$55,$aa,$aa,$55,$55,$aa @@ -100,13 +341,12 @@ MagicianTiles: db $ff,$00,$ff,$00,$ff,$00,$77,$88,$fe,$01,$dc,$23,$ff,$00,$57,$a8 db $ff,$00,$ff,$00,$f1,$0e,$40,$b1,$00,$c0,$80,$40,$c0,$31,$51,$ae db $ff,$00,$ff,$00,$ff,$00,$77,$88,$7f,$80,$5d,$a2,$ff,$00,$57,$a8 - db $1f,$1f,$20,$20,$1f,$1f,$00,$00,$00,$00,$02,$02,$06,$06,$3f,$7f - db $ff,$ff,$00,$00,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff - db $80,$80,$00,$00,$80,$80,$7f,$7f,$00,$00,$00,$00,$00,$00,$ff,$ff - db $01,$01,$00,$00,$00,$00,$fe,$fe,$01,$01,$07,$07,$18,$18,$f8,$ff - db $46,$46,$3f,$7f,$06,$06,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$1f,$20,$20,$1f,$1f,$00,$00,$02,$02,$06,$06,$3f,$7f,$46,$46 + db $ff,$ff,$00,$00,$ff,$ff,$00,$00,$00,$00,$00,$00,$ff,$ff,$00,$00 + db $80,$80,$00,$00,$80,$80,$7f,$7f,$00,$00,$00,$00,$ff,$ff,$00,$00 + db $01,$01,$00,$00,$00,$00,$fe,$fe,$01,$01,$07,$07,$f8,$f8,$38,$3f db $00,$00,$ff,$ff,$00,$00,$3e,$3e,$c1,$c9,$00,$77,$00,$1c,$c1,$f7 - db $24,$24,$c2,$c2,$01,$01,$01,$01,$83,$83,$44,$45,$48,$48,$84,$84 + db $64,$64,$c2,$c2,$01,$01,$01,$01,$83,$83,$44,$45,$48,$48,$84,$84 db $03,$03,$00,$00,$00,$ff,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff db $80,$80,$00,$00,$00,$ff,$00,$81,$00,$ff,$83,$ff,$c7,$ff,$af,$ff db $00,$00,$00,$00,$00,$ff,$00,$18,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff @@ -148,23 +388,24 @@ MagicianTiles: db $aa,$55,$44,$bb,$aa,$55,$00,$ff,$aa,$55,$00,$ff,$00,$00,$00,$00 db $aa,$55,$44,$bb,$aa,$55,$00,$ff,$aa,$55,$04,$fb,$aa,$55,$00,$ff db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff + db $46,$46,$3f,$7f,$06,$06,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00 MagicianTilesEnd: MagicianMap: - db $70, $1e, $70, $70, $70, $70, $70, $70 - db $1f, $20, $48, $47, $49, $4a, $71, $71 - db $21, $22, $23, $26, $27, $72, $72, $72 - db $73, $2b, $24, $28, $29, $74, $73, $73 - db $75, $33, $25, $2c, $2d, $1d, $75, $75 - db $76, $76, $34, $3c, $3e, $2a, $45, $76 - db $77, $77, $6d, $3d, $1c, $2e, $46, $77 - db $78, $78, $35, $36, $37, $44, $3f, $79 - db $4b, $4c, $4d, $4e, $38, $2f, $40, $6f - db $4f, $6e, $50, $51, $39, $3a, $41, $42 - db $54, $55, $57, $52, $53, $3b, $43, $5c - db $6b, $56, $58, $7a, $59, $5a, $5b, $5e - db $6c, $66, $67, $68, $61, $62, $5d, $5f - db $7a, $60, $69, $6a, $63, $64, $7a, $7a - db $7a, $7a, $7a, $1b, $32, $65, $7a, $7a - db $7a, $7a, $7a, $30, $31, $7a, $7a, $7a + db $6f, $1e, $6f, $6f, $6f, $6f, $6f, $6f + db $1f, $20, $70, $70, $70, $70, $70, $70 + db $21, $22, $23, $26, $27, $71, $71, $71 + db $72, $2b, $24, $28, $29, $73, $72, $72 + db $74, $33, $25, $2c, $2d, $1d, $74, $74 + db $75, $75, $34, $3c, $3e, $2a, $45, $75 + db $76, $76, $6c, $3d, $1c, $2e, $46, $76 + db $77, $77, $35, $36, $37, $44, $3f, $78 + db $4b, $4c, $4d, $4e, $38, $2f, $40, $6e + db $7a, $6d, $4f, $50, $39, $3a, $41, $42 + db $53, $54, $56, $51, $52, $3b, $43, $5b + db $6a, $55, $57, $79, $58, $59, $5a, $5d + db $6b, $65, $66, $67, $60, $61, $5c, $5e + db $79, $5f, $68, $69, $62, $63, $79, $79 + db $79, $79, $79, $1b, $32, $64, $79, $79 + db $79, $79, $79, $30, $31, $79, $79, $79 MagicianMapEnd: diff --git a/01themagician.aseprite b/01themagician.aseprite index e45f5f4..17552f2 100644 Binary files a/01themagician.aseprite and b/01themagician.aseprite differ diff --git a/02TheHighPriestess.inc b/02TheHighPriestess.inc index 0fce901..ebce483 100644 --- a/02TheHighPriestess.inc +++ b/02TheHighPriestess.inc @@ -8,30 +8,161 @@ TheHighPriestess: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw ; original export script by gabriel reis, modified by shoofle +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for smoke + ld [hl+], a + ld [hl+], a ; CVS+2 frame of smoke + ret +.fUpdate: + ld hl, CVS + 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 + jp c, .doneWithTimer1 ; 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 .updateSmoke +.doneWithTimer1 + ret + +.updateSmoke: + ld b, 4 + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a + + ; multiply a by 4 bc the lower smoke is rows of four tiles + ld b, a + add a, b + add a, b + add a, b + + ld b, 0 + ld c, a + + ; add offset to .lowerSmoke to get the line we're interested in + ld hl, .lowerSmoke + add hl, bc + ld de, MY_OAM + ld bc, $100*(2+3)*8 + (1+3)*8 + ld a, $14 + call BuildMetaSprite + + ld a, [CVS+2] + ; multiply by 10 bc tthe upper smoke is pairs of rows of six tiles + ld b, a + add a, b ; a = 2b + add a, b ; a = 3b + add a, a ; a = 6b + add a, a ; a = 12b + + ld b, 0 + ld c, a + + ; add offset to .upperSmoke to get the metatile we're interested in. + ld hl, .upperSmoke + add hl, bc + ld de, MY_OAM+4*4 + ld bc, $100*(2+1)*8 + (1+3)*8 + ld a, $26 + call BuildMetaSprite + ret + +.upperSmoke: + db $24, $25, $13, $13, $13, $13 + db $00, $2b, $26, $27, $28, $29 + db $11, $12, $13, $13, $13, $13 + db $00, $14, $15, $16, $17, $18 + db $19, $1a, $13, $13, $13, $13 + db $00, $1b, $1c, $1d, $1e, $1f + db $2a, $13, $13, $13, $13, $13 + db $00, $20, $1c, $21, $22, $23 + +.lowerSmoke: + db $01, $02, $03, $04 + db $05, $06, $07, $08 + db $09, $0a, $0b, $0c + db $0d, $0e, $0f, $10 + +.fDraw: + ret +.SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$7e,$00,$fc,$00,$78,$00,$30,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $e0,$00,$f0,$00,$f8,$00,$f0,$00,$60,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$3f,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$bf,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$3e,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $e0,$00,$f0,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$7f,$00,$3f,$00,$1e,$00,$0c,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$6e,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$7f,$00,$1f,$00,$07,$00,$07,$00,$03,$00 + db $e0,$00,$f0,$00,$f0,$00,$f0,$00,$c0,$00,$c0,$00,$80,$00,$00,$00 + db $1f,$00,$3f,$00,$7f,$00,$7f,$00,$7e,$00,$7c,$00,$20,$00,$00,$00 + db $ff,$00,$ff,$00,$fc,$00,$78,$00,$20,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$3f,$00,$07,$00,$02,$00,$00,$00,$00,$00 + db $e0,$00,$f0,$00,$f8,$00,$f8,$00,$f8,$00,$f8,$00,$78,$00,$30,$00 + db $ff,$00,$ff,$00,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$1f,$00,$0f,$00,$0f,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $07,$00,$03,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$03,$00 + db $ff,$00,$ff,$00,$fe,$00,$f8,$00,$f0,$00,$e0,$00,$e0,$00,$60,$00 + db $ff,$00,$ff,$00,$38,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3f,$00,$7f,$00,$7f,$00,$3f,$00,$1f,$00,$0c,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$3f,$00 + db $3f,$00,$3f,$00,$1f,$00,$1f,$00,$1f,$00,$0f,$00,$03,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$bf,$00,$1f,$00 + db $ff,$00,$fc,$00,$f8,$00,$f0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00 + db $ff,$00,$0f,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$fe,$00,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3f,$00,$1f,$00,$0f,$00,$07,$00,$07,$00,$07,$00,$03,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fc,$00,$f8,$00,$e0,$00 + db $ff,$00,$fe,$00,$f8,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $df,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$1f,$00,$0f,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$0f,$00,$07,$00,$03,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$3f,$00,$01,$00,$00,$00 + db $ff,$00,$fc,$00,$f8,$00,$f0,$00,$e0,$00,$c0,$00,$80,$00,$00,$00 + db $ff,$00,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $86,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$3f,$00,$1f,$00,$03,$00,$03,$00,$01,$00,$00,$00 + db $03,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 +.SpriteTilesEnd: .KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $02,$fd,$02,$fd,$02,$fd,$02,$fd,$02,$fd,$02,$fd,$1f,$e0,$00,$ff - db $40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$f8,$07,$00,$ff - db $00,$ff,$0f,$ff,$39,$fe,$e7,$f8,$7f,$80,$ff,$00,$ff,$00,$ff,$00 - db $7f,$80,$ff,$80,$ff,$00,$ff,$00,$fc,$03,$fe,$01,$ff,$00,$ff,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$c7,$f8,$60,$ff,$b8,$7f,$cc,$3f - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$f8,$07,$c0,$3f,$00,$ff,$00,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$80,$1c,$e3,$00,$ff,$00,$ff - db $00,$ff,$01,$ff,$03,$ff,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00 - db $df,$e0,$bf,$c0,$7f,$80,$ff,$00,$3f,$c0,$6f,$d6,$7f,$ef,$7f,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$17,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$fc,$ff,$fc,$ff,$ff,$ff,$ff - db $e4,$1f,$f6,$0f,$f3,$0f,$f0,$0f,$f8,$07,$f8,$07,$fc,$03,$fc,$9b - db $00,$ff,$00,$ff,$80,$ff,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00 + db $06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$1f,$e0,$00,$ff + db $60,$9f,$60,$9f,$60,$9f,$60,$9f,$60,$9f,$60,$9f,$f8,$07,$00,$ff + db $00,$ff,$0f,$ff,$38,$ff,$e7,$f8,$7f,$80,$ff,$00,$ff,$00,$ff,$00 + db $00,$ff,$c0,$ff,$78,$ff,$8f,$7f,$fc,$03,$fe,$01,$ff,$00,$ff,$00 + db $00,$ff,$00,$ff,$00,$ff,$00,$ff,$c0,$ff,$60,$ff,$b8,$7f,$cc,$3f + db $00,$ff,$01,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $df,$ff,$ff,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff + db $e4,$ff,$f6,$ff,$f2,$ff,$f0,$ff,$f8,$ff,$f8,$ff,$fc,$ff,$fc,$ff db $00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $00,$01,$00,$fe,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 db $7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$ff,$ff db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f8,$ff,$e0,$ff db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$3f,$ff,$1f,$ff - db $fe,$df,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$ff,$ff + db $fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$fe,$ff,$ff,$ff db $00,$80,$00,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80 db $00,$00,$00,$00,$00,$ff,$00,$49,$00,$49,$00,$49,$00,$49,$00,$49 db $01,$03,$03,$0f,$0f,$ff,$0f,$3f,$0f,$3f,$0f,$3f,$0f,$3f,$0f,$3f @@ -43,41 +174,40 @@ TheHighPriestess: db $0f,$3f,$0f,$3f,$0f,$3f,$0f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fc,$ff,$f8,$fe,$f0,$fc db $1f,$e0,$0c,$f3,$0f,$f0,$07,$f8,$03,$ec,$00,$77,$00,$7b,$00,$37 - db $cf,$3f,$cf,$3f,$c7,$3f,$87,$7f,$07,$ff,$03,$d7,$00,$a3,$00,$80 + db $cf,$3f,$cf,$3f,$c7,$3f,$87,$7f,$07,$ff,$01,$d7,$00,$a3,$00,$80 db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$ff db $e0,$fc,$e0,$fc,$f0,$fc,$f0,$fc,$f0,$fc,$f0,$fc,$f0,$fc,$f0,$fc db $00,$92,$00,$92,$00,$92,$00,$92,$00,$92,$00,$92,$00,$92,$00,$92 db $1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f db $e0,$f8,$c0,$f0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e1,$c0,$e1,$c0,$e1 db $00,$30,$00,$30,$00,$30,$00,$30,$00,$30,$00,$30,$00,$30,$00,$30 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$06,$00,$03,$00,$03,$00,$03 - db $3f,$7f,$1f,$3f,$0f,$1f,$0f,$1f,$07,$0f,$03,$07,$03,$87,$01,$83 + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$06,$00,$07,$01,$07,$01,$07 + db $7f,$ff,$3f,$7f,$1f,$3f,$0f,$1f,$07,$0f,$83,$07,$43,$87,$41,$83 db $f0,$fc,$f0,$fc,$f0,$fc,$f0,$fc,$f0,$fc,$f8,$fc,$f8,$fc,$f8,$fc db $1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$1f,$3f,$17,$3f,$16,$3f,$0c,$3f db $c0,$e1,$c0,$e1,$c0,$f1,$a0,$f0,$a0,$f0,$20,$f0,$20,$e8,$20,$e8 db $00,$70,$00,$70,$00,$40,$00,$81,$01,$87,$00,$8c,$04,$9c,$0e,$5e - db $00,$03,$00,$03,$00,$03,$00,$fb,$f8,$fe,$fc,$fe,$7c,$7e,$3c,$3e - db $01,$c3,$01,$c3,$01,$03,$03,$07,$01,$0f,$01,$1f,$30,$3f,$48,$7f + db $01,$07,$01,$07,$00,$0f,$00,$ff,$f8,$fe,$fc,$fe,$7c,$7e,$3c,$3e + db $81,$c3,$01,$c3,$01,$03,$03,$07,$01,$0f,$01,$1f,$30,$3f,$48,$7f db $f8,$fc,$f8,$fc,$f8,$fc,$f8,$fc,$f8,$fc,$f8,$fc,$f8,$fc,$78,$fc db $08,$3f,$08,$3f,$0f,$3f,$10,$3f,$10,$3f,$0e,$3f,$02,$3f,$02,$3f db $20,$e8,$40,$c4,$80,$c4,$80,$82,$80,$81,$80,$80,$c0,$c0,$c0,$c0 - db $0f,$5f,$07,$3f,$00,$0f,$00,$03,$00,$00,$00,$80,$00,$40,$00,$30 - db $18,$1f,$87,$99,$ce,$f3,$01,$ff,$03,$0c,$07,$08,$07,$08,$07,$08 + db $0f,$5f,$07,$3f,$00,$0f,$00,$03,$00,$80,$00,$c0,$10,$60,$07,$38 + db $18,$1f,$87,$99,$ce,$f3,$01,$ff,$03,$0c,$07,$08,$07,$08,$f7,$08 db $84,$ff,$02,$ff,$01,$ff,$01,$ff,$c1,$ff,$e1,$3f,$e1,$3f,$e1,$3f db $38,$fc,$30,$fc,$f0,$fc,$08,$fc,$08,$fc,$70,$fc,$40,$fc,$40,$fc - db $c0,$c0,$c0,$c0,$a0,$e0,$a0,$e0,$90,$f0,$88,$f8,$86,$fe,$81,$ff - db $00,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$e0 + db $c0,$c0,$c0,$c0,$a0,$e0,$a0,$e0,$90,$f8,$88,$ff,$86,$ff,$81,$ff + db $00,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$80,$fe db $00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $19,$ff,$0d,$0f,$05,$07,$05,$07,$05,$07,$05,$07,$05,$07,$05,$07 db $80,$ff,$ff,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff - db $70,$fe,$e0,$f2,$00,$f0,$00,$f8,$00,$f8,$00,$fc,$00,$fc,$00,$fc - db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $70,$fe,$ec,$f2,$0c,$f0,$04,$f8,$04,$f8,$00,$fc,$00,$fc,$00,$fc db $0d,$0f,$1f,$1f,$10,$1f,$30,$3f,$20,$3f,$00,$7f,$00,$7f,$00,$7f db $00,$49,$00,$49,$00,$49,$00,$49,$00,$49,$00,$49,$00,$c9,$00,$49 db $02,$3f,$02,$3f,$02,$3f,$03,$3f,$00,$3f,$00,$3f,$00,$3f,$00,$27 db $00,$ff,$00,$ff,$00,$ff,$ff,$ff,$01,$ff,$06,$ff,$38,$fc,$e0,$e0 db $00,$fc,$00,$fc,$00,$f8,$c0,$f0,$80,$c0,$00,$80,$00,$00,$00,$01 - db $00,$00,$00,$03,$02,$03,$07,$07,$04,$1f,$06,$37,$07,$e7,$00,$81 + db $00,$00,$00,$03,$02,$03,$07,$07,$04,$1f,$0e,$37,$1f,$e7,$70,$81 db $00,$ff,$00,$ff,$00,$ff,$ff,$ff,$00,$ff,$00,$ff,$80,$ff,$c0,$ff db $40,$fc,$40,$fc,$40,$fc,$c0,$fc,$00,$fc,$00,$fc,$00,$fc,$00,$e4 db $00,$92,$00,$92,$00,$92,$00,$92,$00,$92,$00,$92,$00,$93,$00,$92 @@ -91,8 +221,8 @@ TheHighPriestess: db $00,$92,$00,$93,$00,$92,$00,$92,$00,$92,$00,$96,$00,$f9,$00,$00 db $00,$07,$00,$ff,$00,$03,$00,$03,$00,$03,$00,$03,$00,$ff,$00,$ff db $00,$e0,$00,$ff,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$ff,$00,$ff - db $00,$ff,$1f,$e0,$02,$fd,$02,$fd,$02,$fd,$02,$fd,$02,$fd,$02,$fd - db $00,$ff,$f8,$07,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf + db $00,$ff,$1f,$e0,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9 + db $00,$ff,$f8,$07,$60,$9f,$60,$9f,$60,$9f,$60,$9f,$60,$9f,$60,$9f db $00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$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,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 @@ -102,25 +232,23 @@ TheHighPriestess: db $40,$fc,$40,$fc,$40,$fc,$40,$fc,$40,$fc,$40,$fc,$40,$fc,$40,$fc db $0a,$3f,$0a,$3f,$0a,$3f,$0a,$3f,$0a,$3f,$02,$3f,$02,$3f,$02,$3f db $58,$fc,$50,$fc,$50,$fc,$50,$fc,$50,$fc,$50,$fc,$40,$fc,$40,$fc - db $ff,$00,$ff,$00,$ff,$00,$3f,$c0,$03,$fc,$03,$fc,$01,$fe,$00,$ff - db $ff,$00,$ff,$00,$7f,$80,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 - db $6c, $6c, $75, $74, $55, $55, $55, $55 - db $6c, $6c, $6e, $1d, $1e, $1f, $20, $21 - db $6d, $22, $23, $24, $25, $26, $27, $6d - db $28, $29, $2a, $2b, $2c, $2d, $2e, $28 - db $2f, $30, $6f, $31, $32, $6f, $33, $34 - db $35, $36, $37, $38, $39, $3a, $3b, $3c - db $35, $3d, $3e, $3f, $40, $41, $42, $3c - db $35, $43, $44, $45, $46, $47, $48, $3c - db $35, $49, $4a, $4b, $4c, $4d, $4e, $3c - db $35, $72, $4f, $50, $51, $52, $73, $3c - db $35, $70, $53, $54, $1a, $56, $71, $3c - db $57, $58, $59, $5a, $5b, $5c, $5d, $5e - db $5f, $60, $61, $62, $63, $64, $65, $66 - db $6b, $67, $6c, $6c, $6c, $6c, $68, $6b - db $6c, $6c, $6c, $69, $6a, $6c, $6c, $6c - db $6c, $6c, $6c, $1b, $1c, $6c, $6c, $6c + db $66, $66, $66, $66, $66, $66, $66, $66 + db $66, $66, $68, $1d, $1e, $1f, $66, $66 + db $67, $20, $21, $69, $69, $22, $67, $67 + db $23, $24, $25, $26, $27, $28, $29, $23 + db $2a, $2b, $69, $2c, $2d, $69, $2e, $2f + db $30, $31, $32, $33, $34, $35, $36, $37 + db $30, $38, $39, $3a, $3b, $3c, $3d, $37 + db $30, $3e, $3f, $40, $41, $42, $43, $37 + db $30, $44, $45, $46, $47, $48, $49, $37 + db $30, $6c, $4a, $4b, $4c, $4d, $6d, $37 + db $30, $6a, $4e, $4f, $1a, $50, $6b, $37 + db $51, $52, $53, $54, $55, $56, $57, $58 + db $59, $5a, $5b, $5c, $5d, $5e, $5f, $60 + db $65, $61, $66, $66, $66, $66, $62, $65 + db $66, $66, $66, $63, $64, $66, $66, $66 + db $66, $66, $66, $1b, $1c, $66, $66, $66 .BackgroundCopyEnd: diff --git a/02thehighpriestess.aseprite b/02thehighpriestess.aseprite index fdeb480..b1845e6 100644 Binary files a/02thehighpriestess.aseprite and b/02thehighpriestess.aseprite differ diff --git a/03TheEmpress.inc b/03TheEmpress.inc index 16524a9..053051d 100644 --- a/03TheEmpress.inc +++ b/03TheEmpress.inc @@ -8,7 +8,17 @@ TheEmpress: dw EmpressMap dw EmpressTilesEnd - EmpressTiles dw EmpressTiles - + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: EmpressMap: db $7e, $1b, $1c, $1d, $1a, $1a, $78, $79 db $75, $1e, $5f, $1f, $20, $21, $7d, $7a diff --git a/03theempress.aseprite b/03theempress.aseprite index 9441e26..6cf1fbe 100644 Binary files a/03theempress.aseprite and b/03theempress.aseprite differ diff --git a/04TheEmperor.inc b/04TheEmperor.inc index 495f72e..314582a 100644 --- a/04TheEmperor.inc +++ b/04TheEmperor.inc @@ -8,6 +8,340 @@ TheEmperor: dw EmperorMap dw EmperorTilesEnd - EmperorTiles dw EmperorTiles + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for smoke + ld [hl+], a + ld [hl+], a ; CVS+2 frame of animation + + ld hl, MY_OAM+3 ; attributes + + ld bc, 4 + ld d, 30 +.priorityLoop + set OAMB_PRI, [hl] + add hl, bc + dec d + jp nz, .priorityLoop ; set the priority bt for all sprites + + ld hl, .flash + ld de, MY_OAM+2*4 + ld b, 160 + ld c, 0 + ld a, $22 + call BuildMetaSprite + + ld hl, .flash + ld de, MY_OAM+6*4 + ld b, 160 + ld c, 0 + ld a, $22 + call BuildMetaSprite + + ld hl, .flash + ld de, MY_OAM+10*4 + ld b, 160 + ld c, 0 + ld a, $22 + call BuildMetaSprite + + ld hl, .flash + ld de, MY_OAM+14*4 + ld b, 160 + ld c, 0 + ld a, $22 + call BuildMetaSprite + + ret + +; oam 0-1 gorget +; oam 2-5 gauntlet left +; oam 6-9 foot left +; oam 10-13 gauntlet right +; oam 14-17 foot right +.fUpdate: + ld hl, CVS + call IncrementTimer + + ld a, [CVS+1] ; checking the high byte of the timer + cp a, $30 ; $10 = 1 second, $02 = 1/8 of a second + jp c, .doneWithTimer1 + + ; reset timer + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ld a, 1 + ld [CVS+2], a + +.doneWithTimer1 + + ld a, [CVS+2] + cp a, 0 + call nz, .animate + ret + +.animate: + ld b, 50 ; length of animation + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a + + +; gorget flash + ld a, [CVS+2] + sub a, 24 + jp c, .doneWithGorget ; a < 24 ----> skip gorget + cp a, 6 + jp nc, .doneWithGorget ; a >= 6 ---> skip gorget + add a, a ; double to make an offset into gorgetsheen + ld b, 0 + ld c, a + ld hl, .gorgetSheen + add hl, bc ; sprites + ld de, MY_OAM + ld b, 8*6 + ld c, 8*5 + ld a, $12 + call BuildMetaSprite +.doneWithGorget + +; stage-left foot animation + ld a, [CVS+2] + sub a, 2 + jp c, .doneWithLeftFoot ; a < 2 -----> skip left foot + jp z, .startLeftFoot ; a == 2 -------> start left foot + cp a, 8 + jp nc, .killLeftFoot ; after 8-1 frames, kill the left foot + + ld hl, MY_OAM + 2*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + ld hl, MY_OAM + 3*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + ld hl, MY_OAM + 4*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + ld hl, MY_OAM + 5*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + + jp .doneWithLeftFoot +.killLeftFoot + ld hl, MY_OAM + 2*4 + ld [hl], 160 + ld hl, MY_OAM + 3*4 + ld [hl], 160 + ld hl, MY_OAM + 4*4 + ld [hl], 160 + ld hl, MY_OAM + 5*4 + ld [hl], 160 + jp .doneWithLeftFoot +.startLeftFoot + ld hl, .flash + ld de, MY_OAM + 2*4 + ld b, 104+16 + ld c, 8+8 + ld a, $22 + call BuildMetaSprite +.doneWithLeftFoot + + +; stage-right foot animation + ld a, [CVS+2] + cp a, 20 + jp nc, .killRightFoot + cp a, 11 + jp c, .doneWithRightFoot + jp z, .startRightFoot + jp .continueRightFoot +.startRightFoot + ld hl, .flash + ld de, MY_OAM+6*4 + ld b, 104+16 + ld c, 40+8 + ld a, $22 + call BuildMetaSprite + jp .doneWithRightFoot +.continueRightFoot + ld hl, MY_OAM + 6*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + ld hl, MY_OAM + 7*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + ld hl, MY_OAM + 8*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + ld hl, MY_OAM + 9*4 + dec [hl] + inc hl + inc [hl] + inc [hl] + + jp .doneWithRightFoot +.killRightFoot + ld hl, MY_OAM+6*4 + ld [hl], 160 + ld hl, MY_OAM+7*4 + ld [hl], 160 + ld hl, MY_OAM+8*4 + ld [hl], 160 + ld hl, MY_OAM+9*4 + ld [hl], 160 + jp .doneWithRightFoot +.doneWithRightFoot + + +; stage-left hand animation + ld a, [CVS+2] + sub a, 11 + jp c, .doneWithLeftHand + cp a, 7+1 + jp nc, .doneWithLeftHand + add a, a ; double + add a, a ; double again to make an offset into lefthandsheen + ld b, 0 + ld c, a + ld hl, .leftHandSheen + add hl, bc ; sprites + ld de, MY_OAM+10*4 + ld b, 8*10 + ld c, 8*2 + ld a, $22 + call BuildMetaSprite +.doneWithLeftHand + +; right hand + ld a, [CVS+2] + sub a, 19 + jp z, .startRightHand + jp c, .doneWithRightHand + cp a, 20 + jp nc, .killRightHand + + ld hl, MY_OAM + 14*4 + dec [hl] + dec [hl] + dec [hl] + ;dec [hl] + ld hl, MY_OAM + 15*4 + dec [hl] + dec [hl] + dec [hl] + ;dec [hl] + ld hl, MY_OAM + 16*4 + dec [hl] + dec [hl] + dec [hl] + ;dec [hl] + ld hl, MY_OAM + 17*4 + dec [hl] + dec [hl] + dec [hl] + ;dec [hl] + + jp .doneWithRightHand +.killRightHand + ld hl, MY_OAM+14*4 + ld [hl], 160 + ld hl, MY_OAM+15*4 + ld [hl], 160 + ld hl, MY_OAM+16*4 + ld [hl], 160 + ld hl, MY_OAM+17*4 + ld [hl], 160 + jp .doneWithRightHand +.startRightHand + ld hl, .flash + ld de, MY_OAM+14*4 + ld b, 107+16 + ld c, 62+8 + ld a, $22 + call BuildMetaSprite +.doneWithRightHand + + ret + + +.flash: + db $13, $00 + db $01, $13 +.gorgetSheen: + db $08, $00 + db $07, $00 + db $05, $06 + db $03, $04 + db $00, $02 + db $00, $00 +.leftHandSheen: + db $00, $00 + db $17, $00 + db $14, $00 + db $15, $16 + db $14, $00 + db $15, $16 + db $0b, $0d + db $0c, $0a + db $0f, $0e + db $00, $00 + db $11, $10 + db $00, $00 + db $00, $12 + db $00, $00 + db $00, $00 + db $00, $00 +.fDraw: ret +.SpriteTiles: + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $03,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$40,$00,$38,$00,$1c,$00,$08,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$80,$00,$c0,$00,$e0,$00,$70,$00,$38,$00,$00,$00,$00,$00 + db $00,$00,$18,$00,$0e,$00,$07,$00,$03,$00,$01,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$00,$20,$00,$00,$00 + db $00,$00,$00,$00,$70,$00,$38,$00,$1c,$00,$0e,$00,$06,$00,$00,$00 + db $00,$00,$00,$00,$80,$00,$c0,$00,$e0,$00,$70,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $c0,$00,$e0,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$04,$00,$06,$00,$07,$00,$03,$00 + db $01,$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,$80,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$00,$c0,$00,$40,$00 + db $00,$00,$00,$00,$00,$00,$03,$00,$03,$00,$01,$00,$00,$00,$00,$00 + db $00,$00,$80,$00,$c0,$00,$e0,$00,$70,$00,$38,$00,$04,$00,$04,$00 + db $00,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$40,$00,$38,$00,$1c,$00,$0c,$00,$04,$00,$00,$00,$00,$00 + db $80,$00,$c0,$00,$e0,$00,$70,$00,$38,$00,$1c,$00,$0e,$00,$07,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$08,$00,$0c,$00 + db $0e,$00,$07,$00,$03,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$80,$00,$c0,$00,$c0,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$08,$00,$0c,$00,$06,$00,$07,$00,$00,$00,$00,$00,$00,$00 +.SpriteTilesEnd: EmperorMap: db $1b, $1c, $1d, $1e, $1f, $20, $21, $62 @@ -19,13 +353,13 @@ EmperorMap: db $37, $38, $6b, $77, $73, $39, $3a, $69 db $3b, $3c, $3d, $77, $77, $3e, $3f, $40 db $41, $42, $43, $77, $44, $45, $46, $47 - db $6c, $48, $49, $4a, $4b, $77, $4c, $7a + db $6c, $48, $49, $4a, $4b, $77, $4c, $79 db $6c, $4e, $77, $77, $77, $4f, $50, $79 db $6c, $51, $52, $53, $54, $55, $56, $79 db $67, $57, $58, $59, $5a, $5b, $5c, $68 db $5d, $5e, $5f, $71, $71, $60, $61, $78 - db $71, $71, $71, $7c, $7d, $71, $71, $71 - db $71, $71, $71, $7b, $7e, $71, $71, $71 + db $71, $71, $71, $7b, $7c, $71, $71, $71 + db $71, $71, $71, $7a, $7d, $71, $71, $71 EmperorMapEnd: EmperorTiles: @@ -61,20 +395,20 @@ EmperorTiles: db $00,$ff,$aa,$ff,$04,$ff,$aa,$ff,$00,$ff,$a9,$ff,$03,$ff,$a7,$fa db $0d,$f8,$95,$f0,$35,$e0,$55,$c0,$d5,$80,$55,$00,$55,$00,$54,$01 db $ff,$ff,$35,$f0,$35,$f0,$35,$f0,$35,$f0,$35,$f0,$35,$f8,$39,$7c - db $71,$6f,$62,$3f,$7c,$33,$5e,$11,$5f,$18,$5f,$08,$57,$04,$56,$07 - db $0f,$f3,$1e,$e2,$3e,$c6,$7c,$8c,$f8,$18,$f8,$18,$f0,$30,$30,$f0 - db $f4,$e3,$3d,$3b,$05,$07,$03,$03,$02,$03,$02,$03,$3a,$3b,$2a,$3b + db $71,$6f,$72,$3f,$5c,$1b,$56,$07,$57,$03,$55,$01,$55,$00,$55,$00 + db $0f,$f3,$1e,$e2,$3e,$c6,$7c,$8c,$f8,$1f,$f8,$18,$f0,$30,$30,$f0 + db $f4,$e3,$3d,$3b,$05,$07,$03,$0b,$02,$f3,$02,$13,$3a,$3b,$2a,$3b db $c1,$fc,$91,$fc,$11,$fc,$11,$fc,$15,$f8,$35,$f0,$35,$f0,$75,$e0 - db $39,$7e,$1c,$7f,$16,$7f,$13,$7f,$49,$3f,$4c,$3f,$46,$1f,$53,$0f - db $57,$03,$55,$01,$57,$87,$1c,$ec,$c8,$f8,$68,$f8,$3c,$fc,$18,$f8 - db $f0,$0f,$fa,$87,$fc,$c3,$7e,$71,$0f,$08,$07,$04,$07,$04,$06,$07 - db $70,$b0,$70,$90,$70,$90,$78,$98,$78,$98,$7f,$8f,$7f,$80,$7f,$80 - db $26,$3f,$11,$1f,$13,$1f,$33,$3e,$37,$3e,$ed,$fc,$ed,$18,$fd,$18 + db $39,$7e,$1e,$7f,$17,$7f,$12,$7f,$49,$3f,$4c,$3f,$46,$1f,$53,$0f + db $55,$00,$55,$00,$f5,$e1,$3d,$fd,$87,$ff,$41,$ff,$21,$ff,$19,$ff + db $fd,$fd,$83,$8b,$01,$09,$01,$09,$01,$09,$01,$09,$01,$09,$81,$89 + db $70,$bf,$70,$90,$70,$90,$78,$98,$78,$98,$7f,$8f,$7f,$80,$7f,$80 + db $26,$ff,$11,$1f,$13,$1f,$33,$3e,$37,$3e,$ed,$fc,$ed,$18,$fd,$18 db $d5,$c0,$d5,$80,$55,$00,$55,$00,$55,$00,$55,$20,$45,$30,$41,$1c db $55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$54,$01,$50,$07 db $51,$07,$54,$03,$54,$01,$54,$01,$55,$00,$00,$7f,$15,$c0,$55,$00 - db $8b,$fb,$8a,$fb,$ca,$fb,$6e,$ff,$33,$ff,$1e,$fe,$18,$f8,$1f,$7f - db $86,$87,$86,$87,$86,$87,$86,$87,$8e,$8f,$8b,$8b,$f8,$f8,$ff,$ff + db $8f,$ff,$8f,$ff,$cf,$ff,$6f,$fa,$37,$f8,$1f,$f8,$1f,$f8,$1f,$78 + db $c3,$cb,$fe,$ff,$fe,$ff,$9e,$95,$9e,$91,$9e,$91,$9e,$91,$9e,$91 db $f5,$10,$f5,$20,$f5,$20,$f5,$20,$f5,$20,$f5,$20,$f5,$20,$f5,$20 db $54,$03,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00 db $15,$e0,$05,$f0,$45,$30,$40,$1f,$55,$00,$55,$00,$55,$00,$55,$00 @@ -108,7 +442,7 @@ EmperorTiles: db $f4,$0f,$f7,$0f,$f5,$0f,$f7,$0f,$f5,$0f,$f6,$0f,$f5,$0f,$f7,$0f db $7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80,$ff,$ff db $9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91,$9f,$9f - db $01,$ff,$aa,$ff,$44,$ff,$aa,$ff,$00,$ff,$aa,$7f,$c0,$3f,$ea,$1f + db $01,$ff,$aa,$ff,$e4,$ff,$9a,$9f,$98,$9f,$fe,$ff,$94,$b7,$92,$93 db $c0,$c0,$70,$30,$58,$18,$5c,$0e,$57,$07,$55,$07,$54,$07,$54,$07 db $54,$0f,$45,$1e,$4d,$1e,$49,$3e,$19,$7e,$39,$7e,$21,$fe,$61,$fc db $7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80,$7f,$80 @@ -125,10 +459,9 @@ EmperorTiles: db $55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00 db $b0,$bf,$e0,$ff,$c0,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff db $9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91,$9e,$91 - db $9e,$91,$9e,$91,$de,$91,$be,$91,$be,$91,$de,$91,$de,$91,$be,$91 - db $00,$ef,$00,$ef,$00,$ef,$00,$ef,$00,$c0,$00,$ff,$00,$ff,$00,$ff - db $00,$ff,$00,$ff,$00,$ff,$00,$c0,$00,$ed,$00,$ee,$00,$ee,$00,$ee - db $00,$ff,$00,$ff,$00,$ff,$00,$03,$00,$f7,$00,$ef,$00,$ef,$00,$ef - db $00,$5f,$00,$5f,$00,$1f,$00,$bf,$00,$03,$00,$ff,$00,$ff,$00,$ff + db $00,$e6,$00,$e7,$00,$e7,$00,$e7,$00,$80,$00,$ff,$00,$ff,$00,$ff + db $00,$ff,$00,$ff,$00,$ff,$00,$80,$00,$e5,$00,$e4,$00,$e6,$00,$e6 + db $00,$ff,$00,$ff,$00,$ff,$00,$01,$00,$f7,$00,$e7,$00,$ef,$00,$ef + db $00,$4f,$00,$5f,$00,$1f,$00,$bf,$00,$07,$00,$ff,$00,$ff,$00,$ff EmperorTilesEnd: diff --git a/04theemperor.aseprite b/04theemperor.aseprite index b497e97..72e4f21 100644 Binary files a/04theemperor.aseprite and b/04theemperor.aseprite differ diff --git a/05TheHierophant.inc b/05TheHierophant.inc index 0a621c3..c73bd17 100644 --- a/05TheHierophant.inc +++ b/05TheHierophant.inc @@ -1,3 +1,5 @@ + nop + nop TheHierophant: db 10, "THE " db 10, "HIEROPHANT" @@ -8,10 +10,151 @@ TheHierophant: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: + ld hl, CVS + ld a, 0 + ld [hl+], a ; CVS timer for halo + ld [hl+], a + ld [hl+], a ; CVS+2 frame of halo + ret +.fUpdate: + ld hl, CVS + 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 + jp c, .doneWithTimer1 ; if the timer is less than $0600, skip + + ; if the timer is greater or equal to $0700, reset it + ld a, 0 + ld [CVS], a + ld [CVS+1], a + + ; and increment frame number + ld b, 4 + ld a, [CVS+2] + inc a + call ArrayClampLoopingB + ld [CVS+2], a + +.doneWithTimer1 + call .updateHalo + + ret + +.updateHalo + ld a, [CVS+2] ; this is the frame number, we need to multiply it by 35 + ; to get the memory index + ld b, a ; a = b + add a, b ;a = 2b + add a, a ; a = 4b + add a, a ; a = 8b + add a, a ; a = 16b + add a, a ; a = 32b + add a, b + add a, b + add a, b ; a = 35b + + ld b, 0 + ld c, a + + ; add offset to .halo to get the metasprite we're interested in + ld hl, .halo + add hl, bc + ld de, MY_OAM + ld b, 3*8 + ld c, 2*8 + ld a, $57 + call BuildMetaSprite + + ret + +.fDraw: + ret + +.halo ; 5 tall 7 wide sprites + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $06, $0e, $00, $19, $0f, $00 + db $07, $10, $14, $00, $16, $11, $08 + db $09, $12, $15, $00, $17, $18, $0a + db $0b, $00, $00, $00, $00, $13, $0c + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $1c, $1b, $00, $23, $24, $00 + db $07, $1d, $1a, $00, $22, $21, $08 + db $09, $12, $1e, $00, $1f, $20, $0a + db $0b, $00, $00, $00, $00, $13, $0c + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $27, $28, $00, $29, $2f, $00 + db $07, $25, $26, $00, $22, $2e, $31 + db $09, $30, $2a, $00, $2b, $2c, $2d + db $0b, $00, $00, $00, $00, $13, $0c + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $1c, $1b, $00, $23, $24, $00 + db $07, $1d, $1a, $00, $22, $21, $08 + db $09, $12, $1e, $00, $1f, $20, $0a + db $0b, $00, $00, $00, $00, $13, $0c +.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,$01,$01,$03,$02,$07,$04,$0f,$08,$1f,$10 + db $07,$07,$1f,$18,$7f,$60,$ff,$80,$ff,$00,$ff,$03,$fc,$0c,$f0,$30 + db $1c,$1c,$1f,$03,$1f,$00,$1f,$00,$0f,$00,$0f,$08,$07,$06,$01,$01 + db $00,$00,$00,$00,$c0,$c0,$f0,$30,$f8,$08,$fc,$04,$fc,$00,$fc,$80 + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$03,$02,$03,$02 + db $3f,$20,$7f,$40,$ff,$81,$fe,$82,$fc,$05,$f8,$08,$f8,$08,$f0,$10 + db $07,$04,$07,$04,$07,$04,$07,$04,$0f,$08,$0f,$08,$0f,$08,$0f,$08 + db $00,$00,$00,$00,$00,$00,$00,$00,$60,$40,$60,$40,$60,$40,$60,$40 + db $0f,$08,$0f,$08,$0f,$08,$0f,$08,$0f,$08,$07,$04,$07,$04,$06,$04 + db $60,$c0,$60,$40,$60,$40,$60,$40,$60,$40,$e0,$80,$e0,$80,$e0,$80 + db $06,$04,$02,$02,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $c0,$00,$c0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $c0,$40,$80,$80,$00,$00,$00,$00,$00,$e0,$60,$98,$38,$c4,$3c,$40 + db $7c,$40,$3c,$20,$1c,$10,$00,$00,$00,$00,$00,$60,$60,$80,$c0,$20 + db $f0,$10,$e0,$20,$e0,$20,$e0,$20,$c0,$40,$c0,$40,$c0,$70,$c0,$40 + db $80,$00,$80,$00,$00,$80,$00,$80,$00,$00,$00,$c0,$c0,$30,$f0,$0c + db $c0,$40,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$80,$00,$00,$00,$00,$00 + db $01,$01,$01,$01,$03,$02,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1c,$20,$0c,$30,$0c,$10,$04,$18,$04,$78,$7c,$80,$7c,$00,$3c,$00 + db $3e,$00,$3e,$00,$0f,$30,$03,$0c,$00,$03,$00,$00,$00,$00,$00,$00 + db $03,$00,$03,$00,$03,$00,$03,$00,$02,$01,$02,$01,$03,$00,$03,$00 + db $03,$00,$07,$00,$07,$00,$00,$07,$00,$0c,$00,$00,$00,$00,$00,$00 + db $fc,$03,$e0,$1c,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$00 + db $3c,$40,$1c,$60,$1c,$20,$0c,$70,$7c,$80,$fc,$00,$7c,$00,$3c,$00 + db $c0,$40,$80,$80,$00,$00,$00,$00,$00,$f8,$f0,$0c,$fc,$00,$7c,$80 + db $3f,$20,$7f,$40,$ff,$81,$fe,$82,$fc,$05,$f8,$09,$f8,$09,$f0,$10 + db $f0,$10,$e0,$20,$e0,$20,$e0,$20,$c0,$43,$c3,$4c,$c0,$70,$c0,$40 + db $3e,$00,$3e,$00,$3f,$00,$07,$00,$03,$04,$00,$03,$00,$00,$00,$00 + db $03,$00,$07,$00,$07,$00,$06,$01,$0c,$02,$00,$0c,$00,$00,$00,$00 + db $fe,$01,$f8,$06,$c0,$38,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00 + db $80,$00,$80,$00,$80,$00,$80,$00,$00,$80,$80,$60,$e0,$18,$f8,$06 + db $03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$00,$03,$00 + db $7c,$40,$3c,$20,$1c,$10,$00,$00,$00,$60,$60,$80,$e0,$00,$e0,$10 + db $f0,$10,$e0,$20,$e0,$20,$e0,$21,$c1,$4e,$cf,$70,$f0,$40,$e0,$40 + db $7c,$80,$7c,$80,$3c,$40,$7c,$80,$fc,$00,$fc,$00,$7c,$00,$3c,$00 + db $3f,$20,$7f,$40,$ff,$81,$fe,$83,$fd,$06,$f9,$0a,$f8,$09,$f0,$11 + db $c0,$40,$80,$80,$00,$00,$00,$f0,$f0,$0c,$fc,$00,$fc,$00,$fc,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$00,$03,$00,$03,$00 + db $3e,$00,$3e,$00,$3f,$00,$07,$00,$07,$00,$03,$04,$00,$00,$00,$00 + db $03,$00,$07,$00,$07,$00,$07,$00,$0e,$01,$0c,$02,$00,$00,$00,$00 + db $ff,$00,$fe,$01,$f8,$06,$c0,$38,$00,$c0,$00,$00,$00,$00,$00,$00 + db $e0,$40,$60,$c0,$60,$40,$60,$40,$60,$40,$e0,$80,$e0,$80,$e0,$80 + db $80,$00,$80,$00,$80,$00,$80,$00,$80,$60,$e0,$18,$f8,$06,$fe,$01 + db $7c,$40,$3c,$20,$1c,$10,$00,$60,$60,$80,$e0,$00,$e0,$00,$f0,$08 + db $c0,$60,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$80,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$60,$40,$60,$40,$60,$40,$60,$c0 +.SpriteTilesEnd: .KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$02,$00,$02,$00,$02,$00,$01,$00,$01,$00,$0f,$00,$00,$00,$00 + db $06,$06,$02,$02,$02,$02,$03,$03,$01,$01,$0f,$0f,$00,$00,$00,$00 db $00,$00,$18,$19,$3c,$3f,$26,$27,$42,$43,$43,$43,$41,$41,$40,$40 db $00,$00,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$e0,$80,$e0,$80,$f0 db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01 @@ -25,57 +168,56 @@ TheHierophant: db $f8,$f8,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00 db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$07 db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00 - db $00,$00,$00,$3f,$1e,$61,$3f,$c0,$7f,$80,$76,$89,$66,$99,$7f,$80 - db $08,$08,$08,$08,$08,$c8,$88,$68,$c8,$38,$e8,$18,$70,$88,$e0,$18 + db $00,$00,$00,$3f,$1e,$61,$3f,$c0,$7f,$80,$76,$89,$7f,$99,$7f,$80 + db $08,$08,$08,$08,$08,$c8,$88,$68,$c8,$38,$e8,$18,$f0,$88,$e0,$18 db $00,$00,$3f,$3f,$3f,$3f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $0f,$09,$ff,$f9,$ff,$f9,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09 db $00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $0d,$0b,$0d,$0a,$0d,$0a,$0d,$0a,$0d,$0a,$1d,$1a,$3f,$38,$7e,$41 db $80,$80,$80,$80,$80,$80,$80,$80,$b0,$b0,$d0,$f0,$90,$d0,$e0,$a3 - db $39,$c6,$3f,$40,$18,$67,$1f,$20,$0f,$30,$00,$1f,$00,$18,$00,$f1 - db $e0,$10,$e0,$10,$c0,$30,$c0,$20,$80,$40,$00,$80,$00,$80,$00,$ff + db $39,$c6,$3f,$40,$18,$67,$1f,$20,$0f,$30,$0f,$1f,$00,$18,$00,$f1 + db $e0,$10,$e0,$10,$c0,$30,$e0,$20,$c0,$40,$80,$80,$00,$80,$00,$ff db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0 db $0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$19 db $f7,$88,$d7,$a8,$d7,$a8,$7f,$70,$3f,$60,$3f,$30,$1f,$18,$0b,$0c - db $ec,$2e,$f4,$7a,$f4,$72,$e4,$73,$54,$c1,$54,$c1,$d4,$40,$94,$40 - db $00,$30,$00,$10,$00,$10,$00,$10,$00,$1f,$04,$89,$04,$89,$04,$89 - db $01,$84,$01,$84,$01,$84,$01,$8c,$05,$88,$05,$18,$05,$10,$05,$12 - db $00,$60,$40,$10,$50,$08,$50,$08,$54,$0c,$54,$06,$56,$02,$56,$02 + db $ec,$2e,$f4,$7a,$f4,$7a,$e4,$7b,$54,$eb,$54,$eb,$d5,$6a,$95,$6a + db $00,$30,$00,$10,$00,$10,$00,$10,$00,$1f,$04,$8b,$04,$8b,$04,$8b + db $01,$86,$01,$86,$01,$86,$01,$8e,$05,$8a,$05,$1a,$05,$1a,$07,$1a + db $00,$e0,$40,$b0,$50,$a8,$50,$a8,$54,$ac,$54,$ae,$56,$aa,$56,$aa db $0e,$1f,$1b,$1f,$3f,$37,$1f,$3c,$30,$5f,$3f,$50,$71,$9e,$7f,$90 db $00,$00,$80,$80,$c0,$c0,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$c0,$40 db $0b,$0c,$1f,$18,$17,$18,$1f,$10,$1f,$10,$3f,$30,$3f,$20,$3f,$20 - db $94,$40,$94,$40,$94,$40,$84,$50,$84,$50,$44,$90,$44,$90,$44,$90 - db $04,$89,$04,$89,$04,$89,$04,$89,$04,$89,$04,$89,$04,$89,$04,$89 - db $05,$12,$05,$12,$05,$12,$05,$12,$05,$12,$05,$12,$05,$12,$05,$12 - db $56,$02,$54,$03,$51,$06,$53,$0c,$63,$3c,$67,$78,$4f,$70,$5f,$60 - db $71,$9e,$ff,$1f,$e9,$19,$e9,$19,$df,$39,$df,$39,$bf,$79,$af,$69 + db $95,$6a,$95,$6a,$95,$6a,$95,$7a,$95,$7a,$55,$ba,$55,$ba,$55,$ba + db $04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b + db $07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a + db $56,$aa,$54,$af,$59,$ae,$53,$bc,$63,$bc,$67,$f8,$4f,$f0,$5f,$e0 + db $71,$9e,$ff,$1f,$ef,$19,$ef,$19,$df,$39,$df,$39,$bf,$79,$af,$69 db $c0,$40,$c0,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 db $3f,$20,$7e,$61,$7e,$41,$fe,$c1,$be,$c1,$be,$c1,$be,$c1,$bc,$c3 - db $44,$90,$44,$90,$44,$90,$44,$b0,$b4,$f1,$b4,$e1,$b4,$e1,$f4,$e1 - db $04,$89,$04,$89,$04,$89,$04,$89,$04,$09,$04,$09,$04,$09,$04,$09 - db $05,$12,$05,$12,$05,$12,$05,$12,$04,$09,$04,$09,$04,$09,$05,$09 - db $7f,$40,$7f,$40,$7e,$41,$7e,$41,$7d,$43,$5b,$67,$47,$7f,$ff,$ff + db $55,$ba,$55,$ba,$55,$ba,$55,$ba,$b4,$fb,$b4,$eb,$b4,$eb,$f4,$eb + db $04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$0b,$04,$0b,$04,$0b,$04,$0b + db $07,$1a,$07,$1a,$07,$1a,$07,$1a,$05,$0b,$05,$0b,$05,$0b,$05,$0b + db $7f,$c0,$7f,$c0,$7e,$c1,$7e,$c1,$7d,$c3,$5b,$e7,$47,$ff,$ff,$ff db $4f,$c9,$4f,$c9,$cf,$c9,$cf,$c9,$cf,$c9,$cf,$c9,$cf,$c9,$cf,$c9 db $91,$ef,$c7,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f - db $f4,$e1,$f4,$e1,$f4,$e1,$b4,$a1,$b4,$a1,$34,$21,$34,$21,$34,$21 - db $04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$09 - db $05,$08,$05,$08,$05,$08,$05,$08,$05,$08,$05,$08,$05,$08,$05,$08 - db $ff,$ff,$ff,$ff,$ff,$ff,$7f,$ff,$7f,$ff,$7f,$7f,$7f,$3f,$7f,$3f + db $f4,$eb,$f4,$eb,$d4,$eb,$94,$ab,$94,$ab,$14,$2b,$14,$2b,$14,$2b + db $04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b + db $05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a + db $ff,$ff,$ff,$ff,$ff,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$bf,$7f,$bf db $8f,$89,$8f,$89,$8f,$89,$8f,$89,$8f,$89,$8f,$89,$0f,$09,$0f,$09 db $3e,$3e,$1e,$1e,$0c,$0c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $34,$23,$74,$62,$54,$42,$54,$42,$54,$43,$54,$41,$54,$41,$55,$40 - db $04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$19,$05,$90,$05,$f0 - db $01,$0c,$01,$04,$01,$04,$01,$04,$01,$0c,$05,$88,$05,$98,$05,$f0 - db $5e,$3e,$5c,$1c,$50,$10,$50,$10,$50,$10,$50,$10,$58,$08,$58,$08 + db $14,$2b,$14,$6a,$14,$6a,$14,$6a,$14,$6b,$14,$6b,$14,$6b,$15,$6a + db $04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$1b,$05,$9a,$05,$fa + db $01,$0e,$01,$06,$01,$06,$01,$06,$01,$0e,$05,$8a,$05,$9a,$05,$fa + db $5e,$be,$5c,$bc,$40,$b0,$40,$b0,$40,$b0,$40,$b0,$50,$a8,$50,$a8 db $0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09 - db $55,$40,$55,$40,$55,$40,$55,$40,$55,$40,$55,$40,$55,$40,$55,$40 - db $55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00 - db $58,$08,$58,$08,$58,$08,$58,$08,$58,$08,$58,$08,$54,$04,$54,$04 - db $55,$40,$55,$40,$55,$40,$d5,$80,$d5,$80,$d5,$80,$d5,$80,$d5,$80 - db $54,$04,$54,$04,$54,$04,$54,$04,$54,$04,$54,$04,$54,$04,$54,$04 - db $d5,$80,$d5,$80,$d5,$80,$d5,$80,$d5,$80,$55,$80,$15,$c0,$15,$c0 - db $55,$00,$55,$00,$41,$00,$08,$08,$1c,$1c,$3e,$36,$1f,$0f,$1b,$19 - db $55,$00,$55,$00,$05,$00,$11,$10,$38,$38,$7c,$6c,$f8,$f0,$d8,$98 + db $15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a + db $50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$ac,$50,$ac + db $15,$6a,$15,$6a,$15,$6a,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa + db $50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac + db $55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$15,$ea,$15,$ea + db $55,$aa,$55,$aa,$41,$80,$08,$88,$1c,$1c,$3e,$36,$1f,$0f,$1b,$19 + db $55,$aa,$55,$aa,$05,$02,$11,$12,$38,$38,$7c,$6c,$f8,$f0,$d8,$98 db $03,$03,$07,$06,$7e,$7e,$4c,$7c,$44,$4c,$64,$6c,$7c,$3c,$00,$00 db $c0,$c0,$e0,$60,$7e,$7e,$32,$3e,$22,$32,$26,$36,$3e,$3c,$00,$00 db $00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02 @@ -84,7 +226,7 @@ TheHierophant: db $00,$01,$00,$1e,$04,$3b,$14,$6b,$30,$4e,$30,$4c,$20,$5e,$20,$57 db $00,$61,$00,$40,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$c0 db $00,$81,$00,$81,$00,$83,$00,$82,$00,$86,$00,$fe,$00,$02,$00,$02 - db $54,$04,$54,$04,$54,$04,$54,$04,$54,$05,$54,$05,$55,$06,$55,$06 + db $50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ad,$50,$ad,$51,$ae,$51,$ae db $0f,$09,$0f,$09,$00,$3f,$0e,$f1,$7f,$80,$ff,$00,$ff,$00,$80,$7f db $00,$00,$00,$00,$00,$00,$00,$80,$80,$40,$80,$40,$00,$c0,$00,$c0 db $3c,$c3,$3c,$c2,$7c,$82,$18,$e6,$00,$3c,$00,$00,$00,$00,$00,$00 @@ -105,9 +247,10 @@ TheHierophant: db $00,$81,$00,$81,$00,$c1,$00,$41,$00,$61,$00,$7f,$00,$40,$00,$40 db $01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02 db $80,$40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$40 - db $00,$40,$00,$40,$00,$40,$00,$80,$00,$80,$00,$f0,$00,$00,$00,$00 - db $00,$00,$00,$00,$00,$1f,$00,$08,$00,$08,$00,$04,$00,$04,$00,$04 - db $00,$00,$00,$00,$00,$f8,$00,$10,$00,$10,$00,$20,$00,$20,$00,$20 + db $60,$60,$40,$40,$40,$40,$c0,$c0,$80,$80,$f0,$f0,$00,$00,$00,$00 + db $00,$00,$00,$00,$1f,$1f,$08,$08,$08,$08,$0c,$0c,$04,$04,$04,$04 + db $00,$00,$00,$00,$f8,$f8,$10,$10,$10,$10,$30,$30,$20,$20,$20,$20 + db $55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa .KeyArtTilesEnd: .BackgroundCopy: ; tiles start at 26 @@ -120,11 +263,11 @@ TheHierophant: db $1a, $42, $43, $44, $45, $46, $47, $1a db $1a, $48, $49, $4a, $4b, $4c, $4d, $1a db $1a, $4e, $4f, $50, $51, $52, $53, $1a - db $1a, $1a, $54, $55, $55, $56, $53, $1a - db $1a, $1a, $57, $55, $55, $58, $53, $1a - db $6b, $6c, $59, $5a, $5b, $64, $65, $66 - db $6d, $6e, $78, $5c, $5d, $77, $5f, $60 - db $70, $71, $72, $1a, $1a, $61, $67, $68 - db $73, $74, $75, $7a, $7b, $62, $69, $6a - db $6f, $1a, $76, $1b, $79, $63, $1a, $5e + db $1a, $1a, $54, $7b, $7b, $55, $53, $1a + db $1a, $1a, $56, $7b, $7b, $57, $53, $1a + db $6a, $6b, $58, $59, $5a, $63, $64, $65 + db $6c, $6d, $77, $5b, $5c, $76, $5e, $5f + db $6f, $70, $71, $1a, $1a, $60, $66, $67 + db $72, $73, $74, $79, $7a, $61, $68, $69 + db $6e, $1a, $75, $1b, $78, $62, $1a, $5d .BackgroundCopyEnd: diff --git a/05thehierophant.aseprite b/05thehierophant.aseprite index 73fd872..4cda4f2 100644 Binary files a/05thehierophant.aseprite and b/05thehierophant.aseprite differ diff --git a/07TheChariot.inc b/07TheChariot.inc index 29eea74..a7d1386 100644 --- a/07TheChariot.inc +++ b/07TheChariot.inc @@ -8,6 +8,17 @@ TheChariot: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/08Strength.inc b/08Strength.inc index 892aeea..037ae13 100644 --- a/08Strength.inc +++ b/08Strength.inc @@ -8,7 +8,17 @@ Strength: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/09TheHermit.inc b/09TheHermit.inc index ac4e24c..3363719 100644 --- a/09TheHermit.inc +++ b/09TheHermit.inc @@ -8,7 +8,17 @@ TheHermit: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/10WheelOfFortune.inc b/10WheelOfFortune.inc index d77a501..3d787a3 100644 --- a/10WheelOfFortune.inc +++ b/10WheelOfFortune.inc @@ -8,7 +8,17 @@ WheelOfFortune: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/11Justice.inc b/11Justice.inc index 83a7640..e935728 100644 --- a/11Justice.inc +++ b/11Justice.inc @@ -8,7 +8,17 @@ Justice: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/12TheHangedMan.inc b/12TheHangedMan.inc index 57371c3..e242308 100644 --- a/12TheHangedMan.inc +++ b/12TheHangedMan.inc @@ -8,7 +8,17 @@ TheHangedMan: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: ; original export script by gabriel reis, modified by shoofle diff --git a/13Death.inc b/13Death.inc index f95b80a..e58ecfe 100644 --- a/13Death.inc +++ b/13Death.inc @@ -8,7 +8,18 @@ Death: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle .KeyArtTiles: diff --git a/14Temperance.inc b/14Temperance.inc index aa49ac8..d866e93 100644 --- a/14Temperance.inc +++ b/14Temperance.inc @@ -8,7 +8,18 @@ Temperance: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: + ; original export script by gabriel reis, modified by shoofle diff --git a/15TheDevil.inc b/15TheDevil.inc index 9fa6167..ed631bc 100644 --- a/15TheDevil.inc +++ b/15TheDevil.inc @@ -8,7 +8,18 @@ TheDevil: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle .KeyArtTiles: diff --git a/16TheTower.inc b/16TheTower.inc index 1120293..faa64ed 100644 --- a/16TheTower.inc +++ b/16TheTower.inc @@ -8,7 +8,18 @@ TheTower: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle .KeyArtTiles: diff --git a/17TheStar.inc b/17TheStar.inc index 94d7b52..1aa102e 100644 --- a/17TheStar.inc +++ b/17TheStar.inc @@ -8,7 +8,18 @@ TheStar: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle .KeyArtTiles: diff --git a/18TheMoon.inc b/18TheMoon.inc index eaa32a4..960575d 100644 --- a/18TheMoon.inc +++ b/18TheMoon.inc @@ -8,7 +8,18 @@ TheMoon: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle .KeyArtTiles: diff --git a/19TheSun.inc b/19TheSun.inc index 6d210ad..bf83e3d 100644 --- a/19TheSun.inc +++ b/19TheSun.inc @@ -8,7 +8,18 @@ TheSun: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle .KeyArtTiles: diff --git a/20Judgement.inc b/20Judgement.inc index 0ca4e90..076d95f 100644 --- a/20Judgement.inc +++ b/20Judgement.inc @@ -8,7 +8,18 @@ Judgement: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.SpriteTilesEnd: +; original export script by gabriel reis, modified by shoofle ; sparks flying off ; original export script by gabriel reis, modified by shoofle diff --git a/21TheWorld.inc b/21TheWorld.inc index 8e3040f..d9a7483 100644 --- a/21TheWorld.inc +++ b/21TheWorld.inc @@ -8,8 +8,18 @@ TheWorld: dw .BackgroundCopy dw .KeyArtTilesEnd - .KeyArtTiles dw .KeyArtTiles - ; original export script by gabriel reis, modified by shoofle -; continents + dw .SpriteTilesEnd - .SpriteTiles + dw .SpriteTiles + dw .fInit + dw .fUpdate + dw .fDraw + +.fInit: ret +.fUpdate: ret +.fDraw: ret +.SpriteTiles: +.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 diff --git a/Async.inc b/Async.inc index e7280c1..96426d6 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 150 +def SAFE_ASYNC_START EQU 148 def SAFE_ASYNC_END EQU 153 Async_Spawn_HL: @@ -161,6 +161,11 @@ Async_Spawn: ei ret +Async_Kill: + ld hl, EndOfInstructions + call Async_Spawn_HL + ret + Async_EnterThread: ;stack looks like: ;c113 (SMC int @ LYC 90 pc), 004b (hw int @ LYC 90 pc), outer context pc diff --git a/CardHelpers.inc b/CardHelpers.inc index 34fe1f2..f5b0eba 100644 --- a/CardHelpers.inc +++ b/CardHelpers.inc @@ -1,5 +1,6 @@ ; CARD_HELPER_VARS_START defines the beginning of the $100 bytes set aside for system usage -def cvCardAddress equ 0 ; location of the current card's struct +def cvCardBank equ 0 +def cvCardAddress equ 1 ; location of the current card's struct LoadCardData: LoadCardDataAsync: @@ -30,6 +31,7 @@ LoadCardDataAsync: add hl, bc ; triple add bc entries are bank, addr, addr ld a, [hl+] + ld [CARD_HELPER_VARS_START + cvCardBank], a ld [rROMB0], a ; select the specified bank ; follow the pointer we're looking at, and write it to cvCardAddress ld a, [hl+] @@ -76,7 +78,7 @@ LoadCardDataAsync: ld b, 16 ; height ld c, 8 ; width - call CopyTilesToMapUnsafe + call CopyTilesToMap ld a, [CARD_HELPER_VARS_START + cvCardAddress] ld l, a @@ -100,7 +102,7 @@ LoadCardDataAsync: ld l, e ; hl takes the source ld de, $9000 + VARIABLE_TILES_START*$10 ; always load tile data into the same spot in vram - call CopyRangeUnsafe + call CopyRange ld a, [CARD_HELPER_VARS_START + cvCardAddress] @@ -125,7 +127,7 @@ LoadCardDataAsync: ld l, e ; hl takes the source ld de, $8000 ; sprite tiles get loaded into the bottom of vram - call CopyRangeUnsafe + call CopyRange ld a, [CARD_HELPER_VARS_START + cvCardAddress] ld l, a @@ -133,8 +135,7 @@ LoadCardDataAsync: ld h, a ; hl now contains the address of the card data. ld b, 0 - ld c, Card_Offset_functions ; jump straight to sprite tiles length and location! - + ld c, Card_Offset_functions ; jump straight to function handles add hl, bc ; hl now points to the card functions ld a, [hl+] @@ -158,6 +159,12 @@ CardInit: ld a, [rLCDC] and a, %1111_1011 ld [rLCDC], a + + ld hl, ZEROES + ld de, MY_OAM + ld bc, $100 + call CopyRange + call CARD_INIT - 1 ret diff --git a/CardLibrary.inc b/CardLibrary.inc index 526b3a7..9b68b68 100644 --- a/CardLibrary.inc +++ b/CardLibrary.inc @@ -177,24 +177,30 @@ INCLUDE "01TheMagician.inc" INCLUDE "02TheHighPriestess.inc" INCLUDE "03TheEmpress.inc" INCLUDE "04TheEmperor.inc" + + +SECTION "Second Eight Cards", ROMX INCLUDE "05TheHierophant.inc" INCLUDE "06TheLovers.inc" INCLUDE "07TheChariot.inc" - -SECTION "Second Eight Cards", ROMX INCLUDE "08Strength.inc" INCLUDE "09TheHermit.inc" + + +SECTION "Third Eight Cards", ROMX INCLUDE "10WheelOfFortune.inc" INCLUDE "11Justice.inc" INCLUDE "12TheHangedMan.inc" INCLUDE "13Death.inc" INCLUDE "14Temperance.inc" -INCLUDE "15TheDevil.inc" -SECTION "Third Eight Cards", ROMX +SECTION "Fourth Eight Cards", ROMX +INCLUDE "15TheDevil.inc" INCLUDE "16TheTower.inc" INCLUDE "17TheStar.inc" INCLUDE "18TheMoon.inc" INCLUDE "19TheSun.inc" + +SECTION "FIFTH EIGHT CARDS", ROMX INCLUDE "20Judgement.inc" INCLUDE "21TheWorld.inc" \ No newline at end of file diff --git a/CopyRangeSafe.inc b/CopyRangeSafe.inc index 5d07fff..89ef549 100644 --- a/CopyRangeSafe.inc +++ b/CopyRangeSafe.inc @@ -14,17 +14,21 @@ DEF SAFE_TRANSFER_END EQU 153 CopyRange: -CopyRangeUnsafe: ; this is threadsafe but not vblank safe +CopyRangeUnsafe: ; hl is source ; de is destination ; bc is length to copy + ld a, b + or a, c + ret z +.loop ld a, [hl+] ld [de], a inc de dec bc ld a, b or a, c ; check if bc is zero - jp nz, CopyRange + jp nz, .loop ret @@ -34,7 +38,10 @@ CopyRangeUnsafeBy8s: ; de is destination ; bc is 1/8 of length to copy!!! ; so like this will copy 8*bc bytes! - + ld a, b + or a, c + ret z +.loop ld a, [hl+] ld [de], a inc de @@ -62,7 +69,5 @@ CopyRangeUnsafeBy8s: dec bc ld a, b or a, c ; check if bc is zero - jp nz, CopyRangeBy8s - nop - nop + jp nz, .loop ret \ No newline at end of file diff --git a/KeyArtTiles.asm b/KeyArtTiles.asm index ec3f80c..a0c2fca 100644 --- a/KeyArtTiles.asm +++ b/KeyArtTiles.asm @@ -4,42 +4,120 @@ KeyArtTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa - db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa - db $00,$ff,$fe,$ff,$fe,$ff,$06,$ff,$f6,$ff,$56,$bf,$b6,$5f,$56,$bf - db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa - db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa - db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf - db $6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff - db $aa,$55,$55,$aa,$aa,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff - db $b6,$5f,$56,$bf,$b6,$5f,$f6,$ff,$06,$ff,$fe,$ff,$fe,$ff,$00,$ff - db $ff,$00,$80,$7f,$80,$7f,$9f,$7f,$9f,$7f,$98,$78,$99,$79,$9a,$7a - db $ff,$00,$01,$fe,$01,$fe,$f9,$fe,$f9,$fe,$19,$1e,$19,$1e,$d9,$de - db $9a,$7a,$99,$79,$98,$78,$9c,$78,$99,$78,$9b,$79,$9b,$7a,$9b,$7a - db $d9,$de,$99,$9e,$d9,$de,$f9,$de,$99,$9e,$d9,$9e,$d9,$9e,$d9,$5e - db $98,$78,$98,$7b,$99,$7a,$9a,$7c,$9f,$7b,$99,$79,$99,$79,$98,$78 - db $59,$5e,$19,$fe,$f9,$1e,$19,$1e,$d9,$de,$d9,$de,$59,$5e,$19,$1e - db $98,$79,$98,$79,$98,$78,$9f,$7f,$9f,$7f,$80,$7f,$80,$7f,$ff,$00 - db $19,$9e,$19,$9e,$19,$1e,$f9,$fe,$f9,$fe,$01,$fe,$01,$fe,$ff,$00 + db $06,$06,$02,$02,$02,$02,$03,$03,$01,$01,$0f,$0f,$00,$00,$00,$00 + db $00,$00,$18,$19,$3c,$3f,$26,$27,$42,$43,$43,$43,$41,$41,$40,$40 + db $00,$00,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$e0,$80,$e0,$80,$f0 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01 + db $00,$00,$00,$00,$00,$00,$0f,$0f,$0f,$09,$0f,$09,$0f,$09,$ff,$f9 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8,$f8 + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01 + db $80,$80,$80,$80,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00 + db $c0,$f0,$40,$78,$60,$78,$20,$38,$30,$38,$10,$18,$18,$18,$08,$08 + db $01,$01,$00,$00,$00,$00,$00,$00,$0f,$0f,$0f,$0f,$00,$00,$00,$00 + db $ff,$f9,$0f,$09,$0f,$09,$0f,$09,$ff,$f9,$ff,$f9,$0f,$09,$0f,$09 + db $f8,$f8,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$07 + db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00 + db $00,$00,$00,$3f,$1e,$61,$3f,$c0,$7f,$80,$76,$89,$7f,$99,$7f,$80 + db $08,$08,$08,$08,$08,$c8,$88,$68,$c8,$38,$e8,$18,$f0,$88,$e0,$18 + db $00,$00,$3f,$3f,$3f,$3f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $0f,$09,$ff,$f9,$ff,$f9,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09 + db $00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $0d,$0b,$0d,$0a,$0d,$0a,$0d,$0a,$0d,$0a,$1d,$1a,$3f,$38,$7e,$41 + db $80,$80,$80,$80,$80,$80,$80,$80,$b0,$b0,$d0,$f0,$90,$d0,$e0,$a3 + db $39,$c6,$3f,$40,$18,$67,$1f,$20,$0f,$30,$0f,$1f,$00,$18,$00,$f1 + db $e0,$10,$e0,$10,$c0,$30,$e0,$20,$c0,$40,$80,$80,$00,$80,$00,$ff + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0 + db $0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$19 + db $f7,$88,$d7,$a8,$d7,$a8,$7f,$70,$3f,$60,$3f,$30,$1f,$18,$0b,$0c + db $ec,$2e,$f4,$7a,$f4,$7a,$e4,$7b,$54,$eb,$54,$eb,$d5,$6a,$95,$6a + db $00,$30,$00,$10,$00,$10,$00,$10,$00,$1f,$04,$8b,$04,$8b,$04,$8b + db $01,$86,$01,$86,$01,$86,$01,$8e,$05,$8a,$05,$1a,$05,$1a,$07,$1a + db $00,$e0,$40,$b0,$50,$a8,$50,$a8,$54,$ac,$54,$ae,$56,$aa,$56,$aa + db $0e,$1f,$1b,$1f,$3f,$37,$1f,$3c,$30,$5f,$3f,$50,$71,$9e,$7f,$90 + db $00,$00,$80,$80,$c0,$c0,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$c0,$40 + db $0b,$0c,$1f,$18,$17,$18,$1f,$10,$1f,$10,$3f,$30,$3f,$20,$3f,$20 + db $95,$6a,$95,$6a,$95,$6a,$95,$7a,$95,$7a,$55,$ba,$55,$ba,$55,$ba + db $04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b + db $07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a + db $56,$aa,$54,$af,$59,$ae,$53,$bc,$63,$bc,$67,$f8,$4f,$f0,$5f,$e0 + db $71,$9e,$ff,$1f,$ef,$19,$ef,$19,$df,$39,$df,$39,$bf,$79,$af,$69 + db $c0,$40,$c0,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3f,$20,$7e,$61,$7e,$41,$fe,$c1,$be,$c1,$be,$c1,$be,$c1,$bc,$c3 + db $55,$ba,$55,$ba,$55,$ba,$55,$ba,$b4,$fb,$b4,$eb,$b4,$eb,$f4,$eb + db $04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$0b,$04,$0b,$04,$0b,$04,$0b + db $07,$1a,$07,$1a,$07,$1a,$07,$1a,$05,$0b,$05,$0b,$05,$0b,$05,$0b + db $7f,$c0,$7f,$c0,$7e,$c1,$7e,$c1,$7d,$c3,$5b,$e7,$47,$ff,$ff,$ff + db $4f,$c9,$4f,$c9,$cf,$c9,$cf,$c9,$cf,$c9,$cf,$c9,$cf,$c9,$cf,$c9 + db $91,$ef,$c7,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f + db $f4,$eb,$f4,$eb,$d4,$eb,$94,$ab,$94,$ab,$14,$2b,$14,$2b,$14,$2b + db $04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b + db $05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a,$05,$0a + db $ff,$ff,$ff,$ff,$ff,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$bf,$7f,$bf + db $8f,$89,$8f,$89,$8f,$89,$8f,$89,$8f,$89,$8f,$89,$0f,$09,$0f,$09 + db $3e,$3e,$1e,$1e,$0c,$0c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $14,$2b,$14,$6a,$14,$6a,$14,$6a,$14,$6b,$14,$6b,$14,$6b,$15,$6a + db $04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$1b,$05,$9a,$05,$fa + db $01,$0e,$01,$06,$01,$06,$01,$06,$01,$0e,$05,$8a,$05,$9a,$05,$fa + db $5e,$be,$5c,$bc,$40,$b0,$40,$b0,$40,$b0,$40,$b0,$50,$a8,$50,$a8 + db $0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09,$0f,$09 + db $15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a + db $50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$ac,$50,$ac + db $15,$6a,$15,$6a,$15,$6a,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa + db $50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac + db $55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$15,$ea,$15,$ea + db $55,$aa,$55,$aa,$41,$80,$08,$88,$1c,$1c,$3e,$36,$1f,$0f,$1b,$19 + db $55,$aa,$55,$aa,$05,$02,$11,$12,$38,$38,$7c,$6c,$f8,$f0,$d8,$98 + db $03,$03,$07,$06,$7e,$7e,$4c,$7c,$44,$4c,$64,$6c,$7c,$3c,$00,$00 + db $c0,$c0,$e0,$60,$7e,$7e,$32,$3e,$22,$32,$26,$36,$3e,$3c,$00,$00 + db $00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02 + db $80,$7f,$00,$ff,$00,$ff,$03,$fc,$7f,$80,$fe,$01,$fc,$03,$fc,$02 + db $00,$c0,$00,$c0,$80,$40,$80,$40,$00,$80,$00,$00,$00,$00,$00,$00 + db $00,$01,$00,$1e,$04,$3b,$14,$6b,$30,$4e,$30,$4c,$20,$5e,$20,$57 + db $00,$61,$00,$40,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$c0,$00,$c0 + db $00,$81,$00,$81,$00,$83,$00,$82,$00,$86,$00,$fe,$00,$02,$00,$02 + db $50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ad,$50,$ad,$51,$ae,$51,$ae + db $0f,$09,$0f,$09,$00,$3f,$0e,$f1,$7f,$80,$ff,$00,$ff,$00,$80,$7f + db $00,$00,$00,$00,$00,$00,$00,$80,$80,$40,$80,$40,$00,$c0,$00,$c0 + db $3c,$c3,$3c,$c2,$7c,$82,$18,$e6,$00,$3c,$00,$00,$00,$00,$00,$00 + db $00,$fc,$00,$3e,$00,$16,$00,$12,$00,$12,$00,$33,$00,$23,$00,$61 + db $00,$e1,$00,$3f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$c3,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$03,$00,$02 + db $00,$00,$00,$00,$00,$00,$00,$01,$01,$02,$01,$02,$00,$03,$00,$03 + db $00,$00,$00,$00,$00,$fc,$70,$8f,$fe,$01,$ff,$00,$ff,$00,$01,$fe + db $00,$03,$00,$03,$01,$02,$01,$02,$00,$01,$00,$00,$00,$00,$00,$00 + db $01,$fe,$00,$ff,$00,$ff,$c0,$3f,$fe,$01,$7f,$80,$3f,$c0,$3f,$c0 + db $00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40 + db $00,$3f,$00,$7c,$00,$68,$00,$48,$00,$48,$00,$cc,$00,$c4,$00,$86 + db $3c,$c3,$3c,$43,$3e,$41,$18,$67,$00,$3c,$00,$00,$00,$00,$00,$00 + db $00,$80,$00,$78,$20,$dc,$28,$d6,$0c,$72,$0c,$32,$04,$7a,$04,$ea + db $00,$c3,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$c0,$00,$40 + db $00,$87,$00,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$86,$00,$02,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03 + db $00,$81,$00,$81,$00,$c1,$00,$41,$00,$61,$00,$7f,$00,$40,$00,$40 + db $01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02,$01,$02 + db $80,$40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$40,$80,$40 + db $60,$60,$40,$40,$40,$40,$c0,$c0,$80,$80,$f0,$f0,$00,$00,$00,$00 + db $00,$00,$00,$00,$1f,$1f,$08,$08,$08,$08,$0c,$0c,$04,$04,$04,$04 + db $00,$00,$00,$00,$f8,$f8,$10,$10,$10,$10,$30,$30,$20,$20,$20,$20 + db $55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa BackgroundCopy: - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $01, $02, $03, $0a, $0b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $04, $05, $06, $0c, $0d, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $04, $05, $06, $0e, $0f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $04, $05, $06, $10, $11, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $07, $08, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + db $1a, $1a, $1a, $1c, $1d, $1e, $1f, $20 + db $1a, $1a, $21, $22, $23, $24, $25, $26 + db $1a, $27, $28, $29, $2a, $2b, $2c, $2d + db $1a, $2e, $2f, $30, $31, $32, $33, $1a + db $1a, $34, $35, $36, $37, $38, $39, $3a + db $1a, $3b, $3c, $3d, $3e, $3f, $40, $41 + db $1a, $42, $43, $44, $45, $46, $47, $1a + db $1a, $48, $49, $4a, $4b, $4c, $4d, $1a + db $1a, $4e, $4f, $50, $51, $52, $53, $1a + db $1a, $1a, $54, $7b, $7b, $55, $53, $1a + db $1a, $1a, $56, $7b, $7b, $57, $53, $1a + db $6a, $6b, $58, $59, $5a, $63, $64, $65 + db $6c, $6d, $77, $5b, $5c, $76, $5e, $5f + db $6f, $70, $71, $1a, $1a, $60, $66, $67 + db $72, $73, $74, $79, $7a, $61, $68, $69 + db $6e, $1a, $75, $1b, $78, $62, $1a, $5d diff --git a/ScreenCardBrowse.inc b/ScreenCardBrowse.inc index 98f2a9d..564386c 100644 --- a/ScreenCardBrowse.inc +++ b/ScreenCardBrowse.inc @@ -11,15 +11,15 @@ CardBrowseSetup: ld a, 1 ld [vBlocked], a - ld hl, .asyncTask - call Async_Spawn_HL - ; make sure working oam is clear ld hl, ZEROES ld de, MY_OAM ld bc, $100 call CopyRange - + + ld hl, .asyncTask + call Async_Spawn_HL + ret .asyncTask: @@ -91,6 +91,12 @@ CardBrowseUpdate: ld hl, RefreshCardTask call Async_Spawn_HL + ; make sure working oam is clear + ld hl, ZEROES + ld de, MY_OAM + ld bc, $100 + call CopyRange + ret diff --git a/ScreenMainMenu.inc b/ScreenMainMenu.inc index ab4f550..76b03d3 100644 --- a/ScreenMainMenu.inc +++ b/ScreenMainMenu.inc @@ -26,21 +26,21 @@ MainMenuSetup: ; Turn the LCD off ld hl, rLCDC bit 7, [hl] - jp z, MainMenuSetup_ScreenOff -MainMenuSetup_BusyWait: + jp z, .screenOff +.busyWait ld a, [rLY] cp a, 143 - jp c, MainMenuSetup_BusyWait - ld [hl], 0 + ;jp c, .busyWait -MainMenuSetup_ScreenOff: +.screenOff: ld a, 0 ldh [rLCDC], a ld hl, SquaresTileset8 ld de, $8010 + $80*16 - ld bc, (SquaresTilesetEnd - SquaresTileset8) - call CopyRangeUnsafe + ld bc, 16 +;println "the diff is ", SquaresTilesetEnd - SquaresTileset8 + call CopyRange def spacing equ $12 @@ -48,7 +48,7 @@ MainMenuSetup_ScreenOff: def TileStartCardBackSprites24 equ 0 ld de, $8000 + TileStartCardBackSprites24*$10; destination of copy ld bc, CardBackSprites24End - CardBackSprites24 ; length to copy - call CopyRangeUnsafe + call CopyRange ld hl, CardBackSprites23 def TileStartCardBackSprites23 equ TileStartCardBackSprites24 + spacing @@ -60,45 +60,45 @@ MainMenuSetup_ScreenOff: def TileStartCardBackSprites22 equ TileStartCardBackSprites23 + spacing ld de, $8000 + TileStartCardBackSprites22*$10; destination of copy ld bc, CardBackSprites22End - CardBackSprites22 - call CopyRangeUnsafe + call CopyRange ld hl, CardBackSprites21 def TileStartCardBackSprites21 equ TileStartCardBackSprites22 + spacing ld de, $8000 + TileStartCardBackSprites21*$10; destination of copy ld bc, CardBackSprites21End - CardBackSprites21 - call CopyRangeUnsafe + call CopyRange ld hl, CardBackSprites20 def TileStartCardBackSprites20 equ TileStartCardBackSprites21 + spacing ld de, $8000 + TileStartCardBackSprites20*$10 ld bc, CardBackSprites20End - CardBackSprites20 - call CopyRangeUnsafe + call CopyRange ld hl, CardBackSprites19 def TileStartCardBackSprites19 equ TileStartCardBackSprites20 + spacing ld de, $8000 + TileStartCardBackSprites19*$10 ld bc, CardBackSprites19End - CardBackSprites19 - call CopyRangeUnsafe + call CopyRange ld hl, CardBackSprites18 def TileStartCardBackSprites18 equ TileStartCardBackSprites19 + spacing ld de, $8000 + TileStartCardBackSprites18*$10 ld bc, CardBackSprites18End - CardBackSprites18 - call CopyRangeUnsafe + call CopyRange ld hl, CardBackSprites17 def TileStartCardBackSprites17 equ TileStartCardBackSprites18 + spacing ld de, $8000 + TileStartCardBackSprites17*$10 ld bc, CardBackSprites17End - CardBackSprites17 - call CopyRangeUnsafe + call CopyRange def TileStartCardBackSprites16 equ TileStartCardBackSprites17 + spacing - ld hl, SquaresTilemap + ld hl, MainUITilemap ld de, $9800 ld b, 18 ld c, 20 - call CopyTilesToMapUnsafe + call CopyTilesToMap ld hl, StringRead ld de, $9800 + 32*11 + 4 @@ -112,15 +112,16 @@ MainMenuSetup_ScreenOff: ; clear out the dma source - ld hl, $c000 + ld hl, MY_OAM ld a, 0 : ld [hl+], a cp a, l - jp nz, :- + jp nz, :- ; this was clever. as long as a (0) doesn't equal l (low bit of address) we loop + ; so this goes until l loops around to 0 ld de, SAFE_DMA_LOCATION - ld a, $c0 + ld a, HIGH(MY_OAM) call RunDMA ; set LCD and display registers @@ -262,7 +263,7 @@ MainMenuUpdate: ld a, [vTime+1] cp a, $01 - jp c, MainMenuUpdate_Done ; if the timer is less than $0100, skip to end + jp c, .allDone ; if the timer is less than $0100, skip to end ;otherwise reset the timer ld a, 0 @@ -310,7 +311,7 @@ MainMenuUpdate: ld c, a ; x coordinate ld a, [hl+] ld e, a ; width - ld hl, $c000 + ld hl, MY_OAM call DrawWholeCard ld hl, Coords @@ -327,7 +328,7 @@ MainMenuUpdate: ld c, a ; x coordinate ld a, [hl+] ld e, a ; width - ld hl, $c000 + 9*4 + ld hl, MY_OAM + 9*4 call DrawWholeCard ld hl, Coords @@ -344,43 +345,18 @@ MainMenuUpdate: ld c, a ; x coordinate ld a, [hl+] ld e, a ; width - ld hl, $c000 + 18*4 + ld hl, MY_OAM + 18*4 call DrawWholeCard -MainMenuUpdate_Done: +.allDone ret MainMenuDraw: - ld hl, $9800 + 32*11 + 3 - 64 - ld a, [vMenuIndexPrevious] - inc a - ld b, 0 - ld c, 32 -.findLastCaret - add hl, bc - add hl, bc - dec a - jp nz, .findLastCaret - ld [hl], $0 - - ld hl, $9800 + 32*11 + 3 - 64 - ld a, [vMenuIndex] - inc a -.findNewCaret - add hl, bc - add hl, bc - dec a - jp nz, .findNewCaret - ld [hl], $80 + $10 + $9 - - ld a, [vMenuIndex] - ld [vMenuIndexPrevious], a - - - ld de, vMenuIndexPrevious+2 - ld a, $c0 + ld de, SAFE_DMA_LOCATION + ld a, HIGH(MY_OAM) call RunDMA + di ld hl, SquaresTiles inc hl ld b, 0 @@ -397,6 +373,35 @@ MainMenuDraw: ld bc, (SquaresTileset8 - SquaresTileset7) / 8 call CopyRangeUnsafeBy8s + ld b, 0 + ld c, 32 + + ; find the location of the last selected caret and make it blank + ld hl, $9800 + 32*11 + 3 - 64 + ld a, [vMenuIndexPrevious] + inc a +.findLastCaret + add hl, bc + add hl, bc + dec a + jp nz, .findLastCaret + ld [hl], $0 + + ;find the location of the new selected caret and make it a caret + ; bc contains 32 (row stride of bgmap) + ld hl, $9800 + 32*11 + 3 - 64 + ld a, [vMenuIndex] + inc a +.findNewCaret + add hl, bc + add hl, bc + dec a + jp nz, .findNewCaret + ld [hl], $80 + $10 + $9 + + ld a, [vMenuIndex] + ld [vMenuIndexPrevious], a + ei ret MainMenuTeardown: @@ -431,10 +436,10 @@ DrawWholeCard: ; hl memory location, b y, c x, e width, d wiggle cp a, 17 ld e, TileStartCardBackSprites17 jp z, Draw3x3Card - + + ; else fall through into 2x2card ld e, TileStartCardBackSprites16 jp Draw2x2Card - ; else fall through into 2x2card Draw2x2Card: ; hl memory location, b y coord, c x coord, e tile start @@ -824,7 +829,7 @@ StringShuffle: StringBrowse: db 11, "Browse Deck" Coords: ; y, x, spread -db 255, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $23, $12, $15, $23, $13, $15, $23, $13, $15, $23, $13, $15, $23, $13, $15, $23, $14, $15, $23, $14, $15, $23, $14, $15, $23, $15, $15, $23, $15, $15, $22, $16, $16, $22, $16, $16, $22, $17, $16, $22, $18, $16, $22, $18, $16, $22, $19, $16, $22, $1a, $16, $22, $1a, $16, $22, $1b, $16, $22, $1c, $16, $22, $1d, $16, $22, $1e, $16, $21, $1e, $17, $21, $1f, $17, $21, $20, $17, $21, $21, $17, $21, $22, $17, $21, $23, $17, $21, $24, $17, $21, $25, $17, $21, $27, $17, $21, $28, $17, $21, $29, $17, $21, $2a, $17, $21, $2b, $17, $21, $2c, $17, $21, $2e, $17, $21, $2f, $17, $20, $30, $18, $20, $31, $18, $20, $33, $18, $20, $34, $18, $20, $35, $18, $20, $37, $18, $20, $38, $18, $20, $3a, $18, $20, $3b, $18, $20, $3c, $18, $20, $3e, $18, $20, $3f, $18, $20, $41, $18, $20, $42, $18, $20, $44, $18, $20, $45, $18, $20, $46, $18, $20, $48, $18, $20, $49, $18, $20, $4b, $18, $20, $4c, $18, $20, $4e, $18, $20, $4f, $18, $20, $51, $18, $20, $52, $18, $20, $54, $18, $20, $55, $18, $20, $57, $18, $20, $58, $18, $20, $5a, $18, $20, $5b, $18, $20, $5c, $18, $20, $5e, $18, $20, $5f, $18, $20, $61, $18, $20, $62, $18, $20, $64, $18, $20, $65, $18, $20, $66, $18, $20, $68, $18, $20, $69, $18, $21, $6a, $17, $21, $6c, $17, $21, $6d, $17, $21, $6e, $17, $21, $6f, $17, $21, $71, $17, $21, $72, $17, $21, $73, $17, $21, $74, $17, $21, $75, $17, $21, $76, $17, $21, $77, $17, $21, $78, $17, $21, $7a, $17, $21, $7b, $17, $21, $7b, $17, $22, $7c, $16, $22, $7d, $16, $22, $7e, $16, $22, $7f, $16, $22, $80, $16, $22, $81, $16, $22, $82, $16, $22, $82, $16, $22, $83, $16, $22, $84, $16, $22, $84, $16, $23, $85, $15, $23, $86, $15, $23, $86, $15, $23, $87, $15, $23, $87, $15, $23, $87, $15, $23, $88, $15, $23, $88, $15, $23, $89, $15, $23, $89, $15, $23, $89, $15, $24, $89, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $25, $8a, $13, $25, $8a, $13, $25, $89, $13, $25, $89, $13, $25, $89, $13, $25, $89, $13, $25, $88, $13, $25, $88, $13, $25, $87, $13, $25, $87, $13, $25, $86, $13, $26, $86, $12, $26, $85, $12, $26, $85, $12, $26, $84, $12, $26, $83, $12, $26, $83, $12, $26, $82, $12, $26, $81, $12, $26, $81, $12, $26, $80, $12, $26, $7f, $12, $27, $7e, $11, $27, $7d, $11, $27, $7c, $11, $27, $7b, $11, $27, $7a, $11, $27, $79, $11, $27, $78, $11, $27, $77, $11, $27, $76, $11, $27, $75, $11, $27, $74, $11, $27, $73, $11, $27, $71, $11, $27, $70, $11, $27, $6f, $11, $27, $6e, $11, $28, $6c, $10, $28, $6b, $10, $28, $6a, $10, $28, $69, $10, $28, $67, $10, $28, $66, $10, $28, $65, $10, $28, $63, $10, $28, $62, $10, $28, $60, $10, $28, $5f, $10, $28, $5e, $10, $28, $5c, $10, $28, $5b, $10, $28, $59, $10, $28, $58, $10, $28, $56, $10, $28, $55, $10, $28, $53, $10, $28, $52, $10, $28, $50, $10, $28, $4f, $10, $28, $4d, $10, $28, $4c, $10, $28, $4a, $10, $28, $49, $10, $28, $48, $10, $28, $46, $10, $28, $45, $10, $28, $43, $10, $28, $42, $10, $28, $40, $10, $28, $3f, $10, $28, $3d, $10, $28, $3c, $10, $28, $3b, $10, $28, $39, $10, $28, $38, $10, $28, $36, $10, $28, $35, $10, $28, $34, $10, $27, $32, $11, $27, $31, $11, $27, $30, $11, $27, $2f, $11, $27, $2d, $11, $27, $2c, $11, $27, $2b, $11, $27, $2a, $11, $27, $28, $11, $27, $27, $11, $27, $26, $11, $27, $25, $11, $27, $24, $11, $27, $23, $11, $27, $22, $11, $27, $21, $11, $26, $20, $12, $26, $1f, $12, $26, $1e, $12, $26, $1d, $12, $26, $1c, $12, $26, $1c, $12, $26, $1b, $12, $26, $1a, $12, $26, $19, $12, $26, $19, $12, $26, $18, $12, $26, $17, $12, $25, $17, $13, $25, $16, $13, $25, $16, $13, $25, $15, $13, $25, $15, $13, $25, $14, $13, $25, $14, $13, $25, $14, $13, $25, $13, $13, $25, $13, $13, $24, $13, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14 + db 255, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $23, $12, $15, $23, $13, $15, $23, $13, $15, $23, $13, $15, $23, $13, $15, $23, $14, $15, $23, $14, $15, $23, $14, $15, $23, $15, $15, $23, $15, $15, $22, $16, $16, $22, $16, $16, $22, $17, $16, $22, $18, $16, $22, $18, $16, $22, $19, $16, $22, $1a, $16, $22, $1a, $16, $22, $1b, $16, $22, $1c, $16, $22, $1d, $16, $22, $1e, $16, $21, $1e, $17, $21, $1f, $17, $21, $20, $17, $21, $21, $17, $21, $22, $17, $21, $23, $17, $21, $24, $17, $21, $25, $17, $21, $27, $17, $21, $28, $17, $21, $29, $17, $21, $2a, $17, $21, $2b, $17, $21, $2c, $17, $21, $2e, $17, $21, $2f, $17, $20, $30, $18, $20, $31, $18, $20, $33, $18, $20, $34, $18, $20, $35, $18, $20, $37, $18, $20, $38, $18, $20, $3a, $18, $20, $3b, $18, $20, $3c, $18, $20, $3e, $18, $20, $3f, $18, $20, $41, $18, $20, $42, $18, $20, $44, $18, $20, $45, $18, $20, $46, $18, $20, $48, $18, $20, $49, $18, $20, $4b, $18, $20, $4c, $18, $20, $4e, $18, $20, $4f, $18, $20, $51, $18, $20, $52, $18, $20, $54, $18, $20, $55, $18, $20, $57, $18, $20, $58, $18, $20, $5a, $18, $20, $5b, $18, $20, $5c, $18, $20, $5e, $18, $20, $5f, $18, $20, $61, $18, $20, $62, $18, $20, $64, $18, $20, $65, $18, $20, $66, $18, $20, $68, $18, $20, $69, $18, $21, $6a, $17, $21, $6c, $17, $21, $6d, $17, $21, $6e, $17, $21, $6f, $17, $21, $71, $17, $21, $72, $17, $21, $73, $17, $21, $74, $17, $21, $75, $17, $21, $76, $17, $21, $77, $17, $21, $78, $17, $21, $7a, $17, $21, $7b, $17, $21, $7b, $17, $22, $7c, $16, $22, $7d, $16, $22, $7e, $16, $22, $7f, $16, $22, $80, $16, $22, $81, $16, $22, $82, $16, $22, $82, $16, $22, $83, $16, $22, $84, $16, $22, $84, $16, $23, $85, $15, $23, $86, $15, $23, $86, $15, $23, $87, $15, $23, $87, $15, $23, $87, $15, $23, $88, $15, $23, $88, $15, $23, $89, $15, $23, $89, $15, $23, $89, $15, $24, $89, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $25, $8a, $13, $25, $8a, $13, $25, $89, $13, $25, $89, $13, $25, $89, $13, $25, $89, $13, $25, $88, $13, $25, $88, $13, $25, $87, $13, $25, $87, $13, $25, $86, $13, $26, $86, $12, $26, $85, $12, $26, $85, $12, $26, $84, $12, $26, $83, $12, $26, $83, $12, $26, $82, $12, $26, $81, $12, $26, $81, $12, $26, $80, $12, $26, $7f, $12, $27, $7e, $11, $27, $7d, $11, $27, $7c, $11, $27, $7b, $11, $27, $7a, $11, $27, $79, $11, $27, $78, $11, $27, $77, $11, $27, $76, $11, $27, $75, $11, $27, $74, $11, $27, $73, $11, $27, $71, $11, $27, $70, $11, $27, $6f, $11, $27, $6e, $11, $28, $6c, $10, $28, $6b, $10, $28, $6a, $10, $28, $69, $10, $28, $67, $10, $28, $66, $10, $28, $65, $10, $28, $63, $10, $28, $62, $10, $28, $60, $10, $28, $5f, $10, $28, $5e, $10, $28, $5c, $10, $28, $5b, $10, $28, $59, $10, $28, $58, $10, $28, $56, $10, $28, $55, $10, $28, $53, $10, $28, $52, $10, $28, $50, $10, $28, $4f, $10, $28, $4d, $10, $28, $4c, $10, $28, $4a, $10, $28, $49, $10, $28, $48, $10, $28, $46, $10, $28, $45, $10, $28, $43, $10, $28, $42, $10, $28, $40, $10, $28, $3f, $10, $28, $3d, $10, $28, $3c, $10, $28, $3b, $10, $28, $39, $10, $28, $38, $10, $28, $36, $10, $28, $35, $10, $28, $34, $10, $27, $32, $11, $27, $31, $11, $27, $30, $11, $27, $2f, $11, $27, $2d, $11, $27, $2c, $11, $27, $2b, $11, $27, $2a, $11, $27, $28, $11, $27, $27, $11, $27, $26, $11, $27, $25, $11, $27, $24, $11, $27, $23, $11, $27, $22, $11, $27, $21, $11, $26, $20, $12, $26, $1f, $12, $26, $1e, $12, $26, $1d, $12, $26, $1c, $12, $26, $1c, $12, $26, $1b, $12, $26, $1a, $12, $26, $19, $12, $26, $19, $12, $26, $18, $12, $26, $17, $12, $25, $17, $13, $25, $16, $13, $25, $16, $13, $25, $15, $13, $25, $15, $13, $25, $14, $13, $25, $14, $13, $25, $14, $13, $25, $13, $13, $25, $13, $13, $24, $13, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14 CardBackSprites16: @@ -1096,7 +1101,7 @@ SquaresTileset8: SquaresTilesetEnd: -SquaresTilemap: +MainUITilemap: db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 @@ -1116,4 +1121,4 @@ SquaresTilemap: db $01, $01, $06, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $07, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 -SquaresTilemapEnd: \ No newline at end of file +MainUITilemapEnd: \ No newline at end of file diff --git a/SpriteTiles.asm b/SpriteTiles.asm index 6364e08..dc6b64b 100644 --- a/SpriteTiles.asm +++ b/SpriteTiles.asm @@ -4,45 +4,71 @@ SpriteTiles: db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - db $01,$01,$01,$01,$01,$01,$01,$01,$1f,$1f,$1f,$10,$1f,$10,$1f,$1c - db $f0,$f0,$fc,$5c,$fe,$06,$5f,$a3,$ff,$01,$ff,$00,$ff,$00,$ff,$00 - db $00,$00,$00,$00,$00,$00,$07,$07,$87,$85,$ff,$fd,$ff,$01,$ff,$01 - db $07,$07,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 - db $ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$93,$fe,$d2,$7e,$76,$1c,$1c - db $ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$c9,$7f,$69,$3f,$3b,$0e,$0e - db $00,$00,$00,$00,$00,$00,$0e,$0e,$8f,$8b,$ff,$fd,$ff,$01,$ff,$01 - db $ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$93,$fe,$96,$fc,$dc,$70,$70 - db $ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$c9,$7f,$4b,$7e,$6e,$38,$38 - db $00,$00,$03,$03,$07,$07,$0c,$0c,$18,$18,$18,$18,$30,$30,$30,$30 - db $00,$00,$c0,$c0,$e0,$e0,$30,$30,$18,$18,$18,$18,$0c,$0c,$0c,$0c - db $30,$30,$30,$30,$18,$18,$18,$18,$0c,$0c,$07,$07,$03,$03,$00,$00 - db $0c,$0c,$0c,$0c,$18,$18,$18,$18,$30,$30,$e0,$e0,$c0,$c0,$00,$00 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$3f - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$1f,$00,$ff,$00,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$00,$f0,$00,$fc - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$78,$00,$ff,$00,$ff - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$f0 - db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff + db $00,$00,$00,$00,$00,$00,$01,$01,$03,$02,$07,$04,$0f,$08,$1f,$10 + db $07,$07,$1f,$18,$7f,$60,$ff,$80,$ff,$00,$ff,$03,$fc,$0c,$f0,$30 + db $1c,$1c,$1f,$03,$1f,$00,$1f,$00,$0f,$00,$0f,$08,$07,$06,$01,$01 + db $00,$00,$00,$00,$c0,$c0,$f0,$30,$f8,$08,$fc,$04,$fc,$00,$fc,$80 + db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$03,$02,$03,$02 + db $3f,$20,$7f,$40,$ff,$81,$fe,$82,$fc,$05,$f8,$08,$f8,$08,$f0,$10 + db $07,$04,$07,$04,$07,$04,$07,$04,$0f,$08,$0f,$08,$0f,$08,$0f,$08 + db $00,$00,$00,$00,$00,$00,$00,$00,$60,$40,$60,$40,$60,$40,$60,$40 + db $0f,$08,$0f,$08,$0f,$08,$0f,$08,$0f,$08,$07,$04,$07,$04,$06,$04 + db $60,$c0,$60,$40,$60,$40,$60,$40,$60,$40,$e0,$80,$e0,$80,$e0,$80 + db $06,$04,$02,$02,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $c0,$00,$c0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $c0,$40,$80,$80,$00,$00,$00,$00,$00,$e0,$60,$98,$38,$c4,$3c,$40 + db $7c,$40,$3c,$20,$1c,$10,$00,$00,$00,$00,$00,$60,$60,$80,$c0,$20 + db $f0,$10,$e0,$20,$e0,$20,$e0,$20,$c0,$40,$c0,$40,$c0,$70,$c0,$40 + db $80,$00,$80,$00,$00,$80,$00,$80,$00,$00,$00,$c0,$c0,$30,$f0,$0c + db $c0,$40,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$80,$00,$00,$00,$00,$00 + db $01,$01,$01,$01,$03,$02,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1c,$20,$0c,$30,$0c,$10,$04,$18,$04,$78,$7c,$80,$7c,$00,$3c,$00 + db $3e,$00,$3e,$00,$0f,$30,$03,$0c,$00,$03,$00,$00,$00,$00,$00,$00 + db $03,$00,$03,$00,$03,$00,$03,$00,$02,$01,$02,$01,$03,$00,$03,$00 + db $03,$00,$07,$00,$07,$00,$00,$07,$00,$0c,$00,$00,$00,$00,$00,$00 + db $fc,$03,$e0,$1c,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$00 + db $3c,$40,$1c,$60,$1c,$20,$0c,$70,$7c,$80,$fc,$00,$7c,$00,$3c,$00 + db $c0,$40,$80,$80,$00,$00,$00,$00,$00,$f8,$f0,$0c,$fc,$00,$7c,$80 + db $3f,$20,$7f,$40,$ff,$81,$fe,$82,$fc,$05,$f8,$09,$f8,$09,$f0,$10 + db $f0,$10,$e0,$20,$e0,$20,$e0,$20,$c0,$43,$c3,$4c,$c0,$70,$c0,$40 + db $3e,$00,$3e,$00,$3f,$00,$07,$00,$03,$04,$00,$03,$00,$00,$00,$00 + db $03,$00,$07,$00,$07,$00,$06,$01,$0c,$02,$00,$0c,$00,$00,$00,$00 + db $fe,$01,$f8,$06,$c0,$38,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00 + db $80,$00,$80,$00,$80,$00,$80,$00,$00,$80,$80,$60,$e0,$18,$f8,$06 + db $03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00,$03,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$00,$03,$00 + db $7c,$40,$3c,$20,$1c,$10,$00,$00,$00,$60,$60,$80,$e0,$00,$e0,$10 + db $f0,$10,$e0,$20,$e0,$20,$e0,$21,$c1,$4e,$cf,$70,$f0,$40,$e0,$40 + db $7c,$80,$7c,$80,$3c,$40,$7c,$80,$fc,$00,$fc,$00,$7c,$00,$3c,$00 + db $3f,$20,$7f,$40,$ff,$81,$fe,$83,$fd,$06,$f9,$0a,$f8,$09,$f0,$11 + db $c0,$40,$80,$80,$00,$00,$00,$f0,$f0,$0c,$fc,$00,$fc,$00,$fc,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$00,$03,$00,$03,$00 + db $3e,$00,$3e,$00,$3f,$00,$07,$00,$07,$00,$03,$04,$00,$00,$00,$00 + db $03,$00,$07,$00,$07,$00,$07,$00,$0e,$01,$0c,$02,$00,$00,$00,$00 + db $ff,$00,$fe,$01,$f8,$06,$c0,$38,$00,$c0,$00,$00,$00,$00,$00,$00 + db $e0,$40,$60,$c0,$60,$40,$60,$40,$60,$40,$e0,$80,$e0,$80,$e0,$80 + db $80,$00,$80,$00,$80,$00,$80,$00,$80,$60,$e0,$18,$f8,$06,$fe,$01 + db $7c,$40,$3c,$20,$1c,$10,$00,$60,$60,$80,$e0,$00,$e0,$00,$f0,$08 + db $c0,$60,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$80,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$60,$40,$60,$40,$60,$40,$60,$c0 Sprites: - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $0a, $0b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $0c, $0d, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $0e, $0f, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $11, $12, $13, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $01, $02, $03, $01, $02, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $04, $08, $06, $04, $05, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $06, $0e, $00, $19, $0f, $00 + db $07, $10, $14, $00, $16, $11, $08 + db $09, $12, $15, $00, $17, $18, $0a + db $0b, $00, $00, $00, $00, $13, $0c + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $1c, $1b, $00, $23, $24, $00 + db $07, $1d, $1a, $00, $22, $21, $08 + db $09, $12, $1e, $00, $1f, $20, $0a + db $0b, $00, $00, $00, $00, $13, $0c + db $00, $01, $02, $0d, $03, $04, $00 + db $05, $27, $28, $00, $29, $2f, $00 + db $07, $25, $26, $00, $22, $2e, $31 + db $09, $30, $2a, $00, $2b, $2c, $2d + db $0b, $00, $00, $00, $00, $13, $0c diff --git a/Sprites.asm b/Sprites.asm new file mode 100644 index 0000000..aff9e2d --- /dev/null +++ b/Sprites.asm @@ -0,0 +1,30 @@ + ; original export script by gabriel reis, modified by shoofle + + +Sprites: + + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $20,$20,$30,$30,$38,$28,$3c,$24,$6c,$54,$c6,$fa,$6c,$54,$38,$38 + db $0c,$0c,$18,$18,$38,$28,$3c,$24,$6c,$54,$c6,$fa,$6c,$54,$38,$38 + db $00,$d0,$00,$68,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$80,$00,$80 + + + +SpritesLayer: + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $01, $02, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $03, $04, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 diff --git a/SpritesLayer.asm b/SpritesLayer.asm new file mode 100644 index 0000000..e3b7828 --- /dev/null +++ b/SpritesLayer.asm @@ -0,0 +1,61 @@ + ; original export script by gabriel reis, modified by shoofle + + +SpritesLayer: + + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$7e,$00,$fc,$00,$78,$00,$30,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $e0,$00,$f0,$00,$f8,$00,$f0,$00,$60,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$3f,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$bf,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$3e,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $e0,$00,$f0,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$7f,$00,$3f,$00,$1e,$00,$0c,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$6e,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$7f,$00,$1f,$00,$07,$00,$07,$00,$03,$00 + db $e0,$00,$f0,$00,$f0,$00,$f0,$00,$c0,$00,$c0,$00,$80,$00,$00,$00 + db $1f,$00,$3f,$00,$7f,$00,$7f,$00,$7e,$00,$7c,$00,$20,$00,$00,$00 + db $ff,$00,$ff,$00,$fc,$00,$78,$00,$20,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$3f,$00,$07,$00,$02,$00,$00,$00,$00,$00 + db $e0,$00,$f0,$00,$f8,$00,$f8,$00,$f8,$00,$f8,$00,$78,$00,$30,$00 + db $ff,$00,$ff,$00,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$1f,$00,$0f,$00,$0f,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00 + db $07,$00,$03,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$03,$00 + db $ff,$00,$ff,$00,$fe,$00,$f8,$00,$f0,$00,$e0,$00,$e0,$00,$60,$00 + db $ff,$00,$ff,$00,$38,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3f,$00,$7f,$00,$7f,$00,$3f,$00,$1f,$00,$0c,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$3f,$00 + db $3f,$00,$3f,$00,$1f,$00,$1f,$00,$1f,$00,$0f,$00,$03,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$bf,$00,$1f,$00 + db $ff,$00,$fc,$00,$f8,$00,$f0,$00,$e0,$00,$e0,$00,$e0,$00,$e0,$00 + db $ff,$00,$0f,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$fe,$00,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $3f,$00,$1f,$00,$0f,$00,$07,$00,$07,$00,$07,$00,$03,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$fc,$00,$f8,$00,$e0,$00 + db $ff,$00,$fe,$00,$f8,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $df,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$1f,$00,$0f,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$0f,$00,$07,$00,$03,$00 + db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$00,$3f,$00,$01,$00,$00,$00 + db $ff,$00,$fc,$00,$f8,$00,$f0,$00,$e0,$00,$c0,$00,$80,$00,$00,$00 + db $ff,$00,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $86,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + db $1f,$00,$3f,$00,$3f,$00,$1f,$00,$03,$00,$03,$00,$01,$00,$00,$00 + db $03,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + + + +Sprites: + db $24, $25, $13, $13, $13, $13 + db $00, $2b, $26, $27, $28, $29 + db $11, $12, $13, $13, $13, $13 + db $00, $14, $15, $16, $17, $18 + db $19, $1a, $13, $13, $13, $13 + db $00, $1b, $1c, $1d, $1e, $1f + db $2a, $13, $13, $13, $13, $13 + db $00, $20, $1c, $21, $22, $23 diff --git a/curve_authoring.html b/curve_authoring.html index a3768ce..c576732 100644 --- a/curve_authoring.html +++ b/curve_authoring.html @@ -1,4 +1,5 @@ +