Prev: 71BC Up: Map Next: 71EA
71CB: Update Sprite Size
Used by the routine at MaskSprite.
Used by MaskSprite when all of the lines of the old sprite have been erased. If there are lines of the new sprite left then they are drawn, otherwise the number of lines left of both sprites is updated, so that the lines which stick out can be handled.
ActorUpdateSizeNext 71CB EXX Switch to the shadow registers (the new sprite).
71CC LD A,C A=C.
71CD AND A Test the number of lines left.
71CE JR NZ,MaskSprite_Draw Jump to MaskSprite_Draw if there are lines of the new sprite left to draw.
This entry point is used by the routine at DisplayEntity.
ActorUpdateSizeFlipReg 71D0 EXX Switch to the normal registers.
This entry point is used by the routine at DisplayEntity.
ActorUpdateSize 71D1 LD A,($5E25) Fetch the number of lines left of the old sprite (CurrentSpriteHeight) and keep it in C.
71D4 LD C,A
71D5 LD A,($5E26) Fetch the number of lines left of the new sprite (HeightLines).
71D8 OR C Combine the lines left of the old sprite and the new sprite.
71D9 RET Z Return if there are no lines left in either.
71DA XOR A Write 00 to CurrentSpriteHeight.
71DB LD ($5E25),A
71DE EXX Switch to the shadow registers.
71DF LD A,($5E26) Fetch the number of lines left of the new sprite (HeightLines) and keep it in C.
71E2 LD C,A
71E3 XOR A Set A to 00.
This entry point is used by the routine at DisplayEntity.
ActorUpdateHeightAndMask 71E4 LD ($5E26),A Write the number of lines left of the new sprite to HeightLines.
71E7 EXX Switch to the normal registers.
71E8 JR MaskSprite Jump to MaskSprite.
Prev: 71BC Up: Map Next: 71EA