Prev: 47834 Up: Map Next: 47883
47837: Handle Shot Outlaw
Type 17: an outlaw who has been hit. For six frames he is drawn with the two body sprites at DyingOutlawSprites_Shot and then he starts to die.
HandleShotOutlaw 47837 INC (IX+12) Move on to the next frame.
47840 LD A,(IX+12) Fetch the frame.
47843 CP 6 Jump to HandleShotOutlaw_Die if the six frames are over.
47845 JR Z,HandleShotOutlaw_Die
47847 LD A,(IX+2) Fetch the horizontal position of the outlaw and keep it in L.
47850 LD L,A
47851 LD (41504),A Store it as the horizontal pixel position for the sprites.
47854 LD H,(IX+4) Fetch the vertical position of the outlaw into H.
47857 CALL CalculateBufferAddress Find the address in the buffer.
47860 LD DE,48072 Point DE at DyingOutlawSprites_Shot.
47863 LD B,2 Set the number of sprites to two.
47865 CALL DrawWideSprites Draw the body into the buffer.
47868 LD BC,65416 Five buffer rows up is one hundred and twenty bytes.
47871 ADD HL,BC Move the address up five rows of the buffer.
47872 JP DrawOutlawFace Jump to DrawOutlawFace.
Start the outlaw dying.
HandleShotOutlaw_Die 47875 LD (IX+0),18 Turn the outlaw into a dying outlaw.
47879 LD (IX+12),0 Start at the first frame of dying.
Continue on to HandleDyingOutlaw.
Prev: 47834 Up: Map Next: 47883