fancying up the shuffle screen so its clearer to users
This commit is contained in:
parent
7f69276557
commit
1e2464e6f4
@ -7,6 +7,7 @@ vAsyncBC: dw
|
||||
vAsyncPC: dw
|
||||
vAsyncMainSP: dw
|
||||
vAsyncThreadSP: dw
|
||||
vAsyncIsBusy: db
|
||||
POPS
|
||||
; canonical ordering to push should be: AF, BC, DE, HL,
|
||||
|
||||
@ -26,6 +27,9 @@ Async_Kill:
|
||||
ld [vAsyncThreadSP], a
|
||||
ld a, h
|
||||
ld [vAsyncThreadSP+1], a
|
||||
|
||||
ld a, 0
|
||||
ld [vAsyncIsBusy], a
|
||||
|
||||
; unset next call
|
||||
ld hl, rIE
|
||||
@ -140,7 +144,8 @@ Async_Spawn:
|
||||
ld hl, rIF
|
||||
res 1, [hl] ; clear the interrupt so we don't immediately fire it
|
||||
|
||||
|
||||
ld a, 1
|
||||
ld [vAsyncIsBusy], a
|
||||
|
||||
; restore main sp
|
||||
ld a, [vAsyncMainSP]
|
||||
@ -264,6 +269,8 @@ Async_EarlyReturn:
|
||||
|
||||
; store side thread SP, so everyone knows that the side thread stack is empty
|
||||
ld [vAsyncThreadSP], sp ; 5 cycles instead of 13
|
||||
ld a, 0
|
||||
ld [vAsyncIsBusy], a
|
||||
|
||||
; unset next call
|
||||
ld hl, rIE
|
||||
|
@ -4,6 +4,8 @@ vState: db ;def vState EQU vAnimationFrame+1
|
||||
vCurrentAnimation: dw ;def vCurrentAnimation EQU vState+1 ; 2 bytes
|
||||
vShuffleIndex: db ;def vShuffleIndex equ vCurrentAnimation+2
|
||||
vShuffleTime: dw ;def vShuffleTime equ vShuffleIndex+1 ; 2 bytes
|
||||
vShuffleCount: db
|
||||
def cShuffleMax equ 8 ; the number of times you have to shuffle before you've "fully shuffled"
|
||||
POPS
|
||||
|
||||
def S_Center = 0
|
||||
@ -33,6 +35,7 @@ ShuffleSetup:
|
||||
|
||||
ld a, 0
|
||||
ld [vAnimationFrame], a
|
||||
ld [vShuffleCount], a
|
||||
|
||||
ld a, S_Center
|
||||
ld [vState], a
|
||||
@ -45,6 +48,8 @@ ShuffleSetup:
|
||||
ld bc, $100
|
||||
call CopyRange
|
||||
ret
|
||||
|
||||
|
||||
.asyncTask
|
||||
ld hl, ONES ; origin
|
||||
ld de, _SCRN0 ; destination
|
||||
@ -58,6 +63,31 @@ ShuffleSetup:
|
||||
ld c, 4
|
||||
call CopyTilesToMap
|
||||
|
||||
ld a, VARIABLE_TILES_START + 9
|
||||
|
||||
; draw left arrow
|
||||
ld [_SCRN0 + 32*8 + 3], a
|
||||
inc a
|
||||
ld [_SCRN0 + 32*9 + 3], a
|
||||
|
||||
; right arrow
|
||||
inc a
|
||||
ld [_SCRN0 + 32*8 + 16], a
|
||||
inc a
|
||||
ld [_SCRN0 + 32*9 + 16], a
|
||||
|
||||
; up arrow
|
||||
inc a
|
||||
ld [_SCRN0 + 32*2 + 9], a
|
||||
inc a
|
||||
ld [_SCRN0 + 32*2 + 10], a
|
||||
|
||||
; down arrow
|
||||
inc a
|
||||
ld [_SCRN0 + 32*15 + 9], a
|
||||
inc a
|
||||
ld [_SCRN0 + 32*15 + 10], a
|
||||
|
||||
ld hl, Shuffle.UITileData
|
||||
ld de, _VRAM + $1000 + VARIABLE_TILES_START*16
|
||||
ld bc, Shuffle.UITileDataEnd - Shuffle.UITileData
|
||||
@ -158,7 +188,6 @@ ShuffleButtonHandler:
|
||||
ret
|
||||
|
||||
CenterButtonHandler:
|
||||
call DoSomeShuffling
|
||||
|
||||
ld hl, rMYBTNP
|
||||
: bit 0, [hl]
|
||||
@ -184,6 +213,7 @@ RightButtonHandler:
|
||||
: bit 1, [hl]
|
||||
jp z, :+
|
||||
|
||||
call DoSomeShuffling ; shuffle whenever we move into an inward state
|
||||
ld a, S_RightIn
|
||||
ld [vState], a
|
||||
: ret
|
||||
@ -193,6 +223,7 @@ LeftButtonHandler:
|
||||
: bit 0, [hl]
|
||||
jp z, :+
|
||||
|
||||
call DoSomeShuffling
|
||||
ld a, S_LeftIn
|
||||
ld [vState], a
|
||||
: ret
|
||||
@ -202,6 +233,7 @@ UpButtonHandler:
|
||||
: bit 3, [hl]
|
||||
jp z, :+
|
||||
|
||||
call DoSomeShuffling
|
||||
ld a, S_UpIn
|
||||
ld [vState], a
|
||||
: ret
|
||||
@ -211,6 +243,7 @@ DownButtonHandler:
|
||||
: bit 2, [hl]
|
||||
jp z, :+
|
||||
|
||||
call DoSomeShuffling
|
||||
ld a, S_DownIn
|
||||
ld [vState], a
|
||||
: ret
|
||||
@ -351,7 +384,67 @@ DoSomeShuffling:
|
||||
call OneSwap
|
||||
call OneSwap
|
||||
call OneSwap
|
||||
call OneSwap
|
||||
call OneSwap; 10 shuffles
|
||||
|
||||
ld hl, vAsyncIsBusy
|
||||
xor a, a
|
||||
cp a, [hl]
|
||||
ld hl, .asyncTask
|
||||
call z, Async_Spawn_HL
|
||||
|
||||
ret
|
||||
|
||||
|
||||
.asyncTask
|
||||
ld hl, vShuffleCount
|
||||
ld a, cShuffleMax
|
||||
cp a, [hl]
|
||||
jr z, .lastCharge
|
||||
jr nc, .addCharge
|
||||
jr c, .done
|
||||
.addCharge
|
||||
inc [hl]
|
||||
ld b, [hl]
|
||||
|
||||
ld hl, _SCRN0 + 32*13
|
||||
ld de, _SCRN0 + 32*13 + 19
|
||||
|
||||
: ; loop
|
||||
ld a, l
|
||||
sub a, 32
|
||||
ld l, a
|
||||
ld a, h
|
||||
sbc a, 0
|
||||
ld h, a
|
||||
ld [hl], VARIABLE_TILES_START + 17
|
||||
|
||||
ld a, e
|
||||
sub a, 32
|
||||
ld e, a
|
||||
ld a, d
|
||||
sbc a, 0
|
||||
ld d, a
|
||||
ld a, VARIABLE_TILES_START + 17
|
||||
ld [de], a
|
||||
|
||||
|
||||
dec b
|
||||
jr nz, :-
|
||||
jr .done
|
||||
.lastCharge
|
||||
; copy tiles from where they are linearly packed at an origin (hl)
|
||||
; to a rectangle in the tilemap in vram (de)
|
||||
; assuming it has height in b and width in c.
|
||||
ld hl, Shuffle.ShuffledPopup
|
||||
ld de, _SCRN0 + 32*14 + 5
|
||||
ld b, 3
|
||||
ld c, 11
|
||||
call CopyTilesToMap
|
||||
|
||||
ld hl, Shuffle.ShuffledText
|
||||
ld de, _SCRN0 + 32*15 + 6
|
||||
call PrintString
|
||||
.done
|
||||
ret
|
||||
|
||||
OneSwap: ; shuffles once and decrements vshuffleindex
|
||||
@ -459,6 +552,17 @@ Shuffle.UITileData:
|
||||
db $6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff ; bottom-left
|
||||
db $aa,$55,$55,$aa,$aa,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff ; bottom-middle
|
||||
db $b6,$5f,$56,$bf,$b6,$5f,$f6,$ff,$06,$ff,$fe,$ff,$fe,$ff,$00,$ff ; bottom-right
|
||||
|
||||
db $60,$1f,$ce,$3f,$d2,$33,$92,$73,$a2,$63,$22,$e3,$4a,$cb,$5a,$db ; arrows, starting at VTS+9
|
||||
db $5a,$db,$4a,$cb,$22,$e3,$a2,$63,$92,$73,$d2,$33,$ce,$3f,$60,$1f
|
||||
db $06,$f8,$73,$fc,$4b,$cc,$49,$ce,$45,$c6,$44,$c7,$52,$d3,$5a,$db ; right arrow
|
||||
db $5a,$db,$52,$d3,$44,$c7,$45,$c6,$49,$ce,$4b,$cc,$73,$fc,$06,$f8
|
||||
db $78,$07,$e3,$1f,$8c,$7c,$31,$f1,$43,$c3,$40,$c0,$7f,$ff,$00,$ff ; up arrow
|
||||
db $1e,$e0,$c7,$f8,$31,$3e,$8c,$8f,$c2,$c3,$02,$03,$fe,$ff,$00,$ff
|
||||
db $00,$ff,$7f,$ff,$40,$c0,$43,$c3,$31,$f1,$8c,$7c,$e3,$1f,$78,$07 ; down arrow
|
||||
db $00,$ff,$fe,$ff,$02,$03,$c2,$c3,$8c,$8f,$31,$3e,$c7,$f8,$1e,$e0
|
||||
|
||||
db $00,$00,$7e,$7e,$00,$7e,$7e,$00,$7e,$00,$00,$7e,$7e,$7e,$00,$00 ; fill marker
|
||||
Shuffle.UITileDataEnd:
|
||||
|
||||
Shuffle.BigCard:
|
||||
@ -470,4 +574,12 @@ def VTS = VARIABLE_TILES_START
|
||||
db VTS+3, VTS+4, VTS+4, VTS+5
|
||||
db VTS+3, VTS+4, VTS+4, VTS+5
|
||||
db VTS+3, VTS+4, VTS+4, VTS+5
|
||||
db VTS+6, VTS+7, VTS+7, VTS+8
|
||||
db VTS+6, VTS+7, VTS+7, VTS+8
|
||||
|
||||
Shuffle.ShuffledText:
|
||||
db 9, "Shuffled!"
|
||||
|
||||
Shuffle.ShuffledPopup:
|
||||
db 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8
|
||||
db 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4
|
||||
db 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7
|
BIN
card_art/coins14king.aseprite
Normal file
BIN
card_art/coins14king.aseprite
Normal file
Binary file not shown.
BIN
card_art/cups14king.aseprite
Normal file
BIN
card_art/cups14king.aseprite
Normal file
Binary file not shown.
Binary file not shown.
BIN
card_art/swords14king.aseprite
Normal file
BIN
card_art/swords14king.aseprite
Normal file
Binary file not shown.
46
card_art/tileset.asm
Normal file
46
card_art/tileset.asm
Normal file
@ -0,0 +1,46 @@
|
||||
; original export script by gabriel reis, modified by shoofle
|
||||
|
||||
|
||||
tileset:
|
||||
|
||||
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||
db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa
|
||||
db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa
|
||||
db $00,$ff,$fe,$ff,$fe,$ff,$06,$ff,$f6,$ff,$56,$bf,$b6,$5f,$56,$bf
|
||||
db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa
|
||||
db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa
|
||||
db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf
|
||||
db $6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff
|
||||
db $aa,$55,$55,$aa,$aa,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff
|
||||
db $b6,$5f,$56,$bf,$b6,$5f,$f6,$ff,$06,$ff,$fe,$ff,$fe,$ff,$00,$ff
|
||||
db $60,$1f,$ce,$3f,$d2,$33,$92,$73,$a2,$63,$22,$e3,$4a,$cb,$5a,$db
|
||||
db $5a,$db,$4a,$cb,$22,$e3,$a2,$63,$92,$73,$d2,$33,$ce,$3f,$60,$1f
|
||||
db $06,$f8,$73,$fc,$4b,$cc,$49,$ce,$45,$c6,$44,$c7,$52,$d3,$5a,$db
|
||||
db $5a,$db,$52,$d3,$44,$c7,$45,$c6,$49,$ce,$4b,$cc,$73,$fc,$06,$f8
|
||||
db $78,$07,$e3,$1f,$8c,$7c,$31,$f1,$43,$c3,$40,$c0,$7f,$ff,$00,$ff
|
||||
db $1e,$e0,$c7,$f8,$31,$3e,$8c,$8f,$c2,$c3,$02,$03,$fe,$ff,$00,$ff
|
||||
db $00,$ff,$7f,$ff,$40,$c0,$43,$c3,$31,$f1,$8c,$7c,$e3,$1f,$78,$07
|
||||
db $00,$ff,$fe,$ff,$02,$03,$c2,$c3,$8c,$8f,$31,$3e,$c7,$f8,$1e,$e0
|
||||
db $00,$00,$7e,$7e,$00,$7e,$7e,$00,$7e,$00,$00,$7e,$7e,$7e,$00,$00
|
||||
|
||||
|
||||
|
||||
ShuffleUI:
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $01, $02, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $04, $05, $06, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $04, $05, $06, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $04, $05, $06, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $07, $08, $09, $00, $0a, $0c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $0b, $0d, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $0e, $0f, $10, $11, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
|
||||
db $00, $00, $00, $00, $00, $12, $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
|
BIN
card_art/wands14king.aseprite
Normal file
BIN
card_art/wands14king.aseprite
Normal file
Binary file not shown.
BIN
source.zip
BIN
source.zip
Binary file not shown.
@ -3,7 +3,7 @@ Swords01Ace:
|
||||
db 10, "SWORDS "
|
||||
db 10, " "
|
||||
db 10, "triumph "
|
||||
db 10, "new ideas "
|
||||
db 10, "excess "
|
||||
db 10, "clarity "
|
||||
|
||||
db 10, "ACE of "
|
||||
|
Loading…
Reference in New Issue
Block a user