some more animations
This commit is contained in:
parent
a03204688a
commit
40073aefea
@ -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
|
||||
@ -135,6 +127,7 @@ 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 .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,
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
@ -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:
|
||||
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:
|
||||
|
Binary file not shown.
@ -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:
|
||||
|
Binary file not shown.
@ -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
|
||||
|
Binary file not shown.
371
04TheEmperor.inc
371
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:
|
||||
|
||||
|
Binary file not shown.
@ -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:
|
||||
|
Binary file not shown.
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
13
13Death.inc
13
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:
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
13
19TheSun.inc
13
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:
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
@ -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
|
148
KeyArtTiles.asm
148
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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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:
|
||||
@ -432,9 +437,9 @@ DrawWholeCard: ; hl memory location, b y, c x, e width, d wiggle
|
||||
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:
|
||||
MainUITilemapEnd:
|
102
SpriteTiles.asm
102
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
|
||||
|
30
Sprites.asm
Normal file
30
Sprites.asm
Normal file
@ -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
|
61
SpritesLayer.asm
Normal file
61
SpritesLayer.asm
Normal file
@ -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
|
@ -1,4 +1,5 @@
|
||||
<!doctype html>
|
||||
<!-- prototyped this in ~24 hours to help so i don't have to manually enter lists of coordinates for gameboy sprite animations -->
|
||||
<html>
|
||||
<head>
|
||||
<title>curve editor for gameboy animation</title>
|
||||
@ -18,12 +19,13 @@
|
||||
<body>
|
||||
<svg
|
||||
viewBox="0 0 176 176"
|
||||
style="border: 1px solid black; display: block; max-height: 700px">
|
||||
style="border: 1px solid black; display: block; max-height: 700px"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<g id="point">
|
||||
<circle cx="0.5" cy="0.5" r="0.5" fill="black" fill-opacity="100%"/>
|
||||
<rect id="sprite" x="-0.5" y="-0.5" width="8" height="8" stroke="none" fill="gray" fill-opacity="25%"/>
|
||||
<circle cx="0.5" cy="0.5" r="2" fill="black" fill-opacity="25%"/>
|
||||
<rect id="sprite" x="-0.5" y="-0.5" width="8" height="8" stroke="none" fill="gray" fill-opacity="50%"/>
|
||||
<circle cx="0.5" cy="0.5" r="0.5" fill="black" fill-opacity="100%"/>
|
||||
</g>
|
||||
<pattern id="smallGrid" width="1" height="1" patternUnits="userSpaceOnUse">
|
||||
<path d="M 1 0 L 0 0 0 1" fill="none" stroke="darkseagreen" stroke-width="0.25"/>
|
||||
@ -34,28 +36,36 @@
|
||||
</pattern>
|
||||
</defs>
|
||||
|
||||
|
||||
<g id="sequence">
|
||||
</g>
|
||||
<g id="lines">
|
||||
</g>
|
||||
<image
|
||||
id="background-container"
|
||||
width="160"
|
||||
height="144"
|
||||
x="8" y="16"
|
||||
opacity="50%"
|
||||
xlink:href="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />
|
||||
<rect width="100%" height="100%" fill="url(#grid)" />
|
||||
<rect x="8" y="16" width="160" height="144" style="fill: none; stroke: darkseagreen; stroke-width: 0.5"/>
|
||||
<g id="lines">
|
||||
</g>
|
||||
<g id="sequence">
|
||||
</g>
|
||||
</svg>
|
||||
<div id="controls">
|
||||
<label for="background-selector">file for background</label>
|
||||
<input type="file" id="background-selector" name="background-selector"/>
|
||||
<fieldset>
|
||||
<legend>control mode</legend>
|
||||
<div>
|
||||
<input type="radio" name="mode" id="add" value="add" checked/>
|
||||
<label for="add">add points</label>
|
||||
<label for="add"><strong>a</strong>dd points</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="mode" id="delete" value="delete"/>
|
||||
<label for="delete">delete points</label>
|
||||
<label for="delete"><strong>d</strong>elete points</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="mode" id="move" value="move"/>
|
||||
<label for="move">drag points around</label>
|
||||
<label for="move"><strong>g</strong>rab and move points</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div>
|
||||
@ -85,9 +95,8 @@
|
||||
var moving_point_index = -1;
|
||||
var the_list = [];
|
||||
|
||||
function length(dx, dy) {
|
||||
return Math.sqrt(dx*dx + dy*dy);
|
||||
}
|
||||
function length(dx, dy) {return Math.sqrt(dx*dx + dy*dy);}
|
||||
|
||||
const clicksvg = (event) => {
|
||||
const mode = document.querySelector('input[name=mode]:checked').value; // either 'add', 'delete', or 'move'
|
||||
const {x, y} = dom_to_svg_coords(svg, event.clientX, event.clientY);
|
||||
@ -253,6 +262,36 @@
|
||||
text_output = document.querySelector('textarea#output');
|
||||
text_output.onchange = changetextarea;
|
||||
sprite_dims_change();
|
||||
|
||||
let filePicker = document.querySelector('input#background-selector');
|
||||
filePicker.onchange = (event) => {
|
||||
var file = event.target.files[0];
|
||||
|
||||
// setting up the reader
|
||||
var reader = new FileReader();
|
||||
reader.readAsDataURL(file,'UTF-8');
|
||||
|
||||
// here we tell the reader what to do when it's done reading...
|
||||
reader.onload = readerEvent => {
|
||||
var content = readerEvent.target.result; // this is the content!
|
||||
document
|
||||
.querySelector('image#background-container')
|
||||
.setAttributeNS("http://www.w3.org/1999/xlink", "href", content);
|
||||
}
|
||||
}
|
||||
if (filePicker.files[0]) {
|
||||
filePicker.onchange( {target: filePicker} );
|
||||
}
|
||||
|
||||
document.onkeyup = (event) => {
|
||||
const add_radio = document.querySelector('input[name=mode]#add'); // either 'add', 'delete', or 'move'
|
||||
const delete_radio = document.querySelector('input[name=mode]#delete');
|
||||
const move_radio = document.querySelector('input[name=mode]#move');
|
||||
|
||||
if (event.key == 'a') { add_radio.checked = true; }
|
||||
if (event.key == 'd') { delete_radio.checked = true; }
|
||||
if (event.key == 'g') { move_radio.checked = true; }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</html>
|
65
main.asm
65
main.asm
@ -6,14 +6,15 @@
|
||||
|
||||
|
||||
|
||||
|
||||
def MY_OAM equ $c000
|
||||
|
||||
; $c100 - c120 call handles, scene stack, interrupt, card functions
|
||||
; 0xc100 CALL
|
||||
; 0xc101 LOW - SCENE_SETUP points to this
|
||||
; 0xc102 HIGH
|
||||
; 0xc103 RET
|
||||
; 0xc104 CALL ...
|
||||
def MY_OAM equ $c000
|
||||
|
||||
; $c100 - c120 call handles, scene stack, interrupt, card functions
|
||||
DEF SCENE_SETUP EQU $c101
|
||||
DEF SCENE_UPDATE EQU SCENE_SETUP + 4 ; call then ret is 3+1 bytes
|
||||
DEF SCENE_DRAW EQU SCENE_UPDATE + 4
|
||||
@ -47,7 +48,7 @@ def rLFSR equ rDELTAT + 1 ; 16 bit
|
||||
|
||||
|
||||
|
||||
def SAFE_DMA_LOCATION equ $ffc1
|
||||
def SAFE_DMA_LOCATION equ $ffc0
|
||||
|
||||
def VARIABLE_TILES_START equ 26
|
||||
|
||||
@ -73,6 +74,8 @@ EntryPoint:
|
||||
ldh [rNR52], a ; shut down audio
|
||||
ldh [rDIV], a ; reset timer just in case??
|
||||
ldh [rLCDC], a ; shut down screen
|
||||
ldh [rIE], a
|
||||
ldh [rIF], a
|
||||
|
||||
ld a, 0
|
||||
ld hl, ZEROES
|
||||
@ -88,7 +91,6 @@ EntryPoint:
|
||||
ld a, 1
|
||||
ld hl, ONES
|
||||
ld bc, $200
|
||||
|
||||
.buildOnes
|
||||
ld a, 1
|
||||
ld [hl+], a
|
||||
@ -99,13 +101,13 @@ EntryPoint:
|
||||
|
||||
ld hl, UITiles
|
||||
ld de, $8000 + $100*16
|
||||
ld bc, (UITilesEnd - UITiles)
|
||||
call CopyRangeUnsafe
|
||||
ld bc, UITiles.end - UITiles
|
||||
call CopyRange
|
||||
|
||||
ld hl, LetterTiles ; map the small font into vram at ascii locations
|
||||
ld de, $8000 + (127 + $11)*16
|
||||
ld bc, LetterTilesEnd - LetterTiles
|
||||
call CopyRangeUnsafe
|
||||
ld bc, LetterTiles.end - LetterTiles
|
||||
call CopyRange
|
||||
|
||||
; initialize global variables
|
||||
ld a, 0
|
||||
@ -132,7 +134,7 @@ EntryPoint:
|
||||
|
||||
ld a, [hl] ; get the value of a call instruction so we can shove it into our handles
|
||||
ld hl, SCENE_SETUP - 1
|
||||
ld [SCENE_SETUP - 1], a
|
||||
ld [hl], a
|
||||
ld hl, SCENE_UPDATE - 1
|
||||
ld [hl], a
|
||||
ld hl, SCENE_DRAW - 1
|
||||
@ -196,7 +198,7 @@ EntryPoint:
|
||||
inc hl
|
||||
inc hl
|
||||
|
||||
ld a, [hl] ; get the value of a call instruction so we can shove it into our handles
|
||||
ld a, [hl] ; get the value of a ret instruction so we can shove it into our handles
|
||||
ld hl, SCENE_SETUP + 2
|
||||
ld [hl], a
|
||||
ld hl, SCENE_UPDATE + 2
|
||||
@ -265,12 +267,15 @@ Loop:
|
||||
ld a, b ; select buttons which were pressed this frame
|
||||
ld [rMYBTN], a ; save that as btn state
|
||||
|
||||
println "scene update is ", SCENE_UPDATE - 1
|
||||
call SCENE_UPDATE - 1 ; hope this takes not too many scanlines!
|
||||
|
||||
ld b, 144
|
||||
call AwaitLine
|
||||
|
||||
println "scene draw is ", SCENE_DRAW - 1
|
||||
call SCENE_DRAW - 1 ; hope this takes fewer than 9 scanlines!
|
||||
println "scenee draw call is at ", @
|
||||
; either way it's going to eat into the update timing
|
||||
; at this point we want to make sure that scanline 153 has passed
|
||||
; we should check if we're past there and skip this await if necessary
|
||||
@ -280,7 +285,7 @@ Loop:
|
||||
jp Loop
|
||||
|
||||
ChangeScene: ; hl should be a pointer to, in sequence, setup update draw teardown
|
||||
call SCENE_TEARDOWN - 1
|
||||
;call SCENE_TEARDOWN - 1
|
||||
|
||||
ld a, [hl+]
|
||||
ld [SCENE_SETUP], a
|
||||
@ -309,6 +314,17 @@ AwaitLine: ; put the line you want to reach in b
|
||||
jp nz, AwaitLine
|
||||
ret
|
||||
|
||||
ArrayClampLoopingB:
|
||||
cp a, b
|
||||
jp nz, :+
|
||||
ld a, 0
|
||||
:
|
||||
cp a, $FF
|
||||
jp nz, :+
|
||||
ld a, b
|
||||
dec a
|
||||
:
|
||||
ret
|
||||
ArrayClampLooping: ; loops a to be in the array, assuming hl points to the length
|
||||
cp a, [hl] ; if a == length...
|
||||
jp nz, :+
|
||||
@ -350,32 +366,39 @@ PrintBChars: ;write ascii characters. will not respect newlines or anything like
|
||||
|
||||
;thanks to https://gbdev.io/pandocs/OAM_DMA_Transfer.html for this routine
|
||||
; a should be the high byte of where we're DMAing from (ld a, $c0 in my case probably)
|
||||
; de should have the address in hram for where to paste to
|
||||
; de should have the address in hram for where to paste to (SAFE_DMA_LOCATION probably)
|
||||
RunDMA:
|
||||
di
|
||||
push de
|
||||
push af
|
||||
ld hl, run_dma_tail
|
||||
ld bc, run_dma_tail.run_dma_tail_end - run_dma_tail
|
||||
call CopyRangeUnsafe
|
||||
call CopyRange
|
||||
pop af
|
||||
run_dma: ; This part must be in ROM.
|
||||
ld bc, $2846 ; B: wait time; C: LOW($FF46)
|
||||
ret ; we pushed de before, so this should "return" to execute that (HRAM) address
|
||||
|
||||
run_dma_tail: ; This part must be in HRAM.
|
||||
run_dma_tail: ; This part must live in HRAM.
|
||||
ldh [c], a
|
||||
.wait
|
||||
dec b
|
||||
jr nz, .wait
|
||||
ei
|
||||
ret z ; Conditional `ret` is 1 M-cycle slower, which avoids
|
||||
; reading from the stack on the last M-cycle of DMA.
|
||||
ret z ; Conditional `ret` is 1 M-cycle slower, which avoids reading from the
|
||||
; stack on the last M-cycle of DMA.
|
||||
.run_dma_tail_end
|
||||
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
halt
|
||||
nop
|
||||
nop
|
||||
Instructions:
|
||||
call Instructions+3
|
||||
call .rett
|
||||
.rett:
|
||||
ret
|
||||
EndOfInstructions:
|
||||
|
||||
|
||||
|
||||
@ -408,7 +431,7 @@ UITiles:
|
||||
db $00,$ff,$7e,$ff,$56,$c3,$6a,$c3,$56,$c3,$6a,$c3,$56,$c3,$6a,$c3
|
||||
db $99,$5a,$99,$5a,$99,$5a,$99,$5a,$99,$5a,$81,$42,$81,$7e,$ff,$00
|
||||
db $ff,$00,$81,$7e,$81,$42,$99,$5a,$99,$5a,$99,$5a,$99,$5a,$99,$5a
|
||||
UITilesEnd:
|
||||
.end
|
||||
|
||||
LetterTiles:
|
||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||
@ -507,7 +530,7 @@ LetterTiles:
|
||||
db $3c,$3c,$06,$06,$0c,$0c,$06,$06,$06,$06,$0c,$0c,$06,$06,$3c,$3c
|
||||
db $00,$00,$00,$00,$31,$31,$7b,$7b,$de,$de,$8c,$8c,$00,$00,$00,$00
|
||||
db $c0,$c0,$a0,$a0,$b8,$b8,$b0,$b0,$da,$da,$12,$12,$1a,$1a,$03,$03
|
||||
LetterTilesEnd:
|
||||
.end
|
||||
|
||||
INCLUDE "Async.inc"
|
||||
INCLUDE "Random.inc"
|
||||
|
BIN
source.zip
BIN
source.zip
Binary file not shown.
Loading…
Reference in New Issue
Block a user