Prev: CF62 Up: Map Next: CF9F
CF69: What to do about a pair of boxes
27 addresses, indexed by Z code (0 candidate above, 1 overlap, 2 IY above) + Y code (0 candidate further back, 3 overlap, 6 IY further back) + X code (0 IY further back, 9 overlap, 18 candidate further back). "Further back" means further from the viewer: smaller X, larger Y, lower Z.
Three outcomes. iy_goes_first when IY is behind or level with the candidate on all three axes and strictly behind on at least one: IY must be drawn first. candidate_already_first for the mirror image, where the candidate is behind IY -- it is already being drawn first, so nothing to do. order_unconstrained where each is in front of the other on some axis, which says nothing about their order. The last two are the same instruction; the table distinguishes them only in which entry it names. Index 13, overlapping on every axis, goes to objs_coincide.
depth_order_tbl CF69 DEFW order_unconstrained 0: Z0 Y0 X0 -- no constraint
CF6B DEFW order_unconstrained 1: Z1 Y0 X0 -- no constraint
CF6D DEFW order_unconstrained 2: Z2 Y0 X0 -- no constraint
CF6F DEFW iy_goes_first 3: Z0 Y3 X0 -- IY first
CF71 DEFW iy_goes_first 4: Z1 Y3 X0 -- IY first
CF73 DEFW order_unconstrained 5: Z2 Y3 X0 -- no constraint
CF75 DEFW iy_goes_first 6: Z0 Y6 X0 -- IY first
CF77 DEFW iy_goes_first 7: Z1 Y6 X0 -- IY first
CF79 DEFW order_unconstrained 8: Z2 Y6 X0 -- no constraint
CF7B DEFW order_unconstrained 9: Z0 Y0 X9 -- no constraint
CF7D DEFW candidate_already_first 10: Z1 Y0 X9 -- candidate first
CF7F DEFW candidate_already_first 11: Z2 Y0 X9 -- candidate first
CF81 DEFW iy_goes_first 12: Z0 Y3 X9 -- IY first
CF83 DEFW objs_coincide 13: Z1 Y3 X9 -- the boxes intersect
CF85 DEFW candidate_already_first 14: Z2 Y3 X9 -- candidate first
CF87 DEFW iy_goes_first 15: Z0 Y6 X9 -- IY first
CF89 DEFW iy_goes_first 16: Z1 Y6 X9 -- IY first
CF8B DEFW order_unconstrained 17: Z2 Y6 X9 -- no constraint
CF8D DEFW order_unconstrained 18: Z0 Y0 X18 -- no constraint
CF8F DEFW candidate_already_first 19: Z1 Y0 X18 -- candidate first
CF91 DEFW candidate_already_first 20: Z2 Y0 X18 -- candidate first
CF93 DEFW order_unconstrained 21: Z0 Y3 X18 -- no constraint
CF95 DEFW candidate_already_first 22: Z1 Y3 X18 -- candidate first
CF97 DEFW candidate_already_first 23: Z2 Y3 X18 -- candidate first
CF99 DEFW order_unconstrained 24: Z0 Y6 X18 -- no constraint
CF9B DEFW order_unconstrained 25: Z1 Y6 X18 -- no constraint
CF9D DEFW order_unconstrained 26: Z2 Y6 X18 -- no constraint
Prev: CF62 Up: Map Next: CF9F