mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-29 00:31:52 +00:00
lemm: update so we update number of jobs left
irregularly placed, should re-draw the graphics to look better
This commit is contained in:
parent
26ee0aa451
commit
39a5627cf6
@ -167,6 +167,8 @@ lemm.inc: generate_common LEMM
|
|||||||
./generate_common -a 0x6000 -s init_level lemm.lst >> lemm.inc
|
./generate_common -a 0x6000 -s init_level lemm.lst >> lemm.inc
|
||||||
./generate_common -a 0x6000 -s draw_pointer lemm.lst >> lemm.inc
|
./generate_common -a 0x6000 -s draw_pointer lemm.lst >> lemm.inc
|
||||||
./generate_common -a 0x6000 -s erase_pointer lemm.lst >> lemm.inc
|
./generate_common -a 0x6000 -s erase_pointer lemm.lst >> lemm.inc
|
||||||
|
./generate_common -a 0x6000 -s update_remaining lemm.lst >> lemm.inc
|
||||||
|
./generate_common -a 0x6000 -s update_remaining_all lemm.lst >> lemm.inc
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
|
@ -451,6 +451,9 @@ done_make_miner:
|
|||||||
; make digger
|
; make digger
|
||||||
;========================
|
;========================
|
||||||
make_digger:
|
make_digger:
|
||||||
|
lda DIGGER_COUNT ; only if we have some left
|
||||||
|
beq done_make_digger
|
||||||
|
|
||||||
; only do it if walking
|
; only do it if walking
|
||||||
lda lemming_status,Y
|
lda lemming_status,Y
|
||||||
cmp #LEMMING_WALKING
|
cmp #LEMMING_WALKING
|
||||||
@ -459,7 +462,10 @@ make_digger:
|
|||||||
lda #LEMMING_DIGGING
|
lda #LEMMING_DIGGING
|
||||||
sta lemming_status,Y
|
sta lemming_status,Y
|
||||||
|
|
||||||
; FIXME: decrement digger_count
|
dec DIGGER_COUNT
|
||||||
|
ldx #7
|
||||||
|
jsr update_remaining
|
||||||
|
|
||||||
done_make_digger:
|
done_make_digger:
|
||||||
jmp done_keypress
|
jmp done_keypress
|
||||||
|
|
||||||
@ -530,7 +536,7 @@ job_button:
|
|||||||
|
|
||||||
; draw new
|
; draw new
|
||||||
|
|
||||||
jsr update_menu
|
jsr update_selection
|
||||||
jmp done_menu
|
jmp done_menu
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,6 +13,17 @@ do_level1:
|
|||||||
; set up stuff
|
; set up stuff
|
||||||
;==============
|
;==============
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta CLIMBER_COUNT
|
||||||
|
sta FLOATER_COUNT
|
||||||
|
sta EXPLODER_COUNT
|
||||||
|
sta STOPPER_COUNT
|
||||||
|
sta BUILDER_COUNT
|
||||||
|
sta BASHER_COUNT
|
||||||
|
sta MINER_COUNT
|
||||||
|
lda #20
|
||||||
|
sta DIGGER_COUNT
|
||||||
|
|
||||||
lda #9
|
lda #9
|
||||||
sta DOOR_X
|
sta DOOR_X
|
||||||
lda #36
|
lda #36
|
||||||
@ -168,6 +179,9 @@ do_level1:
|
|||||||
|
|
||||||
jsr init_level
|
jsr init_level
|
||||||
|
|
||||||
|
jsr update_remaining_all
|
||||||
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; Play "Let's Go"
|
; Play "Let's Go"
|
||||||
;=======================
|
;=======================
|
||||||
|
@ -1,12 +1,105 @@
|
|||||||
;=============================
|
;=============================
|
||||||
; update menu
|
; update remaining_all
|
||||||
;=============================
|
;=============================
|
||||||
update_menu:
|
update_remaining_all:
|
||||||
lda BUTTON_LOCATION
|
|
||||||
bne actually_update_menu
|
ldx #0
|
||||||
|
ura_loop:
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
jsr update_remaining
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
inx
|
||||||
|
cpx #8
|
||||||
|
bne ura_loop
|
||||||
rts
|
rts
|
||||||
|
|
||||||
actually_update_menu:
|
|
||||||
|
;=============================
|
||||||
|
; update remaining
|
||||||
|
;=============================
|
||||||
|
; X is which one to update
|
||||||
|
update_remaining:
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
|
||||||
|
jsr hgr_sprite_page_toggle ; toggle page (bg)
|
||||||
|
|
||||||
|
lda CLIMBER_COUNT,X
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda littlenums_l,Y
|
||||||
|
sta INL
|
||||||
|
lda littlenums_h,Y
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
lda remaining_x,X
|
||||||
|
sta XPOS
|
||||||
|
lda #169
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
jsr hgr_draw_sprite
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
|
||||||
|
jsr hgr_sprite_page_toggle ; toggle page (bg)
|
||||||
|
|
||||||
|
lda CLIMBER_COUNT,X
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda littlenums_l,Y
|
||||||
|
sta INL
|
||||||
|
lda littlenums_h,Y
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
lda remaining_x,X
|
||||||
|
sta XPOS
|
||||||
|
lda #169
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
jsr hgr_draw_sprite
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
; X locations to print the counts at
|
||||||
|
; approximate, 7-bit boundaries where graphics are on 8-bit
|
||||||
|
remaining_x:
|
||||||
|
.byte 5,7,10,12,14,17,19,21
|
||||||
|
|
||||||
|
littlenums_l:
|
||||||
|
.byte <little00_sprite,<little01_sprite,<little02_sprite
|
||||||
|
.byte <little03_sprite,<little04_sprite,<little05_sprite
|
||||||
|
.byte <little06_sprite,<little07_sprite,<little08_sprite
|
||||||
|
.byte <little09_sprite,<little10_sprite,<little11_sprite
|
||||||
|
.byte <little12_sprite,<little13_sprite,<little14_sprite
|
||||||
|
.byte <little15_sprite,<little16_sprite,<little17_sprite
|
||||||
|
.byte <little18_sprite,<little19_sprite,<little20_sprite
|
||||||
|
|
||||||
|
littlenums_h:
|
||||||
|
.byte >little00_sprite,>little01_sprite,>little02_sprite
|
||||||
|
.byte >little03_sprite,>little04_sprite,>little05_sprite
|
||||||
|
.byte >little06_sprite,>little07_sprite,>little08_sprite
|
||||||
|
.byte >little09_sprite,>little10_sprite,>little11_sprite
|
||||||
|
.byte >little12_sprite,>little13_sprite,>little14_sprite
|
||||||
|
.byte >little15_sprite,>little16_sprite,>little17_sprite
|
||||||
|
.byte >little18_sprite,>little19_sprite,>little20_sprite
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;=============================
|
||||||
|
; update selection
|
||||||
|
;=============================
|
||||||
|
update_selection:
|
||||||
|
lda BUTTON_LOCATION
|
||||||
|
bne actually_update_selection
|
||||||
|
rts
|
||||||
|
|
||||||
|
actually_update_selection:
|
||||||
ldx #7
|
ldx #7
|
||||||
stx HGR_COLOR
|
stx HGR_COLOR
|
||||||
|
|
||||||
|
@ -85,6 +85,14 @@ DOOR_Y = $91
|
|||||||
INIT_X = $92 ; initial lemming position
|
INIT_X = $92 ; initial lemming position
|
||||||
INIT_Y = $93
|
INIT_Y = $93
|
||||||
|
|
||||||
|
CLIMBER_COUNT = $94
|
||||||
|
FLOATER_COUNT = $95
|
||||||
|
EXPLODER_COUNT = $96
|
||||||
|
STOPPER_COUNT = $97
|
||||||
|
BUILDER_COUNT = $98
|
||||||
|
BASHER_COUNT = $99
|
||||||
|
MINER_COUNT = $9A
|
||||||
|
DIGGER_COUNT = $9B
|
||||||
|
|
||||||
|
|
||||||
; done game puzzle state
|
; done game puzzle state
|
||||||
|
Loading…
Reference in New Issue
Block a user