Prev: CB45 Up: Map Next: CB7B
CB6A: Cut a move short: X
Used by the routine at adj_for_out_of_bounds.
The X part of adj_for_out_of_bounds, with C as the working dX. dZ is final by now, and may have been changed by landing on a moving object (dZ_obj_hit_test), so dX is read from the record only here.
dZ_ok CB6A LD A,(IX+$09) C = dX; nothing to do if zero
CB6D AND A
CB6E LD C,A
CB6F JR Z,dX_done
CB71 CALL adj_dX_for_out_of_bounds the walls first; nothing left means no objects to test
CB74 LD A,C
CB75 AND A
CB76 JR Z,dX_done
CB78 CALL adj_dX_for_obj_intersect then the other objects
Prev: CB45 Up: Map Next: CB7B