Prev: 70D2 Up: Map Next: 7139
7101: Erase Actor Sprite
Used by the routines at 633C, 6633 and 6FAC.
Input
IX Actor Entity
ActorEraseMovedSprite 7101 LD A,($5E22) Jump to 7149 if 5E22 is zero.
7104 AND A
7105 JP Z,$7149
7108 CALL FindActorSpriteAndUpdate Call FindActorSpriteAndUpdate.
710B EXX
710C CALL ActorFindPosDir Call ActorFindPosDir.
710F LD A,($5E21) A=Actor_Position_Y.
7112 SUB (IX+$02) Subtract the actor Y position.
7115 JP Z,ActorUpdateSize Jump to ActorUpdateSize if the result is zero.
7118 JP M,ActorEraseMovedSprite_0 Jump to ActorEraseMovedSprite_0 if the result is negative.
711B LD C,A Else store the result in C.
711C LD A,($5E25) A=CurrentSpriteHeight.
711F CP C Jump to ActorUpdateSize if A < C.
7120 JP C,ActorUpdateSize
7123 SUB C
7124 LD ($5E25),A Store the result at CurrentSpriteHeight.
7127 JP MaskSprite Jump to MaskSprite.
ActorEraseMovedSprite_0 712A EXX
712B NEG
712D LD C,A
712E LD A,($5E26) A=HeightLines.
7131 CP C
7132 JP C,ActorUpdateSizeFlipReg
7135 SUB C
7136 JP ActorUpdateHeightAndMask Jump to ActorUpdateHeightAndMask.
Prev: 70D2 Up: Map Next: 7139