Prev: CE9A Up: Map Next: CEDA
CEA0: The update routine for things that pace to and fro in U
Graphic 92, a head, is deadly (MAKE_DEADLY) and enters here; graphic 87, a block, enters at PACER_U. Either moves two units a turn along U, the way bit 0 of +10 says (set: forwards), and turns round when it bumps into anything. It never falls. The player standing on the block is carried along, since the collision code gives him the step of what he stands on when he has none of his own (ADJ_DZ_FOR_OBJ_INTERSECT).
Input
IX the object record
DEADLY_PACER_U CEA0 CALL MAKE_DEADLY deadly
PACER_U CEA3 CALL DRAW_AT_L16_D8 PACER_U: the drawing nudge
CEA6 XOR A no step in V or Z; which way?
CEA7 LD (IX+$0A),A
CEAA LD (IX+$0B),A
CEAD BIT 0,(IX+$10)
CEB1 JR Z,DEADLY_PACER_U_1
CEB3 LD (IX+$09),$02 forwards: two units, and back the other way after a bump
CEB7 CALL CLIP_AND_MOVE
CEBA BIT 0,(IX+$0C)
CEBE JR Z,DEADLY_PACER_U_0
CEC0 RES 0,(IX+$10)
DEADLY_PACER_U_0 CEC4 JP SET_WIPE_AND_DRAW_FLAGS redraw
DEADLY_PACER_U_1 CEC7 LD (IX+$09),$FE backwards: two units, and forwards again after a bump
CECB CALL CLIP_AND_MOVE
CECE BIT 0,(IX+$0C)
CED2 JR Z,DEADLY_PACER_U_0
CED4 SET 0,(IX+$10)
CED8 JR DEADLY_PACER_U_0
Prev: CE9A Up: Map Next: CEDA