lemm: more hooking up proper job decrement
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 28 KiB |
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
;=======================
|
;=======================
|
||||||
|
|
|
@ -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"
|
||||||
;=======================
|
;=======================
|
||||||
|
|
|
@ -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"
|
||||||
;=======================
|
;=======================
|
||||||
|
|