void update_kiowa_lamp_avionics (void) { entity *en; en = get_gunship_entity (); update_master_caution (); //////////////////////////////////////// kiowa_lamps.engine_ignition = !get_dynamics_damage_type (DYNAMICS_DAMAGE_LEFT_ENGINE) && current_flight_dynamics->left_engine_rpm.value > 0.01; kiowa_lamps.apu_ignition = current_flight_dynamics->apu_rpm.value > 0.01; kiowa_lamps.engine_fire = get_dynamics_damage_type (DYNAMICS_DAMAGE_LEFT_ENGINE_FIRE); kiowa_lamps.apu_fire = 0; kiowa_lamps.engine_fire_extinguiser = fire_extinguisher_used; kiowa_lamps.hydraulic_pressure = get_dynamics_damage_type (DYNAMICS_DAMAGE_LOW_HYDRAULICS); kiowa_lamps.oil_pressure = get_dynamics_damage_type (DYNAMICS_DAMAGE_LOW_OIL_PRESSURE) || get_dynamics_damage_type (DYNAMICS_DAMAGE_HIGH_OIL_PRESSURE); kiowa_lamps.oil_temperature = 0; kiowa_lamps.overtorque = get_current_flight_dynamics_overtorque (); kiowa_lamps.rotor_rpm = get_current_flight_dynamics_low_rotor_rpm (); kiowa_lamps.fuel_low = current_flight_dynamics->fuel_weight.value < (current_flight_dynamics->fuel_weight.max * 0.25); kiowa_lamps.rotor_brake = get_current_flight_dynamics_rotor_brake (); kiowa_lamps.navigation_lights = get_local_entity_int_value (en, INT_TYPE_LIGHTS_ON); kiowa_lamps.hover_hold = get_current_flight_dynamics_auto_hover (); kiowa_lamps.altitude_hold = get_current_flight_dynamics_altitude_lock (); kiowa_lamps.auto_pilot = get_current_flight_dynamics_auto_pilot (); kiowa_lamps.laser = get_local_entity_int_value (en, INT_TYPE_LASER_ON); kiowa_lamps.ir_jammer = get_local_entity_int_value (en, INT_TYPE_INFRA_RED_JAMMER_ON); kiowa_lamps.auto_counter_measures = get_global_auto_counter_measures (); kiowa_lamps.ase_auto_page = get_global_ase_auto_page (); kiowa_lamps.co_pilot_main_mfd_focus = get_kiowa_main_mfd_has_focus (KIOWA_MAIN_MFD_LOCATION_CO_PILOT); kiowa_lamps.pilot_main_mfd_focus = get_kiowa_main_mfd_has_focus (KIOWA_MAIN_MFD_LOCATION_PILOT); }
static void update_oil_gauges (void) { // // pressure // if (get_dynamics_damage_type (DYNAMICS_DAMAGE_LOW_OIL_PRESSURE)) { hind_lamps.lh_engine_oil_pressure_normal = 0; hind_lamps.rh_engine_oil_pressure_normal = 0; hind_lamps.lh_engine_oil_pressure_low = 1; hind_lamps.rh_engine_oil_pressure_low = 1; } else { hind_lamps.lh_engine_oil_pressure_normal = 1; hind_lamps.rh_engine_oil_pressure_normal = 1; hind_lamps.lh_engine_oil_pressure_low = 0; hind_lamps.rh_engine_oil_pressure_low = 0; } // // temperature // hind_lamps.lh_engine_oil_temperature_normal = 1; hind_lamps.rh_engine_oil_temperature_normal = 1; hind_lamps.lh_engine_oil_temperature_high = 0; hind_lamps.rh_engine_oil_temperature_high = 0; }
int award_purple_heart_medal (int side) { player_log_type *player; int *medals, damage; ASSERT ((side >= 0) && (side <= NUM_ENTITY_SIDES)); player = get_current_player_log (); medals = player->side_log[side].medals; // get helicopter damage damage = get_dynamics_damage_type (DYNAMICS_DAMAGE_MAIN_ROTOR | DYNAMICS_DAMAGE_TAIL_ROTOR | DYNAMICS_DAMAGE_LEFT_ENGINE | DYNAMICS_DAMAGE_RIGHT_ENGINE | DYNAMICS_DAMAGE_LEFT_ENGINE_FIRE | DYNAMICS_DAMAGE_RIGHT_ENGINE_FIRE | DYNAMICS_DAMAGE_LOW_HYDRAULICS | DYNAMICS_DAMAGE_LOW_OIL_PRESSURE | DYNAMICS_DAMAGE_HIGH_OIL_PRESSURE | DYNAMICS_DAMAGE_STABILISER); if ((get_gunship_entity ()) && (get_local_entity_int_value (get_gunship_entity (), INT_TYPE_ALIVE))) { if (damage) { medals [MEDAL_PURPLE_HEART] += 1; #if DEBUG_MODULE debug_filtered_log ("Awarded Purple Heart Medal"); #endif return MEDAL_PURPLE_HEART; } } #if DEBUG_MODULE debug_filtered_log ("Purple Heart Medal Not Awarded"); #endif return MEDAL_TYPE_NONE; }
static void update_warning_panel_lamps (void) { entity *en; en = get_gunship_entity (); hind_lamps.warning_1 = get_dynamics_damage_type (DYNAMICS_DAMAGE_LEFT_ENGINE_FIRE); hind_lamps.warning_2 = get_dynamics_damage_type (DYNAMICS_DAMAGE_RIGHT_ENGINE_FIRE); hind_lamps.warning_3 = get_current_flight_dynamics_overtorque (); hind_lamps.warning_4 = get_local_entity_int_value (en, INT_TYPE_RADAR_ON); hind_lamps.warning_5 = get_current_flight_dynamics_auto_pilot (); hind_lamps.warning_6 = get_current_flight_dynamics_auto_hover (); hind_lamps.warning_7 = get_local_entity_int_value (en, INT_TYPE_RADAR_JAMMER_ON); hind_lamps.warning_8 = get_local_entity_int_value (en, INT_TYPE_INFRA_RED_JAMMER_ON); }
static void update_engine_fire_lamps (void) { blackhawk_lamps.engine_1_fire = get_dynamics_damage_type (DYNAMICS_DAMAGE_LEFT_ENGINE_FIRE); blackhawk_lamps.engine_2_fire = get_dynamics_damage_type (DYNAMICS_DAMAGE_RIGHT_ENGINE_FIRE); }
void update_hokum_lamp_avionics (void) { entity *en; int gear_state; en = get_gunship_entity (); update_master_caution (); //////////////////////////////////////// gear_state = get_local_entity_undercarriage_state (en); gear_transition_timer -= get_delta_time (); if (gear_transition_timer <= 0.0) { gear_transition_state ^= 1; gear_transition_timer = GEAR_TRANSITION_FLASH_RATE; } //////////////////////////////////////// hokum_lamps.left_engine_fire = get_dynamics_damage_type (DYNAMICS_DAMAGE_LEFT_ENGINE_FIRE); hokum_lamps.apu_fire = 0; hokum_lamps.right_engine_fire = get_dynamics_damage_type (DYNAMICS_DAMAGE_RIGHT_ENGINE_FIRE); hokum_lamps.fire_extinguiser = fire_extinguisher_used; hokum_lamps.hydraulic_pressure = get_dynamics_damage_type (DYNAMICS_DAMAGE_LOW_HYDRAULICS); hokum_lamps.oil_pressure = get_dynamics_damage_type (DYNAMICS_DAMAGE_LOW_OIL_PRESSURE) || get_dynamics_damage_type (DYNAMICS_DAMAGE_HIGH_OIL_PRESSURE); hokum_lamps.oil_temperature = 0; hokum_lamps.overtorque = get_current_flight_dynamics_overtorque (); hokum_lamps.rotor_rpm = get_current_flight_dynamics_low_rotor_rpm (); hokum_lamps.fuel_low = current_flight_dynamics->fuel_weight.value < (current_flight_dynamics->fuel_weight.max * 0.25); hokum_lamps.rotor_brake = get_current_flight_dynamics_rotor_brake (); hokum_lamps.wheel_brake = get_current_flight_dynamics_wheel_brake (); hokum_lamps.navigation_lights = get_local_entity_int_value (en, INT_TYPE_LIGHTS_ON); hokum_lamps.hover_hold = get_current_flight_dynamics_auto_hover (); hokum_lamps.altitude_hold = get_current_flight_dynamics_altitude_lock (); hokum_lamps.auto_pilot = get_current_flight_dynamics_auto_pilot (); hokum_lamps.radar = get_local_entity_int_value (en, INT_TYPE_RADAR_ON); hokum_lamps.laser = get_local_entity_int_value (en, INT_TYPE_LASER_ON); hokum_lamps.radar_jammer = get_local_entity_int_value (en, INT_TYPE_RADAR_JAMMER_ON); hokum_lamps.ir_jammer = get_local_entity_int_value (en, INT_TYPE_INFRA_RED_JAMMER_ON); hokum_lamps.auto_counter_measures = get_global_auto_counter_measures (); hokum_lamps.ase_auto_page = get_global_ase_auto_page (); hokum_lamps.gear_damaged = get_dynamics_damage_type (DYNAMICS_DAMAGE_UNDERCARRIAGE); switch (gear_state) { //////////////////////////////////////// case AIRCRAFT_UNDERCARRIAGE_UP: //////////////////////////////////////// { hokum_lamps.gear_status = 1; hokum_lamps.gear_red = 1; break; } //////////////////////////////////////// case AIRCRAFT_UNDERCARRIAGE_LOWERING: //////////////////////////////////////// { hokum_lamps.gear_status = gear_transition_state; hokum_lamps.gear_red = 0; break; } //////////////////////////////////////// case AIRCRAFT_UNDERCARRIAGE_DOWN: //////////////////////////////////////// { hokum_lamps.gear_status = 1; hokum_lamps.gear_red = 0; break; } //////////////////////////////////////// case AIRCRAFT_UNDERCARRIAGE_RAISING: //////////////////////////////////////// { hokum_lamps.gear_status = gear_transition_state; hokum_lamps.gear_red = 1; break; } } hokum_lamps.pilot_lh_mfd_focus = get_hokum_mfd_has_focus (HOKUM_MFD_LOCATION_PILOT_LHS); hokum_lamps.pilot_rh_mfd_focus = get_hokum_mfd_has_focus (HOKUM_MFD_LOCATION_PILOT_RHS); hokum_lamps.co_pilot_lh_mfd_focus = get_hokum_mfd_has_focus (HOKUM_MFD_LOCATION_CO_PILOT_LHS); hokum_lamps.co_pilot_rh_mfd_focus = get_hokum_mfd_has_focus (HOKUM_MFD_LOCATION_CO_PILOT_RHS); }