dw actor_update_rock
actor_update_null:
+ ; if who is current actor simply
+ ; skip
+ ld a, [act]
+ ld b, a
+ ld a, [who]
+ cp a, b
+ jr nz, @skip REL
+
+ call turn_finish
+ call who_next
+
+@skip:
ret
actor_update_rock:
+
+ ld a, [act]
+ ld d, a
+ ld a, [who]
+ cp a, d
+ jr nz, @skip REL
+
+ call turn_finish
+ call who_next
+
+@skip:
+
; load oam ptr
ld a, [actor_soam_ptr]
ld h, a
push de
push bc
+ ; store current actor in act
+ ld a, d
+ dec a ; -1 to get 0-index counter
+ ld [act], a
+
ld hl, actor_update_table
ld a, [bc]
call call_tbl
; give control to the next actor
end_turn: .adv 1
+ ; current actor that is being updated
+act: .adv 1
+
#define ANIM_MOVE_TILE_SIZE 16
#define ANIM_STEP_DOWN 1
#define ANIM_STEP_LEFT 0xFF