| Prev: 720E | Up: Map | Next: 7248 |
7224: Handle non-activated object
|
Processes objects that haven't been activated yet. Routes balloons to jp_operate_viewport_slots. For helicopters, the blade animation requires both renderers to alternate every tick: on odd ticks calls animate_object (rotor sprite), on even ticks falls through to render_ship_or_helicopter (body sprite). Active helicopters dispatch the opposite way (even → rotor, odd → body via operate_ship_or_helicopter), so the blade animation runs regardless of activation state.
|
||||||||||||
| handle_inactive_object | 7224 | LD A,D | If object is OBJECT_BALLOON, jump to jp_operate_viewport_slots. | |||||||||
| 7225 | CP $06 | |||||||||||
| 7227 | JP Z,jp_operate_viewport_slots | |||||||||||
| 722A | LD A,($5EEF) | Animate on odd ticks only. | ||||||||||
| 722D | AND $01 | |||||||||||
| 722F | CP $01 | |||||||||||
| 7231 | JP Z,animate_object | |||||||||||
| 7234 | LD A,D | If helicopter (REG or ADV), store position and continue to render_ship_or_helicopter. | ||||||||||
| 7235 | AND $07 | |||||||||||
| 7237 | CP $01 | |||||||||||
| 7239 | JP Z,store_and_continue_ship | |||||||||||
| 723C | CP $03 | |||||||||||
| 723E | JP NZ,operate_viewport_slots | Not a helicopter: return to main loop. | ||||||||||
| store_and_continue_ship | 7241 | LD ($8B0A),BC | Helicopters store position and jump to render_ship_or_helicopter. | |||||||||
| 7245 | JP render_ship_or_helicopter | |||||||||||
| Prev: 720E | Up: Map | Next: 7248 |