Prev: EE42 Up: Map Next: EE66
EE54: Move Object Vertically
Used by the routines at Handle_Flying_Creature and Handle_Carrying_Eagle.
Adds a velocity to the y position of an object. It works like Move_Object_Horizontally, but with the y position and its fraction (byte 0D of the record).
Input
HL The y velocity, with the sign extended to sixteen bits
IX Object record
Output
A The new y position
F The zero flag is set if the new y position is less than 80
Move_Object_Vertically EE54 ADD HL,HL Multiply the velocity by sixteen.
EE55 ADD HL,HL
EE56 ADD HL,HL
EE57 ADD HL,HL
EE58 LD C,(IX+$0D) Fetch the fraction of the y position.
EE5B LD B,(IX+$03) Fetch the y position.
EE5E ADD HL,BC Add the velocity to the position.
EE5F LD (IX+$0D),L Store the new fraction.
EE62 LD A,H Fetch the new y position.
EE63 BIT 7,A Test bit 7 of the new y position.
EE65 RET Return.
Prev: EE42 Up: Map Next: EE66