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.
Mode Handler Description
COLLISION_MODE_NONE ($00) handle_collision_mode_none Rendering only
COLLISION_MODE_FUEL_DEPOT ($01) handle_collision_mode_fuel_depot Fuel depot refuel
COLLISION_MODE_MISSILE ($02) check_collision Missile hit
COLLISION_MODE_FIGHTER ($03) handle_collision_mode_fighter Fighter hit
COLLISION_MODE_HELICOPTER_MISSILE ($04) handle_collision_mode_helicopter_missile Enemy missile
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