lemm: move common code out of the levels
This commit is contained in:
parent
0b732265f6
commit
33034fd868
|
@ -140,6 +140,7 @@ LEVEL1: level1.o
|
|||
ld65 -o LEVEL1 level1.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
level1.o: level1.s zp.inc hardware.inc qload.inc lemm.inc \
|
||||
release_lemming.s \
|
||||
graphics/graphics_level1.inc
|
||||
ca65 -o level1.o level1.s -l level1.lst
|
||||
|
||||
|
@ -149,6 +150,7 @@ LEVEL2: level2.o
|
|||
ld65 -o LEVEL2 level2.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
level2.o: level2.s zp.inc hardware.inc qload.inc lemm.inc \
|
||||
release_lemming.s \
|
||||
graphics/graphics_level2.inc
|
||||
ca65 -o level2.o level2.s -l level2.lst
|
||||
|
||||
|
@ -158,6 +160,7 @@ LEVEL3: level3.o
|
|||
ld65 -o LEVEL3 level3.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
level3.o: level3.s zp.inc hardware.inc qload.inc lemm.inc \
|
||||
release_lemming.s \
|
||||
graphics/graphics_level3.inc
|
||||
ca65 -o level3.o level3.s -l level3.lst
|
||||
|
||||
|
@ -168,6 +171,7 @@ LEVEL4: level4.o
|
|||
ld65 -o LEVEL4 level4.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
level4.o: level4.s zp.inc hardware.inc qload.inc lemm.inc \
|
||||
release_lemming.s \
|
||||
graphics/graphics_level4.inc
|
||||
ca65 -o level4.o level4.s -l level4.lst
|
||||
|
||||
|
@ -179,6 +183,7 @@ LEVEL5: level5.o
|
|||
ld65 -o LEVEL5 level5.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
level5.o: level5.s zp.inc hardware.inc qload.inc lemm.inc \
|
||||
release_lemming.s \
|
||||
graphics/graphics_level5.inc
|
||||
ca65 -o level5.o level5.s -l level5.lst
|
||||
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
+ ability to walk up hills
|
||||
+ more than 1 lemming
|
||||
+ move common code for lemming release to separate function,
|
||||
update all 5 levels
|
||||
|
||||
+ wait a second after last lemming gone to exit
|
||||
+ update the "in" %
|
||||
+ dig off the map, end level
|
||||
+ fill in some of the ground so we don't get stuck when digging
|
||||
+ Update credits?
|
||||
+ "Out" counter is only printed to page1 so gets erased by cursor
|
||||
+ Level3
|
||||
+ Falling too far and you go splat
|
||||
+ See if the jerky animation is due to starting at an odd x vs
|
||||
even x, maybe we should start animation 4 frames in if that's
|
||||
|
|
|
@ -8,10 +8,14 @@
|
|||
.include "qload.inc"
|
||||
.include "lemming_status.inc"
|
||||
|
||||
lemm_test_start:
|
||||
lemm:
|
||||
;=====================
|
||||
; initializations
|
||||
;=====================
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
sta JOYSTICK_ENABLED
|
||||
|
||||
lda #1
|
||||
sta WHICH_LEVEL
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
LEMMING_RIGHT = $01
|
||||
LEMMING_LEFT = $FF
|
||||
|
||||
LEMMING_FALLING = 1
|
||||
LEMMING_WALKING = 2
|
||||
LEMMING_DIGGING = 3
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "qload.inc"
|
||||
|
@ -102,8 +101,6 @@ do_level1:
|
|||
; show title screen
|
||||
;=======================
|
||||
|
||||
; lda #1
|
||||
; sta WHICH_LEVEL
|
||||
jsr intro_level
|
||||
|
||||
;=======================
|
||||
|
@ -149,34 +146,7 @@ do_level1:
|
|||
lda #100
|
||||
sta CURSOR_Y
|
||||
|
||||
;=======================
|
||||
; Init Lemmings
|
||||
;=======================
|
||||
|
||||
lda #0
|
||||
sta lemming_out
|
||||
sta lemming_exploding
|
||||
lda #12
|
||||
sta lemming_x
|
||||
lda #45
|
||||
sta lemming_y
|
||||
lda #1
|
||||
sta lemming_direction
|
||||
lda #LEMMING_FALLING
|
||||
sta lemming_status
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;=======================
|
||||
; start music
|
||||
;=======================
|
||||
|
||||
; cli
|
||||
|
||||
;=======================
|
||||
; init vars
|
||||
|
@ -187,15 +157,13 @@ do_level1:
|
|||
sta DOOR_OPEN
|
||||
sta FRAMEL
|
||||
sta LOAD_NEXT_CHUNK
|
||||
sta JOYSTICK_ENABLED
|
||||
sta LEMMINGS_OUT
|
||||
|
||||
jsr update_lemmings_out
|
||||
jsr update_lemmings_out ; update display
|
||||
|
||||
lda #1
|
||||
sta LEMMINGS_TO_RELEASE
|
||||
|
||||
; jsr save_bg_14x14 ; save initial bg
|
||||
jsr clear_lemmings_out
|
||||
|
||||
; set up time
|
||||
|
||||
|
@ -206,6 +174,14 @@ do_level1:
|
|||
|
||||
sta TIMER_COUNT
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
|
||||
;===================
|
||||
;===================
|
||||
; Main Loop
|
||||
|
@ -221,7 +197,9 @@ l1_main_loop:
|
|||
jsr load_music
|
||||
|
||||
|
||||
|
||||
;=========================
|
||||
; open door
|
||||
;=========================
|
||||
|
||||
lda DOOR_OPEN
|
||||
bne l1_door_is_open
|
||||
|
@ -244,16 +222,13 @@ l1_door_is_open:
|
|||
and #$f
|
||||
bne l1_done_release_lemmings
|
||||
|
||||
inc LEMMINGS_OUT
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta lemming_out
|
||||
|
||||
dec LEMMINGS_TO_RELEASE
|
||||
jsr release_lemming
|
||||
|
||||
l1_done_release_lemmings:
|
||||
|
||||
;=====================
|
||||
; animate flames
|
||||
;=====================
|
||||
|
||||
jsr draw_flames
|
||||
|
||||
|
@ -305,6 +280,10 @@ l1_level_over:
|
|||
|
||||
|
||||
|
||||
.include "release_lemming.s"
|
||||
|
||||
|
||||
|
||||
|
||||
.include "graphics/graphics_level1.inc"
|
||||
|
||||
|
@ -328,3 +307,4 @@ lemm5_part4_lzsa:
|
|||
lemm5_part5_lzsa:
|
||||
.incbin "music/lemm5.part5.lzsa"
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "qload.inc"
|
||||
|
@ -13,6 +12,7 @@ do_level2:
|
|||
;======================
|
||||
; set up initial stuff
|
||||
;======================
|
||||
|
||||
lda #3
|
||||
sta DOOR_X
|
||||
lda #5
|
||||
|
@ -23,6 +23,8 @@ do_level2:
|
|||
lda #15
|
||||
sta INIT_Y
|
||||
|
||||
; flame locations
|
||||
|
||||
lda #29 ; 196
|
||||
sta l_flame_x_smc+1
|
||||
lda #122
|
||||
|
@ -32,9 +34,9 @@ do_level2:
|
|||
lda #33 ; 245
|
||||
sta r_flame_x_smc+1
|
||||
|
||||
; exit location (1c 8b)
|
||||
; door exit location
|
||||
|
||||
lda #29 ;
|
||||
lda #29 ;
|
||||
sta exit_x1_smc+1
|
||||
lda #33
|
||||
sta exit_x2_smc+1
|
||||
|
@ -140,35 +142,6 @@ do_level2:
|
|||
lda #100
|
||||
sta CURSOR_Y
|
||||
|
||||
;=======================
|
||||
; Init Lemmings
|
||||
;=======================
|
||||
|
||||
lda #0
|
||||
sta lemming_out
|
||||
sta lemming_exploding
|
||||
lda INIT_X
|
||||
sta lemming_x
|
||||
lda INIT_Y
|
||||
sta lemming_y
|
||||
lda #1
|
||||
sta lemming_direction
|
||||
lda #LEMMING_FALLING
|
||||
sta lemming_status
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;=======================
|
||||
; start music
|
||||
;=======================
|
||||
|
||||
; cli
|
||||
|
||||
;=======================
|
||||
; init vars
|
||||
;=======================
|
||||
|
@ -178,15 +151,13 @@ do_level2:
|
|||
sta DOOR_OPEN
|
||||
sta FRAMEL
|
||||
sta LOAD_NEXT_CHUNK
|
||||
sta JOYSTICK_ENABLED
|
||||
sta LEMMINGS_OUT
|
||||
|
||||
jsr update_lemmings_out
|
||||
jsr update_lemmings_out ; update display
|
||||
|
||||
lda #1
|
||||
sta LEMMINGS_TO_RELEASE
|
||||
|
||||
; jsr save_bg_14x14 ; save initial bg
|
||||
jsr clear_lemmings_out
|
||||
|
||||
; set up time
|
||||
|
||||
|
@ -197,6 +168,14 @@ do_level2:
|
|||
|
||||
sta TIMER_COUNT
|
||||
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;===================
|
||||
;===================
|
||||
; Main Loop
|
||||
|
@ -212,7 +191,9 @@ l2_main_loop:
|
|||
jsr load_music
|
||||
|
||||
|
||||
|
||||
;=========================
|
||||
; open door
|
||||
;=========================
|
||||
|
||||
lda DOOR_OPEN
|
||||
bne l2_door_is_open
|
||||
|
@ -238,13 +219,14 @@ l2_door_is_open:
|
|||
inc LEMMINGS_OUT
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta lemming_out
|
||||
|
||||
dec LEMMINGS_TO_RELEASE
|
||||
jsr release_lemming
|
||||
|
||||
l2_done_release_lemmings:
|
||||
|
||||
;======================
|
||||
; animate flames
|
||||
;======================
|
||||
|
||||
|
||||
jsr draw_flames
|
||||
|
||||
|
@ -286,8 +268,6 @@ l2_timer_not_yet:
|
|||
|
||||
l2_level_over:
|
||||
|
||||
; bit SET_TEXT
|
||||
|
||||
jsr disable_music
|
||||
|
||||
jsr outro_level1
|
||||
|
@ -296,6 +276,9 @@ l2_level_over:
|
|||
|
||||
|
||||
|
||||
.include "release_lemming.s"
|
||||
|
||||
|
||||
|
||||
.include "graphics/graphics_level2.inc"
|
||||
|
||||
|
|
|
@ -1,18 +1,17 @@
|
|||
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "qload.inc"
|
||||
.include "lemm.inc"
|
||||
.include "lemming_status.inc"
|
||||
|
||||
.byte 3 ; level 4
|
||||
.byte 3 ; level 3
|
||||
|
||||
do_level3:
|
||||
|
||||
|
||||
;======================
|
||||
; set up initial stuff
|
||||
;======================
|
||||
|
||||
lda #15
|
||||
sta DOOR_X
|
||||
lda #0
|
||||
|
@ -23,6 +22,8 @@ do_level3:
|
|||
lda #11
|
||||
sta INIT_Y
|
||||
|
||||
; flame location
|
||||
|
||||
lda #15 ;
|
||||
sta l_flame_x_smc+1
|
||||
lda #122
|
||||
|
@ -32,7 +33,7 @@ do_level3:
|
|||
lda #19 ;
|
||||
sta r_flame_x_smc+1
|
||||
|
||||
; exit location
|
||||
; door exit location
|
||||
|
||||
lda #15 ;
|
||||
sta exit_x1_smc+1
|
||||
|
@ -140,35 +141,6 @@ do_level3:
|
|||
lda #100
|
||||
sta CURSOR_Y
|
||||
|
||||
;=======================
|
||||
; Init Lemmings
|
||||
;=======================
|
||||
|
||||
lda #0
|
||||
sta lemming_out
|
||||
sta lemming_exploding
|
||||
lda INIT_X
|
||||
sta lemming_x
|
||||
lda INIT_Y
|
||||
sta lemming_y
|
||||
lda #1
|
||||
sta lemming_direction
|
||||
lda #LEMMING_FALLING
|
||||
sta lemming_status
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;=======================
|
||||
; start music
|
||||
;=======================
|
||||
|
||||
; cli
|
||||
|
||||
;=======================
|
||||
; init vars
|
||||
;=======================
|
||||
|
@ -178,15 +150,13 @@ do_level3:
|
|||
sta DOOR_OPEN
|
||||
sta FRAMEL
|
||||
sta LOAD_NEXT_CHUNK
|
||||
sta JOYSTICK_ENABLED
|
||||
sta LEMMINGS_OUT
|
||||
|
||||
jsr update_lemmings_out
|
||||
jsr update_lemmings_out ; update display
|
||||
|
||||
lda #1
|
||||
sta LEMMINGS_TO_RELEASE
|
||||
|
||||
; jsr save_bg_14x14 ; save initial bg
|
||||
jsr clear_lemmings_out
|
||||
|
||||
; set up time
|
||||
|
||||
|
@ -197,6 +167,13 @@ do_level3:
|
|||
|
||||
sta TIMER_COUNT
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;===================
|
||||
;===================
|
||||
; Main Loop
|
||||
|
@ -212,9 +189,9 @@ l4_main_loop:
|
|||
jsr load_music
|
||||
|
||||
|
||||
|
||||
l4_no_load_chunk:
|
||||
|
||||
;=========================
|
||||
; open door
|
||||
;=========================
|
||||
|
||||
lda DOOR_OPEN
|
||||
bne l4_door_is_open
|
||||
|
@ -237,16 +214,13 @@ l4_door_is_open:
|
|||
and #$f
|
||||
bne l4_done_release_lemmings
|
||||
|
||||
inc LEMMINGS_OUT
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta lemming_out
|
||||
|
||||
dec LEMMINGS_TO_RELEASE
|
||||
jsr release_lemming
|
||||
|
||||
l4_done_release_lemmings:
|
||||
|
||||
;======================
|
||||
; animate flames
|
||||
;======================
|
||||
|
||||
jsr draw_flames
|
||||
|
||||
|
@ -288,8 +262,6 @@ l4_timer_not_yet:
|
|||
|
||||
l4_level_over:
|
||||
|
||||
; bit SET_TEXT
|
||||
|
||||
jsr disable_music
|
||||
|
||||
jsr outro_level1
|
||||
|
@ -297,6 +269,7 @@ l4_level_over:
|
|||
rts
|
||||
|
||||
|
||||
.include "release_lemming.s"
|
||||
|
||||
|
||||
.include "graphics/graphics_level3.inc"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "qload.inc"
|
||||
|
@ -23,6 +22,8 @@ do_level4:
|
|||
lda #22
|
||||
sta INIT_Y
|
||||
|
||||
; flame locations
|
||||
|
||||
lda #29 ;
|
||||
sta l_flame_x_smc+1
|
||||
lda #23
|
||||
|
@ -32,7 +33,7 @@ do_level4:
|
|||
lda #33 ;
|
||||
sta r_flame_x_smc+1
|
||||
|
||||
; exit location
|
||||
; door exit location
|
||||
|
||||
lda #29 ;
|
||||
sta exit_x1_smc+1
|
||||
|
@ -140,34 +141,6 @@ do_level4:
|
|||
lda #100
|
||||
sta CURSOR_Y
|
||||
|
||||
;=======================
|
||||
; Init Lemmings
|
||||
;=======================
|
||||
|
||||
lda #0
|
||||
sta lemming_out
|
||||
sta lemming_exploding
|
||||
lda INIT_X
|
||||
sta lemming_x
|
||||
lda INIT_Y
|
||||
sta lemming_y
|
||||
lda #1
|
||||
sta lemming_direction
|
||||
lda #LEMMING_FALLING
|
||||
sta lemming_status
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;=======================
|
||||
; start music
|
||||
;=======================
|
||||
|
||||
; cli
|
||||
|
||||
;=======================
|
||||
; init vars
|
||||
|
@ -178,15 +151,13 @@ do_level4:
|
|||
sta DOOR_OPEN
|
||||
sta FRAMEL
|
||||
sta LOAD_NEXT_CHUNK
|
||||
sta JOYSTICK_ENABLED
|
||||
sta LEMMINGS_OUT
|
||||
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta LEMMINGS_TO_RELEASE
|
||||
|
||||
; jsr save_bg_14x14 ; save initial bg
|
||||
jsr clear_lemmings_out
|
||||
|
||||
; set up time
|
||||
|
||||
|
@ -197,6 +168,13 @@ do_level4:
|
|||
|
||||
sta TIMER_COUNT
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;===================
|
||||
;===================
|
||||
; Main Loop
|
||||
|
@ -237,16 +215,13 @@ l4_door_is_open:
|
|||
and #$f
|
||||
bne l4_done_release_lemmings
|
||||
|
||||
inc LEMMINGS_OUT
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta lemming_out
|
||||
|
||||
dec LEMMINGS_TO_RELEASE
|
||||
jsr release_lemming
|
||||
|
||||
l4_done_release_lemmings:
|
||||
|
||||
;=====================
|
||||
; animate flames
|
||||
;=====================
|
||||
|
||||
jsr draw_flames
|
||||
|
||||
|
@ -288,8 +263,6 @@ l4_timer_not_yet:
|
|||
|
||||
l4_level_over:
|
||||
|
||||
; bit SET_TEXT
|
||||
|
||||
jsr disable_music
|
||||
|
||||
jsr outro_level1
|
||||
|
@ -297,6 +270,7 @@ l4_level_over:
|
|||
rts
|
||||
|
||||
|
||||
.include "release_lemming.s"
|
||||
|
||||
|
||||
.include "graphics/graphics_level4.inc"
|
||||
|
|
|
@ -16,6 +16,20 @@ do_level5:
|
|||
lda #24
|
||||
sta DOOR_Y
|
||||
|
||||
lda #12
|
||||
sta INIT_X
|
||||
lda #40
|
||||
sta INIT_Y
|
||||
|
||||
; flame locations
|
||||
|
||||
; n/a
|
||||
|
||||
; exit location
|
||||
|
||||
; n/a
|
||||
|
||||
|
||||
;==============
|
||||
; set up intro
|
||||
;==============
|
||||
|
@ -65,8 +79,6 @@ do_level5:
|
|||
; show title screen
|
||||
;=======================
|
||||
|
||||
lda #5
|
||||
sta WHICH_LEVEL
|
||||
jsr intro_level
|
||||
|
||||
;=======================
|
||||
|
@ -112,33 +124,6 @@ do_level5:
|
|||
lda #100
|
||||
sta CURSOR_Y
|
||||
|
||||
;=======================
|
||||
; Init Lemmings
|
||||
;=======================
|
||||
|
||||
lda #0
|
||||
sta lemming_out
|
||||
sta lemming_exploding
|
||||
lda #12
|
||||
sta lemming_x
|
||||
lda #40
|
||||
sta lemming_y
|
||||
lda #1
|
||||
sta lemming_direction
|
||||
lda #LEMMING_FALLING
|
||||
sta lemming_status
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
;=======================
|
||||
; start music
|
||||
;=======================
|
||||
|
||||
; cli
|
||||
|
||||
;=======================
|
||||
; init vars
|
||||
|
@ -149,15 +134,13 @@ do_level5:
|
|||
sta DOOR_OPEN
|
||||
sta FRAMEL
|
||||
sta LOAD_NEXT_CHUNK
|
||||
sta JOYSTICK_ENABLED
|
||||
sta LEMMINGS_OUT
|
||||
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta LEMMINGS_TO_RELEASE
|
||||
|
||||
; jsr save_bg_14x14 ; save initial bg
|
||||
jsr clear_lemmings_out
|
||||
|
||||
; set up time
|
||||
|
||||
|
@ -168,6 +151,14 @@ do_level5:
|
|||
|
||||
sta TIMER_COUNT
|
||||
|
||||
|
||||
;=======================
|
||||
; Play "Let's Go"
|
||||
;=======================
|
||||
|
||||
jsr play_letsgo
|
||||
|
||||
|
||||
;===================
|
||||
;===================
|
||||
; Main Loop
|
||||
|
@ -183,6 +174,9 @@ l5_main_loop:
|
|||
jsr load_music
|
||||
|
||||
|
||||
;=====================
|
||||
; open door
|
||||
;=====================
|
||||
|
||||
|
||||
lda DOOR_OPEN
|
||||
|
@ -206,16 +200,13 @@ l5_door_is_open:
|
|||
and #$f
|
||||
bne l5_done_release_lemmings
|
||||
|
||||
inc LEMMINGS_OUT
|
||||
jsr update_lemmings_out
|
||||
|
||||
lda #1
|
||||
sta lemming_out
|
||||
|
||||
dec LEMMINGS_TO_RELEASE
|
||||
jsr release_lemming
|
||||
|
||||
l5_done_release_lemmings:
|
||||
|
||||
;=====================
|
||||
; animate flames
|
||||
;=====================
|
||||
|
||||
; jsr draw_flames
|
||||
|
||||
|
@ -257,8 +248,6 @@ l5_timer_not_yet:
|
|||
|
||||
l5_level_over:
|
||||
|
||||
; bit SET_TEXT
|
||||
|
||||
jsr disable_music
|
||||
|
||||
jsr outro_level1
|
||||
|
@ -266,6 +255,8 @@ l5_level_over:
|
|||
rts
|
||||
|
||||
|
||||
.include "release_lemming.s"
|
||||
|
||||
|
||||
.include "graphics/graphics_level5.inc"
|
||||
|
||||
|
|
|
@ -1,3 +1,26 @@
|
|||
|
||||
lemming_x:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
lemming_y:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
lemming_direction:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
lemming_out:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
lemming_frame:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
lemming_status:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
lemming_exploding:
|
||||
.byte 0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;==========================
|
||||
; move them
|
||||
;==========================
|
||||
|
@ -188,27 +211,6 @@ remove_lemming:
|
|||
rts
|
||||
|
||||
|
||||
lemming_direction:
|
||||
.byte 1
|
||||
|
||||
lemming_x:
|
||||
.byte 12
|
||||
lemming_y:
|
||||
.byte 45
|
||||
|
||||
lemming_out:
|
||||
.byte $0
|
||||
|
||||
lemming_frame:
|
||||
.byte 0
|
||||
|
||||
lemming_status:
|
||||
.byte LEMMING_FALLING
|
||||
|
||||
lemming_exploding:
|
||||
.byte $00
|
||||
|
||||
|
||||
|
||||
;=============================
|
||||
; collision check ground
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
|
||||
|
||||
|
||||
;=======================
|
||||
; Clear Lemmings Out
|
||||
;=======================
|
||||
clear_lemmings_out:
|
||||
|
||||
lda #0
|
||||
ldy #0
|
||||
clear_lemmings_loop:
|
||||
sta lemming_out,Y
|
||||
iny
|
||||
cpy LEMMINGS_TO_RELEASE
|
||||
bne clear_lemmings_loop
|
||||
|
||||
rts
|
||||
|
||||
;=======================
|
||||
; Init Lemmings
|
||||
;=======================
|
||||
release_lemming:
|
||||
ldy #0
|
||||
|
||||
lda #1
|
||||
sta lemming_out,Y
|
||||
lda #0
|
||||
sta lemming_exploding,Y
|
||||
lda INIT_X
|
||||
sta lemming_x,Y
|
||||
lda INIT_Y
|
||||
sta lemming_y,Y
|
||||
lda #LEMMING_RIGHT
|
||||
sta lemming_direction,Y
|
||||
lda #LEMMING_FALLING
|
||||
sta lemming_status,Y
|
||||
|
||||
inc LEMMINGS_OUT
|
||||
jsr update_lemmings_out
|
||||
|
||||
dec LEMMINGS_TO_RELEASE
|
||||
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue