From 82603dbf19de23e47fd7422a7b2e7ed04293caad Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 22 Aug 2019 13:06:02 -0400 Subject: [PATCH] ootw: can now turn off power by shooting wire --- ootw/TODO | 27 +++++++++++++-------------- ootw/alien_laser.s | 1 - ootw/collision.s | 2 +- ootw/laser.s | 20 +++++++++++++------- ootw/ootw_c2_jail.s | 27 +++++++++++++++++++++++++++ 5 files changed, 54 insertions(+), 23 deletions(-) diff --git a/ootw/TODO b/ootw/TODO index 145c4fd6..e403d8ba 100644 --- a/ootw/TODO +++ b/ootw/TODO @@ -4,16 +4,24 @@ TODO Before release: l2/l4 -- have aliens shoot - L2 -- disable door/powerline by shooting wall - l2 -- move doors to final behavior (break room one needs to be locked) - l2 -- re-activate opening cutscene + l2 -- initial shield up in alien hallway + +KNOWN BUGS: +=========== ++ shooting through shield is broken (it's worse when facing right) + need a +2 in the collision code somewhere probably ++ ootw: pool monster grabs you a edge of pool (glitch) ++ intro: there's still a bit of a pause when the elevator door finishes opening ++ running: Missing one running frame (?) ++ L2 vent -- we fall behind the vent + No easy way to fix that unless we split if off from + the friend drawing code, or change the Z order of the friend + - l2 -- shield up in alien hallway - shooting through shield is broken MISSING SPRITES: ================ @@ -127,15 +135,6 @@ BEHAVIOR DIFFERENCES: + Level/Checkpoint #5 * Allow falling into first pit -KNOWN BUGS: -=========== - -+ ootw: pool monster grabs you a edge of pool (glitch) -+ intro: there's still a bit of a pause when the elevator door finishes opening -+ running: Missing one running frame (?) -+ L2 vent -- we fall behind the vent - No easy way to fix that unless we split if off from - the friend drawing code, or change the Z order of the friend FUTURE WORK: ============ diff --git a/ootw/alien_laser.s b/ootw/alien_laser.s index 288c1227..909c6612 100644 --- a/ootw/alien_laser.s +++ b/ootw/alien_laser.s @@ -67,7 +67,6 @@ alien_laser_left: sbc #2 sta laser1_end -; txa sec sbc #10 sta laser1_start diff --git a/ootw/collision.s b/ootw/collision.s index 47fceda2..1a114176 100644 --- a/ootw/collision.s +++ b/ootw/collision.s @@ -3,7 +3,7 @@ TARGET_DOOR = $10 TARGET_SHIELD = $20 TARGET_FRIEND = $30 TARGET_ALIEN = $40 - +TARGET_PHYSICIST= $80 ;============================= ;============================= diff --git a/ootw/laser.s b/ootw/laser.s index dc15ac8b..cc0a96bf 100644 --- a/ootw/laser.s +++ b/ootw/laser.s @@ -324,18 +324,24 @@ laser_hit_alien: laser_hit_friend: - lda #F_DISINTEGRATING - sta friend_state + lda #F_DISINTEGRATING + sta friend_state lda #FAI_DISINTEGRATING sta friend_ai_state + lda #0 + sta friend_gait + + jmp done_hit_something + +laser_hit_physicist: + + lda #P_DISINTEGRATING + sta PHYSICIST_STATE + lda #0 - sta friend_gait - - - -; jmp done_hit_something + sta GAIT done_hit_something: jmp done_move_laser diff --git a/ootw/ootw_c2_jail.s b/ootw/ootw_c2_jail.s index 6f803c7f..9495ff95 100644 --- a/ootw/ootw_c2_jail.s +++ b/ootw/ootw_c2_jail.s @@ -607,6 +607,33 @@ no_draw_alien: jsr handle_gun + ;======================== + ; hack to turn off power! + + lda WHICH_ROOM + cmp #6 + bne no_turn_off_power + + lda JAIL_POWER_ON + beq no_turn_off_power + + lda laser0_out + beq no_turn_off_power + + lda laser0_start + cmp #20 + bcs no_turn_off_power + +turn_off_power: + lda #0 + sta JAIL_POWER_ON + lda #DOOR_STATUS_LOCKED + sta c2_r4_door0_status + sta c2_r4_door1_status + sta c2_r4_door2_status + +no_turn_off_power: + ;================ ; handle doors ;================