Prev: 47529 Up: Map Next: 47578
47563: Display Entity Moved Down
Used by the routine at DisplayEntity.
Used by DisplayEntity when the new sprite is lower than the old one. The bottom rows of the new sprite are drawn on their own first.
Input
A Old Y position minus the new Y position (negative)
DisplayEntity_NewLower 47563 EXX Switch to the registers of the new sprite.
47564 NEG Make the difference positive.
47566 LD C,A Copy the number of rows that stand alone to C.
47567 LD A,(38564) Fetch the number of rows of the new sprite from New_Sprite_Row_Count.
47570 CP C Compare it with the number of rows that stand alone.
47571 JP C,XORSpriteLoop_Done Jump to XORSpriteLoop_Done if the new sprite has no more rows than that, so that the sprites do not overlap and are each drawn in full.
47574 SUB C Subtract the number of rows that stand alone.
47575 JP XORSpriteLoop_StoreNew Jump to XORSpriteLoop_StoreNew to store the number of rows that remain and draw those rows of the new sprite on their own.
View the equivalent code in;
Prev: 47529 Up: Map Next: 47578