Originally Posted by thealx
Default Havoc functions calculates which lamps should be active, their states saved in the "havoc_lamps" so you don't need to change anything here. Previously this data was used for drawing, but it will work fine for texture animation, sub-objects manipulation and any other goals.
So flags still updating at the background even if lamps not appear in the cockpit, only thing required is use this data - you can see new function was added "update_threat_warning_lights", here these flags checking and related lamps appear or disappear in the scene:

rwr_above_light->visible_object = havoc_lamps.threat_warning_missile_above;

Rotor brake, and other avionics states, stored in another place - current_flight_dynamics. but in the Havoc's "update_status_panel_lamps" function you can see existing string:

havoc_lamps.status_16 = get_current_flight_dynamics_rotor_brake ();

So to get rotor brake state, you can use "havoc_lamps.status_16", or "get_current_flight_dynamics_rotor_brake ()", or "current_flight_dynamics->rotor_brake". First one is preferable as you can control it if necessary - disable all lamps if electricity power is turned off, for example.

I wish I'd looked in ha_avlmp to start with. It makes much more sense. I was looking in ha_lamps, which I suppose must be old and unused now?