Prev: 28882 Up: Map Next: 28985
28929: Erase Actor Sprite
Used by the routines at 25404, 26163 and 28588.
Input
IX Actor Entity
ActorEraseMovedSprite 28929 LD A,(24098) Jump to 29001 if 24098 is zero.
28932 AND A
28933 JP Z,29001
28936 CALL FindActorSpriteAndUpdate Call FindActorSpriteAndUpdate.
28939 EXX
28940 CALL ActorFindPosDir Call ActorFindPosDir.
28943 LD A,(24097) A=Actor_Position_Y.
28946 SUB (IX+2) Subtract the actor Y position.
28949 JP Z,ActorUpdateSize Jump to ActorUpdateSize if the result is zero.
28952 JP M,ActorEraseMovedSprite_0 Jump to ActorEraseMovedSprite_0 if the result is negative.
28955 LD C,A Else store the result in C.
28956 LD A,(24101) A=CurrentSpriteHeight.
28959 CP C Jump to ActorUpdateSize if A < C.
28960 JP C,ActorUpdateSize
28963 SUB C
28964 LD (24101),A Store the result at CurrentSpriteHeight.
28967 JP MaskSprite Jump to MaskSprite.
ActorEraseMovedSprite_0 28970 EXX
28971 NEG
28973 LD C,A
28974 LD A,(24102) A=HeightLines.
28977 CP C
28978 JP C,ActorUpdateSizeFlipReg
28981 SUB C
28982 JP ActorUpdateHeightAndMask Jump to ActorUpdateHeightAndMask.
Prev: 28882 Up: Map Next: 28985