Prev: 34310 Up: Map Next: 34356
34324: Prepare Sprite Write
Shift the next graphic pair of the new sprite and XOR it onto the screen, moving up one pixel. 34351 positions the actor and then continues at PositionAndDrawSprite_ClearWidth.
Input
DE Graphic pointer
Shift the next graphic pair into place and XOR it onto the screen.
PrepareSpriteWrite 34324 EX DE,HL Load the next graphic pair from DE.
34325 PUSH DE
34326 LD D,(HL)
34327 INC HL
34328 LD E,(HL)
34329 INC HL
34330 EX DE,HL
34331 XOR A
PrepareSpriteWrite_ShiftPair 34332 JR PrepareSpriteWrite_ShiftPair Self-modifying shift. The operand is written by PositionSprite_StoreShift.
34334 ADD HL,HL Rotate the pair into pixel alignment.
34335 ADC A,A
34336 ADD HL,HL
34337 ADC A,A
34338 ADD HL,HL
34339 ADC A,A
34340 ADD HL,HL
34341 ADC A,A
34342 ADD HL,HL
34343 ADC A,A
34344 ADD HL,HL
34345 ADC A,A
34346 ADD HL,HL
34347 ADC A,A
34348 EX DE,HL Switch the pair back and jump to ShiftOldSpritePair_XOR.
34349 JR ShiftOldSpritePair_XOR
34351 CALL PositionSprite_Apply Apply the actor position, then continue at PositionAndDrawSprite_ClearWidth.
34354 JR PositionAndDrawSprite_ClearWidth
Prev: 34310 Up: Map Next: 34356