| Prev: 6124 | Up: Map | Next: 615E |
6136: Collision detection dispatcher
|
Central collision handler called during sprite rendering (via jp_collision_dispatcher) when pixel overlap is detected. Saves registers, reads collision mode from state_collision_mode, and dispatches to the appropriate handler.
|
||||||||||||||||||||||
| collision_dispatcher | 6136 | POP HL | Save registers: return address to collision_saved_hl, DE to collision_saved_de, BC to collision_saved_bc. | |||||||||||||||||||
| 6137 | LD ($5F85),HL | |||||||||||||||||||||
| 613A | LD ($5F87),DE | |||||||||||||||||||||
| 613E | LD ($5F89),BC | |||||||||||||||||||||
| 6142 | LD A,($5EF5) | Load collision mode and dispatch to handler (see table above). | ||||||||||||||||||||
| 6145 | CP $00 | |||||||||||||||||||||
| 6147 | JP Z,handle_collision_mode_none | |||||||||||||||||||||
| 614A | CP $01 | |||||||||||||||||||||
| 614C | JP Z,handle_collision_mode_fuel_depot | |||||||||||||||||||||
| 614F | CP $02 | |||||||||||||||||||||
| 6151 | JP Z,check_collision | |||||||||||||||||||||
| 6154 | CP $03 | |||||||||||||||||||||
| 6156 | JP Z,handle_collision_mode_fighter | |||||||||||||||||||||
| 6159 | CP $04 | |||||||||||||||||||||
| 615B | JP Z,handle_collision_mode_helicopter_missile | |||||||||||||||||||||
| Prev: 6124 | Up: Map | Next: 615E |