| Gyruss | Routines |
| Prev: 9934 | Up: Map | Next: 99A0 |
|
Used by the routine at shot_hit_sprite_enemy.
|
||||||||||
| add_points_from_enemy | 9978 | LD A,(other_flags) | Flags | |||||||
| 997B | AND $60 | If bit 5 or 6 set? | ||||||||
| 997D | JR NZ,add_points_in_de | Then just add score | ||||||||
| 997F | LD HL,status_flags | Flags | ||||||||
| 9982 | LD A,(enemies_hit) | Enemies destroyed | ||||||||
| 9985 | INC A | +1 | ||||||||
| 9986 | BIT 3,(HL) | Check for chance stage | ||||||||
| 9988 | JR NZ,add_points_from_enemy_0 | Skip ahead if chance stage | ||||||||
| 998A | LD (enemies_hit),A | Save if not chance stage | ||||||||
| add_points_from_enemy_0 | 998D | ADD A,A | x2 | |||||||
| 998E | LD HL,score_table | Score table | ||||||||
| 9991 | RST $08 | Add A to HL | ||||||||
| 9992 | LD D,(HL) | Get points (hundreds) | ||||||||
| 9993 | INC HL | Next address in table | ||||||||
| 9994 | LD A,(HL) | Get replacement number sprite type ($06 - $0B) | ||||||||
| 9995 | LD (IX+$06),A | Save in sprite data | ||||||||
| 9998 | INC D | 100 more | ||||||||
|
This entry point is used by the routines at shot_hit_sprite_enemy, shot_hit_center_enemy, shot_hit_mine_0 and shot_hit_laser_fence.
|
||||||||||
| add_points_in_de | 9999 | EX DE,HL | HL = points | |||||||
| 999A | CALL add_score | Add score | ||||||||
| 999D | JP handle_collisions_1 | Jump back into collisions loop | ||||||||
| Prev: 9934 | Up: Map | Next: 99A0 |