diff --git a/ootw/alien.s b/ootw/alien.s index 6902b7a5..0154be21 100644 --- a/ootw/alien.s +++ b/ootw/alien.s @@ -367,6 +367,8 @@ alien_shooting_up: lda #28 sta SHOOTING_TOP + inc LITTLEGUY_OUT + ; bne finally_draw_alien ; bra diff --git a/ootw/ootw_c2_cage.s b/ootw/ootw_c2_cage.s index 313e4d60..18a93d28 100644 --- a/ootw/ootw_c2_cage.s +++ b/ootw/ootw_c2_cage.s @@ -36,6 +36,7 @@ ootw_cage: sta CAGE_GUARD sta SHOOTING_BOTTOM sta SHOOTING_TOP + sta LITTLEGUY_OUT bit KEYRESET ; clear keypress @@ -57,6 +58,47 @@ cage_loop: jsr ootw_draw_miners + ;======================= + ; draw little guy + ;======================= + + lda LITTLEGUY_OUT + beq done_bg_draw_lg + + cmp #7 + bcc lg_in1 + cmp #15 + bcc lg_in2 + + ldx #little_guy_in_sprite + jmp bg_draw_lg + +lg_in1: + ldx #little_guy_in1_sprite + jmp bg_draw_lg_inc + +lg_in2: + ldx #little_guy_in2_sprite + +bg_draw_lg_inc: + inc LITTLEGUY_OUT + +bg_draw_lg: + lda #28 + sta XPOS + lda #34 + sta YPOS + + stx INL + sty INH + jsr put_sprite_crop + +done_bg_draw_lg: + + ;====================== ; draw cage ;====================== @@ -246,6 +288,13 @@ cage_escape: cage_left_pressed: + lda CAGE_AMPLITUDE + bne cage_left_already_moving + lda #8 ; *2 + sta CAGE_OFFSET + jmp cage_inc_amplitude + +cage_left_already_moving: ; if moving left ($80) inc amp ; if moving right ($1) dec amp diff --git a/ootw/zp.inc b/ootw/zp.inc index f277052a..5457cb3d 100644 --- a/ootw/zp.inc +++ b/ootw/zp.inc @@ -149,7 +149,8 @@ PARTICLE_COUNT = $E7 ; INTRO MESSAGE_COUNT = $E7 ; INTRO BOULDER_X = $E8 ; C1 -CART_X = $E8 ; C2 +LITTLEGUY_OUT = $E8 ; C2 cage +CART_X = $E8 ; C2 jail BOULDER_Y = $E9 ; C1 SHOOTING_TOP = $E9 ; C1 cage