Prev: 9C1A Up: Map Next: 9CA3
9C78: Update Drop Entity
Updates an entity of the type 04. Every other frame it calls IncreaseEntityCounter.
Input
IX The entity
UpdateDropEntity 9C78 LD A,($A2DD) Fetch the low byte of the frame counter from FrameCounter.
9C7B AND %00000001 Keep bit 0.
9C7D CALL Z,IncreaseEntityCounter Call IncreaseEntityCounter on every other frame.
9C80 SET 7,(IX+$11) Set bit 7 of the heading of the entity.
9C84 BIT 7,(IX+$23) Jump to UpdateEntity_Move to carry on updating the entity if bit 7 of field 23 of the entity is not set.
9C88 JP Z,UpdateEntity_Move
9C8B LD A,(IX+$1F) Read field 1F of the entity.
9C8E INC A Add one.
9C8F CP $02 Compare it with 02.
9C91 RES 7,(IX+$23) Reset bit 7 of field 23 of the entity.
9C95 JP C,UpdateEntity_Move Jump to UpdateEntity_Move to carry on updating the entity if it was below 02.
9C98 SET 7,(IX+$23) Set bit 7 of field 23 of the entity.
9C9C RES 7,(IX+$11) Reset bit 7 of the heading of the entity.
9CA0 JP UpdateEntity_Move Jump to UpdateEntity_Move to carry on updating the entity.
Prev: 9C1A Up: Map Next: 9CA3