diff --git a/games/lemm/Makefile b/games/lemm/Makefile index 0799fdbd..39220db6 100644 --- a/games/lemm/Makefile +++ b/games/lemm/Makefile @@ -38,7 +38,7 @@ LEMM: lemm.o ld65 -o LEMM lemm.o -C ../../linker_scripts/apple2_6000.inc lemm.o: lemm.s zp.inc hardware.inc \ - graphics/graphics_test.inc \ + graphics/graphics_test.inc graphics/sprites.inc \ intro_level1.s update_time.s hgr_sprite.s draw_flames.s \ draw_door.s move_lemming.s draw_lemming.s \ interrupt_handler.s keyboard.s \ diff --git a/games/lemm/draw_lemming.s b/games/lemm/draw_lemming.s index 0cf61d69..c6e6e9a4 100644 --- a/games/lemm/draw_lemming.s +++ b/games/lemm/draw_lemming.s @@ -26,9 +26,28 @@ draw_lemming: lda lemming_out,Y beq done_draw_lemming - lda #lemming_fall1_sprite + lda lfall_sprite_h,X + jmp draw_falling_common + +draw_falling_right: + lda rfall_sprite_l,X + sta INL + lda rfall_sprite_h,X + +draw_falling_common: sta INH ldx lemming_x,Y @@ -41,3 +60,19 @@ draw_lemming: done_draw_lemming: rts + +lfall_sprite_l: + .byte lemming_lfall1_sprite,>lemming_lfall2_sprite + .byte >lemming_lfall3_sprite,>lemming_lfall4_sprite + +rfall_sprite_l: + .byte lemming_rfall1_sprite,>lemming_rfall2_sprite + .byte >lemming_rfall3_sprite,>lemming_rfall4_sprite + + diff --git a/games/lemm/graphics/Makefile b/games/lemm/graphics/Makefile index 6a98788a..90262e6c 100644 --- a/games/lemm/graphics/Makefile +++ b/games/lemm/graphics/Makefile @@ -49,7 +49,16 @@ sprites.inc: sprites.png $(HGR_SPRITE) -s -l door2_sprite sprites.png 7 76 55 91 >> sprites.inc $(HGR_SPRITE) -s -l door3_sprite sprites.png 7 98 55 114 >> sprites.inc $(HGR_SPRITE) -s -l door4_sprite sprites.png 7 118 55 137 >> sprites.inc - $(HGR_SPRITE) -s -l lemming_fall1_sprite sprites.png 56 32 62 41 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_rfall1_sprite sprites.png 14 161 20 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_rfall2_sprite sprites.png 28 161 34 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_rfall3_sprite sprites.png 42 161 48 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_rfall4_sprite sprites.png 56 161 62 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_lfall1_sprite sprites.png 70 161 76 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_lfall2_sprite sprites.png 84 161 90 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_lfall3_sprite sprites.png 98 161 104 170 >> sprites.inc + $(HGR_SPRITE) -s -l lemming_lfall4_sprite sprites.png 112 161 118 170 >> sprites.inc + + diff --git a/games/lemm/graphics/sprites.png b/games/lemm/graphics/sprites.png index 397ed341..af2300a3 100644 Binary files a/games/lemm/graphics/sprites.png and b/games/lemm/graphics/sprites.png differ diff --git a/games/lemm/move_lemming.s b/games/lemm/move_lemming.s index 67c9533f..61718568 100644 --- a/games/lemm/move_lemming.s +++ b/games/lemm/move_lemming.s @@ -8,7 +8,12 @@ move_lemmings: jmp done_checking_lemming really_move_lemming: - lda lemming_status + ; bump frame + tya + tax + inc lemming_frame,X ; only can inc with X + + lda lemming_status,Y cmp #LEMMING_FALLING beq do_lemming_falling cmp #LEMMING_WALKING @@ -149,6 +154,8 @@ lemming_y: lemming_out: .byte $0 +lemming_frame: + .byte 0 LEMMING_FALLING = 1 LEMMING_WALKING = 2