lemm: more hooking up proper job decrement

This commit is contained in:
Vince Weaver 2022-04-02 23:52:15 -04:00
parent 39a5627cf6
commit f57de3b138
9 changed files with 100 additions and 29 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -276,18 +276,38 @@ make_nop:
; make climber
;========================
make_climber:
lda CLIMBER_COUNT ; only if we have some left
beq done_make_climber
lda #LEMMING_CLIMBER
ora lemming_attribute,Y
sta lemming_attribute,Y
dec CLIMBER_COUNT
ldx #0
jsr update_remaining
done_make_climber:
jmp done_keypress
;========================
; make floater
;========================
make_floater:
lda FLOATER_COUNT ; only if we have some left
beq done_make_floater
lda #LEMMING_FLOATER
ora lemming_attribute,Y
sta lemming_attribute,Y
dec FLOATER_COUNT
ldx #1
jsr update_remaining
done_make_floater:
jmp done_keypress
@ -295,7 +315,17 @@ make_floater:
; make exploding
;========================
make_exploding:
lda EXPLODER_COUNT ; only if we have some left
beq done_make_exploder
jsr explode_lemming
dec EXPLODER_COUNT
ldx #2
jsr update_remaining
done_make_exploder:
jmp done_keypress
@ -303,6 +333,9 @@ make_exploding:
; make stopper
;========================
make_stopper:
lda STOPPER_COUNT ; only if we have some left
beq cant_stop
lda lemming_status,Y
cmp #LEMMING_FLOATER ; can't stop if floating
beq cant_stop
@ -349,32 +382,10 @@ dbl_smc:
bne draw_blocker_loop
.if 0
; line from (x,a) to (x,a+y)
lda #$7
sta HGR_COLOR
dec STOPPER_COUNT
jsr hgr_vlin_page_toggle
clc
lda lemming_x,Y ; multiply x by 7
asl
adc lemming_x,Y
asl
adc lemming_x,Y
adc #2 ; center a bit
tax
lda lemming_y,Y
clc
adc #1
ldy #8
jsr hgr_vlin
jsr hgr_vlin_page_toggle
.endif
ldx #3
jsr update_remaining
cant_stop:
jmp done_keypress
@ -399,6 +410,9 @@ make_builder:
jmp done_make_builder
really_make_builder:
lda BUILDER_COUNT ; only if we have some left
beq done_make_builder
lda #LEMMING_BUILDING
sta lemming_status,Y
@ -408,7 +422,10 @@ really_make_builder:
sta lemming_attribute,Y
; FIXME: decrement count
dec BUILDER_COUNT
ldx #4
jsr update_remaining
done_make_builder:
jmp done_keypress
@ -417,6 +434,9 @@ done_make_builder:
; make basher
;========================
make_basher:
lda BASHER_COUNT ; only if we have some left
beq done_make_basher
; only do it if walking
lda lemming_status,Y
cmp #LEMMING_WALKING
@ -425,7 +445,10 @@ make_basher:
lda #LEMMING_BASHING
sta lemming_status,Y
; FIXME: decrement count
dec BASHER_COUNT
ldx #5
jsr update_remaining
done_make_basher:
jmp done_keypress
@ -434,6 +457,9 @@ done_make_basher:
; make miner
;========================
make_miner:
lda MINER_COUNT ; only if we have some left
beq done_make_miner
; only do it if walking
lda lemming_status,Y
cmp #LEMMING_WALKING
@ -442,7 +468,10 @@ make_miner:
lda #LEMMING_MINING
sta lemming_status,Y
; FIXME: decrement count
dec MINER_COUNT
ldx #6
jsr update_remaining
done_make_miner:
jmp done_keypress

View File

@ -21,7 +21,7 @@ do_level1:
sta BUILDER_COUNT
sta BASHER_COUNT
sta MINER_COUNT
lda #20
lda #10
sta DIGGER_COUNT
lda #9

View File

@ -13,6 +13,19 @@ do_level2:
; set up initial stuff
;======================
lda #0
sta CLIMBER_COUNT
sta EXPLODER_COUNT
sta STOPPER_COUNT
sta BUILDER_COUNT
sta BASHER_COUNT
sta MINER_COUNT
sta DIGGER_COUNT
lda #10
sta FLOATER_COUNT
lda #3
sta DOOR_X
lda #5
@ -168,6 +181,8 @@ do_level2:
jsr init_level
jsr update_remaining_all
;=======================
; Play "Let's Go"
;=======================

View File

@ -12,6 +12,17 @@ do_level3:
; set up initial stuff
;======================
lda #0
sta CLIMBER_COUNT
sta FLOATER_COUNT
sta EXPLODER_COUNT
sta BUILDER_COUNT
sta BASHER_COUNT
sta MINER_COUNT
sta DIGGER_COUNT
lda #10
sta STOPPER_COUNT
lda #15
sta DOOR_X
lda #1
@ -169,6 +180,8 @@ do_level3:
jsr init_level
jsr update_remaining_all
;=======================
; Play "Let's Go"
;=======================

View File

@ -12,6 +12,18 @@ do_level4:
;======================
; set up initial stuff
;======================
lda #0
sta FLOATER_COUNT
sta EXPLODER_COUNT
sta STOPPER_COUNT
sta BUILDER_COUNT
sta BASHER_COUNT
sta DIGGER_COUNT
lda #10
sta CLIMBER_COUNT
sta MINER_COUNT
lda #5
sta DOOR_X
lda #10
@ -170,6 +182,8 @@ do_level4:
jsr init_level
jsr update_remaining_all
;=======================
; Play "Let's Go"
;=======================