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 .fUpdate
|
||||||
dw .fDraw
|
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:
|
.fInit:
|
||||||
ld hl, CVS
|
ld hl, CVS
|
||||||
ld a, 0
|
ld a, 0
|
||||||
@ -75,7 +67,7 @@ def Card_Offset_functions equ @-TheFool
|
|||||||
|
|
||||||
; set up the palette for the clouds
|
; set up the palette for the clouds
|
||||||
ld hl, rOBP1
|
ld hl, rOBP1
|
||||||
ld [hl], %00_10_01_11
|
ld [hl], %11_10_01_00
|
||||||
|
|
||||||
ld hl, .cloud1
|
ld hl, .cloud1
|
||||||
; six sprites for the doggie, four for the zero, 4 bytes each
|
; 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 hl, .cloud3
|
||||||
ld de, MY_OAM + 16*4
|
ld de, MY_OAM + 16*4
|
||||||
ld bc, 90*$100 + 67
|
ld bc, 88*$100 + 67
|
||||||
ld a, $11
|
ld a, $11
|
||||||
call BuildMetaSprite
|
call BuildMetaSprite
|
||||||
ld hl, MY_OAM + 16*4+3
|
ld hl, MY_OAM + 16*4+3
|
||||||
@ -119,7 +111,7 @@ def Card_Offset_functions equ @-TheFool
|
|||||||
call IncrementTimer
|
call IncrementTimer
|
||||||
|
|
||||||
ld a, [CVS+1] ; checking the high byte of the timer
|
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
|
jp c, .doneWithTimer1 ; if the timer is less than $0600, skip
|
||||||
|
|
||||||
; if the timer is greater or equal to $0600, reset it
|
; if the timer is greater or equal to $0600, reset it
|
||||||
@ -134,7 +126,8 @@ def Card_Offset_functions equ @-TheFool
|
|||||||
|
|
||||||
ld a, [CVS+3+1] ; check the high byte of the zero sprite timer
|
ld a, [CVS+3+1] ; check the high byte of the zero sprite timer
|
||||||
cp a, $30 ; $10 00 = 1 second
|
cp a, $30 ; $10 00 = 1 second
|
||||||
jp c, .doneWithTimer2
|
jp c, .doneWithTimer2
|
||||||
|
jp .doneWithTimer2
|
||||||
|
|
||||||
ld a, 0
|
ld a, 0
|
||||||
ld [CVS+3], a
|
ld [CVS+3], a
|
||||||
@ -356,7 +349,7 @@ def Card_Offset_functions equ @-TheFool
|
|||||||
.cloud3:
|
.cloud3:
|
||||||
db $14
|
db $14
|
||||||
.cloud3Anim:
|
.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 + 2 ; frame counter 1
|
||||||
; CARD_VARS_START + 3 ; frame counter 2
|
; CARD_VARS_START + 3 ; frame counter 2
|
||||||
.fInit:
|
.fInit:
|
||||||
ld a, [rLCDC]
|
ld hl, CVS
|
||||||
and a, %1111_1011
|
|
||||||
ld [rLCDC], a
|
|
||||||
ld hl, CARD_VARS_START
|
|
||||||
ld a, 0
|
ld a, 0
|
||||||
ld [hl+], a ; timer for dog @ +0
|
ld [hl+], a ; CVS timer for flame
|
||||||
ld [hl+], a
|
ld [hl+], a
|
||||||
ld [hl+], a ; frame of animation 1
|
ld [hl+], a ; CVS+2 frame of flame 1
|
||||||
ld [hl+], a ; frame of animation 2
|
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
|
ret
|
||||||
.fUpdate:
|
.fUpdate:
|
||||||
ret
|
ld hl, CVS
|
||||||
|
call IncrementTimer
|
||||||
|
|
||||||
|
ld a, [CVS+1] ; checking the high byte of the timer
|
||||||
|
cp a, $01 ; $10 = 1 second, $02 = 1/8 of a second
|
||||||
|
jp c, .doneWithTimer1 ; if the timer is less than $0600, skip
|
||||||
|
|
||||||
|
; if the timer is greater or equal to $0600, reset it
|
||||||
|
ld a, 0
|
||||||
|
ld [CVS], a
|
||||||
|
ld [CVS+1], a
|
||||||
|
call .drawFlames
|
||||||
|
.doneWithTimer1
|
||||||
|
|
||||||
|
ld hl, CVS+6
|
||||||
|
call IncrementTimer
|
||||||
|
ld a, [CVS+6+1]
|
||||||
|
cp a, $40 ; this should go off every four seconds
|
||||||
|
jp c, .doneWithTimer2
|
||||||
|
|
||||||
|
ld a, 0
|
||||||
|
ld [CVS+6], a
|
||||||
|
ld [CVS+6+1], a
|
||||||
|
ld a, 1
|
||||||
|
ld [CVS+8], a ; set the sheen animation to run
|
||||||
|
.doneWithTimer2
|
||||||
|
|
||||||
|
ld a, [CVS+8]
|
||||||
|
cp a, 0
|
||||||
|
jp z, .doneWithTimer3
|
||||||
|
|
||||||
|
; play the sheen animation
|
||||||
|
call .runSheen
|
||||||
|
|
||||||
|
.doneWithTimer3
|
||||||
|
ret
|
||||||
|
|
||||||
|
.drawFlames:
|
||||||
|
;update positions based on animation data
|
||||||
|
;draw frame 1
|
||||||
|
ld hl, .flameAnimation
|
||||||
|
ld a, [CVS+2]
|
||||||
|
inc a
|
||||||
|
call ArrayClampLooping
|
||||||
|
ld [CVS+2], a
|
||||||
|
|
||||||
|
ld b, 0
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
ld hl, .flameAnimation+1
|
||||||
|
add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element
|
||||||
|
add hl, bc ; of the list
|
||||||
|
ld b, [hl] ; load y into b
|
||||||
|
inc hl
|
||||||
|
ld c, [hl] ; load x into c
|
||||||
|
|
||||||
|
|
||||||
|
ld hl, MY_OAM
|
||||||
|
ld [hl], b
|
||||||
|
inc hl
|
||||||
|
ld [hl], c
|
||||||
|
inc hl
|
||||||
|
|
||||||
|
|
||||||
|
;draw frame 2
|
||||||
|
ld hl, .flameAnimation
|
||||||
|
ld a, [CVS+3]
|
||||||
|
inc a
|
||||||
|
call ArrayClampLooping
|
||||||
|
ld [CVS+3], a
|
||||||
|
|
||||||
|
ld b, 0
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
ld hl, .flameAnimation+1
|
||||||
|
add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element
|
||||||
|
add hl, bc ; of the list
|
||||||
|
ld b, [hl] ; load y into b
|
||||||
|
inc hl
|
||||||
|
ld c, [hl] ; load x into c
|
||||||
|
|
||||||
|
ld hl, MY_OAM + 1*4
|
||||||
|
ld [hl], b
|
||||||
|
inc hl
|
||||||
|
ld [hl], c
|
||||||
|
inc hl
|
||||||
|
|
||||||
|
; advance the three-frame palette cyclling animation
|
||||||
|
ld b, 12
|
||||||
|
ld a, [CVS+4]
|
||||||
|
inc a
|
||||||
|
call ArrayClampLoopingB
|
||||||
|
ld [CVS+4], a
|
||||||
|
cp a, 0
|
||||||
|
jp z, :+
|
||||||
|
cp a, 4
|
||||||
|
jp z, :++
|
||||||
|
cp a, 8
|
||||||
|
jp z, :+++
|
||||||
|
jp .doneWithPalette
|
||||||
|
:
|
||||||
|
ld a, %10_10_00_00
|
||||||
|
ld [rOBP1], a
|
||||||
|
jp .doneWithPalette
|
||||||
|
:
|
||||||
|
ld a, %00_10_10_00
|
||||||
|
ld [rOBP1], a
|
||||||
|
jp .doneWithPalette
|
||||||
|
:
|
||||||
|
ld a, %10_00_10_00
|
||||||
|
ld [rOBP1], a
|
||||||
|
jp .doneWithPalette
|
||||||
|
|
||||||
|
.doneWithPalette
|
||||||
|
; advance the two-frame sprite swapping animation
|
||||||
|
ld b, 8
|
||||||
|
ld a, [CVS+5]
|
||||||
|
inc a
|
||||||
|
call ArrayClampLoopingB
|
||||||
|
ld [CVS+5], a
|
||||||
|
cp a, 0
|
||||||
|
jp z, :+
|
||||||
|
cp a, 4
|
||||||
|
jp z, :++
|
||||||
|
jp .doneWithSpriteSwap
|
||||||
|
:
|
||||||
|
ld hl, MY_OAM + 0*4 + 2
|
||||||
|
ld [hl], 1
|
||||||
|
ld hl, MY_OAM + 1*4 + 2
|
||||||
|
ld [hl], 2
|
||||||
|
jp .doneWithSpriteSwap
|
||||||
|
:
|
||||||
|
ld hl, MY_OAM + 0*4 + 2
|
||||||
|
ld [hl], 2
|
||||||
|
ld hl, MY_OAM + 1*4 + 2
|
||||||
|
ld [hl], 1
|
||||||
|
|
||||||
|
jp .doneWithSpriteSwap
|
||||||
|
.doneWithSpriteSwap
|
||||||
|
; two-frame left-right animation
|
||||||
|
ld a, [CVS+5]
|
||||||
|
bit 0, a
|
||||||
|
jp z, :+
|
||||||
|
jp :++
|
||||||
|
:
|
||||||
|
ld hl, MY_OAM + 0*4 + 3
|
||||||
|
ld a, OAMF_XFLIP
|
||||||
|
xor a, [hl]
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
ld hl, MY_OAM + 1*4 + 3
|
||||||
|
ld a, OAMF_XFLIP
|
||||||
|
xor a, [hl]
|
||||||
|
ld [hl], a
|
||||||
|
:
|
||||||
|
|
||||||
|
ret
|
||||||
|
|
||||||
|
.flameAnimation:
|
||||||
|
db 32, 29, 35, 28, 35, 26, 36, 25, 37, 24, 39, 24, 40, 25, 42, 27, 44, 29, 45, 31, 46, 33, 48, 34, 50, 34, 51, 33, 53, 32, 54, 30, 55, 29, 55, 28, 55, 26, 54, 25, 53, 24, 51, 24, 50, 25, 48, 27, 46, 29, 45, 31, 44, 33, 42, 34, 40, 34, 39, 33, 37, 32, 36, 30, 35
|
||||||
|
|
||||||
|
.runSheen:
|
||||||
|
ld hl, .swordSheen
|
||||||
|
ld a, [CVS+8]
|
||||||
|
inc a
|
||||||
|
call ArrayClampLooping
|
||||||
|
ld [CVS+8], a
|
||||||
|
|
||||||
|
ld b, 0
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
ld hl, .swordSheen+1
|
||||||
|
add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element
|
||||||
|
add hl, bc ; of the list
|
||||||
|
ld b, [hl] ; load y into b
|
||||||
|
dec b
|
||||||
|
inc hl
|
||||||
|
ld c, [hl] ; load x into c
|
||||||
|
|
||||||
|
ld hl, MY_OAM + 2*4
|
||||||
|
ld [hl], b
|
||||||
|
inc hl
|
||||||
|
ld [hl], c
|
||||||
|
|
||||||
|
ld a, [CVS+8]
|
||||||
|
|
||||||
|
ld b, 0
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
ld hl, .pentacleSheen+1
|
||||||
|
add hl, bc ; add bc twice (it's a list of pairs) to jump to the bc'th element
|
||||||
|
add hl, bc ; of the list
|
||||||
|
ld b, [hl] ; load y into b
|
||||||
|
inc hl
|
||||||
|
ld c, [hl] ; load x into c
|
||||||
|
|
||||||
|
ld hl, MY_OAM + 3*4
|
||||||
|
ld [hl], b
|
||||||
|
inc hl
|
||||||
|
ld [hl], c
|
||||||
|
inc hl
|
||||||
|
|
||||||
|
ret
|
||||||
|
.swordSheen:
|
||||||
|
db 22, 96, 0, 96, 21, 96, 22, 96, 23, 96, 24, 96, 25, 96, 26, 96, 27, 96, 28, 96, 29, 96, 30, 96, 31, 96, 32, 96, 33, 96, 34, 96, 35, 96, 36, 96, 37, 96, 38, 96, 39, 96, 40, 96, 41,
|
||||||
|
.pentacleSheen:
|
||||||
|
db 22, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 0, 96, 32, 96, 33, 96, 34, 96, 35, 96, 36, 96, 37, 96, 38, 96, 39, 96, 40, 96, 41,
|
||||||
.fDraw:
|
.fDraw:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.SpriteTiles:
|
.SpriteTiles:
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $01,$01,$01,$01,$01,$01,$01,$01,$1f,$1f,$1f,$10,$1f,$10,$1f,$1c
|
db $20,$20,$30,$30,$38,$28,$3c,$24,$6c,$54,$c6,$fa,$6c,$54,$38,$38
|
||||||
db $f0,$f0,$fc,$5c,$fe,$06,$5f,$a3,$ff,$01,$ff,$00,$ff,$00,$ff,$00
|
db $0c,$0c,$18,$18,$38,$28,$3c,$24,$6c,$54,$c6,$fa,$6c,$54,$38,$38
|
||||||
db $00,$00,$00,$00,$00,$00,$07,$07,$87,$85,$ff,$fd,$ff,$01,$ff,$01
|
db $00,$d0,$00,$68,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $07,$07,$01,$01,$01,$01,$01,$01,$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
|
||||||
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
|
|
||||||
.SpriteTilesEnd:
|
.SpriteTilesEnd:
|
||||||
|
|
||||||
MagicianTiles:
|
MagicianTiles:
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $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 $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 $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
|
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 $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 $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 $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 $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 $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
|
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,$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,$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 $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 $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,$00,$00,$ff,$ff
|
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,$00,$00,$ff,$ff
|
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,$18,$18,$f8,$ff
|
db $01,$01,$00,$00,$00,$00,$fe,$fe,$01,$01,$07,$07,$f8,$f8,$38,$3f
|
||||||
db $46,$46,$3f,$7f,$06,$06,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
db $00,$00,$ff,$ff,$00,$00,$3e,$3e,$c1,$c9,$00,$77,$00,$1c,$c1,$f7
|
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 $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 $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
|
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,$00,$ff,$00,$00,$00,$00
|
||||||
db $aa,$55,$44,$bb,$aa,$55,$00,$ff,$aa,$55,$04,$fb,$aa,$55,$00,$ff
|
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 $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:
|
MagicianTilesEnd:
|
||||||
|
|
||||||
MagicianMap:
|
MagicianMap:
|
||||||
db $70, $1e, $70, $70, $70, $70, $70, $70
|
db $6f, $1e, $6f, $6f, $6f, $6f, $6f, $6f
|
||||||
db $1f, $20, $48, $47, $49, $4a, $71, $71
|
db $1f, $20, $70, $70, $70, $70, $70, $70
|
||||||
db $21, $22, $23, $26, $27, $72, $72, $72
|
db $21, $22, $23, $26, $27, $71, $71, $71
|
||||||
db $73, $2b, $24, $28, $29, $74, $73, $73
|
db $72, $2b, $24, $28, $29, $73, $72, $72
|
||||||
db $75, $33, $25, $2c, $2d, $1d, $75, $75
|
db $74, $33, $25, $2c, $2d, $1d, $74, $74
|
||||||
db $76, $76, $34, $3c, $3e, $2a, $45, $76
|
db $75, $75, $34, $3c, $3e, $2a, $45, $75
|
||||||
db $77, $77, $6d, $3d, $1c, $2e, $46, $77
|
db $76, $76, $6c, $3d, $1c, $2e, $46, $76
|
||||||
db $78, $78, $35, $36, $37, $44, $3f, $79
|
db $77, $77, $35, $36, $37, $44, $3f, $78
|
||||||
db $4b, $4c, $4d, $4e, $38, $2f, $40, $6f
|
db $4b, $4c, $4d, $4e, $38, $2f, $40, $6e
|
||||||
db $4f, $6e, $50, $51, $39, $3a, $41, $42
|
db $7a, $6d, $4f, $50, $39, $3a, $41, $42
|
||||||
db $54, $55, $57, $52, $53, $3b, $43, $5c
|
db $53, $54, $56, $51, $52, $3b, $43, $5b
|
||||||
db $6b, $56, $58, $7a, $59, $5a, $5b, $5e
|
db $6a, $55, $57, $79, $58, $59, $5a, $5d
|
||||||
db $6c, $66, $67, $68, $61, $62, $5d, $5f
|
db $6b, $65, $66, $67, $60, $61, $5c, $5e
|
||||||
db $7a, $60, $69, $6a, $63, $64, $7a, $7a
|
db $79, $5f, $68, $69, $62, $63, $79, $79
|
||||||
db $7a, $7a, $7a, $1b, $32, $65, $7a, $7a
|
db $79, $79, $79, $1b, $32, $64, $79, $79
|
||||||
db $7a, $7a, $7a, $30, $31, $7a, $7a, $7a
|
db $79, $79, $79, $30, $31, $79, $79, $79
|
||||||
MagicianMapEnd:
|
MagicianMapEnd:
|
||||||
|
Binary file not shown.
@ -8,30 +8,161 @@ TheHighPriestess:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .KeyArtTiles
|
dw .KeyArtTiles
|
||||||
|
dw .SpriteTilesEnd - .SpriteTiles
|
||||||
|
dw .SpriteTiles
|
||||||
|
dw .fInit
|
||||||
|
dw .fUpdate
|
||||||
|
dw .fDraw
|
||||||
; original export script by gabriel reis, modified by shoofle
|
; 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:
|
.KeyArtTiles:
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $02,$fd,$02,$fd,$02,$fd,$02,$fd,$02,$fd,$02,$fd,$1f,$e0,$00,$ff
|
db $06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$1f,$e0,$00,$ff
|
||||||
db $40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$f8,$07,$00,$ff
|
db $60,$9f,$60,$9f,$60,$9f,$60,$9f,$60,$9f,$60,$9f,$f8,$07,$00,$ff
|
||||||
db $00,$ff,$0f,$ff,$39,$fe,$e7,$f8,$7f,$80,$ff,$00,$ff,$00,$ff,$00
|
db $00,$ff,$0f,$ff,$38,$ff,$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 $00,$ff,$c0,$ff,$78,$ff,$8f,$7f,$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 $00,$ff,$00,$ff,$00,$ff,$00,$ff,$c0,$ff,$60,$ff,$b8,$7f,$cc,$3f
|
||||||
db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$f8,$07,$c0,$3f,$00,$ff,$00,$ff
|
db $00,$ff,$01,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $ff,$00,$ff,$00,$ff,$00,$ff,$00,$7f,$80,$1c,$e3,$00,$ff,$00,$ff
|
db $df,$ff,$ff,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff,$7f,$ff
|
||||||
db $00,$ff,$01,$ff,$03,$ff,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00
|
db $e4,$ff,$f6,$ff,$f2,$ff,$f0,$ff,$f8,$ff,$f8,$ff,$fc,$ff,$fc,$ff
|
||||||
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 $00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
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 $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 $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,$f8,$ff,$e0,$ff
|
||||||
db $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$3f,$ff,$1f,$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,$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 $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
|
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 $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 $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 $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 $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 $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 $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 $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 $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,$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 $00,$00,$00,$00,$00,$00,$00,$00,$01,$06,$00,$07,$01,$07,$01,$07
|
||||||
db $3f,$7f,$1f,$3f,$0f,$1f,$0f,$1f,$07,$0f,$03,$07,$03,$87,$01,$83
|
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 $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 $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 $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,$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,$07,$01,$07,$00,$0f,$00,$ff,$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 $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 $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 $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 $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 $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,$07,$08
|
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 $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 $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 $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,$00,$80,$e0
|
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 $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 $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 $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 $70,$fe,$ec,$f2,$0c,$f0,$04,$f8,$04,$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 $0d,$0f,$1f,$1f,$10,$1f,$30,$3f,$20,$3f,$00,$7f,$00,$7f,$00,$7f
|
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 $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 $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,$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,$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 $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 $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
|
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,$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,$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,$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,$1f,$e0,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9,$06,$f9
|
||||||
db $00,$ff,$f8,$07,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf,$40,$bf
|
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,$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,$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
|
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 $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 $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 $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:
|
.KeyArtTilesEnd:
|
||||||
|
|
||||||
.BackgroundCopy: ; tiles start at 26
|
.BackgroundCopy: ; tiles start at 26
|
||||||
db $6c, $6c, $75, $74, $55, $55, $55, $55
|
db $66, $66, $66, $66, $66, $66, $66, $66
|
||||||
db $6c, $6c, $6e, $1d, $1e, $1f, $20, $21
|
db $66, $66, $68, $1d, $1e, $1f, $66, $66
|
||||||
db $6d, $22, $23, $24, $25, $26, $27, $6d
|
db $67, $20, $21, $69, $69, $22, $67, $67
|
||||||
db $28, $29, $2a, $2b, $2c, $2d, $2e, $28
|
db $23, $24, $25, $26, $27, $28, $29, $23
|
||||||
db $2f, $30, $6f, $31, $32, $6f, $33, $34
|
db $2a, $2b, $69, $2c, $2d, $69, $2e, $2f
|
||||||
db $35, $36, $37, $38, $39, $3a, $3b, $3c
|
db $30, $31, $32, $33, $34, $35, $36, $37
|
||||||
db $35, $3d, $3e, $3f, $40, $41, $42, $3c
|
db $30, $38, $39, $3a, $3b, $3c, $3d, $37
|
||||||
db $35, $43, $44, $45, $46, $47, $48, $3c
|
db $30, $3e, $3f, $40, $41, $42, $43, $37
|
||||||
db $35, $49, $4a, $4b, $4c, $4d, $4e, $3c
|
db $30, $44, $45, $46, $47, $48, $49, $37
|
||||||
db $35, $72, $4f, $50, $51, $52, $73, $3c
|
db $30, $6c, $4a, $4b, $4c, $4d, $6d, $37
|
||||||
db $35, $70, $53, $54, $1a, $56, $71, $3c
|
db $30, $6a, $4e, $4f, $1a, $50, $6b, $37
|
||||||
db $57, $58, $59, $5a, $5b, $5c, $5d, $5e
|
db $51, $52, $53, $54, $55, $56, $57, $58
|
||||||
db $5f, $60, $61, $62, $63, $64, $65, $66
|
db $59, $5a, $5b, $5c, $5d, $5e, $5f, $60
|
||||||
db $6b, $67, $6c, $6c, $6c, $6c, $68, $6b
|
db $65, $61, $66, $66, $66, $66, $62, $65
|
||||||
db $6c, $6c, $6c, $69, $6a, $6c, $6c, $6c
|
db $66, $66, $66, $63, $64, $66, $66, $66
|
||||||
db $6c, $6c, $6c, $1b, $1c, $6c, $6c, $6c
|
db $66, $66, $66, $1b, $1c, $66, $66, $66
|
||||||
.BackgroundCopyEnd:
|
.BackgroundCopyEnd:
|
||||||
|
Binary file not shown.
@ -8,7 +8,17 @@ TheEmpress:
|
|||||||
dw EmpressMap
|
dw EmpressMap
|
||||||
dw EmpressTilesEnd - EmpressTiles
|
dw EmpressTilesEnd - EmpressTiles
|
||||||
dw EmpressTiles
|
dw EmpressTiles
|
||||||
|
dw .SpriteTilesEnd - .SpriteTiles
|
||||||
|
dw .SpriteTiles
|
||||||
|
dw .fInit
|
||||||
|
dw .fUpdate
|
||||||
|
dw .fDraw
|
||||||
|
|
||||||
|
.fInit: ret
|
||||||
|
.fUpdate: ret
|
||||||
|
.fDraw: ret
|
||||||
|
.SpriteTiles:
|
||||||
|
.SpriteTilesEnd:
|
||||||
EmpressMap:
|
EmpressMap:
|
||||||
db $7e, $1b, $1c, $1d, $1a, $1a, $78, $79
|
db $7e, $1b, $1c, $1d, $1a, $1a, $78, $79
|
||||||
db $75, $1e, $5f, $1f, $20, $21, $7d, $7a
|
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 EmperorMap
|
||||||
dw EmperorTilesEnd - EmperorTiles
|
dw EmperorTilesEnd - EmperorTiles
|
||||||
dw 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:
|
EmperorMap:
|
||||||
db $1b, $1c, $1d, $1e, $1f, $20, $21, $62
|
db $1b, $1c, $1d, $1e, $1f, $20, $21, $62
|
||||||
@ -19,13 +353,13 @@ EmperorMap:
|
|||||||
db $37, $38, $6b, $77, $73, $39, $3a, $69
|
db $37, $38, $6b, $77, $73, $39, $3a, $69
|
||||||
db $3b, $3c, $3d, $77, $77, $3e, $3f, $40
|
db $3b, $3c, $3d, $77, $77, $3e, $3f, $40
|
||||||
db $41, $42, $43, $77, $44, $45, $46, $47
|
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, $4e, $77, $77, $77, $4f, $50, $79
|
||||||
db $6c, $51, $52, $53, $54, $55, $56, $79
|
db $6c, $51, $52, $53, $54, $55, $56, $79
|
||||||
db $67, $57, $58, $59, $5a, $5b, $5c, $68
|
db $67, $57, $58, $59, $5a, $5b, $5c, $68
|
||||||
db $5d, $5e, $5f, $71, $71, $60, $61, $78
|
db $5d, $5e, $5f, $71, $71, $60, $61, $78
|
||||||
db $71, $71, $71, $7c, $7d, $71, $71, $71
|
db $71, $71, $71, $7b, $7c, $71, $71, $71
|
||||||
db $71, $71, $71, $7b, $7e, $71, $71, $71
|
db $71, $71, $71, $7a, $7d, $71, $71, $71
|
||||||
EmperorMapEnd:
|
EmperorMapEnd:
|
||||||
|
|
||||||
EmperorTiles:
|
EmperorTiles:
|
||||||
@ -61,20 +395,20 @@ EmperorTiles:
|
|||||||
db $00,$ff,$aa,$ff,$04,$ff,$aa,$ff,$00,$ff,$a9,$ff,$03,$ff,$a7,$fa
|
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 $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 $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 $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,$18,$f8,$18,$f0,$30,$30,$f0
|
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,$03,$02,$03,$02,$03,$3a,$3b,$2a,$3b
|
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 $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 $39,$7e,$1e,$7f,$17,$7f,$12,$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 $55,$00,$55,$00,$f5,$e1,$3d,$fd,$87,$ff,$41,$ff,$21,$ff,$19,$ff
|
||||||
db $f0,$0f,$fa,$87,$fc,$c3,$7e,$71,$0f,$08,$07,$04,$07,$04,$06,$07
|
db $fd,$fd,$83,$8b,$01,$09,$01,$09,$01,$09,$01,$09,$01,$09,$81,$89
|
||||||
db $70,$b0,$70,$90,$70,$90,$78,$98,$78,$98,$7f,$8f,$7f,$80,$7f,$80
|
db $70,$bf,$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 $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 $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 $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 $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 $8f,$ff,$8f,$ff,$cf,$ff,$6f,$fa,$37,$f8,$1f,$f8,$1f,$f8,$1f,$78
|
||||||
db $86,$87,$86,$87,$86,$87,$86,$87,$8e,$8f,$8b,$8b,$f8,$f8,$ff,$ff
|
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 $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 $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
|
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 $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 $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 $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 $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 $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
|
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 $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 $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,$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,$e6,$00,$e7,$00,$e7,$00,$e7,$00,$80,$00,$ff,$00,$ff,$00,$ff
|
||||||
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,$80,$00,$e5,$00,$e4,$00,$e6,$00,$e6
|
||||||
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,$01,$00,$f7,$00,$e7,$00,$ef,$00,$ef
|
||||||
db $00,$ff,$00,$ff,$00,$ff,$00,$03,$00,$f7,$00,$ef,$00,$ef,$00,$ef
|
db $00,$4f,$00,$5f,$00,$1f,$00,$bf,$00,$07,$00,$ff,$00,$ff,$00,$ff
|
||||||
db $00,$5f,$00,$5f,$00,$1f,$00,$bf,$00,$03,$00,$ff,$00,$ff,$00,$ff
|
|
||||||
EmperorTilesEnd:
|
EmperorTilesEnd:
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,3 +1,5 @@
|
|||||||
|
nop
|
||||||
|
nop
|
||||||
TheHierophant:
|
TheHierophant:
|
||||||
db 10, "THE "
|
db 10, "THE "
|
||||||
db 10, "HIEROPHANT"
|
db 10, "HIEROPHANT"
|
||||||
@ -8,10 +10,151 @@ TheHierophant:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $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,$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,$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,$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 $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 $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 $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 $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,$70,$88,$e0,$18
|
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 $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 $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 $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 $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 $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 $39,$c6,$3f,$40,$18,$67,$1f,$20,$0f,$30,$0f,$1f,$00,$18,$00,$f1
|
||||||
db $e0,$10,$e0,$10,$c0,$30,$c0,$20,$80,$40,$00,$80,$00,$80,$00,$ff
|
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 $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 $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 $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 $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,$89,$04,$89,$04,$89
|
db $00,$30,$00,$10,$00,$10,$00,$10,$00,$1f,$04,$8b,$04,$8b,$04,$8b
|
||||||
db $01,$84,$01,$84,$01,$84,$01,$8c,$05,$88,$05,$18,$05,$10,$05,$12
|
db $01,$86,$01,$86,$01,$86,$01,$8e,$05,$8a,$05,$1a,$05,$1a,$07,$1a
|
||||||
db $00,$60,$40,$10,$50,$08,$50,$08,$54,$0c,$54,$06,$56,$02,$56,$02
|
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 $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 $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 $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 $95,$6a,$95,$6a,$95,$6a,$95,$7a,$95,$7a,$55,$ba,$55,$ba,$55,$ba
|
||||||
db $04,$89,$04,$89,$04,$89,$04,$89,$04,$89,$04,$89,$04,$89,$04,$89
|
db $04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$8b
|
||||||
db $05,$12,$05,$12,$05,$12,$05,$12,$05,$12,$05,$12,$05,$12,$05,$12
|
db $07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a,$07,$1a
|
||||||
db $56,$02,$54,$03,$51,$06,$53,$0c,$63,$3c,$67,$78,$4f,$70,$5f,$60
|
db $56,$aa,$54,$af,$59,$ae,$53,$bc,$63,$bc,$67,$f8,$4f,$f0,$5f,$e0
|
||||||
db $71,$9e,$ff,$1f,$e9,$19,$e9,$19,$df,$39,$df,$39,$bf,$79,$af,$69
|
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 $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 $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 $55,$ba,$55,$ba,$55,$ba,$55,$ba,$b4,$fb,$b4,$eb,$b4,$eb,$f4,$eb
|
||||||
db $04,$89,$04,$89,$04,$89,$04,$89,$04,$09,$04,$09,$04,$09,$04,$09
|
db $04,$8b,$04,$8b,$04,$8b,$04,$8b,$04,$0b,$04,$0b,$04,$0b,$04,$0b
|
||||||
db $05,$12,$05,$12,$05,$12,$05,$12,$04,$09,$04,$09,$04,$09,$05,$09
|
db $07,$1a,$07,$1a,$07,$1a,$07,$1a,$05,$0b,$05,$0b,$05,$0b,$05,$0b
|
||||||
db $7f,$40,$7f,$40,$7e,$41,$7e,$41,$7d,$43,$5b,$67,$47,$7f,$ff,$ff
|
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 $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 $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 $f4,$eb,$f4,$eb,$d4,$eb,$94,$ab,$94,$ab,$14,$2b,$14,$2b,$14,$2b
|
||||||
db $04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$09
|
db $04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b
|
||||||
db $05,$08,$05,$08,$05,$08,$05,$08,$05,$08,$05,$08,$05,$08,$05,$08
|
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,$7f,$7f,$3f,$7f,$3f
|
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 $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 $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 $14,$2b,$14,$6a,$14,$6a,$14,$6a,$14,$6b,$14,$6b,$14,$6b,$15,$6a
|
||||||
db $04,$09,$04,$09,$04,$09,$04,$09,$04,$09,$04,$19,$05,$90,$05,$f0
|
db $04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$0b,$04,$1b,$05,$9a,$05,$fa
|
||||||
db $01,$0c,$01,$04,$01,$04,$01,$04,$01,$0c,$05,$88,$05,$98,$05,$f0
|
db $01,$0e,$01,$06,$01,$06,$01,$06,$01,$0e,$05,$8a,$05,$9a,$05,$fa
|
||||||
db $5e,$3e,$5c,$1c,$50,$10,$50,$10,$50,$10,$50,$10,$58,$08,$58,$08
|
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 $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 $15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a,$15,$6a
|
||||||
db $55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00,$55,$00
|
db $50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$a8,$50,$ac,$50,$ac
|
||||||
db $58,$08,$58,$08,$58,$08,$58,$08,$58,$08,$58,$08,$54,$04,$54,$04
|
db $15,$6a,$15,$6a,$15,$6a,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa
|
||||||
db $55,$40,$55,$40,$55,$40,$d5,$80,$d5,$80,$d5,$80,$d5,$80,$d5,$80
|
db $50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac,$50,$ac
|
||||||
db $54,$04,$54,$04,$54,$04,$54,$04,$54,$04,$54,$04,$54,$04,$54,$04
|
db $55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$15,$ea,$15,$ea
|
||||||
db $d5,$80,$d5,$80,$d5,$80,$d5,$80,$d5,$80,$55,$80,$15,$c0,$15,$c0
|
db $55,$aa,$55,$aa,$41,$80,$08,$88,$1c,$1c,$3e,$36,$1f,$0f,$1b,$19
|
||||||
db $55,$00,$55,$00,$41,$00,$08,$08,$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 $55,$00,$55,$00,$05,$00,$11,$10,$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 $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 $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 $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,$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,$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 $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 $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 $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 $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 $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 $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 $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 $60,$60,$40,$40,$40,$40,$c0,$c0,$80,$80,$f0,$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,$1f,$1f,$08,$08,$08,$08,$0c,$0c,$04,$04,$04,$04
|
||||||
db $00,$00,$00,$00,$00,$f8,$00,$10,$00,$10,$00,$20,$00,$20,$00,$20
|
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:
|
.KeyArtTilesEnd:
|
||||||
|
|
||||||
.BackgroundCopy: ; tiles start at 26
|
.BackgroundCopy: ; tiles start at 26
|
||||||
@ -120,11 +263,11 @@ TheHierophant:
|
|||||||
db $1a, $42, $43, $44, $45, $46, $47, $1a
|
db $1a, $42, $43, $44, $45, $46, $47, $1a
|
||||||
db $1a, $48, $49, $4a, $4b, $4c, $4d, $1a
|
db $1a, $48, $49, $4a, $4b, $4c, $4d, $1a
|
||||||
db $1a, $4e, $4f, $50, $51, $52, $53, $1a
|
db $1a, $4e, $4f, $50, $51, $52, $53, $1a
|
||||||
db $1a, $1a, $54, $55, $55, $56, $53, $1a
|
db $1a, $1a, $54, $7b, $7b, $55, $53, $1a
|
||||||
db $1a, $1a, $57, $55, $55, $58, $53, $1a
|
db $1a, $1a, $56, $7b, $7b, $57, $53, $1a
|
||||||
db $6b, $6c, $59, $5a, $5b, $64, $65, $66
|
db $6a, $6b, $58, $59, $5a, $63, $64, $65
|
||||||
db $6d, $6e, $78, $5c, $5d, $77, $5f, $60
|
db $6c, $6d, $77, $5b, $5c, $76, $5e, $5f
|
||||||
db $70, $71, $72, $1a, $1a, $61, $67, $68
|
db $6f, $70, $71, $1a, $1a, $60, $66, $67
|
||||||
db $73, $74, $75, $7a, $7b, $62, $69, $6a
|
db $72, $73, $74, $79, $7a, $61, $68, $69
|
||||||
db $6f, $1a, $76, $1b, $79, $63, $1a, $5e
|
db $6e, $1a, $75, $1b, $78, $62, $1a, $5d
|
||||||
.BackgroundCopyEnd:
|
.BackgroundCopyEnd:
|
||||||
|
Binary file not shown.
@ -8,6 +8,17 @@ TheChariot:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,17 @@ Strength:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,17 @@ TheHermit:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,17 @@ WheelOfFortune:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
@ -8,7 +8,17 @@ Justice:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,17 @@ TheHangedMan:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
13
13Death.inc
13
13Death.inc
@ -8,7 +8,18 @@ Death:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
|
@ -8,7 +8,18 @@ Temperance:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
@ -8,7 +8,18 @@ TheDevil:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
|
@ -8,7 +8,18 @@ TheTower:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
|
@ -8,7 +8,18 @@ TheStar:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
|
@ -8,7 +8,18 @@ TheMoon:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
|
13
19TheSun.inc
13
19TheSun.inc
@ -8,7 +8,18 @@ TheSun:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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:
|
.KeyArtTiles:
|
||||||
|
@ -8,7 +8,18 @@ Judgement:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .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
|
; sparks flying off
|
||||||
; original export script by gabriel reis, modified by shoofle
|
; original export script by gabriel reis, modified by shoofle
|
||||||
|
|
||||||
|
@ -8,8 +8,18 @@ TheWorld:
|
|||||||
dw .BackgroundCopy
|
dw .BackgroundCopy
|
||||||
dw .KeyArtTilesEnd - .KeyArtTiles
|
dw .KeyArtTilesEnd - .KeyArtTiles
|
||||||
dw .KeyArtTiles
|
dw .KeyArtTiles
|
||||||
; original export script by gabriel reis, modified by shoofle
|
dw .SpriteTilesEnd - .SpriteTiles
|
||||||
; continents
|
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:
|
.KeyArtTiles:
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
@ -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
|
; 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 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
|
def SAFE_ASYNC_END EQU 153
|
||||||
|
|
||||||
Async_Spawn_HL:
|
Async_Spawn_HL:
|
||||||
@ -161,6 +161,11 @@ Async_Spawn:
|
|||||||
ei
|
ei
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
Async_Kill:
|
||||||
|
ld hl, EndOfInstructions
|
||||||
|
call Async_Spawn_HL
|
||||||
|
ret
|
||||||
|
|
||||||
Async_EnterThread:
|
Async_EnterThread:
|
||||||
;stack looks like:
|
;stack looks like:
|
||||||
;c113 (SMC int @ LYC 90 pc), 004b (hw int @ LYC 90 pc), outer context pc
|
;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
|
; 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:
|
LoadCardData:
|
||||||
LoadCardDataAsync:
|
LoadCardDataAsync:
|
||||||
@ -30,6 +31,7 @@ LoadCardDataAsync:
|
|||||||
add hl, bc ; triple add bc entries are bank, addr, addr
|
add hl, bc ; triple add bc entries are bank, addr, addr
|
||||||
|
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
|
ld [CARD_HELPER_VARS_START + cvCardBank], a
|
||||||
ld [rROMB0], a ; select the specified bank
|
ld [rROMB0], a ; select the specified bank
|
||||||
; follow the pointer we're looking at, and write it to cvCardAddress
|
; follow the pointer we're looking at, and write it to cvCardAddress
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
@ -76,7 +78,7 @@ LoadCardDataAsync:
|
|||||||
ld b, 16 ; height
|
ld b, 16 ; height
|
||||||
ld c, 8 ; width
|
ld c, 8 ; width
|
||||||
|
|
||||||
call CopyTilesToMapUnsafe
|
call CopyTilesToMap
|
||||||
|
|
||||||
ld a, [CARD_HELPER_VARS_START + cvCardAddress]
|
ld a, [CARD_HELPER_VARS_START + cvCardAddress]
|
||||||
ld l, a
|
ld l, a
|
||||||
@ -100,7 +102,7 @@ LoadCardDataAsync:
|
|||||||
ld l, e ; hl takes the source
|
ld l, e ; hl takes the source
|
||||||
|
|
||||||
ld de, $9000 + VARIABLE_TILES_START*$10 ; always load tile data into the same spot in vram
|
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]
|
ld a, [CARD_HELPER_VARS_START + cvCardAddress]
|
||||||
@ -125,7 +127,7 @@ LoadCardDataAsync:
|
|||||||
ld l, e ; hl takes the source
|
ld l, e ; hl takes the source
|
||||||
|
|
||||||
ld de, $8000 ; sprite tiles get loaded into the bottom of vram
|
ld de, $8000 ; sprite tiles get loaded into the bottom of vram
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld a, [CARD_HELPER_VARS_START + cvCardAddress]
|
ld a, [CARD_HELPER_VARS_START + cvCardAddress]
|
||||||
ld l, a
|
ld l, a
|
||||||
@ -133,8 +135,7 @@ LoadCardDataAsync:
|
|||||||
ld h, a ; hl now contains the address of the card data.
|
ld h, a ; hl now contains the address of the card data.
|
||||||
|
|
||||||
ld b, 0
|
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
|
add hl, bc ; hl now points to the card functions
|
||||||
|
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
@ -158,6 +159,12 @@ CardInit:
|
|||||||
ld a, [rLCDC]
|
ld a, [rLCDC]
|
||||||
and a, %1111_1011
|
and a, %1111_1011
|
||||||
ld [rLCDC], a
|
ld [rLCDC], a
|
||||||
|
|
||||||
|
ld hl, ZEROES
|
||||||
|
ld de, MY_OAM
|
||||||
|
ld bc, $100
|
||||||
|
call CopyRange
|
||||||
|
|
||||||
call CARD_INIT - 1
|
call CARD_INIT - 1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
@ -177,24 +177,30 @@ INCLUDE "01TheMagician.inc"
|
|||||||
INCLUDE "02TheHighPriestess.inc"
|
INCLUDE "02TheHighPriestess.inc"
|
||||||
INCLUDE "03TheEmpress.inc"
|
INCLUDE "03TheEmpress.inc"
|
||||||
INCLUDE "04TheEmperor.inc"
|
INCLUDE "04TheEmperor.inc"
|
||||||
|
|
||||||
|
|
||||||
|
SECTION "Second Eight Cards", ROMX
|
||||||
INCLUDE "05TheHierophant.inc"
|
INCLUDE "05TheHierophant.inc"
|
||||||
INCLUDE "06TheLovers.inc"
|
INCLUDE "06TheLovers.inc"
|
||||||
INCLUDE "07TheChariot.inc"
|
INCLUDE "07TheChariot.inc"
|
||||||
|
|
||||||
SECTION "Second Eight Cards", ROMX
|
|
||||||
INCLUDE "08Strength.inc"
|
INCLUDE "08Strength.inc"
|
||||||
INCLUDE "09TheHermit.inc"
|
INCLUDE "09TheHermit.inc"
|
||||||
|
|
||||||
|
|
||||||
|
SECTION "Third Eight Cards", ROMX
|
||||||
INCLUDE "10WheelOfFortune.inc"
|
INCLUDE "10WheelOfFortune.inc"
|
||||||
INCLUDE "11Justice.inc"
|
INCLUDE "11Justice.inc"
|
||||||
INCLUDE "12TheHangedMan.inc"
|
INCLUDE "12TheHangedMan.inc"
|
||||||
INCLUDE "13Death.inc"
|
INCLUDE "13Death.inc"
|
||||||
INCLUDE "14Temperance.inc"
|
INCLUDE "14Temperance.inc"
|
||||||
INCLUDE "15TheDevil.inc"
|
|
||||||
|
|
||||||
SECTION "Third Eight Cards", ROMX
|
SECTION "Fourth Eight Cards", ROMX
|
||||||
|
INCLUDE "15TheDevil.inc"
|
||||||
INCLUDE "16TheTower.inc"
|
INCLUDE "16TheTower.inc"
|
||||||
INCLUDE "17TheStar.inc"
|
INCLUDE "17TheStar.inc"
|
||||||
INCLUDE "18TheMoon.inc"
|
INCLUDE "18TheMoon.inc"
|
||||||
INCLUDE "19TheSun.inc"
|
INCLUDE "19TheSun.inc"
|
||||||
|
|
||||||
|
SECTION "FIFTH EIGHT CARDS", ROMX
|
||||||
INCLUDE "20Judgement.inc"
|
INCLUDE "20Judgement.inc"
|
||||||
INCLUDE "21TheWorld.inc"
|
INCLUDE "21TheWorld.inc"
|
@ -14,17 +14,21 @@ DEF SAFE_TRANSFER_END EQU 153
|
|||||||
|
|
||||||
|
|
||||||
CopyRange:
|
CopyRange:
|
||||||
CopyRangeUnsafe: ; this is threadsafe but not vblank safe
|
CopyRangeUnsafe:
|
||||||
; hl is source
|
; hl is source
|
||||||
; de is destination
|
; de is destination
|
||||||
; bc is length to copy
|
; bc is length to copy
|
||||||
|
ld a, b
|
||||||
|
or a, c
|
||||||
|
ret z
|
||||||
|
.loop
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
dec bc
|
dec bc
|
||||||
ld a, b
|
ld a, b
|
||||||
or a, c ; check if bc is zero
|
or a, c ; check if bc is zero
|
||||||
jp nz, CopyRange
|
jp nz, .loop
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -34,7 +38,10 @@ CopyRangeUnsafeBy8s:
|
|||||||
; de is destination
|
; de is destination
|
||||||
; bc is 1/8 of length to copy!!!
|
; bc is 1/8 of length to copy!!!
|
||||||
; so like this will copy 8*bc bytes!
|
; so like this will copy 8*bc bytes!
|
||||||
|
ld a, b
|
||||||
|
or a, c
|
||||||
|
ret z
|
||||||
|
.loop
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
@ -62,7 +69,5 @@ CopyRangeUnsafeBy8s:
|
|||||||
dec bc
|
dec bc
|
||||||
ld a, b
|
ld a, b
|
||||||
or a, c ; check if bc is zero
|
or a, c ; check if bc is zero
|
||||||
jp nz, CopyRangeBy8s
|
jp nz, .loop
|
||||||
nop
|
|
||||||
nop
|
|
||||||
ret
|
ret
|
148
KeyArtTiles.asm
148
KeyArtTiles.asm
@ -4,42 +4,120 @@
|
|||||||
KeyArtTiles:
|
KeyArtTiles:
|
||||||
|
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa
|
db $06,$06,$02,$02,$02,$02,$03,$03,$01,$01,$0f,$0f,$00,$00,$00,$00
|
||||||
db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa
|
db $00,$00,$18,$19,$3c,$3f,$26,$27,$42,$43,$43,$43,$41,$41,$40,$40
|
||||||
db $00,$ff,$fe,$ff,$fe,$ff,$06,$ff,$f6,$ff,$56,$bf,$b6,$5f,$56,$bf
|
db $00,$00,$00,$80,$00,$80,$00,$c0,$00,$c0,$00,$e0,$80,$e0,$80,$f0
|
||||||
db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01
|
||||||
db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa
|
db $00,$00,$00,$00,$00,$00,$0f,$0f,$0f,$09,$0f,$09,$0f,$09,$ff,$f9
|
||||||
db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8,$f8
|
||||||
db $6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff
|
db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
db $aa,$55,$55,$aa,$aa,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff
|
db $80,$80,$80,$80,$80,$80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $b6,$5f,$56,$bf,$b6,$5f,$f6,$ff,$06,$ff,$fe,$ff,$fe,$ff,$00,$ff
|
db $c0,$f0,$40,$78,$60,$78,$20,$38,$30,$38,$10,$18,$18,$18,$08,$08
|
||||||
db $ff,$00,$80,$7f,$80,$7f,$9f,$7f,$9f,$7f,$98,$78,$99,$79,$9a,$7a
|
db $01,$01,$00,$00,$00,$00,$00,$00,$0f,$0f,$0f,$0f,$00,$00,$00,$00
|
||||||
db $ff,$00,$01,$fe,$01,$fe,$f9,$fe,$f9,$fe,$19,$1e,$19,$1e,$d9,$de
|
db $ff,$f9,$0f,$09,$0f,$09,$0f,$09,$ff,$f9,$ff,$f9,$0f,$09,$0f,$09
|
||||||
db $9a,$7a,$99,$79,$98,$78,$9c,$78,$99,$78,$9b,$79,$9b,$7a,$9b,$7a
|
db $f8,$f8,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00
|
||||||
db $d9,$de,$99,$9e,$d9,$de,$f9,$de,$99,$9e,$d9,$9e,$d9,$9e,$d9,$5e
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$07
|
||||||
db $98,$78,$98,$7b,$99,$7a,$9a,$7c,$9f,$7b,$99,$79,$99,$79,$98,$78
|
db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
|
||||||
db $59,$5e,$19,$fe,$f9,$1e,$19,$1e,$d9,$de,$d9,$de,$59,$5e,$19,$1e
|
db $00,$00,$00,$3f,$1e,$61,$3f,$c0,$7f,$80,$76,$89,$7f,$99,$7f,$80
|
||||||
db $98,$79,$98,$79,$98,$78,$9f,$7f,$9f,$7f,$80,$7f,$80,$7f,$ff,$00
|
db $08,$08,$08,$08,$08,$c8,$88,$68,$c8,$38,$e8,$18,$f0,$88,$e0,$18
|
||||||
db $19,$9e,$19,$9e,$19,$1e,$f9,$fe,$f9,$fe,$01,$fe,$01,$fe,$ff,$00
|
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:
|
BackgroundCopy:
|
||||||
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 $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $1a, $21, $22, $23, $24, $25, $26
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $27, $28, $29, $2a, $2b, $2c, $2d
|
||||||
db $01, $02, $03, $0a, $0b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $2e, $2f, $30, $31, $32, $33, $1a
|
||||||
db $04, $05, $06, $0c, $0d, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $34, $35, $36, $37, $38, $39, $3a
|
||||||
db $04, $05, $06, $0e, $0f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $3b, $3c, $3d, $3e, $3f, $40, $41
|
||||||
db $04, $05, $06, $10, $11, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $42, $43, $44, $45, $46, $47, $1a
|
||||||
db $07, $08, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $48, $49, $4a, $4b, $4c, $4d, $1a
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $4e, $4f, $50, $51, $52, $53, $1a
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $1a, $54, $7b, $7b, $55, $53, $1a
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $1a, $1a, $56, $7b, $7b, $57, $53, $1a
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $6a, $6b, $58, $59, $5a, $63, $64, $65
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $6c, $6d, $77, $5b, $5c, $76, $5e, $5f
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $6f, $70, $71, $1a, $1a, $60, $66, $67
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $72, $73, $74, $79, $7a, $61, $68, $69
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $6e, $1a, $75, $1b, $78, $62, $1a, $5d
|
||||||
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
|
|
||||||
|
@ -11,15 +11,15 @@ CardBrowseSetup:
|
|||||||
ld a, 1
|
ld a, 1
|
||||||
ld [vBlocked], a
|
ld [vBlocked], a
|
||||||
|
|
||||||
ld hl, .asyncTask
|
|
||||||
call Async_Spawn_HL
|
|
||||||
|
|
||||||
; make sure working oam is clear
|
; make sure working oam is clear
|
||||||
ld hl, ZEROES
|
ld hl, ZEROES
|
||||||
ld de, MY_OAM
|
ld de, MY_OAM
|
||||||
ld bc, $100
|
ld bc, $100
|
||||||
call CopyRange
|
call CopyRange
|
||||||
|
|
||||||
|
ld hl, .asyncTask
|
||||||
|
call Async_Spawn_HL
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asyncTask:
|
.asyncTask:
|
||||||
@ -91,6 +91,12 @@ CardBrowseUpdate:
|
|||||||
ld hl, RefreshCardTask
|
ld hl, RefreshCardTask
|
||||||
call Async_Spawn_HL
|
call Async_Spawn_HL
|
||||||
|
|
||||||
|
; make sure working oam is clear
|
||||||
|
ld hl, ZEROES
|
||||||
|
ld de, MY_OAM
|
||||||
|
ld bc, $100
|
||||||
|
call CopyRange
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,21 +26,21 @@ MainMenuSetup:
|
|||||||
; Turn the LCD off
|
; Turn the LCD off
|
||||||
ld hl, rLCDC
|
ld hl, rLCDC
|
||||||
bit 7, [hl]
|
bit 7, [hl]
|
||||||
jp z, MainMenuSetup_ScreenOff
|
jp z, .screenOff
|
||||||
MainMenuSetup_BusyWait:
|
.busyWait
|
||||||
ld a, [rLY]
|
ld a, [rLY]
|
||||||
cp a, 143
|
cp a, 143
|
||||||
jp c, MainMenuSetup_BusyWait
|
;jp c, .busyWait
|
||||||
ld [hl], 0
|
|
||||||
|
|
||||||
MainMenuSetup_ScreenOff:
|
.screenOff:
|
||||||
ld a, 0
|
ld a, 0
|
||||||
ldh [rLCDC], a
|
ldh [rLCDC], a
|
||||||
|
|
||||||
ld hl, SquaresTileset8
|
ld hl, SquaresTileset8
|
||||||
ld de, $8010 + $80*16
|
ld de, $8010 + $80*16
|
||||||
ld bc, (SquaresTilesetEnd - SquaresTileset8)
|
ld bc, 16
|
||||||
call CopyRangeUnsafe
|
;println "the diff is ", SquaresTilesetEnd - SquaresTileset8
|
||||||
|
call CopyRange
|
||||||
|
|
||||||
def spacing equ $12
|
def spacing equ $12
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ MainMenuSetup_ScreenOff:
|
|||||||
def TileStartCardBackSprites24 equ 0
|
def TileStartCardBackSprites24 equ 0
|
||||||
ld de, $8000 + TileStartCardBackSprites24*$10; destination of copy
|
ld de, $8000 + TileStartCardBackSprites24*$10; destination of copy
|
||||||
ld bc, CardBackSprites24End - CardBackSprites24 ; length to copy
|
ld bc, CardBackSprites24End - CardBackSprites24 ; length to copy
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, CardBackSprites23
|
ld hl, CardBackSprites23
|
||||||
def TileStartCardBackSprites23 equ TileStartCardBackSprites24 + spacing
|
def TileStartCardBackSprites23 equ TileStartCardBackSprites24 + spacing
|
||||||
@ -60,45 +60,45 @@ MainMenuSetup_ScreenOff:
|
|||||||
def TileStartCardBackSprites22 equ TileStartCardBackSprites23 + spacing
|
def TileStartCardBackSprites22 equ TileStartCardBackSprites23 + spacing
|
||||||
ld de, $8000 + TileStartCardBackSprites22*$10; destination of copy
|
ld de, $8000 + TileStartCardBackSprites22*$10; destination of copy
|
||||||
ld bc, CardBackSprites22End - CardBackSprites22
|
ld bc, CardBackSprites22End - CardBackSprites22
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, CardBackSprites21
|
ld hl, CardBackSprites21
|
||||||
def TileStartCardBackSprites21 equ TileStartCardBackSprites22 + spacing
|
def TileStartCardBackSprites21 equ TileStartCardBackSprites22 + spacing
|
||||||
ld de, $8000 + TileStartCardBackSprites21*$10; destination of copy
|
ld de, $8000 + TileStartCardBackSprites21*$10; destination of copy
|
||||||
ld bc, CardBackSprites21End - CardBackSprites21
|
ld bc, CardBackSprites21End - CardBackSprites21
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, CardBackSprites20
|
ld hl, CardBackSprites20
|
||||||
def TileStartCardBackSprites20 equ TileStartCardBackSprites21 + spacing
|
def TileStartCardBackSprites20 equ TileStartCardBackSprites21 + spacing
|
||||||
ld de, $8000 + TileStartCardBackSprites20*$10
|
ld de, $8000 + TileStartCardBackSprites20*$10
|
||||||
ld bc, CardBackSprites20End - CardBackSprites20
|
ld bc, CardBackSprites20End - CardBackSprites20
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, CardBackSprites19
|
ld hl, CardBackSprites19
|
||||||
def TileStartCardBackSprites19 equ TileStartCardBackSprites20 + spacing
|
def TileStartCardBackSprites19 equ TileStartCardBackSprites20 + spacing
|
||||||
ld de, $8000 + TileStartCardBackSprites19*$10
|
ld de, $8000 + TileStartCardBackSprites19*$10
|
||||||
ld bc, CardBackSprites19End - CardBackSprites19
|
ld bc, CardBackSprites19End - CardBackSprites19
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, CardBackSprites18
|
ld hl, CardBackSprites18
|
||||||
def TileStartCardBackSprites18 equ TileStartCardBackSprites19 + spacing
|
def TileStartCardBackSprites18 equ TileStartCardBackSprites19 + spacing
|
||||||
ld de, $8000 + TileStartCardBackSprites18*$10
|
ld de, $8000 + TileStartCardBackSprites18*$10
|
||||||
ld bc, CardBackSprites18End - CardBackSprites18
|
ld bc, CardBackSprites18End - CardBackSprites18
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, CardBackSprites17
|
ld hl, CardBackSprites17
|
||||||
def TileStartCardBackSprites17 equ TileStartCardBackSprites18 + spacing
|
def TileStartCardBackSprites17 equ TileStartCardBackSprites18 + spacing
|
||||||
ld de, $8000 + TileStartCardBackSprites17*$10
|
ld de, $8000 + TileStartCardBackSprites17*$10
|
||||||
ld bc, CardBackSprites17End - CardBackSprites17
|
ld bc, CardBackSprites17End - CardBackSprites17
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
def TileStartCardBackSprites16 equ TileStartCardBackSprites17 + spacing
|
def TileStartCardBackSprites16 equ TileStartCardBackSprites17 + spacing
|
||||||
|
|
||||||
ld hl, SquaresTilemap
|
ld hl, MainUITilemap
|
||||||
ld de, $9800
|
ld de, $9800
|
||||||
ld b, 18
|
ld b, 18
|
||||||
ld c, 20
|
ld c, 20
|
||||||
call CopyTilesToMapUnsafe
|
call CopyTilesToMap
|
||||||
|
|
||||||
ld hl, StringRead
|
ld hl, StringRead
|
||||||
ld de, $9800 + 32*11 + 4
|
ld de, $9800 + 32*11 + 4
|
||||||
@ -112,15 +112,16 @@ MainMenuSetup_ScreenOff:
|
|||||||
|
|
||||||
|
|
||||||
; clear out the dma source
|
; clear out the dma source
|
||||||
ld hl, $c000
|
ld hl, MY_OAM
|
||||||
ld a, 0
|
ld a, 0
|
||||||
:
|
:
|
||||||
ld [hl+], a
|
ld [hl+], a
|
||||||
cp a, l
|
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 de, SAFE_DMA_LOCATION
|
||||||
ld a, $c0
|
ld a, HIGH(MY_OAM)
|
||||||
call RunDMA
|
call RunDMA
|
||||||
|
|
||||||
; set LCD and display registers
|
; set LCD and display registers
|
||||||
@ -262,7 +263,7 @@ MainMenuUpdate:
|
|||||||
|
|
||||||
ld a, [vTime+1]
|
ld a, [vTime+1]
|
||||||
cp a, $01
|
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
|
;otherwise reset the timer
|
||||||
ld a, 0
|
ld a, 0
|
||||||
@ -310,7 +311,7 @@ MainMenuUpdate:
|
|||||||
ld c, a ; x coordinate
|
ld c, a ; x coordinate
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld e, a ; width
|
ld e, a ; width
|
||||||
ld hl, $c000
|
ld hl, MY_OAM
|
||||||
call DrawWholeCard
|
call DrawWholeCard
|
||||||
|
|
||||||
ld hl, Coords
|
ld hl, Coords
|
||||||
@ -327,7 +328,7 @@ MainMenuUpdate:
|
|||||||
ld c, a ; x coordinate
|
ld c, a ; x coordinate
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld e, a ; width
|
ld e, a ; width
|
||||||
ld hl, $c000 + 9*4
|
ld hl, MY_OAM + 9*4
|
||||||
call DrawWholeCard
|
call DrawWholeCard
|
||||||
|
|
||||||
ld hl, Coords
|
ld hl, Coords
|
||||||
@ -344,43 +345,18 @@ MainMenuUpdate:
|
|||||||
ld c, a ; x coordinate
|
ld c, a ; x coordinate
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld e, a ; width
|
ld e, a ; width
|
||||||
ld hl, $c000 + 18*4
|
ld hl, MY_OAM + 18*4
|
||||||
call DrawWholeCard
|
call DrawWholeCard
|
||||||
|
|
||||||
MainMenuUpdate_Done:
|
.allDone
|
||||||
ret
|
ret
|
||||||
|
|
||||||
MainMenuDraw:
|
MainMenuDraw:
|
||||||
ld hl, $9800 + 32*11 + 3 - 64
|
ld de, SAFE_DMA_LOCATION
|
||||||
ld a, [vMenuIndexPrevious]
|
ld a, HIGH(MY_OAM)
|
||||||
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
|
|
||||||
call RunDMA
|
call RunDMA
|
||||||
|
|
||||||
|
di
|
||||||
ld hl, SquaresTiles
|
ld hl, SquaresTiles
|
||||||
inc hl
|
inc hl
|
||||||
ld b, 0
|
ld b, 0
|
||||||
@ -397,6 +373,35 @@ MainMenuDraw:
|
|||||||
ld bc, (SquaresTileset8 - SquaresTileset7) / 8
|
ld bc, (SquaresTileset8 - SquaresTileset7) / 8
|
||||||
call CopyRangeUnsafeBy8s
|
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
|
ret
|
||||||
|
|
||||||
MainMenuTeardown:
|
MainMenuTeardown:
|
||||||
@ -431,10 +436,10 @@ DrawWholeCard: ; hl memory location, b y, c x, e width, d wiggle
|
|||||||
cp a, 17
|
cp a, 17
|
||||||
ld e, TileStartCardBackSprites17
|
ld e, TileStartCardBackSprites17
|
||||||
jp z, Draw3x3Card
|
jp z, Draw3x3Card
|
||||||
|
|
||||||
|
; else fall through into 2x2card
|
||||||
ld e, TileStartCardBackSprites16
|
ld e, TileStartCardBackSprites16
|
||||||
jp Draw2x2Card
|
jp Draw2x2Card
|
||||||
; else fall through into 2x2card
|
|
||||||
|
|
||||||
Draw2x2Card:
|
Draw2x2Card:
|
||||||
; hl memory location, b y coord, c x coord, e tile start
|
; hl memory location, b y coord, c x coord, e tile start
|
||||||
@ -824,7 +829,7 @@ StringShuffle:
|
|||||||
StringBrowse:
|
StringBrowse:
|
||||||
db 11, "Browse Deck"
|
db 11, "Browse Deck"
|
||||||
Coords: ; y, x, spread
|
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:
|
CardBackSprites16:
|
||||||
@ -1096,7 +1101,7 @@ SquaresTileset8:
|
|||||||
SquaresTilesetEnd:
|
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
|
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, $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
|
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:
|
SpriteTiles:
|
||||||
|
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $01,$01,$01,$01,$01,$01,$01,$01,$1f,$1f,$1f,$10,$1f,$10,$1f,$1c
|
db $00,$00,$00,$00,$00,$00,$01,$01,$03,$02,$07,$04,$0f,$08,$1f,$10
|
||||||
db $f0,$f0,$fc,$5c,$fe,$06,$5f,$a3,$ff,$01,$ff,$00,$ff,$00,$ff,$00
|
db $07,$07,$1f,$18,$7f,$60,$ff,$80,$ff,$00,$ff,$03,$fc,$0c,$f0,$30
|
||||||
db $00,$00,$00,$00,$00,$00,$07,$07,$87,$85,$ff,$fd,$ff,$01,$ff,$01
|
db $1c,$1c,$1f,$03,$1f,$00,$1f,$00,$0f,$00,$0f,$08,$07,$06,$01,$01
|
||||||
db $07,$07,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$c0,$c0,$f0,$30,$f8,$08,$fc,$04,$fc,$00,$fc,$80
|
||||||
db $ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$93,$fe,$d2,$7e,$76,$1c,$1c
|
db $00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$03,$02,$03,$02
|
||||||
db $ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$c9,$7f,$69,$3f,$3b,$0e,$0e
|
db $3f,$20,$7f,$40,$ff,$81,$fe,$82,$fc,$05,$f8,$08,$f8,$08,$f0,$10
|
||||||
db $00,$00,$00,$00,$00,$00,$0e,$0e,$8f,$8b,$ff,$fd,$ff,$01,$ff,$01
|
db $07,$04,$07,$04,$07,$04,$07,$04,$0f,$08,$0f,$08,$0f,$08,$0f,$08
|
||||||
db $ff,$00,$ff,$00,$ff,$00,$ff,$80,$ff,$93,$fe,$96,$fc,$dc,$70,$70
|
db $00,$00,$00,$00,$00,$00,$00,$00,$60,$40,$60,$40,$60,$40,$60,$40
|
||||||
db $ff,$01,$ff,$01,$ff,$01,$ff,$01,$ff,$c9,$7f,$4b,$7e,$6e,$38,$38
|
db $0f,$08,$0f,$08,$0f,$08,$0f,$08,$0f,$08,$07,$04,$07,$04,$06,$04
|
||||||
db $00,$00,$03,$03,$07,$07,$0c,$0c,$18,$18,$18,$18,$30,$30,$30,$30
|
db $60,$c0,$60,$40,$60,$40,$60,$40,$60,$40,$e0,$80,$e0,$80,$e0,$80
|
||||||
db $00,$00,$c0,$c0,$e0,$e0,$30,$30,$18,$18,$18,$18,$0c,$0c,$0c,$0c
|
db $06,$04,$02,$02,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $30,$30,$30,$30,$18,$18,$18,$18,$0c,$0c,$07,$07,$03,$03,$00,$00
|
db $c0,$00,$c0,$00,$c0,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $0c,$0c,$0c,$0c,$18,$18,$18,$18,$30,$30,$e0,$e0,$c0,$c0,$00,$00
|
db $80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$3f
|
db $c0,$40,$80,$80,$00,$00,$00,$00,$00,$e0,$60,$98,$38,$c4,$3c,$40
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$1f,$00,$ff,$00,$ff
|
db $7c,$40,$3c,$20,$1c,$10,$00,$00,$00,$00,$00,$60,$60,$80,$c0,$20
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$00,$f0,$00,$fc
|
db $f0,$10,$e0,$20,$e0,$20,$e0,$20,$c0,$40,$c0,$40,$c0,$70,$c0,$40
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07
|
db $80,$00,$80,$00,$00,$80,$00,$80,$00,$00,$00,$c0,$c0,$30,$f0,$0c
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$78,$00,$ff,$00,$ff
|
db $c0,$40,$c0,$40,$c0,$40,$c0,$40,$c0,$40,$80,$00,$00,$00,$00,$00
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$f0
|
db $01,$01,$01,$01,$03,$02,$01,$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,$ff
|
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:
|
Sprites:
|
||||||
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 $00, $00, $00, $00, $0a, $0b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $05, $06, $0e, $00, $19, $0f, $00
|
||||||
db $00, $00, $00, $00, $0c, $0d, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $07, $10, $14, $00, $16, $11, $08
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $09, $12, $15, $00, $17, $18, $0a
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $0b, $00, $00, $00, $00, $13, $0c
|
||||||
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 $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $05, $1c, $1b, $00, $23, $24, $00
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $07, $1d, $1a, $00, $22, $21, $08
|
||||||
db $00, $0e, $0f, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $09, $12, $1e, $00, $1f, $20, $0a
|
||||||
db $00, $00, $00, $00, $00, $00, $11, $12, $13, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $0b, $00, $00, $00, $00, $13, $0c
|
||||||
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 $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $05, $27, $28, $00, $29, $2f, $00
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $07, $25, $26, $00, $22, $2e, $31
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $09, $30, $2a, $00, $2b, $2c, $2d
|
||||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
db $0b, $00, $00, $00, $00, $13, $0c
|
||||||
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
|
|
||||||
|
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>
|
<!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>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>curve editor for gameboy animation</title>
|
<title>curve editor for gameboy animation</title>
|
||||||
@ -18,12 +19,13 @@
|
|||||||
<body>
|
<body>
|
||||||
<svg
|
<svg
|
||||||
viewBox="0 0 176 176"
|
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>
|
<defs>
|
||||||
<g id="point">
|
<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%"/>
|
<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>
|
</g>
|
||||||
<pattern id="smallGrid" width="1" height="1" patternUnits="userSpaceOnUse">
|
<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"/>
|
<path d="M 1 0 L 0 0 0 1" fill="none" stroke="darkseagreen" stroke-width="0.25"/>
|
||||||
@ -34,28 +36,36 @@
|
|||||||
</pattern>
|
</pattern>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
|
<image
|
||||||
<g id="sequence">
|
id="background-container"
|
||||||
</g>
|
width="160"
|
||||||
<g id="lines">
|
height="144"
|
||||||
</g>
|
x="8" y="16"
|
||||||
|
opacity="50%"
|
||||||
|
xlink:href="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />
|
||||||
<rect width="100%" height="100%" fill="url(#grid)" />
|
<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"/>
|
<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>
|
</svg>
|
||||||
<div id="controls">
|
<div id="controls">
|
||||||
|
<label for="background-selector">file for background</label>
|
||||||
|
<input type="file" id="background-selector" name="background-selector"/>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>control mode</legend>
|
<legend>control mode</legend>
|
||||||
<div>
|
<div>
|
||||||
<input type="radio" name="mode" id="add" value="add" checked/>
|
<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>
|
||||||
<div>
|
<div>
|
||||||
<input type="radio" name="mode" id="delete" value="delete"/>
|
<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>
|
||||||
<div>
|
<div>
|
||||||
<input type="radio" name="mode" id="move" value="move"/>
|
<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>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div>
|
<div>
|
||||||
@ -85,9 +95,8 @@
|
|||||||
var moving_point_index = -1;
|
var moving_point_index = -1;
|
||||||
var the_list = [];
|
var the_list = [];
|
||||||
|
|
||||||
function length(dx, dy) {
|
function length(dx, dy) {return Math.sqrt(dx*dx + dy*dy);}
|
||||||
return Math.sqrt(dx*dx + dy*dy);
|
|
||||||
}
|
|
||||||
const clicksvg = (event) => {
|
const clicksvg = (event) => {
|
||||||
const mode = document.querySelector('input[name=mode]:checked').value; // either 'add', 'delete', or 'move'
|
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);
|
const {x, y} = dom_to_svg_coords(svg, event.clientX, event.clientY);
|
||||||
@ -253,6 +262,36 @@
|
|||||||
text_output = document.querySelector('textarea#output');
|
text_output = document.querySelector('textarea#output');
|
||||||
text_output.onchange = changetextarea;
|
text_output.onchange = changetextarea;
|
||||||
sprite_dims_change();
|
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>
|
</script>
|
||||||
</html>
|
</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
|
; 0xc100 CALL
|
||||||
; 0xc101 LOW - SCENE_SETUP points to this
|
; 0xc101 LOW - SCENE_SETUP points to this
|
||||||
; 0xc102 HIGH
|
; 0xc102 HIGH
|
||||||
; 0xc103 RET
|
; 0xc103 RET
|
||||||
; 0xc104 CALL ...
|
; 0xc104 CALL ...
|
||||||
def MY_OAM equ $c000
|
|
||||||
|
|
||||||
; $c100 - c120 call handles, scene stack, interrupt, card functions
|
|
||||||
DEF SCENE_SETUP EQU $c101
|
DEF SCENE_SETUP EQU $c101
|
||||||
DEF SCENE_UPDATE EQU SCENE_SETUP + 4 ; call then ret is 3+1 bytes
|
DEF SCENE_UPDATE EQU SCENE_SETUP + 4 ; call then ret is 3+1 bytes
|
||||||
DEF SCENE_DRAW EQU SCENE_UPDATE + 4
|
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
|
def VARIABLE_TILES_START equ 26
|
||||||
|
|
||||||
@ -73,6 +74,8 @@ EntryPoint:
|
|||||||
ldh [rNR52], a ; shut down audio
|
ldh [rNR52], a ; shut down audio
|
||||||
ldh [rDIV], a ; reset timer just in case??
|
ldh [rDIV], a ; reset timer just in case??
|
||||||
ldh [rLCDC], a ; shut down screen
|
ldh [rLCDC], a ; shut down screen
|
||||||
|
ldh [rIE], a
|
||||||
|
ldh [rIF], a
|
||||||
|
|
||||||
ld a, 0
|
ld a, 0
|
||||||
ld hl, ZEROES
|
ld hl, ZEROES
|
||||||
@ -88,7 +91,6 @@ EntryPoint:
|
|||||||
ld a, 1
|
ld a, 1
|
||||||
ld hl, ONES
|
ld hl, ONES
|
||||||
ld bc, $200
|
ld bc, $200
|
||||||
|
|
||||||
.buildOnes
|
.buildOnes
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [hl+], a
|
ld [hl+], a
|
||||||
@ -99,13 +101,13 @@ EntryPoint:
|
|||||||
|
|
||||||
ld hl, UITiles
|
ld hl, UITiles
|
||||||
ld de, $8000 + $100*16
|
ld de, $8000 + $100*16
|
||||||
ld bc, (UITilesEnd - UITiles)
|
ld bc, UITiles.end - UITiles
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
ld hl, LetterTiles ; map the small font into vram at ascii locations
|
ld hl, LetterTiles ; map the small font into vram at ascii locations
|
||||||
ld de, $8000 + (127 + $11)*16
|
ld de, $8000 + (127 + $11)*16
|
||||||
ld bc, LetterTilesEnd - LetterTiles
|
ld bc, LetterTiles.end - LetterTiles
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
|
|
||||||
; initialize global variables
|
; initialize global variables
|
||||||
ld a, 0
|
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 a, [hl] ; get the value of a call instruction so we can shove it into our handles
|
||||||
ld hl, SCENE_SETUP - 1
|
ld hl, SCENE_SETUP - 1
|
||||||
ld [SCENE_SETUP - 1], a
|
ld [hl], a
|
||||||
ld hl, SCENE_UPDATE - 1
|
ld hl, SCENE_UPDATE - 1
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld hl, SCENE_DRAW - 1
|
ld hl, SCENE_DRAW - 1
|
||||||
@ -196,7 +198,7 @@ EntryPoint:
|
|||||||
inc hl
|
inc hl
|
||||||
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, SCENE_SETUP + 2
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld hl, SCENE_UPDATE + 2
|
ld hl, SCENE_UPDATE + 2
|
||||||
@ -265,12 +267,15 @@ Loop:
|
|||||||
ld a, b ; select buttons which were pressed this frame
|
ld a, b ; select buttons which were pressed this frame
|
||||||
ld [rMYBTN], a ; save that as btn state
|
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!
|
call SCENE_UPDATE - 1 ; hope this takes not too many scanlines!
|
||||||
|
|
||||||
ld b, 144
|
ld b, 144
|
||||||
call AwaitLine
|
call AwaitLine
|
||||||
|
|
||||||
|
println "scene draw is ", SCENE_DRAW - 1
|
||||||
call SCENE_DRAW - 1 ; hope this takes fewer than 9 scanlines!
|
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
|
; either way it's going to eat into the update timing
|
||||||
; at this point we want to make sure that scanline 153 has passed
|
; 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
|
; we should check if we're past there and skip this await if necessary
|
||||||
@ -280,7 +285,7 @@ Loop:
|
|||||||
jp Loop
|
jp Loop
|
||||||
|
|
||||||
ChangeScene: ; hl should be a pointer to, in sequence, setup update draw teardown
|
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 a, [hl+]
|
||||||
ld [SCENE_SETUP], a
|
ld [SCENE_SETUP], a
|
||||||
@ -309,6 +314,17 @@ AwaitLine: ; put the line you want to reach in b
|
|||||||
jp nz, AwaitLine
|
jp nz, AwaitLine
|
||||||
ret
|
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
|
ArrayClampLooping: ; loops a to be in the array, assuming hl points to the length
|
||||||
cp a, [hl] ; if a == length...
|
cp a, [hl] ; if a == length...
|
||||||
jp nz, :+
|
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
|
;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)
|
; 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:
|
RunDMA:
|
||||||
di
|
di
|
||||||
push de
|
push de
|
||||||
push af
|
push af
|
||||||
ld hl, run_dma_tail
|
ld hl, run_dma_tail
|
||||||
ld bc, run_dma_tail.run_dma_tail_end - run_dma_tail
|
ld bc, run_dma_tail.run_dma_tail_end - run_dma_tail
|
||||||
call CopyRangeUnsafe
|
call CopyRange
|
||||||
pop af
|
pop af
|
||||||
run_dma: ; This part must be in ROM.
|
run_dma: ; This part must be in ROM.
|
||||||
ld bc, $2846 ; B: wait time; C: LOW($FF46)
|
ld bc, $2846 ; B: wait time; C: LOW($FF46)
|
||||||
ret ; we pushed de before, so this should "return" to execute that (HRAM) address
|
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
|
ldh [c], a
|
||||||
.wait
|
.wait
|
||||||
dec b
|
dec b
|
||||||
jr nz, .wait
|
jr nz, .wait
|
||||||
ei
|
ei
|
||||||
ret z ; Conditional `ret` is 1 M-cycle slower, which avoids
|
ret z ; Conditional `ret` is 1 M-cycle slower, which avoids reading from the
|
||||||
; reading from the stack on the last M-cycle of DMA.
|
; stack on the last M-cycle of DMA.
|
||||||
.run_dma_tail_end
|
.run_dma_tail_end
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
halt
|
||||||
|
nop
|
||||||
|
nop
|
||||||
Instructions:
|
Instructions:
|
||||||
call Instructions+3
|
call .rett
|
||||||
|
.rett:
|
||||||
ret
|
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 $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 $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
|
db $ff,$00,$81,$7e,$81,$42,$99,$5a,$99,$5a,$99,$5a,$99,$5a,$99,$5a
|
||||||
UITilesEnd:
|
.end
|
||||||
|
|
||||||
LetterTiles:
|
LetterTiles:
|
||||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
@ -507,7 +530,7 @@ LetterTiles:
|
|||||||
db $3c,$3c,$06,$06,$0c,$0c,$06,$06,$06,$06,$0c,$0c,$06,$06,$3c,$3c
|
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 $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
|
db $c0,$c0,$a0,$a0,$b8,$b8,$b0,$b0,$da,$da,$12,$12,$1a,$1a,$03,$03
|
||||||
LetterTilesEnd:
|
.end
|
||||||
|
|
||||||
INCLUDE "Async.inc"
|
INCLUDE "Async.inc"
|
||||||
INCLUDE "Random.inc"
|
INCLUDE "Random.inc"
|
||||||
|
BIN
source.zip
BIN
source.zip
Binary file not shown.
Loading…
Reference in New Issue
Block a user