| Prev: 7358 | Up: Map | Next: 7380 |
735E: Check shell initialization condition
|
Alternative shell initialization when bit 4 is set. Checks if tank can fire based on shell active state and position.
|
||||
| check_shell_init_condition | 735E | LD A,($5EF2) | If TANK_SHELL_ACTIVE, cancel shell via cancel_and_remove_shell. | |
| 7361 | CP $01 | |||
| 7363 | JP Z,cancel_and_remove_shell | |||
| 7366 | PUSH BC | Push BC, check X position sign bit, invert if positive via invert_coordinate_sign. | ||
| 7367 | LD A,C | |||
| 7368 | BIT 7,A | |||
| 736A | CALL Z,invert_coordinate_sign | |||
| 736D | RES 7,A | |||
| 736F | SRL A | |||
| 7371 | SRL A | |||
| 7373 | SRL A | Shift right 4 times to get upper nibble. | ||
| 7375 | SRL A | |||
| 7377 | LD B,A | |||
| 7378 | LD A,D | |||
| 7379 | AND $40 | |||
| 737B | ADD A,B | Combine with orientation, pop BC, continue to fire shell. | ||
| 737C | POP BC | |||
| 737D | JP tank_fire_shell_entry | |||
| Prev: 7358 | Up: Map | Next: 7380 |