From ba51967e286a09618271b500ee1209bf612d1f7d Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 12 Mar 2022 18:03:53 -0500 Subject: [PATCH] lemm: animate falling --- games/lemm/Makefile | 2 +- games/lemm/draw_lemming.s | 39 ++++++++++++++++++++++++++++++-- games/lemm/graphics/Makefile | 11 ++++++++- games/lemm/graphics/sprites.png | Bin 10194 -> 17213 bytes games/lemm/move_lemming.s | 9 +++++++- 5 files changed, 56 insertions(+), 5 deletions(-) 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 397ed341199b3d884e1d47418cb328f93f3c227d..af2300a3f1b975f32e89655d107d39bcd01c8859 100644 GIT binary patch delta 13394 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 delta 6321 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 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