Now a little update that adds a change that was long overdue: Zombies do not wake up all of a sudden, but peek out of the ground before. Now players should be able to escape if they're keeping an eye out.
We change the .WakeUp part of BehaviourZombie to show up, look left/right a few times and only then rise, like good zombies do:
;only animate head to warn player
inc SPRITE_MOVE_POS,x
lda SPRITE_MOVE_POS,x
cmp #20
beq .ReallyWakeUp
and #$07
bne ++
;show head
lda SPRITE_DIRECTION,x
eor #1
sta SPRITE_DIRECTION,x
lda #SPRITE_ZOMBIE_COLLAPSE_R_2
clc
adc SPRITE_DIRECTION,x
sta SPRITE_POINTER_BASE,x
++
rts
.ReallyWakeUp
Also, having the spawn animation playing but then "appearing" underground is awkward the start state of zombies is now fully alive. Which is simply a change in the TYPE_START_STATE table.
That was simple now :)