mirror of
https://github.com/badvision/lawless-legends.git
synced 2025-02-04 07:31:26 +00:00
Can now cycle through sky and ground colors.
This commit is contained in:
parent
655fe7946f
commit
af0c26944f
@ -99,6 +99,42 @@ word = $0018, $FFC5
|
|||||||
word = $002D, $FFD3
|
word = $002D, $FFD3
|
||||||
word = $003B, $FFE8
|
word = $003B, $FFE8
|
||||||
|
|
||||||
|
byte skyGndTbl1[] = $00 ; lo-bit black
|
||||||
|
byte = $00 ; lo-bit black
|
||||||
|
byte = $00 ; lo-bit black
|
||||||
|
byte = $02 ; violet
|
||||||
|
byte = $08 ; green
|
||||||
|
byte = $0A ; lo-bit white
|
||||||
|
byte = $0A ; lo-bit white
|
||||||
|
byte = $0A ; lo-bit white
|
||||||
|
byte = $20 ; hi-bit black
|
||||||
|
byte = $20 ; hi-bit black
|
||||||
|
byte = $20 ; hi-bit black
|
||||||
|
byte = $22 ; blue
|
||||||
|
byte = $28 ; orange
|
||||||
|
byte = $2A ; hi-bit white
|
||||||
|
byte = $2A ; hi-bit white
|
||||||
|
byte = $2A ; hi-bit white
|
||||||
|
byte skyGndTbl2[] = $00 ; lo-bit black
|
||||||
|
byte = $02 ; violet
|
||||||
|
byte = $08 ; green
|
||||||
|
byte = $02 ; violet
|
||||||
|
byte = $08 ; green
|
||||||
|
byte = $02 ; violet
|
||||||
|
byte = $08 ; green
|
||||||
|
byte = $0A ; lo-bit white
|
||||||
|
byte = $20 ; hi-bit black
|
||||||
|
byte = $22 ; blue
|
||||||
|
byte = $28 ; orange
|
||||||
|
byte = $22 ; blue
|
||||||
|
byte = $28 ; orange
|
||||||
|
byte = $22 ; blue
|
||||||
|
byte = $28 ; orange
|
||||||
|
byte = $2A ; hi-bit white
|
||||||
|
|
||||||
|
word skyNum = 0
|
||||||
|
word groundNum = 0
|
||||||
|
|
||||||
;==================================================================================================
|
;==================================================================================================
|
||||||
; Definitions used by assembly code
|
; Definitions used by assembly code
|
||||||
asm __defs
|
asm __defs
|
||||||
@ -252,6 +288,19 @@ asm isBlocked
|
|||||||
rts
|
rts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
asm setColor
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
bit setROM
|
||||||
|
lda evalStkL,x
|
||||||
|
ldy evalStkH,x
|
||||||
|
jsr $6009
|
||||||
|
bit setLcRW+lcBank2
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
rts
|
||||||
|
end
|
||||||
|
|
||||||
asm goMon
|
asm goMon
|
||||||
bit setROM
|
bit setROM
|
||||||
jmp $FF69
|
jmp $FF69
|
||||||
@ -373,6 +422,18 @@ def nextMap()
|
|||||||
initMap()
|
initMap()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def nextSky()
|
||||||
|
skyNum = (skyNum + 1) & $F
|
||||||
|
setColor(0<<8 | skyGndTbl1[skyNum])
|
||||||
|
setColor(1<<8 | skyGndTbl2[skyNum])
|
||||||
|
end
|
||||||
|
|
||||||
|
def nextGround()
|
||||||
|
groundNum = (groundNum + 1) & $F
|
||||||
|
setColor(2<<8 | skyGndTbl1[groundNum])
|
||||||
|
setColor(3<<8 | skyGndTbl2[groundNum])
|
||||||
|
end
|
||||||
|
|
||||||
def kbdLoop()
|
def kbdLoop()
|
||||||
word key, func
|
word key, func
|
||||||
while TRUE
|
while TRUE
|
||||||
@ -418,6 +479,9 @@ initCmd('.', @strafeRight)
|
|||||||
|
|
||||||
initCmd('N', @nextMap)
|
initCmd('N', @nextMap)
|
||||||
|
|
||||||
|
initCmd('Y', @nextSky)
|
||||||
|
initCmd('G', @nextGround)
|
||||||
|
|
||||||
initMap()
|
initMap()
|
||||||
|
|
||||||
; Main keyboard loop
|
; Main keyboard loop
|
||||||
|
@ -12,6 +12,7 @@ start:
|
|||||||
jmp initMap
|
jmp initMap
|
||||||
jmp renderFrame
|
jmp renderFrame
|
||||||
jmp getMapCell
|
jmp getMapCell
|
||||||
|
jmp setColor
|
||||||
|
|
||||||
; Conditional assembly flags
|
; Conditional assembly flags
|
||||||
DOUBLE_BUFFER = 1 ; whether to double-buffer
|
DOUBLE_BUFFER = 1 ; whether to double-buffer
|
||||||
@ -61,40 +62,6 @@ mapNameLen: !byte 0 ; length of map name
|
|||||||
nMapSprites: !byte 0 ; number of sprite entries on map to fix up
|
nMapSprites: !byte 0 ; number of sprite entries on map to fix up
|
||||||
nextLink: !byte 0 ; next link to allocate
|
nextLink: !byte 0 ; next link to allocate
|
||||||
|
|
||||||
; Sky / ground colors
|
|
||||||
skyGndTbl1: !byte $00 ; lo-bit black
|
|
||||||
!byte $00 ; lo-bit black
|
|
||||||
!byte $00 ; lo-bit black
|
|
||||||
!byte $02 ; violet
|
|
||||||
!byte $08 ; green
|
|
||||||
!byte $0A ; lo-bit white
|
|
||||||
!byte $0A ; lo-bit white
|
|
||||||
!byte $0A ; lo-bit white
|
|
||||||
!byte $20 ; hi-bit black
|
|
||||||
!byte $20 ; hi-bit black
|
|
||||||
!byte $20 ; hi-bit black
|
|
||||||
!byte $22 ; blue
|
|
||||||
!byte $28 ; orange
|
|
||||||
!byte $2A ; hi-bit white
|
|
||||||
!byte $2A ; hi-bit white
|
|
||||||
!byte $2A ; hi-bit white
|
|
||||||
skyGndTbl2: !byte $00 ; lo-bit black
|
|
||||||
!byte $02 ; violet
|
|
||||||
!byte $08 ; green
|
|
||||||
!byte $02 ; violet
|
|
||||||
!byte $08 ; green
|
|
||||||
!byte $02 ; violet
|
|
||||||
!byte $08 ; green
|
|
||||||
!byte $0A ; lo-bit white
|
|
||||||
!byte $20 ; hi-bit black
|
|
||||||
!byte $22 ; blue
|
|
||||||
!byte $28 ; orange
|
|
||||||
!byte $22 ; blue
|
|
||||||
!byte $28 ; orange
|
|
||||||
!byte $22 ; blue
|
|
||||||
!byte $28 ; orange
|
|
||||||
!byte $2A ; hi-bit white
|
|
||||||
|
|
||||||
skyColorEven: !byte $20
|
skyColorEven: !byte $20
|
||||||
skyColorOdd: !byte $22
|
skyColorOdd: !byte $22
|
||||||
gndColorEven: !byte $20
|
gndColorEven: !byte $20
|
||||||
@ -1850,36 +1817,8 @@ copyScreen: !zone
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
setGndColor: !zone
|
setColor: !zone
|
||||||
jsr readKbdColor
|
sta skyColorEven,y
|
||||||
bcs +
|
|
||||||
sta gndColorEven
|
|
||||||
stx gndColorOdd
|
|
||||||
+ rts
|
|
||||||
|
|
||||||
setSkyColor: !zone
|
|
||||||
jsr readKbdColor
|
|
||||||
bcs +
|
|
||||||
sta skyColorEven
|
|
||||||
stx skyColorOdd
|
|
||||||
+ rts
|
|
||||||
|
|
||||||
readKbdColor: !zone
|
|
||||||
jsr rdkey
|
|
||||||
sec
|
|
||||||
sbc #'0'
|
|
||||||
bcc .bad
|
|
||||||
cmp #8
|
|
||||||
bcs .bad
|
|
||||||
bit opnApple
|
|
||||||
bpl +
|
|
||||||
ora #8
|
|
||||||
+ tay
|
|
||||||
ldx skyGndTbl1,y
|
|
||||||
lda skyGndTbl2,y
|
|
||||||
rts
|
|
||||||
.bad: jsr bell
|
|
||||||
sec
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user