![]() |
Routines |
| Prev: 51906 | Up: Map | Next: 51946 |
|
Type 2: a bullet fired by the sheriff in the town. It moves twice, checking the walls each time. If it hits a wall it becomes type 7.
|
||||||||
|
Move the bullet in two steps.
|
||||||||
| HandleBullet | 51910 | LD A,(IX+5) | Fetch the speed. | |||||
| 51913 | CALL SetSpeedsFromHeading | Call SetSpeedsFromHeading. | ||||||
| 51916 | CALL TestMove | Call TestMove. | ||||||
| 51919 | CALL MoveObject | Call MoveObject. | ||||||
| 51922 | CALL CheckWalls | Call CheckWalls. | ||||||
| 51925 | CALL MoveObject | Call MoveObject. | ||||||
|
Turn into smoke if it has hit a wall.
|
||||||||
| 51928 | RES 1,(IX+7) | Clear bit 1 of the flags. | ||||||
| 51932 | BIT 0,(IX+7) | Return if it has not hit a wall. | ||||||
| 51936 | RET Z | |||||||
| 51937 | LD (IX+0),7 | Turn the object into type 7. | ||||||
| 51941 | LD (IX+12),2 | Set the counter to 2 and return. | ||||||
| 51945 | RET | |||||||
| Prev: 51906 | Up: Map | Next: 51946 |