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

View File

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

View File

@ -13,6 +13,19 @@ do_level2:
; set up initial stuff ; 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 lda #3
sta DOOR_X sta DOOR_X
lda #5 lda #5
@ -168,6 +181,8 @@ do_level2:
jsr init_level jsr init_level
jsr update_remaining_all
;======================= ;=======================
; Play "Let's Go" ; Play "Let's Go"
;======================= ;=======================

View File

@ -12,6 +12,17 @@ do_level3:
; set up initial stuff ; 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 lda #15
sta DOOR_X sta DOOR_X
lda #1 lda #1
@ -169,6 +180,8 @@ do_level3:
jsr init_level jsr init_level
jsr update_remaining_all
;======================= ;=======================
; Play "Let's Go" ; Play "Let's Go"
;======================= ;=======================

View File

@ -12,6 +12,18 @@ do_level4:
;====================== ;======================
; set up initial stuff ; 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 lda #5
sta DOOR_X sta DOOR_X
lda #10 lda #10
@ -170,6 +182,8 @@ do_level4:
jsr init_level jsr init_level
jsr update_remaining_all
;======================= ;=======================
; Play "Let's Go" ; Play "Let's Go"
;======================= ;=======================