Merge branch 'master' of git://gitorious.org/fg/fgdata
51
Nasal/casdisable.nas
Normal file
|
@ -0,0 +1,51 @@
|
|||
#disable cas when engines running- otherwise we are overflooded with error messages in the console
|
||||
call_casdisable = func {
|
||||
|
||||
if ( getprop("/rotors/main/rpm")> 80.0)
|
||||
|
||||
|
||||
|
||||
{
|
||||
|
||||
setprop("/controls/flight/fcs/cas-enabled", 0);
|
||||
|
||||
} else {
|
||||
|
||||
setprop("/controls/flight/fcs/cas-enabled", 1.0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#if (RUN2 ==1) {
|
||||
|
||||
# setprop("/controls/flight/fcs/cas-enabled", 0);
|
||||
|
||||
# } else {
|
||||
|
||||
# setprop("/controls/flight/fcs/cas-enabled", 1.0);
|
||||
|
||||
|
||||
# }
|
||||
|
||||
|
||||
settimer(call_casdisable, 0.2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
init = func {
|
||||
|
||||
settimer(call_casdisable, 0.0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
init();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
571
Nasal/fcs.nas
Normal file
|
@ -0,0 +1,571 @@
|
|||
#
|
||||
# Flight Control System by Tatsuhiro Nishioka
|
||||
# $Id: fcs.nas,v 1.11 2008/08/28 02:41:04 tat Exp $
|
||||
#
|
||||
#This one simulates a jaw SAS
|
||||
|
||||
var FCSFilter = {
|
||||
new : func(input_path, output_path) {
|
||||
var obj = { parents : [FCSFilter],
|
||||
input_path : input_path,
|
||||
output_path : output_path };
|
||||
obj.axis_conv = {'roll' : 'aileron', 'pitch' : 'elevator', 'yaw' : 'rudder' };
|
||||
obj.body_conv = {'roll' : 'v', 'pitch' : 'u' };
|
||||
obj.last_body_fps = {'roll' : 0.0, 'pitch' : 0.0 };
|
||||
obj.last_pos = {'roll' : 0.0, 'pitch' : 0.0, 'yaw' : 0.0};
|
||||
return obj;
|
||||
},
|
||||
|
||||
# read input command for a given axis
|
||||
read : func(axis) {
|
||||
if (me.input_path == nil or me.input_path == "") {
|
||||
return getprop("/controls/flight/" ~ me.axis_conv[axis]);
|
||||
} else {
|
||||
var value = getprop(me.input_path ~ "/" ~ axis);
|
||||
value = int(value * 1000) / 1000.0;
|
||||
}
|
||||
},
|
||||
|
||||
# write output command for a given axis
|
||||
# this will be the output of an next command filter (like SAS)
|
||||
write : func(axis, value) {
|
||||
if (me.output_path == nil or me.output_path == '') {
|
||||
setprop("/controls/flight/fcs/" ~ axis, me.limit(value, 1.0));
|
||||
} else {
|
||||
setprop(me.output_path ~ "/" ~ axis, me.limit(value, 1.0));
|
||||
}
|
||||
},
|
||||
|
||||
toggleFilterStatus : func(name) {
|
||||
var messages = ["disengaged", "engaged"];
|
||||
var path = "/controls/flight/fcs/" ~ name ~ "-enabled";
|
||||
var status = getprop(path);
|
||||
setprop(path, 1 - status);
|
||||
screen.log.write(name ~ " " ~ messages[1 - status]);
|
||||
},
|
||||
|
||||
getStatus : func(name) {
|
||||
var path = "/controls/flight/fcs/" ~ name ~ "-enabled";
|
||||
return getprop(path);
|
||||
},
|
||||
|
||||
limit : func(value, range) {
|
||||
if (value > range) {
|
||||
return range;
|
||||
} elsif (value < -range) {
|
||||
return - range;
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
max : func(val1, val2) {
|
||||
return (val1 > val2) ? val1 : val2;
|
||||
},
|
||||
|
||||
min : func(val1, val2) {
|
||||
return (val1 > val2) ? val2 : val1;
|
||||
},
|
||||
|
||||
calcCounterBodyFPS : func(axis, input, offset_deg) {
|
||||
var position = getprop("/orientation/" ~ axis ~ "-deg");
|
||||
var body_fps = 0;
|
||||
var last_body_fps = me.last_body_fps[axis];
|
||||
var reaction_gain = 0;
|
||||
var heading = getprop("/orientation/heading-deg");
|
||||
var wind_speed_fps = getprop("/environment/wind-speed-kt") * 1.6878099;
|
||||
var wind_direction = getprop("/environment/wind-from-heading-deg");
|
||||
var wind_direction -= heading;
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var gear_pos = getprop("/gear/gear[0]/compression-norm") + getprop("/gear/gear[1]/compression-norm");
|
||||
var counter_fps = 0;
|
||||
var fps_axis = me.body_conv[axis]; # convert from {roll, pitch} to {u, v}
|
||||
var target_pos = offset_deg;
|
||||
var brake_deg = 0;
|
||||
|
||||
body_fps = getprop("/velocities/" ~ fps_axis ~ "Body-fps");
|
||||
if (axis == 'roll') {
|
||||
var wind_fps = math.sin(wind_direction / 180 * math.pi) * wind_speed_fps;
|
||||
} else {
|
||||
var wind_fps = math.cos(wind_direction / 180 * math.pi) * wind_speed_fps;
|
||||
}
|
||||
var brake_freq = getprop("/controls/flight/fcs/gains/afcs/fps-" ~ axis ~ "-brake-freq");
|
||||
var brake_gain = getprop("/controls/flight/fcs/gains/afcs/fps-brake-gain-" ~ axis);
|
||||
body_fps -= wind_fps;
|
||||
var dfps = body_fps - me.last_body_fps[axis];
|
||||
var fps_coeff = getprop("/controls/flight/fcs/gains/afcs/fps-" ~ axis ~ "-coeff");
|
||||
target_pos -= int(body_fps * 100) / 100 * fps_coeff;
|
||||
if (axis == 'roll' and gear_pos > 0.0 and position > 0) {
|
||||
target_pos -= position * gear_pos / 5;
|
||||
}
|
||||
reaction_gain = getprop("/controls/flight/fcs/gains/afcs/fps-reaction-gain-" ~ axis);
|
||||
var brake_sensitivity = (axis == 'roll') ? 1 : 1;
|
||||
if (math.abs(position + rate / brake_freq * brake_sensitivity) > math.abs(target_pos)) {
|
||||
if (math.abs(dfps) > 1) {
|
||||
dfps = 1;
|
||||
}
|
||||
var error_deg = target_pos - position;
|
||||
brake_deg = (error_deg - rate / brake_freq) * math.abs(dfps * 10) * brake_gain;
|
||||
if (target_pos > 0) {
|
||||
brake_deg = me.min(brake_deg, 0);
|
||||
} else {
|
||||
brake_deg = me.max(brake_deg, 0);
|
||||
}
|
||||
}
|
||||
counter_fps = me.limit((target_pos + brake_deg) * reaction_gain, 1.0);
|
||||
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ fps_axis ~ "body-fps", body_fps);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ fps_axis ~ "body-wind-fps", wind_fps);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ axis ~ "-target-deg", target_pos);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ axis ~ "-rate", rate);
|
||||
setprop("/controls/flight/fcs/afcs/ah-delta-" ~ fps_axis ~ "body-fps", dfps);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ axis ~ "-brake-deg", brake_deg);
|
||||
|
||||
setprop("/controls/flight/fcs/afcs/counter-fps-" ~ axis, counter_fps);
|
||||
me.last_pos[axis] = position;
|
||||
me.last_body_fps[axis] = body_fps;
|
||||
return me.limit(counter_fps + input * 0.2, 1.0);
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
#
|
||||
# AFCS : Automatic Flight Control System
|
||||
#
|
||||
var AFCS = {
|
||||
new : func(input_path, output_path) {
|
||||
var obj = FCSFilter.new(input_path, output_path);
|
||||
obj.parents = [FCSFilter, AFCS];
|
||||
setprop("/controls/flight/fcs/auto-hover-enabled", 0);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-brake-gain-pitch", 1.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-brake-gain-roll", 0.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-pitch-brake-freq", 3);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-pitch-coeff", -0.95);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-pitch-offset-deg", 0.9);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-reaction-gain-pitch", -0.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-reaction-gain-roll", 0.3436);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-roll-brake-freq", 8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-roll-coeff", 0.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-roll-offset-deg", -0.8);
|
||||
return obj;
|
||||
},
|
||||
|
||||
toggleAutoHover : func() {
|
||||
me.toggleFilterStatus("auto-hover");
|
||||
},
|
||||
|
||||
toggleAirSpeedLock : func() {
|
||||
me.toggleFilterStatus("air-speed-lock");
|
||||
},
|
||||
|
||||
toggleHeadingLock : func() {
|
||||
me.toggleFilterStatus("heading-lock");
|
||||
},
|
||||
|
||||
toggleAltitudeLock : func() {
|
||||
me.toggleFilterStatus("altitude-lock");
|
||||
},
|
||||
|
||||
#
|
||||
# auto hover : locks vBody_fps and uBody_fps regardless of wind speed/direction
|
||||
#
|
||||
autoHover : func(axis, input) {
|
||||
if (axis == 'yaw') {
|
||||
return input;
|
||||
} else {
|
||||
var offset_deg = getprop("/controls/flight/fcs/gains/afcs/fps-" ~ axis ~ "-offset-deg");
|
||||
return me.calcCounterBodyFPS(axis, input, offset_deg);
|
||||
}
|
||||
},
|
||||
|
||||
altitudeLock : func(axis, input) {
|
||||
# not implemented yet
|
||||
return input;
|
||||
},
|
||||
|
||||
headingLock : func(axis, input) {
|
||||
# not implementet yet
|
||||
return input;
|
||||
},
|
||||
|
||||
apply : func(axis) {
|
||||
var input = me.read(axis);
|
||||
var hover_status = me.getStatus("auto-hover");
|
||||
if (hover_status == 0) {
|
||||
me.write(axis, input);
|
||||
return;
|
||||
}
|
||||
me.write(axis, me.autoHover(axis, input));
|
||||
}
|
||||
};
|
||||
|
||||
#
|
||||
# SAS : Stability Augmentation System - a rate damper
|
||||
#
|
||||
var SAS = {
|
||||
#
|
||||
# new
|
||||
# initial_gains: hash of initial gains for rate damping
|
||||
# sensitivities: hash of minimum rates (deg/sec) that enables rate damper
|
||||
# authority_limit: shows how much SAS can take over control
|
||||
# 0 means no stability control, 1.0 means SAS fully takes over pilot control
|
||||
# input_path: is a base path to input axis; nil for using raw input from KB/JS
|
||||
# output_path: is a base path to output axis; nis for using /controls/flight/fcs
|
||||
#
|
||||
# with input_path / output_path, you can connect SAS, CAS, and more control filters
|
||||
#
|
||||
new : func(initial_gains, sensitivities, authority_limit, input_path, output_path) {
|
||||
var obj = FCSFilter.new(input_path, output_path);
|
||||
obj.parents = [FCSFilter, SAS];
|
||||
obj.authority_limit = authority_limit;
|
||||
obj.sensitivities = sensitivities;
|
||||
obj.initial_gains = initial_gains;
|
||||
props.globals.getNode("/controls/flight/fcs/gains/sas", 1).setValues(obj.initial_gains);
|
||||
setprop("/controls/flight/fcs/sas-enabled", 1);
|
||||
return obj;
|
||||
},
|
||||
|
||||
toggleEnable : func() {
|
||||
me.toggleFilterStatus("sas");
|
||||
},
|
||||
|
||||
#
|
||||
# calcGain - get gain for each axis based on air speed and dynamic pressure
|
||||
# axis: one of 'roll', 'pitch', or 'yaw'
|
||||
#
|
||||
calcGain : func(axis) {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var initial_gain = getprop("/controls/flight/fcs/gains/sas/" ~ axis);
|
||||
var gain = initial_gain - 0.1 * mach * mach;
|
||||
if (math.abs(gain) < math.abs(initial_gain) * 0.01 or gain * initial_gain < 0) {
|
||||
gain = initial_gain * 0.01;
|
||||
}
|
||||
return gain;
|
||||
},
|
||||
|
||||
calcAuthorityLimit : func() {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var min_mach = 0.038;
|
||||
var limit = me.authority_limit;
|
||||
if (math.abs(mach < min_mach)) {
|
||||
limit += (min_mach - math.abs(mach)) / min_mach * (1 - me.authority_limit) * 0.95;
|
||||
}
|
||||
setprop("/controls/flight/fcs/gains/sas/authority-limit", limit);
|
||||
return limit;
|
||||
},
|
||||
|
||||
#
|
||||
# apply - apply SAS damper to a given input axis
|
||||
# axis: one of 'roll', 'pitch', or 'yaw'
|
||||
#
|
||||
apply : func(axis) {
|
||||
var status = me.getStatus("sas");
|
||||
var input = me.read(axis);
|
||||
if (status == 0) {
|
||||
me.write(axis, input);
|
||||
return;
|
||||
}
|
||||
var mach = getprop("/velocities/mach");
|
||||
var value = 0;
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var gain = me.calcGain(axis);
|
||||
var limit = me.calcAuthorityLimit();
|
||||
if (math.abs(rate) >= me.sensitivities[axis]) {
|
||||
value = - gain * rate;
|
||||
if (value > limit) {
|
||||
value = limit;
|
||||
} elsif (value < - limit) {
|
||||
value = - limit;
|
||||
}
|
||||
}
|
||||
me.write(axis, value + input);
|
||||
}
|
||||
};
|
||||
|
||||
#
|
||||
# CAS : Control Augmentation System - makes your aircraft more meneuverable
|
||||
#
|
||||
var CAS = {
|
||||
new : func(input_gains, output_gains, sensitivities, input_path, output_path) {
|
||||
var obj = FCSFilter.new(input_path, output_path);
|
||||
obj.parents = [FCSFilter, CAS];
|
||||
obj.sensitivities = sensitivities;
|
||||
obj.input_gains = input_gains;
|
||||
obj.output_gains = output_gains;
|
||||
props.globals.getNode("/controls/flight/fcs/gains/cas/input", 1).setValues(obj.input_gains);
|
||||
props.globals.getNode("/controls/flight/fcs/gains/cas/output", 1).setValues(obj.output_gains);
|
||||
setprop("/autopilot/locks/altitude", '');
|
||||
setprop("/autopilot/locks/heading", '');
|
||||
setprop("/controls/flight/fcs/cas-enabled", 1);
|
||||
return obj;
|
||||
},
|
||||
|
||||
calcRollRateAdjustment : func {
|
||||
var position = getprop("/orientation/roll-deg");
|
||||
return math.abs(math.sin(position / 180 * math.pi)) / 6;
|
||||
},
|
||||
|
||||
calcSideSlipAdjustment : func {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var slip = getprop("/orientation/side-slip-deg");
|
||||
if (mach < 0.015) { # works only if air speed > 10kt
|
||||
slip = 0;
|
||||
}
|
||||
var anti_slip_gain = getprop("/controls/flight/fcs/gains/cas/output/anti-side-slip-gain");
|
||||
var roll_deg = getprop("/orientation/roll-deg");
|
||||
var gain_adjuster = me.min(math.abs(mach) / 0.060, 1) * me.limit(0.2 + math.sqrt(math.abs(roll_deg)/10), 3);
|
||||
anti_slip_gain *= gain_adjuster;
|
||||
setprop("/controls/flight/fcs/cas/anti-side-slip", slip * anti_slip_gain);
|
||||
return slip * anti_slip_gain;
|
||||
},
|
||||
|
||||
# FIXME: command for CAS is just a temporal one
|
||||
calcCommand: func (axis, input) {
|
||||
var output = 0;
|
||||
var mach = getprop("/velocities/mach");
|
||||
var input_gain = me.calcGain(axis);
|
||||
var output_gain = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis);
|
||||
var target_rate = input * input_gain;
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var drate = target_rate - rate;
|
||||
var locks = {'pitch' : getprop("/autopilot/locks/altitude"),
|
||||
'roll' : getprop("/autopilot/locks/heading")};
|
||||
setprop("/controls/flight/fcs/cas/target_" ~ axis ~ "rate", target_rate);
|
||||
setprop("/controls/flight/fcs/cas/delta_" ~ axis, drate);
|
||||
|
||||
if (axis == 'roll' or axis == 'pitch') {
|
||||
if (math.abs(input > 0.7) or locks[axis] != '') {
|
||||
output = drate * output_gain;
|
||||
} else {
|
||||
output = me.calcAttitudeCommand(axis);
|
||||
}
|
||||
if (axis == 'roll' and math.abs(mach) < 0.035) {
|
||||
# FIXME: I don't know if OH-1 has this one
|
||||
output += me.calcCounterBodyFPS(axis, input, -0.8);
|
||||
}
|
||||
} elsif (axis == 'yaw') {
|
||||
output = drate * output_gain + me.calcSideSlipAdjustment();
|
||||
} else {
|
||||
output = drate * output_gain;
|
||||
}
|
||||
return output;
|
||||
},
|
||||
|
||||
toggleEnable : func() {
|
||||
me.toggleFilterStatus("cas");
|
||||
},
|
||||
|
||||
calcAttitudeCommand : func(axis) {
|
||||
var input_gain = getprop("/controls/flight/fcs/gains/cas/input/attitude-" ~ axis);
|
||||
var output_gain = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis);
|
||||
var brake_freq = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis ~ "-brake-freq");
|
||||
var brake_gain = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis ~ "-brake");
|
||||
var trim = getprop("/controls/flight/" ~ me.axis_conv[axis] ~ "-trim");
|
||||
|
||||
var current_deg = getprop("/orientation/" ~ axis ~ "-deg");
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var target_deg = (me.read(axis) + trim) * input_gain;
|
||||
var command_deg = 0;
|
||||
if (target_deg != 0) {
|
||||
command_deg = (0.094 * math.ln(math.abs(target_deg)) + 0.53) * target_deg;
|
||||
}
|
||||
|
||||
var error_deg = command_deg - current_deg;
|
||||
var brake_deg = (error_deg - rate / brake_freq) * math.abs(error_deg) * brake_gain;
|
||||
|
||||
if (command_deg > 0) {
|
||||
brake_deg = me.min(brake_deg, 0);
|
||||
} else {
|
||||
brake_deg = me.max(brake_deg, 0);
|
||||
}
|
||||
|
||||
var monitor_prefix = me.output_path ~ "/" ~ axis;
|
||||
setprop(monitor_prefix ~ "-target_deg", target_deg);
|
||||
setprop(monitor_prefix ~ "-error_deg", error_deg);
|
||||
setprop(monitor_prefix ~ "-brake_deg", brake_deg);
|
||||
setprop(monitor_prefix ~ "-deg", current_deg);
|
||||
setprop(monitor_prefix ~ "-rate", -rate);
|
||||
|
||||
return (error_deg + brake_deg) * output_gain;
|
||||
},
|
||||
|
||||
# FixMe: gain should be calculated using both speed and dynamic pressure
|
||||
calcGain : func(axis) {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var input_gain = getprop("/controls/flight/fcs/gains/cas/input/" ~ axis);
|
||||
var gain = input_gain;
|
||||
if (axis == 'pitch') {
|
||||
gain += 0.1 * mach * mach;
|
||||
} elsif (axis== 'yaw') {
|
||||
gain *= ((1 - mach) * (1 - mach));
|
||||
}
|
||||
if (gain * input_gain < 0.0 ) {
|
||||
gain = 0;
|
||||
}
|
||||
return gain;
|
||||
},
|
||||
|
||||
apply : func(axis) {
|
||||
var input = me.read(axis);
|
||||
var status = me.getStatus("cas");
|
||||
var cas_command = 0;
|
||||
# FIXME : hmm, a bit nasty. CAS should be enabled even with auto-hover....
|
||||
if (status == 0 or (me.getStatus("auto-hover") == 1 and axis != 'yaw')) {
|
||||
me.write(axis, input);
|
||||
return;
|
||||
}
|
||||
cas_command = me.calcCommand(axis, input);
|
||||
me.write(axis, cas_command);
|
||||
}
|
||||
};
|
||||
|
||||
#
|
||||
# Tail hstab, "stabilator," for stabilize the nose
|
||||
#
|
||||
var Stabilator = {
|
||||
new : func() {
|
||||
var obj = { parents : [Stabilator] };
|
||||
setprop("/controls/flight/fcs/gains/stabilator", -1.8);
|
||||
setprop("/controls/flight/fcs/auto-stabilator", 1);
|
||||
# 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160, 170, 180, .....
|
||||
me.gainTable = [-0.9, -0.8, 0.1, -0.5, 0.0, 0.7, 0.8, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.6, 0.4, 0.2, -1.0];
|
||||
return obj;
|
||||
},
|
||||
|
||||
toggleManual : func {
|
||||
var status = getprop("/controls/flight/fcs/auto-stabilator");
|
||||
getprop("/controls/flight/fcs/auto-stabilator", 1 - status);
|
||||
},
|
||||
|
||||
apply : func(delta) {
|
||||
setprop("/controls/flight/fcs/auto-stabilator", 0);
|
||||
var value = getprop("/controls/flight/fcs/stabilator");
|
||||
getprop("/controls/flight/fcs/stabilator", value + delta);
|
||||
},
|
||||
|
||||
calcPosition : func() {
|
||||
var speed = getprop("/velocities/mach") / 0.001497219; # in knot
|
||||
var index = int(math.abs(speed) / 10);
|
||||
if (index >= size(me.gainTable) - 1) {
|
||||
index = size(me.gainTable) - 2;
|
||||
}
|
||||
var mod = math.mod(int(math.abs(speed)), 10);
|
||||
var position = me.gainTable[index] * ((10 - mod) / 10) + me.gainTable[index-1] * (mod) / 10;
|
||||
if (speed < -20) {
|
||||
position = - position;
|
||||
}
|
||||
return position;
|
||||
},
|
||||
|
||||
update : func() {
|
||||
var status = getprop("/controls/flight/fcs/auto-stabilator");
|
||||
if (status == 0) {
|
||||
return;
|
||||
}
|
||||
var gain = getprop("/controls/flight/fcs/gains/stabilator");
|
||||
var mach = getprop("/velocities/mach");
|
||||
var throttle = getprop("/controls/flight/throttle");
|
||||
var stabilator_norm = 0;
|
||||
|
||||
stabilator_norm = me.calcPosition();
|
||||
setprop("/controls/flight/fcs/stabilator", stabilator_norm);
|
||||
}
|
||||
};
|
||||
|
||||
var TailRotorCollective = {
|
||||
new : func(minimum=0.10, maximum=1.0, low_limit=0.00011, high_limit=0.0035) {
|
||||
var obj = FCSFilter.new("/controls/engines/engine[1]", "/controls/flight/fcs/tail-rotor");
|
||||
obj.parents = [FCSFilter, TailRotorCollective];
|
||||
obj.adjuster = 0.0;
|
||||
setprop("/controls/flight/fcs/tail-rotor/src-minimum", minimum);
|
||||
setprop("/controls/flight/fcs/tail-rotor/src-maximum", maximum);
|
||||
setprop("/controls/flight/fcs/tail-rotor/low-limit", low_limit);
|
||||
setprop("/controls/flight/fcs/tail-rotor/high-limit", high_limit);
|
||||
setprop("/controls/flight/fcs/gains/tail-rotor/error-adjuster-gain", -0.5);
|
||||
return obj;
|
||||
},
|
||||
|
||||
update : func() {
|
||||
var throttle = me.read("throttle");
|
||||
var pedal_pos_deg = getprop("/controls/flight/fcs/yaw");
|
||||
var cas_input = cas.read('yaw');
|
||||
var cas_input_gain = cas.calcGain('yaw');
|
||||
var target_rate = cas_input * cas_input_gain;
|
||||
var rate = getprop("/orientation/yaw-rate-degps");
|
||||
var error_rate = getprop("/controls/flight/fcs/cas/delta_yaw");
|
||||
var error_adjuster_gain = getprop("/controls/flight/fcs/gains/tail-rotor/error-adjuster-gain");
|
||||
|
||||
var minimum = getprop("/controls/flight/fcs/tail-rotor/src-minimum");
|
||||
var maximum = getprop("/controls/flight/fcs/tail-rotor/src-maximum");
|
||||
var low_limit = getprop("/controls/flight/fcs/tail-rotor/low-limit");
|
||||
var high_limit = getprop("/controls/flight/fcs/tail-rotor/high-limit");
|
||||
var output = 0;
|
||||
var range = maximum - minimum;
|
||||
|
||||
if (throttle < minimum) {
|
||||
output = low_limit;
|
||||
} elsif (throttle > maximum) {
|
||||
output = high_limit;
|
||||
} else {
|
||||
output = low_limit + (throttle - minimum) / range * (high_limit - low_limit);
|
||||
}
|
||||
|
||||
# CAS driven tail rotor thrust adjuster
|
||||
me.adjuster = error_rate * error_adjuster_gain;
|
||||
me.adjuster = me.limit(me.adjuster, 0.3);
|
||||
output += me.adjuster;
|
||||
|
||||
setprop("/controls/flight/fcs/tail-rotor/error-rate", error_rate);
|
||||
setprop("/controls/flight/fcs/tail-rotor/adjuster", me.adjuster);
|
||||
|
||||
me.write("throttle", output);
|
||||
}
|
||||
};
|
||||
|
||||
var sas = nil;
|
||||
var cas = nil;
|
||||
var afcs = nil;
|
||||
var stabilator = nil;
|
||||
var tail = nil;
|
||||
var count = 0;
|
||||
|
||||
var sensitivities = {'roll' : 0.0, 'pitch' : 0.0, 'yaw' : 1.125 };
|
||||
var sas_initial_gains = {'roll' : 0, 'pitch' : 0, 'yaw' : 0.004 };
|
||||
var cas_input_gains = {'roll' : 30, 'pitch' : -60, 'yaw' : 30,
|
||||
'attitude-roll' : 80, 'attitude-pitch' : -80 };
|
||||
var cas_output_gains = {'roll' : 0.06, 'pitch' : -0.1, 'yaw' : 0.5,
|
||||
'roll-brake-freq' : 10, 'pitch-brake-freq' : 3,
|
||||
'roll-brake' : 0.4, 'pitch-brake' : 6,
|
||||
'anti-side-slip-gain' : -4.5};
|
||||
|
||||
var update = func {
|
||||
count += 1;
|
||||
# AFCS, CAS, and SAS run at 60Hz
|
||||
if (math.mod(count, 2) == 0) {
|
||||
return;
|
||||
}
|
||||
cas.apply('roll');
|
||||
cas.apply('pitch');
|
||||
cas.apply('yaw');
|
||||
|
||||
afcs.apply('roll');
|
||||
afcs.apply('pitch');
|
||||
afcs.apply('yaw');
|
||||
|
||||
sas.apply('roll');
|
||||
sas.apply('pitch');
|
||||
sas.apply('yaw');
|
||||
stabilator.update();
|
||||
tail.update();
|
||||
}
|
||||
|
||||
var initialize = func {
|
||||
cas = CAS.new(cas_input_gains, cas_output_gains, sensitivities, nil, "/controls/flight/fcs/cas");
|
||||
afcs = AFCS.new("/controls/flight/fcs/cas", "/controls/flight/fcs/afcs");
|
||||
sas = SAS.new(sas_initial_gains, sensitivities, 3, "/controls/flight/fcs/afcs", "/controls/flight/fcs");
|
||||
stabilator = Stabilator.new();
|
||||
tail = TailRotorCollective.new();
|
||||
setlistener("/rotors/main/cone-deg", update);
|
||||
}
|
||||
|
||||
_setlistener("/sim/signals/fdm-initialized", initialize);
|
||||
|
570
Nasal/fcs2.nas
Normal file
|
@ -0,0 +1,570 @@
|
|||
#
|
||||
# Flight Control System by Tatsuhiro Nishioka
|
||||
# $Id: fcs.nas,v 1.11 2008/08/28 02:41:04 tat Exp $
|
||||
#
|
||||
#This one simulates a P/R and Jaw SAS
|
||||
|
||||
var FCSFilter = {
|
||||
new : func(input_path, output_path) {
|
||||
var obj = { parents : [FCSFilter],
|
||||
input_path : input_path,
|
||||
output_path : output_path };
|
||||
obj.axis_conv = {'roll' : 'aileron', 'pitch' : 'elevator', 'yaw' : 'rudder' };
|
||||
obj.body_conv = {'roll' : 'v', 'pitch' : 'u' };
|
||||
obj.last_body_fps = {'roll' : 0.0, 'pitch' : 0.0 };
|
||||
obj.last_pos = {'roll' : 0.0, 'pitch' : 0.0, 'yaw' : 0.0};
|
||||
return obj;
|
||||
},
|
||||
|
||||
# read input command for a given axis
|
||||
read : func(axis) {
|
||||
if (me.input_path == nil or me.input_path == "") {
|
||||
return getprop("/controls/flight/" ~ me.axis_conv[axis]);
|
||||
} else {
|
||||
var value = getprop(me.input_path ~ "/" ~ axis);
|
||||
value = int(value * 1000) / 1000.0;
|
||||
}
|
||||
},
|
||||
|
||||
# write output command for a given axis
|
||||
# this will be the output of an next command filter (like SAS)
|
||||
write : func(axis, value) {
|
||||
if (me.output_path == nil or me.output_path == '') {
|
||||
setprop("/controls/flight/fcs/" ~ axis, me.limit(value, 1.0));
|
||||
} else {
|
||||
setprop(me.output_path ~ "/" ~ axis, me.limit(value, 1.0));
|
||||
}
|
||||
},
|
||||
|
||||
toggleFilterStatus : func(name) {
|
||||
var messages = ["disengaged", "engaged"];
|
||||
var path = "/controls/flight/fcs/" ~ name ~ "-enabled";
|
||||
var status = getprop(path);
|
||||
setprop(path, 1 - status);
|
||||
#screen.log.write(name ~ " " ~ messages[1 - status]);
|
||||
},
|
||||
|
||||
getStatus : func(name) {
|
||||
var path = "/controls/flight/fcs/" ~ name ~ "-enabled";
|
||||
return getprop(path);
|
||||
},
|
||||
|
||||
limit : func(value, range) {
|
||||
if (value > range) {
|
||||
return range;
|
||||
} elsif (value < -range) {
|
||||
return - range;
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
max : func(val1, val2) {
|
||||
return (val1 > val2) ? val1 : val2;
|
||||
},
|
||||
|
||||
min : func(val1, val2) {
|
||||
return (val1 > val2) ? val2 : val1;
|
||||
},
|
||||
|
||||
calcCounterBodyFPS : func(axis, input, offset_deg) {
|
||||
var position = getprop("/orientation/" ~ axis ~ "-deg");
|
||||
var body_fps = 0;
|
||||
var last_body_fps = me.last_body_fps[axis];
|
||||
var reaction_gain = 0;
|
||||
var heading = getprop("/orientation/heading-deg");
|
||||
var wind_speed_fps = getprop("/environment/wind-speed-kt") * 1.6878099;
|
||||
var wind_direction = getprop("/environment/wind-from-heading-deg");
|
||||
var wind_direction -= heading;
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var gear_pos = getprop("/gear/gear[0]/compression-norm") + getprop("/gear/gear[1]/compression-norm");
|
||||
var counter_fps = 0;
|
||||
var fps_axis = me.body_conv[axis]; # convert from {roll, pitch} to {u, v}
|
||||
var target_pos = offset_deg;
|
||||
var brake_deg = 0;
|
||||
|
||||
body_fps = getprop("/velocities/" ~ fps_axis ~ "Body-fps");
|
||||
if (axis == 'roll') {
|
||||
var wind_fps = math.sin(wind_direction / 180 * math.pi) * wind_speed_fps;
|
||||
} else {
|
||||
var wind_fps = math.cos(wind_direction / 180 * math.pi) * wind_speed_fps;
|
||||
}
|
||||
var brake_freq = getprop("/controls/flight/fcs/gains/afcs/fps-" ~ axis ~ "-brake-freq");
|
||||
var brake_gain = getprop("/controls/flight/fcs/gains/afcs/fps-brake-gain-" ~ axis);
|
||||
body_fps -= wind_fps;
|
||||
var dfps = body_fps - me.last_body_fps[axis];
|
||||
var fps_coeff = getprop("/controls/flight/fcs/gains/afcs/fps-" ~ axis ~ "-coeff");
|
||||
target_pos -= int(body_fps * 100) / 100 * fps_coeff;
|
||||
if (axis == 'roll' and gear_pos > 0.0 and position > 0) {
|
||||
target_pos -= position * gear_pos / 5;
|
||||
}
|
||||
reaction_gain = getprop("/controls/flight/fcs/gains/afcs/fps-reaction-gain-" ~ axis);
|
||||
var brake_sensitivity = (axis == 'roll') ? 1 : 1;
|
||||
if (math.abs(position + rate / brake_freq * brake_sensitivity) > math.abs(target_pos)) {
|
||||
if (math.abs(dfps) > 1) {
|
||||
dfps = 1;
|
||||
}
|
||||
var error_deg = target_pos - position;
|
||||
brake_deg = (error_deg - rate / brake_freq) * math.abs(dfps * 10) * brake_gain;
|
||||
if (target_pos > 0) {
|
||||
brake_deg = me.min(brake_deg, 0);
|
||||
} else {
|
||||
brake_deg = me.max(brake_deg, 0);
|
||||
}
|
||||
}
|
||||
counter_fps = me.limit((target_pos + brake_deg) * reaction_gain, 1.0);
|
||||
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ fps_axis ~ "body-fps", body_fps);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ fps_axis ~ "body-wind-fps", wind_fps);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ axis ~ "-target-deg", target_pos);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ axis ~ "-rate", rate);
|
||||
setprop("/controls/flight/fcs/afcs/ah-delta-" ~ fps_axis ~ "body-fps", dfps);
|
||||
setprop("/controls/flight/fcs/afcs/ah-" ~ axis ~ "-brake-deg", brake_deg);
|
||||
|
||||
setprop("/controls/flight/fcs/afcs/counter-fps-" ~ axis, counter_fps);
|
||||
me.last_pos[axis] = position;
|
||||
me.last_body_fps[axis] = body_fps;
|
||||
return me.limit(counter_fps + input * 0.2, 1.0);
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
#
|
||||
# AFCS : Automatic Flight Control System
|
||||
#
|
||||
var AFCS = {
|
||||
new : func(input_path, output_path) {
|
||||
var obj = FCSFilter.new(input_path, output_path);
|
||||
obj.parents = [FCSFilter, AFCS];
|
||||
setprop("/controls/flight/fcs/auto-hover-enabled", 0);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-brake-gain-pitch", 1.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-brake-gain-roll", 0.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-pitch-brake-freq", 3);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-pitch-coeff", -0.95);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-pitch-offset-deg", 0.9);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-reaction-gain-pitch", -0.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-reaction-gain-roll", 0.3436);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-roll-brake-freq", 8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-roll-coeff", 0.8);
|
||||
setprop("/controls/flight/fcs/gains/afcs/fps-roll-offset-deg", -0.8);
|
||||
return obj;
|
||||
},
|
||||
|
||||
toggleAutoHover : func() {
|
||||
me.toggleFilterStatus("auto-hover");
|
||||
},
|
||||
|
||||
toggleAirSpeedLock : func() {
|
||||
me.toggleFilterStatus("air-speed-lock");
|
||||
},
|
||||
|
||||
toggleHeadingLock : func() {
|
||||
me.toggleFilterStatus("heading-lock");
|
||||
},
|
||||
|
||||
toggleAltitudeLock : func() {
|
||||
me.toggleFilterStatus("altitude-lock");
|
||||
},
|
||||
|
||||
#
|
||||
# auto hover : locks vBody_fps and uBody_fps regardless of wind speed/direction
|
||||
#
|
||||
autoHover : func(axis, input) {
|
||||
if (axis == 'yaw') {
|
||||
return input;
|
||||
} else {
|
||||
var offset_deg = getprop("/controls/flight/fcs/gains/afcs/fps-" ~ axis ~ "-offset-deg");
|
||||
return me.calcCounterBodyFPS(axis, input, offset_deg);
|
||||
}
|
||||
},
|
||||
|
||||
altitudeLock : func(axis, input) {
|
||||
# not implemented yet
|
||||
return input;
|
||||
},
|
||||
|
||||
headingLock : func(axis, input) {
|
||||
# not implementet yet
|
||||
return input;
|
||||
},
|
||||
|
||||
apply : func(axis) {
|
||||
var input = me.read(axis);
|
||||
var hover_status = me.getStatus("auto-hover");
|
||||
if (hover_status == 0) {
|
||||
me.write(axis, input);
|
||||
return;
|
||||
}
|
||||
me.write(axis, me.autoHover(axis, input));
|
||||
}
|
||||
};
|
||||
|
||||
#
|
||||
# SAS : Stability Augmentation System - a rate damper
|
||||
#
|
||||
var SAS = {
|
||||
#
|
||||
# new
|
||||
# initial_gains: hash of initial gains for rate damping
|
||||
# sensitivities: hash of minimum rates (deg/sec) that enables rate damper
|
||||
# authority_limit: shows how much SAS can take over control
|
||||
# 0 means no stability control, 1.0 means SAS fully takes over pilot control
|
||||
# input_path: is a base path to input axis; nil for using raw input from KB/JS
|
||||
# output_path: is a base path to output axis; nis for using /controls/flight/fcs
|
||||
#
|
||||
# with input_path / output_path, you can connect SAS, CAS, and more control filters
|
||||
#
|
||||
new : func(initial_gains, sensitivities, authority_limit, input_path, output_path) {
|
||||
var obj = FCSFilter.new(input_path, output_path);
|
||||
obj.parents = [FCSFilter, SAS];
|
||||
obj.authority_limit = authority_limit;
|
||||
obj.sensitivities = sensitivities;
|
||||
obj.initial_gains = initial_gains;
|
||||
props.globals.getNode("/controls/flight/fcs/gains/sas", 1).setValues(obj.initial_gains);
|
||||
setprop("/controls/flight/fcs/sas-enabled", 1);
|
||||
return obj;
|
||||
},
|
||||
|
||||
toggleEnable : func() {
|
||||
me.toggleFilterStatus("sas");
|
||||
},
|
||||
|
||||
#
|
||||
# calcGain - get gain for each axis based on air speed and dynamic pressure
|
||||
# axis: one of 'roll', 'pitch', or 'yaw'
|
||||
#
|
||||
calcGain : func(axis) {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var initial_gain = getprop("/controls/flight/fcs/gains/sas/" ~ axis);
|
||||
var gain = initial_gain - 0.1 * mach * mach;
|
||||
if (math.abs(gain) < math.abs(initial_gain) * 0.01 or gain * initial_gain < 0) {
|
||||
gain = initial_gain * 0.01;
|
||||
}
|
||||
return gain;
|
||||
},
|
||||
|
||||
calcAuthorityLimit : func() {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var min_mach = 0.038;
|
||||
var limit = me.authority_limit;
|
||||
if (math.abs(mach < min_mach)) {
|
||||
limit += (min_mach - math.abs(mach)) / min_mach * (1 - me.authority_limit) * 0.95;
|
||||
}
|
||||
setprop("/controls/flight/fcs/gains/sas/authority-limit", limit);
|
||||
return limit;
|
||||
},
|
||||
|
||||
#
|
||||
# apply - apply SAS damper to a given input axis
|
||||
# axis: one of 'roll', 'pitch', or 'yaw'
|
||||
#
|
||||
apply : func(axis) {
|
||||
var status = me.getStatus("sas");
|
||||
var input = me.read(axis);
|
||||
if (status == 0) {
|
||||
me.write(axis, input);
|
||||
return;
|
||||
}
|
||||
var mach = getprop("/velocities/mach");
|
||||
var value = 0;
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var gain = me.calcGain(axis);
|
||||
var limit = me.calcAuthorityLimit();
|
||||
if (math.abs(rate) >= me.sensitivities[axis]) {
|
||||
value = - gain * rate;
|
||||
if (value > limit) {
|
||||
value = limit;
|
||||
} elsif (value < - limit) {
|
||||
value = - limit;
|
||||
}
|
||||
}
|
||||
me.write(axis, value + input);
|
||||
}
|
||||
};
|
||||
|
||||
#
|
||||
# CAS : Control Augmentation System - makes your aircraft more meneuverable
|
||||
#
|
||||
var CAS = {
|
||||
new : func(input_gains, output_gains, sensitivities, input_path, output_path) {
|
||||
var obj = FCSFilter.new(input_path, output_path);
|
||||
obj.parents = [FCSFilter, CAS];
|
||||
obj.sensitivities = sensitivities;
|
||||
obj.input_gains = input_gains;
|
||||
obj.output_gains = output_gains;
|
||||
props.globals.getNode("/controls/flight/fcs/gains/cas/input", 1).setValues(obj.input_gains);
|
||||
props.globals.getNode("/controls/flight/fcs/gains/cas/output", 1).setValues(obj.output_gains);
|
||||
setprop("/autopilot/locks/altitude", '');
|
||||
setprop("/autopilot/locks/heading", '');
|
||||
setprop("/controls/flight/fcs/cas-enabled", 1);
|
||||
return obj;
|
||||
},
|
||||
|
||||
calcRollRateAdjustment : func {
|
||||
var position = getprop("/orientation/roll-deg");
|
||||
return math.abs(math.sin(position / 180 * math.pi)) / 6;
|
||||
},
|
||||
|
||||
calcSideSlipAdjustment : func {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var slip = getprop("/orientation/side-slip-deg");
|
||||
if (mach < 0.015) { # works only if air speed > 10kt
|
||||
slip = 0;
|
||||
}
|
||||
var anti_slip_gain = getprop("/controls/flight/fcs/gains/cas/output/anti-side-slip-gain");
|
||||
var roll_deg = getprop("/orientation/roll-deg");
|
||||
var gain_adjuster = me.min(math.abs(mach) / 0.060, 1) * me.limit(0.2 + math.sqrt(math.abs(roll_deg)/10), 3);
|
||||
anti_slip_gain *= gain_adjuster;
|
||||
setprop("/controls/flight/fcs/cas/anti-side-slip", slip * anti_slip_gain);
|
||||
return slip * anti_slip_gain;
|
||||
},
|
||||
|
||||
# FIXME: command for CAS is just a temporal one
|
||||
calcCommand: func (axis, input) {
|
||||
var output = 0;
|
||||
var mach = getprop("/velocities/mach");
|
||||
var input_gain = me.calcGain(axis);
|
||||
var output_gain = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis);
|
||||
var target_rate = input * input_gain;
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var drate = target_rate - rate;
|
||||
var locks = {'pitch' : getprop("/autopilot/locks/altitude"),
|
||||
'roll' : getprop("/autopilot/locks/heading")};
|
||||
setprop("/controls/flight/fcs/cas/target_" ~ axis ~ "rate", target_rate);
|
||||
setprop("/controls/flight/fcs/cas/delta_" ~ axis, drate);
|
||||
|
||||
if (axis == 'roll' or axis == 'pitch') {
|
||||
if (math.abs(input > 0.7) or locks[axis] != '') {
|
||||
output = drate * output_gain;
|
||||
} else {
|
||||
output = me.calcAttitudeCommand(axis);
|
||||
}
|
||||
if (axis == 'roll' and math.abs(mach) < 0.035) {
|
||||
# FIXME: I don't know if OH-1 has this one
|
||||
output += me.calcCounterBodyFPS(axis, input, -0.8);
|
||||
}
|
||||
} elsif (axis == 'yaw') {
|
||||
output = drate * output_gain + me.calcSideSlipAdjustment();
|
||||
} else {
|
||||
output = drate * output_gain;
|
||||
}
|
||||
return output;
|
||||
},
|
||||
|
||||
toggleEnable : func() {
|
||||
me.toggleFilterStatus("cas");
|
||||
},
|
||||
|
||||
calcAttitudeCommand : func(axis) {
|
||||
var input_gain = getprop("/controls/flight/fcs/gains/cas/input/attitude-" ~ axis);
|
||||
var output_gain = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis);
|
||||
var brake_freq = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis ~ "-brake-freq");
|
||||
var brake_gain = getprop("/controls/flight/fcs/gains/cas/output/" ~ axis ~ "-brake");
|
||||
var trim = getprop("/controls/flight/" ~ me.axis_conv[axis] ~ "-trim");
|
||||
|
||||
var current_deg = getprop("/orientation/" ~ axis ~ "-deg");
|
||||
var rate = getprop("/orientation/" ~ axis ~ "-rate-degps");
|
||||
var target_deg = (me.read(axis) + trim) * input_gain;
|
||||
var command_deg = 0;
|
||||
if (target_deg != 0) {
|
||||
command_deg = (0.094 * math.ln(math.abs(target_deg)) + 0.53) * target_deg;
|
||||
}
|
||||
|
||||
var error_deg = command_deg - current_deg;
|
||||
var brake_deg = (error_deg - rate / brake_freq) * math.abs(error_deg) * brake_gain;
|
||||
|
||||
if (command_deg > 0) {
|
||||
brake_deg = me.min(brake_deg, 0);
|
||||
} else {
|
||||
brake_deg = me.max(brake_deg, 0);
|
||||
}
|
||||
|
||||
var monitor_prefix = me.output_path ~ "/" ~ axis;
|
||||
setprop(monitor_prefix ~ "-target_deg", target_deg);
|
||||
setprop(monitor_prefix ~ "-error_deg", error_deg);
|
||||
setprop(monitor_prefix ~ "-brake_deg", brake_deg);
|
||||
setprop(monitor_prefix ~ "-deg", current_deg);
|
||||
setprop(monitor_prefix ~ "-rate", -rate);
|
||||
|
||||
return (error_deg + brake_deg) * output_gain;
|
||||
},
|
||||
|
||||
# FixMe: gain should be calculated using both speed and dynamic pressure
|
||||
calcGain : func(axis) {
|
||||
var mach = getprop("/velocities/mach");
|
||||
var input_gain = getprop("/controls/flight/fcs/gains/cas/input/" ~ axis);
|
||||
var gain = input_gain;
|
||||
if (axis == 'pitch') {
|
||||
gain += 0.1 * mach * mach;
|
||||
} elsif (axis== 'yaw') {
|
||||
gain *= ((1 - mach) * (1 - mach));
|
||||
}
|
||||
if (gain * input_gain < 0.0 ) {
|
||||
gain = 0;
|
||||
}
|
||||
return gain;
|
||||
},
|
||||
|
||||
apply : func(axis) {
|
||||
var input = me.read(axis);
|
||||
var status = me.getStatus("cas");
|
||||
var cas_command = 0;
|
||||
# FIXME : hmm, a bit nasty. CAS should be enabled even with auto-hover....
|
||||
if (status == 0 or (me.getStatus("auto-hover") == 1 and axis != 'yaw')) {
|
||||
me.write(axis, input);
|
||||
return;
|
||||
}
|
||||
cas_command = me.calcCommand(axis, input);
|
||||
me.write(axis, cas_command);
|
||||
}
|
||||
};
|
||||
|
||||
#
|
||||
# Tail hstab, "stabilator," for stabilize the nose
|
||||
#
|
||||
var Stabilator = {
|
||||
new : func() {
|
||||
var obj = { parents : [Stabilator] };
|
||||
setprop("/controls/flight/fcs/gains/stabilator", -1.8);
|
||||
setprop("/controls/flight/fcs/auto-stabilator", 1);
|
||||
# 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160, 170, 180, .....
|
||||
me.gainTable = [-0.9, -0.8, 0.1, -0.5, 0.0, 0.7, 0.8, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.6, 0.4, 0.2, -1.0];
|
||||
return obj;
|
||||
},
|
||||
|
||||
toggleManual : func {
|
||||
var status = getprop("/controls/flight/fcs/auto-stabilator");
|
||||
getprop("/controls/flight/fcs/auto-stabilator", 1 - status);
|
||||
},
|
||||
|
||||
apply : func(delta) {
|
||||
setprop("/controls/flight/fcs/auto-stabilator", 0);
|
||||
var value = getprop("/controls/flight/fcs/stabilator");
|
||||
getprop("/controls/flight/fcs/stabilator", value + delta);
|
||||
},
|
||||
|
||||
calcPosition : func() {
|
||||
var speed = getprop("/velocities/mach") / 0.001497219; # in knot
|
||||
var index = int(math.abs(speed) / 10);
|
||||
if (index >= size(me.gainTable) - 1) {
|
||||
index = size(me.gainTable) - 2;
|
||||
}
|
||||
var mod = math.mod(int(math.abs(speed)), 10);
|
||||
var position = me.gainTable[index] * ((10 - mod) / 10) + me.gainTable[index-1] * (mod) / 10;
|
||||
if (speed < -20) {
|
||||
position = - position;
|
||||
}
|
||||
return position;
|
||||
},
|
||||
|
||||
update : func() {
|
||||
var status = getprop("/controls/flight/fcs/auto-stabilator");
|
||||
if (status == 0) {
|
||||
return;
|
||||
}
|
||||
var gain = getprop("/controls/flight/fcs/gains/stabilator");
|
||||
var mach = getprop("/velocities/mach");
|
||||
var throttle = getprop("/controls/flight/throttle");
|
||||
var stabilator_norm = 0;
|
||||
|
||||
stabilator_norm = me.calcPosition();
|
||||
setprop("/controls/flight/fcs/stabilator", stabilator_norm);
|
||||
}
|
||||
};
|
||||
|
||||
var TailRotorCollective = {
|
||||
new : func(minimum=0.10, maximum=1.0, low_limit=0.00011, high_limit=0.0035) {
|
||||
var obj = FCSFilter.new("/controls/engines/engine[1]", "/controls/flight/fcs/tail-rotor");
|
||||
obj.parents = [FCSFilter, TailRotorCollective];
|
||||
obj.adjuster = 0.0;
|
||||
setprop("/controls/flight/fcs/tail-rotor/src-minimum", minimum);
|
||||
setprop("/controls/flight/fcs/tail-rotor/src-maximum", maximum);
|
||||
setprop("/controls/flight/fcs/tail-rotor/low-limit", low_limit);
|
||||
setprop("/controls/flight/fcs/tail-rotor/high-limit", high_limit);
|
||||
setprop("/controls/flight/fcs/gains/tail-rotor/error-adjuster-gain", -0.5);
|
||||
return obj;
|
||||
},
|
||||
|
||||
update : func() {
|
||||
var throttle = me.read("throttle");
|
||||
var pedal_pos_deg = getprop("/controls/flight/fcs/yaw");
|
||||
var cas_input = cas.read('yaw');
|
||||
var cas_input_gain = cas.calcGain('yaw');
|
||||
var target_rate = cas_input * cas_input_gain;
|
||||
var rate = getprop("/orientation/yaw-rate-degps");
|
||||
var error_rate = getprop("/controls/flight/fcs/cas/delta_yaw");
|
||||
var error_adjuster_gain = getprop("/controls/flight/fcs/gains/tail-rotor/error-adjuster-gain");
|
||||
|
||||
var minimum = getprop("/controls/flight/fcs/tail-rotor/src-minimum");
|
||||
var maximum = getprop("/controls/flight/fcs/tail-rotor/src-maximum");
|
||||
var low_limit = getprop("/controls/flight/fcs/tail-rotor/low-limit");
|
||||
var high_limit = getprop("/controls/flight/fcs/tail-rotor/high-limit");
|
||||
var output = 0;
|
||||
var range = maximum - minimum;
|
||||
|
||||
if (throttle < minimum) {
|
||||
output = low_limit;
|
||||
} elsif (throttle > maximum) {
|
||||
output = high_limit;
|
||||
} else {
|
||||
output = low_limit + (throttle - minimum) / range * (high_limit - low_limit);
|
||||
}
|
||||
|
||||
# CAS driven tail rotor thrust adjuster
|
||||
me.adjuster = error_rate * error_adjuster_gain;
|
||||
me.adjuster = me.limit(me.adjuster, 0.3);
|
||||
output += me.adjuster;
|
||||
|
||||
setprop("/controls/flight/fcs/tail-rotor/error-rate", error_rate);
|
||||
setprop("/controls/flight/fcs/tail-rotor/adjuster", me.adjuster);
|
||||
|
||||
me.write("throttle", output);
|
||||
}
|
||||
};
|
||||
|
||||
var sas = nil;
|
||||
var cas = nil;
|
||||
var afcs = nil;
|
||||
var stabilator = nil;
|
||||
var tail = nil;
|
||||
var count = 0;
|
||||
|
||||
var sensitivities = {'roll' : 0.0, 'pitch' : 0.0, 'yaw' : 1.125 };
|
||||
var sas_initial_gains = {'roll' : 0.0011, 'pitch' : -0.0042, 'yaw' : 0.004 };
|
||||
var cas_input_gains = {'roll' : 30, 'pitch' : -60, 'yaw' : 30,
|
||||
'attitude-roll' : 80, 'attitude-pitch' : -80 };
|
||||
var cas_output_gains = {'roll' : 0.06, 'pitch' : -0.1, 'yaw' : 0.5,
|
||||
'roll-brake-freq' : 10, 'pitch-brake-freq' : 3,
|
||||
'roll-brake' : 0.4, 'pitch-brake' : 6,
|
||||
'anti-side-slip-gain' : -4.5};
|
||||
var update = func {
|
||||
count += 1;
|
||||
# AFCS, CAS, and SAS run at 60Hz
|
||||
if (math.mod(count, 2) == 0) {
|
||||
return;
|
||||
}
|
||||
cas.apply('roll');
|
||||
cas.apply('pitch');
|
||||
cas.apply('yaw');
|
||||
|
||||
afcs.apply('roll');
|
||||
afcs.apply('pitch');
|
||||
afcs.apply('yaw');
|
||||
|
||||
sas.apply('roll');
|
||||
sas.apply('pitch');
|
||||
sas.apply('yaw');
|
||||
stabilator.update();
|
||||
tail.update();
|
||||
}
|
||||
|
||||
var initialize = func {
|
||||
cas = CAS.new(cas_input_gains, cas_output_gains, sensitivities, nil, "/controls/flight/fcs/cas");
|
||||
afcs = AFCS.new("/controls/flight/fcs/cas", "/controls/flight/fcs/afcs");
|
||||
sas = SAS.new(sas_initial_gains, sensitivities, 3, "/controls/flight/fcs/afcs", "/controls/flight/fcs");
|
||||
stabilator = Stabilator.new();
|
||||
tail = TailRotorCollective.new();
|
||||
setlistener("/rotors/main/cone-deg", update);
|
||||
}
|
||||
|
||||
_setlistener("/sim/signals/fdm-initialized", initialize);
|
||||
|
BIN
Ressource/default.fuselage.jpg
Normal file
After Width: | Height: | Size: 797 KiB |
BIN
Ressource/default.tail.jpg
Normal file
After Width: | Height: | Size: 515 KiB |
|
@ -1,120 +1,118 @@
|
|||
// -*- mode: C; -*-
|
||||
// Licence: GPL v2
|
||||
// Author: Vivian Meazza.
|
||||
|
||||
#version 120
|
||||
|
||||
varying vec4 rawpos;
|
||||
varying vec4 ecPosition;
|
||||
varying vec3 VNormal;
|
||||
varying vec3 Normal;
|
||||
varying vec4 constantColor;
|
||||
varying vec3 vViewVec;
|
||||
varying vec3 reflVec;
|
||||
|
||||
varying vec4 Diffuse;
|
||||
varying vec3 lightDir, halfVector;
|
||||
varying float alpha, fogCoord;
|
||||
|
||||
uniform samplerCube Environment;
|
||||
uniform sampler2D Rainbow;
|
||||
uniform sampler2D BaseTex;
|
||||
uniform sampler2D Fresnel;
|
||||
uniform sampler2D Map;
|
||||
uniform sampler3D Noise;
|
||||
|
||||
uniform float refl_correction;
|
||||
uniform float rainbowiness;
|
||||
uniform float fresneliness;
|
||||
uniform float noisiness;
|
||||
uniform float ambient_correction;
|
||||
uniform float reflect_map;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
if (!gl_FrontFacing) discard;
|
||||
|
||||
vec3 n, halfV;
|
||||
float NdotL, NdotHV;
|
||||
vec4 color = constantColor;
|
||||
vec4 specular = vec4(0.0);
|
||||
n = VNormal;
|
||||
NdotL = max(0.0, dot(n, lightDir));
|
||||
|
||||
// calculate the specular light
|
||||
if (NdotL > 0.0) {
|
||||
color += Diffuse * NdotL;
|
||||
halfV = normalize(halfVector);
|
||||
NdotHV = max(dot(n, halfV), 0.0);
|
||||
if (gl_FrontMaterial.shininess > 0.0)
|
||||
specular.rgb = (gl_FrontMaterial.specular.rgb
|
||||
* gl_LightSource[0].specular.rgb
|
||||
* pow(NdotHV, gl_FrontMaterial.shininess));
|
||||
}
|
||||
|
||||
color.a = alpha;
|
||||
color = clamp(color, 0.0, 1.0);
|
||||
vec4 texel = texture2D(BaseTex, gl_TexCoord[0].st);
|
||||
vec4 texelcolor = color * texel + specular;
|
||||
|
||||
// calculate the fog factor
|
||||
float fogCoord = ecPosition.z;
|
||||
const float LOG2 = 1.442695;
|
||||
float fogFactor = exp2(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord * LOG2);
|
||||
fogFactor = clamp(fogFactor, 0.0, 1.0);
|
||||
|
||||
if(gl_Fog.density == 1.0)
|
||||
fogFactor=1.0;
|
||||
|
||||
vec3 normal = normalize(VNormal);
|
||||
vec3 viewVec = normalize(vViewVec);
|
||||
|
||||
// Map a rainbowish color
|
||||
float v = dot(viewVec, normal);
|
||||
vec4 rainbow = texture2D(Rainbow, vec2(v, 0.0));
|
||||
|
||||
// Map a fresnel effect
|
||||
vec4 fresnel = texture2D(Fresnel, vec2(v, 0.0));
|
||||
|
||||
// map the refection of the environment
|
||||
vec4 reflection = textureCube(Environment, reflVec);
|
||||
|
||||
// set the user shininess offse
|
||||
float transparency_offset = clamp(refl_correction, -1.0, 1.0);
|
||||
float reflFactor = 0.0;
|
||||
|
||||
if(reflect_map > 0){
|
||||
// map the shininess of the object with user input
|
||||
vec4 map = texture2D(Map, gl_TexCoord[0].st);
|
||||
//float pam = (map.a * -2) + 1; //reverse map
|
||||
reflFactor = map.a + transparency_offset;
|
||||
} else {
|
||||
// set the reflectivity proportional to shininess with user
|
||||
// input
|
||||
reflFactor = (gl_FrontMaterial.shininess / 128) + transparency_offset;
|
||||
}
|
||||
|
||||
reflFactor = clamp(reflFactor, 0.0, 1.0);
|
||||
|
||||
// set ambient adjustment to remove bluiness with user input
|
||||
float ambient_offset = clamp(ambient_correction, -1.0, 1.0);
|
||||
vec4 ambient_Correction = vec4(gl_LightSource[0].ambient.rg, gl_LightSource[0].ambient.b * 0.6, 0.5) * ambient_offset ;
|
||||
ambient_Correction = clamp(ambient_Correction, -1.0, 1.0);
|
||||
|
||||
// map noise vectore
|
||||
vec4 noisevec = texture3D(Noise, rawpos.xyz);
|
||||
|
||||
// add fringing fresnel and rainbow effects and modulate by reflection
|
||||
vec4 reflcolor = mix(reflection, rainbow, rainbowiness * v);
|
||||
vec4 reflfrescolor = mix(reflcolor, fresnel, fresneliness * v);
|
||||
vec4 noisecolor = mix(reflfrescolor, noisevec, noisiness);
|
||||
vec4 raincolor = vec4(noisecolor.rgb, 1.0) * reflFactor;
|
||||
|
||||
vec4 mixedcolor = mix(texel, raincolor, reflFactor);
|
||||
|
||||
// the final reflection
|
||||
vec4 reflColor = color * mixedcolor + specular + ambient_Correction ;
|
||||
reflColor = clamp(reflColor, 0.0, 1.0);
|
||||
|
||||
gl_FragColor = mix(gl_Fog.color, reflColor, fogFactor);
|
||||
}
|
||||
// -*- mode: C; -*-
|
||||
// Licence: GPL v2
|
||||
// Author: Vivian Meazza.
|
||||
|
||||
#version 120
|
||||
|
||||
varying vec4 rawpos;
|
||||
varying vec4 ecPosition;
|
||||
varying vec3 VNormal;
|
||||
varying vec3 Normal;
|
||||
varying vec4 constantColor;
|
||||
varying vec3 vViewVec;
|
||||
varying vec3 reflVec;
|
||||
|
||||
varying vec4 Diffuse;
|
||||
varying vec3 lightDir, halfVector;
|
||||
varying float alpha, fogCoord;
|
||||
|
||||
uniform samplerCube Environment;
|
||||
uniform sampler2D Rainbow;
|
||||
uniform sampler2D BaseTex;
|
||||
uniform sampler2D Fresnel;
|
||||
uniform sampler2D Map;
|
||||
uniform sampler3D Noise;
|
||||
|
||||
uniform float refl_correction;
|
||||
uniform float rainbowiness;
|
||||
uniform float fresneliness;
|
||||
uniform float noisiness;
|
||||
uniform float ambient_correction;
|
||||
uniform float reflect_map;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec3 n, halfV;
|
||||
float NdotL, NdotHV;
|
||||
vec4 color = constantColor;
|
||||
vec4 specular = vec4(0.0);
|
||||
n = VNormal;
|
||||
NdotL = max(0.0, dot(n, lightDir));
|
||||
|
||||
// calculate the specular light
|
||||
if (NdotL > 0.0) {
|
||||
color += Diffuse * NdotL;
|
||||
halfV = normalize(halfVector);
|
||||
NdotHV = max(dot(n, halfV), 0.0);
|
||||
if (gl_FrontMaterial.shininess > 0.0)
|
||||
specular.rgb = (gl_FrontMaterial.specular.rgb
|
||||
* gl_LightSource[0].specular.rgb
|
||||
* pow(NdotHV, gl_FrontMaterial.shininess));
|
||||
}
|
||||
|
||||
color.a = alpha;
|
||||
color = clamp(color, 0.0, 1.0);
|
||||
vec4 texel = texture2D(BaseTex, gl_TexCoord[0].st);
|
||||
vec4 texelcolor = color * texel + specular;
|
||||
|
||||
// calculate the fog factor
|
||||
float fogCoord = ecPosition.z;
|
||||
const float LOG2 = 1.442695;
|
||||
float fogFactor = exp2(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord * LOG2);
|
||||
fogFactor = clamp(fogFactor, 0.0, 1.0);
|
||||
|
||||
if(gl_Fog.density == 1.0)
|
||||
fogFactor=1.0;
|
||||
|
||||
vec3 normal = normalize(VNormal);
|
||||
vec3 viewVec = normalize(vViewVec);
|
||||
|
||||
// Map a rainbowish color
|
||||
float v = dot(viewVec, normal);
|
||||
vec4 rainbow = texture2D(Rainbow, vec2(v, 0.0));
|
||||
|
||||
// Map a fresnel effect
|
||||
vec4 fresnel = texture2D(Fresnel, vec2(v, 0.0));
|
||||
|
||||
// map the refection of the environment
|
||||
vec4 reflection = textureCube(Environment, reflVec);
|
||||
|
||||
// set the user shininess offse
|
||||
float transparency_offset = clamp(refl_correction, -1.0, 1.0);
|
||||
float reflFactor = 0.0;
|
||||
|
||||
if(reflect_map > 0){
|
||||
// map the shininess of the object with user input
|
||||
vec4 map = texture2D(Map, gl_TexCoord[0].st);
|
||||
//float pam = (map.a * -2) + 1; //reverse map
|
||||
reflFactor = map.a + transparency_offset;
|
||||
} else {
|
||||
// set the reflectivity proportional to shininess with user
|
||||
// input
|
||||
reflFactor = (gl_FrontMaterial.shininess / 128) + transparency_offset;
|
||||
}
|
||||
|
||||
reflFactor = clamp(reflFactor, 0.0, 1.0);
|
||||
|
||||
// set ambient adjustment to remove bluiness with user input
|
||||
float ambient_offset = clamp(ambient_correction, -1.0, 1.0);
|
||||
vec4 ambient_Correction = vec4(gl_LightSource[0].ambient.rg, gl_LightSource[0].ambient.b * 0.6, 0.5) * ambient_offset ;
|
||||
ambient_Correction = clamp(ambient_Correction, -1.0, 1.0);
|
||||
|
||||
// map noise vectore
|
||||
vec4 noisevec = texture3D(Noise, rawpos.xyz);
|
||||
|
||||
// add fringing fresnel and rainbow effects and modulate by reflection
|
||||
vec4 reflcolor = mix(reflection, rainbow, rainbowiness * v);
|
||||
vec4 reflfrescolor = mix(reflcolor, fresnel, fresneliness * v);
|
||||
vec4 noisecolor = mix(reflfrescolor, noisevec, noisiness);
|
||||
vec4 raincolor = vec4(noisecolor.rgb, 1.0) * reflFactor;
|
||||
|
||||
vec4 mixedcolor = mix(texel, raincolor, reflFactor);
|
||||
|
||||
// the final reflection
|
||||
vec4 reflColor = color * mixedcolor + specular + ambient_Correction ;
|
||||
reflColor = clamp(reflColor, 0.0, 1.0);
|
||||
|
||||
gl_FragColor = mix(gl_Fog.color, reflColor, fogFactor);
|
||||
}
|
||||
|
|
BIN
Sounds/GE-M134.wav
Normal file
BIN
Sounds/HOT.wav
Normal file
BIN
Sounds/R-1535Slow.wav
Normal file
BIN
Sounds/TC1.wav
Normal file
BIN
Sounds/blade_vortex.wav
Normal file
BIN
Sounds/ec135_idle-inside.wav
Normal file
BIN
Sounds/ec135_rotor.wav
Normal file
BIN
Sounds/ec135_rotor_in.wav
Normal file
BIN
Sounds/ec135_rotor_out.wav
Normal file
BIN
Sounds/ec135_shut_ec_in.wav
Normal file
BIN
Sounds/ec135_shut_ec_out.wav
Normal file
BIN
Sounds/ec135_turbine_idle_in.wav
Normal file
BIN
Sounds/ec135_turbine_idle_out.wav
Normal file
BIN
Sounds/ec135_turbine_idle_out2.wav
Normal file
BIN
Sounds/ec135_turbine_strt_in.wav
Normal file
BIN
Sounds/ec135_turbine_strt_out.wav
Normal file
BIN
Sounds/ec_rotor_in.wav
Normal file
BIN
Sounds/ec_rotor_out2.wav
Normal file
BIN
Sounds/fenestron_ec135.wav
Normal file
BIN
Sounds/flight_ec135_out.wav
Normal file
BIN
Sounds/idle_ec135_out.wav
Normal file
BIN
Sounds/rotor_stall.wav
Normal file
813
Sounds/sound.xml
Normal file
|
@ -0,0 +1,813 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
thanks to the SAR simulation (GPL) for the helicopter sounds,
|
||||
and the Urban game (LGPL) for the weapon sounds
|
||||
|
||||
+x = aft
|
||||
+y = left
|
||||
+z = up
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
<fx>
|
||||
<starter>
|
||||
<name>starter0_start</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/starter_start.wav</path>
|
||||
<condition>
|
||||
<property>controls/engines/engine[0]/starter</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>-0.88</x>
|
||||
<y>0.40</y>
|
||||
<z>0.5</z>
|
||||
</position>
|
||||
<reference-dist>5</reference-dist>
|
||||
<max-dist>10</max-dist>
|
||||
</starter>
|
||||
|
||||
<starter>
|
||||
<name>starter0_loop</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/starter_loop.wav</path>
|
||||
<condition>
|
||||
<property>controls/engines/engine[0]/starter</property>
|
||||
</condition>
|
||||
<delay-sec>11.6</delay-sec>
|
||||
<volume>
|
||||
<factor>0.1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>-0.88</x>
|
||||
<y>0.40</y>
|
||||
<z>0.5</z>
|
||||
</position>
|
||||
<reference-dist>5</reference-dist>
|
||||
<max-dist>10</max-dist>
|
||||
</starter>
|
||||
|
||||
<starter>
|
||||
<name>starter0_stop</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/starter_stop.wav</path>
|
||||
<condition>
|
||||
<not>
|
||||
<property>controls/engines/engine[0]/starter</property>
|
||||
</not>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>-0.88</x>
|
||||
<y>0.40</y>
|
||||
<z>0.5</z>
|
||||
</position>
|
||||
<reference-dist>5</reference-dist>
|
||||
<max-dist>10</max-dist>
|
||||
</starter>
|
||||
|
||||
<starter>
|
||||
<name>starter1_start</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/starter_start.wav</path>
|
||||
<condition>
|
||||
<property>controls/engines/engine[1]/starter</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>-0.88</x>
|
||||
<y>-0.40</y>
|
||||
<z>0.5</z>
|
||||
</position>
|
||||
<reference-dist>5</reference-dist>
|
||||
<max-dist>10</max-dist>
|
||||
</starter>
|
||||
|
||||
<starter>
|
||||
<name>starter1_loop</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/starter_loop.wav</path>
|
||||
<condition>
|
||||
<property>controls/engines/engine[1]/starter</property>
|
||||
</condition>
|
||||
<delay-sec>11.6</delay-sec>
|
||||
<volume>
|
||||
<factor>0.1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>-0.88</x>
|
||||
<y>-0.40</y>
|
||||
<z>0.5</z>
|
||||
</position>
|
||||
<reference-dist>5</reference-dist>
|
||||
<max-dist>10</max-dist>
|
||||
</starter>
|
||||
|
||||
<starter>
|
||||
<name>starter1_stop</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/starter_stop.wav</path>
|
||||
<condition>
|
||||
<not>
|
||||
<property>controls/engines/engine[1]/starter</property>
|
||||
</not>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>-0.88</x>
|
||||
<y>-0.40</y>
|
||||
<z>0.5</z>
|
||||
</position>
|
||||
<reference-dist>5</reference-dist>
|
||||
<max-dist>10</max-dist>
|
||||
</starter>
|
||||
|
||||
<engine>
|
||||
<name>turbine0-start</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/strt_ec135_out2.wav</path>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>engines/engine[0]/n1-pct</property>
|
||||
<value>0.1</value>
|
||||
</greater-than>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.03</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>5</factor>
|
||||
</volume>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>200</max-dist>
|
||||
</engine>
|
||||
|
||||
<engine>
|
||||
<name>turbine0-loop</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/idle_ec135_out.wav</path>
|
||||
<condition>
|
||||
<property>engines/engine[0]/running</property>
|
||||
</condition>
|
||||
<delay-sec>45</delay-sec>
|
||||
<volume>
|
||||
<factor>0.03</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>5</factor>
|
||||
</volume>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>200</max-dist>
|
||||
</engine>
|
||||
|
||||
<engine>
|
||||
<name>turbine0-shutdown</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/turbine_shutdown.wav</path>
|
||||
<condition>
|
||||
<not>
|
||||
<property>engines/engine[0]/running</property>
|
||||
</not>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.03</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>5</factor>
|
||||
</volume>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>200</max-dist>
|
||||
</engine>
|
||||
|
||||
<engine>
|
||||
<name>turbine1-start</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/strt_ec135_out2.wav</path>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>engines/engine[1]/n1-pct</property>
|
||||
<value>0.1</value>
|
||||
</greater-than>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.03</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>5</factor>
|
||||
</volume>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>200</max-dist>
|
||||
</engine>
|
||||
|
||||
<engine>
|
||||
<name>turbine1-loop</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/idle_ec135_out.wav</path>
|
||||
<condition>
|
||||
<property>engines/engine[1]/running</property>
|
||||
</condition>
|
||||
<delay-sec>45</delay-sec>
|
||||
<volume>
|
||||
<factor>0.03</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>5</factor>
|
||||
</volume>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>200</max-dist>
|
||||
</engine>
|
||||
|
||||
<engine>
|
||||
<name>turbine1-shutdown</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/turbine_shutdown.wav</path>
|
||||
<condition>
|
||||
<not>
|
||||
<property>engines/engine[1]/running</property>
|
||||
</not>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.03</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>5</factor>
|
||||
</volume>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>200</max-dist>
|
||||
</engine>
|
||||
|
||||
|
||||
<rotor>
|
||||
<name>rotor-outside</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/flight_ec135_out.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<not>
|
||||
<property>sim/current-view/internal</property>
|
||||
</not>
|
||||
<greater-than>
|
||||
<property>rotors/main/rpm</property>
|
||||
<value>200</value>
|
||||
</greater-than>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>rotors/main/rpm</property>
|
||||
<factor>0.002</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>rotors/main/rpm</property>
|
||||
<factor>0.00252</factor>
|
||||
<offset>0</offset>
|
||||
<min>0</min>
|
||||
<max>1.5</max>
|
||||
</pitch>
|
||||
|
||||
<reference-dist>200</reference-dist>
|
||||
<max-dist>1000</max-dist>
|
||||
</rotor>
|
||||
|
||||
<rotor>
|
||||
<name>rotor-inside</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/rotor.wav</path>
|
||||
<path>Aircraft/ec135/Sounds/ec_rotor_in.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<property>sim/current-view/internal</property>
|
||||
<greater-than>
|
||||
<property>rotors/main/rpm</property>
|
||||
<value>200</value>
|
||||
</greater-than>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.5</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>rotors/main/rpm</property>
|
||||
<factor>0.002</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>rotors/main/rpm</property>
|
||||
<factor>0.00252</factor>
|
||||
<offset>0</offset>
|
||||
<min>0</min>
|
||||
<max>1.5</max>
|
||||
</pitch>
|
||||
<reference-dist>500</reference-dist>
|
||||
<max-dist>1000</max-dist>
|
||||
</rotor>
|
||||
|
||||
<rotor>
|
||||
<name>stall</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/R-1535Slow.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<greater-than>
|
||||
<property>rotors/main/rpm</property>
|
||||
<value>50</value>
|
||||
</greater-than>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/volume</property>
|
||||
<factor>0.8</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>rotors/main/stall-filtered</property>
|
||||
<factor>75</factor>
|
||||
<max>1.0</max>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>rotors/main/rpm</property>
|
||||
<factor>0.00252</factor>
|
||||
<offset>0</offset>
|
||||
<max>1.75</max>
|
||||
</pitch>
|
||||
<reference-dist>500</reference-dist>
|
||||
<max-dist>1500</max-dist>
|
||||
</rotor>
|
||||
|
||||
<rotor>
|
||||
<name>blade-vortex-interaction</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/R-1535Slow.wav</path>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>sim/sound/vibration</property>
|
||||
<value>0.01</value>
|
||||
</greater-than>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>sim/sound/vibration</property>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>rotors/main/rpm</property>
|
||||
<factor>0.00252</factor>
|
||||
<offset>0</offset>
|
||||
<min>0</min>
|
||||
<max>1.5</max>
|
||||
</pitch>
|
||||
<reference-dist>500</reference-dist>
|
||||
<max-dist>3000</max-dist>
|
||||
</rotor>
|
||||
|
||||
|
||||
|
||||
<overspeed>
|
||||
<name>overspeed</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/overspeed.wav</path>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>velocities/airspeed-kt</property>
|
||||
<value>146</value>
|
||||
</greater-than>
|
||||
<equals>
|
||||
<property>sim/current-view/view-number</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.1</factor>
|
||||
</pitch>
|
||||
<reference-dist>1.0</reference-dist>
|
||||
<max-dist>2.0</max-dist>
|
||||
</overspeed>
|
||||
|
||||
|
||||
|
||||
<warning>
|
||||
<name>650 Hz</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/warn650.wav</path>
|
||||
<condition>
|
||||
<property>sim/sound/warn650</property>
|
||||
</condition>
|
||||
<reference-dist>0.5</reference-dist>
|
||||
<max-dist>1.0</max-dist>
|
||||
</warning>
|
||||
|
||||
<warning>
|
||||
<name>2600 Hz</name>
|
||||
<mode>looped</mode>
|
||||
<path>Aircraft/ec135/Sounds/warn2600.wav</path>
|
||||
<condition>
|
||||
<property>sim/sound/warn2600</property>
|
||||
</condition>
|
||||
<reference-dist>0.5</reference-dist>
|
||||
<max-dist>1.0</max-dist>
|
||||
</warning>
|
||||
|
||||
|
||||
<contact>
|
||||
<name>ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/TC1.wav</path>
|
||||
<condition>
|
||||
<property>gear/gear[0]/wow</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.01</factor>
|
||||
</pitch>
|
||||
<reference-dist>5.0</reference-dist>
|
||||
<max-dist>10.0</max-dist>
|
||||
</contact>
|
||||
|
||||
<contact>
|
||||
<name>ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/TC1.wav</path>
|
||||
<condition>
|
||||
<property>gear/gear[1]/wow</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.01</factor>
|
||||
</pitch>
|
||||
<reference-dist>5.0</reference-dist>
|
||||
<max-dist>10.0</max-dist>
|
||||
</contact>
|
||||
|
||||
<contact>
|
||||
<name>ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/TC1.wav</path>
|
||||
<condition>
|
||||
<property>gear/gear[2]/wow</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.01</factor>
|
||||
</pitch>
|
||||
<reference-dist>5.0</reference-dist>
|
||||
<max-dist>10.0</max-dist>
|
||||
</contact>
|
||||
|
||||
<contact>
|
||||
<name>ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/TC1.wav</path>
|
||||
<condition>
|
||||
<property>gear/gear[3]/wow</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.01</factor>
|
||||
</pitch>
|
||||
<reference-dist>5.0</reference-dist>
|
||||
<max-dist>10.0</max-dist>
|
||||
</contact>
|
||||
|
||||
<contact>
|
||||
<name>ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/TC1.wav</path>
|
||||
<condition>
|
||||
<property>gear/gear[4]/wow</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.01</factor>
|
||||
</pitch>
|
||||
<reference-dist>5.0</reference-dist>
|
||||
<max-dist>10.0</max-dist>
|
||||
</contact>
|
||||
|
||||
<contact>
|
||||
<name>ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/ec135/Sounds/TC1.wav</path>
|
||||
<condition>
|
||||
<property>gear/gear[5]/wow</property>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>1.0</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.01</factor>
|
||||
</pitch>
|
||||
<reference-dist>5.0</reference-dist>
|
||||
<max-dist>10.0</max-dist>
|
||||
</contact>
|
||||
|
||||
<slide>
|
||||
<name>skid sliding1</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/rumble.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<property>gear/gear[0]/wow</property>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.5</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/slide[0]/volume</property>
|
||||
<max>1</max>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>sim/model/ec135/sound/slide[0]/pitch</property>
|
||||
</pitch>
|
||||
</slide>
|
||||
|
||||
<slide>
|
||||
<name>skid sliding2</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/rumble.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<property>gear/gear[1]/wow</property>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.5</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/slide[1]/volume</property>
|
||||
<max>1</max>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>sim/model/ec135/sound/slide[1]/pitch</property>
|
||||
</pitch>
|
||||
</slide>
|
||||
|
||||
<slide>
|
||||
<name>skid sliding3</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/rumble.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<property>gear/gear[2]/wow</property>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.5</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/slide[2]/volume</property>
|
||||
<max>1</max>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>sim/model/ec135/sound/slide[2]/pitch</property>
|
||||
</pitch>
|
||||
</slide>
|
||||
|
||||
<slide>
|
||||
<name>skid sliding4</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/rumble.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<property>gear/gear[3]/wow</property>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<factor>0.5</factor>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>sim/model/ec135/sound/slide[3]/volume</property>
|
||||
<max>1</max>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>sim/model/ec135/sound/slide[3]/pitch</property>
|
||||
</pitch>
|
||||
</slide>
|
||||
|
||||
<wind>
|
||||
<name>wind</name>
|
||||
<mode>looped</mode>
|
||||
<path>Sounds/wind.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<property>velocities/airspeed-kt</property>
|
||||
<not>
|
||||
<property>sim/crashed</property>
|
||||
</not>
|
||||
</and>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>position/altitude-ft</property>
|
||||
<factor>-0.000015</factor>
|
||||
<offset>1.0</offset>
|
||||
<min>0.1</min>
|
||||
<max>1.0</max>
|
||||
</volume>
|
||||
<volume>
|
||||
<property>velocities/airspeed-kt</property>
|
||||
<factor>0.0015</factor>
|
||||
<min>0.03</min>
|
||||
<max>0.25</max>
|
||||
</volume>
|
||||
<pitch>
|
||||
<property>velocities/airspeed-kt</property>
|
||||
<factor>0.01</factor>
|
||||
<offset>1.25</offset>
|
||||
</pitch>
|
||||
<reference-dist>3</reference-dist>
|
||||
<max-dist>4</max-dist>
|
||||
</wind>
|
||||
|
||||
<crash>
|
||||
<name>intense ground contact</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/crash.wav</path>
|
||||
<property>sim/crashed</property>
|
||||
<volume>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<pitch>
|
||||
<factor>0.1</factor>
|
||||
</pitch>
|
||||
<reference-dist>100</reference-dist>
|
||||
<max-dist>500</max-dist>
|
||||
</crash>
|
||||
|
||||
|
||||
|
||||
<door>
|
||||
<name>close right frontdoor</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/door_close.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>sim/model/ec135/doors/door[0]/position-norm</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<position>
|
||||
<x>1.0</x>
|
||||
<y>1.5</y>
|
||||
<z>-1.5</z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<reference-dist>15</reference-dist>
|
||||
<max-dist>50</max-dist>
|
||||
</door>
|
||||
|
||||
<door>
|
||||
<name>close left frontdoor</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/door_close.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>sim/model/ec135/doors/door[1]/position-norm</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<position>
|
||||
<x>-1.0</x>
|
||||
<y>1.5</y>
|
||||
<z>-1.5</z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<reference-dist>15</reference-dist>
|
||||
<max-dist>50</max-dist>
|
||||
</door>
|
||||
|
||||
<door>
|
||||
<name>close right backdoor</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/door_close.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>sim/model/ec135/doors/door[2]/position-norm</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<position>
|
||||
<x>1.0</x>
|
||||
<y>1.0</y>
|
||||
<z>-1.5</z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<reference-dist>15</reference-dist>
|
||||
<max-dist>50</max-dist>
|
||||
</door>
|
||||
|
||||
<door>
|
||||
<name>close left backdoor</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/door_close.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>sim/model/ec135/doors/door[3]/position-norm</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<position>
|
||||
<x>-1.0</x>
|
||||
<y>1.0</y>
|
||||
<z>-1.5</z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<reference-dist>15</reference-dist>
|
||||
<max-dist>50</max-dist>
|
||||
</door>
|
||||
|
||||
<door>
|
||||
<name>close right reardoor</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/door_close.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>sim/model/ec135/doors/door[4]/position-norm</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<position>
|
||||
<x>0.0</x>
|
||||
<y>-1.5</y>
|
||||
<z>-1.0</z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<reference-dist>15</reference-dist>
|
||||
<max-dist>50</max-dist>
|
||||
</door>
|
||||
|
||||
<door>
|
||||
<name>close left reardoor</name>
|
||||
<mode>once</mode>
|
||||
<path>Sounds/door_close.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>sim/model/ec135/doors/door[5]/position-norm</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<position>
|
||||
<x>0.0</x>
|
||||
<y>-1.5</y>
|
||||
<z>-1.0</z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>0.3</factor>
|
||||
</volume>
|
||||
<reference-dist>15</reference-dist>
|
||||
<max-dist>50</max-dist>
|
||||
</door>
|
||||
</fx>
|
||||
</PropertyList>
|
BIN
Sounds/starter_loop.wav
Normal file
BIN
Sounds/starter_start.wav
Normal file
BIN
Sounds/starter_stop.wav
Normal file
BIN
Sounds/strt_ec135_out2.wav
Normal file
BIN
Sounds/warn2600.wav
Normal file
BIN
Sounds/warn650.wav
Normal file
BIN
instrumentation/FDM1.rgb
Normal file
BIN
instrumentation/GH14-391/ai.png
Normal file
After Width: | Height: | Size: 5 KiB |
58
instrumentation/GH14-391/ai.xml
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
|
||||
<path>gh14391.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>ball</object-name>
|
||||
<property>/orientation/roll-deg</property>
|
||||
<center>
|
||||
<x-m>-0.075</x-m>
|
||||
<y-m>0.00</y-m>
|
||||
<z-m>0.002</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>Circle</object-name>
|
||||
<property>/orientation/roll-deg</property>
|
||||
<center>
|
||||
<x-m>0.007</x-m>
|
||||
<y-m>0.00</y-m>
|
||||
<z-m>0.002</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>ball</object-name>
|
||||
<property>/orientation/pitch-deg</property>
|
||||
<factor>0.5</factor>
|
||||
<center>
|
||||
<x-m>-0.075</x-m>
|
||||
<y-m>0.00</y-m>
|
||||
<z-m>0.002</z-m>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
|
||||
|
||||
|
||||
</PropertyList>
|
BIN
instrumentation/GH14-391/face.2.png
Normal file
After Width: | Height: | Size: 618 KiB |
BIN
instrumentation/GH14-391/face.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
instrumentation/GH14-391/face2.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
15834
instrumentation/GH14-391/gh14391.ac
Normal file
1536
instrumentation/ai_small/STBYai.ac
Normal file
BIN
instrumentation/ai_small/STBYai.png
Normal file
After Width: | Height: | Size: 68 KiB |
68
instrumentation/ai_small/STBYai.xml
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Standby Gyro
|
||||
Syd Adams
|
||||
-->
|
||||
<PropertyList>
|
||||
|
||||
<path>STBYai.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>texmultiple</type>
|
||||
<object-name>STBYai.ball</object-name>
|
||||
<transform>
|
||||
<property>instrumentation/attitude-indicator/indicated-pitch-deg</property>
|
||||
<subtype>textranslate</subtype>
|
||||
<factor>0.003667</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</transform>
|
||||
<transform>
|
||||
<property>instrumentation/attitude-indicator/indicated-roll-deg</property>
|
||||
<subtype>texrotate</subtype>
|
||||
<center>
|
||||
<x>0.25</x>
|
||||
<y>0.50</y>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>-1</z>
|
||||
</axis>
|
||||
</transform>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>STBYai.rollneedle</object-name>
|
||||
<property>instrumentation/attitude-indicator/indicated-roll-deg</property>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>STBYai.cage</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>instrumentation/attitude-indicator/caged</property>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
BIN
instrumentation/ai_small/tach.png
Normal file
After Width: | Height: | Size: 109 KiB |
7247
instrumentation/alt/alt2.ac
Normal file
BIN
instrumentation/alt/altimeter.png
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
instrumentation/alt/altimeter.rgb
Normal file
159
instrumentation/alt/altimeter.xml
Normal file
|
@ -0,0 +1,159 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>alt2.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>ALTface</object-name>
|
||||
<object-name>needle100</object-name>
|
||||
<object-name>needle1000</object-name>
|
||||
<object-name>needle10000</object-name>
|
||||
<object-name>inhg</object-name>
|
||||
<object-name>InhgKnob</object-name>
|
||||
<emission>
|
||||
<red>0.028</red>
|
||||
<green>0.014</green>
|
||||
<blue>0.007</blue>
|
||||
<factor-prop>systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>needle100</object-name>
|
||||
<property>instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
<factor>0.36</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>needle1000</object-name>
|
||||
<property>instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
<factor>0.036</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>needle10000</object-name>
|
||||
<property>instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
<factor>0.0036</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>texrotate</type>
|
||||
<object-name>inhg</object-name>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<interpolation>
|
||||
<entry><ind>27.90</ind><dep>0.0</dep></entry>
|
||||
<entry><ind>28.0</ind><dep>9.35</dep></entry>
|
||||
<entry><ind>28.5</ind><dep>59.0</dep></entry>
|
||||
<entry><ind>29.0</ind><dep>109.0</dep></entry>
|
||||
<entry><ind>29.5</ind><dep>159.5</dep></entry>
|
||||
<entry><ind>29.9</ind><dep>200.0</dep></entry>
|
||||
<entry><ind>30.0</ind><dep>210.0</dep></entry>
|
||||
<entry><ind>30.5</ind><dep>261.0</dep></entry>
|
||||
<entry><ind>31.0</ind><dep>310.0</dep></entry>
|
||||
<entry><ind>31.4</ind><dep>350.0</dep></entry>
|
||||
</interpolation>
|
||||
<center>
|
||||
<x>0.25</x>
|
||||
<y>0.25</y>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>-1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.dn</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>-0.01</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.dn</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>-0.1</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.up</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>0.01</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.up</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>0.1</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
|
BIN
instrumentation/alt/vsi.png
Normal file
After Width: | Height: | Size: 106 KiB |
7247
instrumentation/alt2/alt2.ac
Normal file
BIN
instrumentation/alt2/altimeter.png
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
instrumentation/alt2/altimeter.rgb
Normal file
159
instrumentation/alt2/altimeter.xml
Normal file
|
@ -0,0 +1,159 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>alt2.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>ALTface</object-name>
|
||||
<object-name>needle100</object-name>
|
||||
<object-name>needle1000</object-name>
|
||||
<object-name>needle10000</object-name>
|
||||
<object-name>inhg</object-name>
|
||||
<object-name>InhgKnob</object-name>
|
||||
<emission>
|
||||
<red>0.028</red>
|
||||
<green>0.014</green>
|
||||
<blue>0.007</blue>
|
||||
<factor-prop>systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>needle100</object-name>
|
||||
<property>instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
<factor>0.36</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>needle1000</object-name>
|
||||
<property>instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
<factor>0.036</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>needle10000</object-name>
|
||||
<property>instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
<factor>0.0036</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>texrotate</type>
|
||||
<object-name>inhg</object-name>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<interpolation>
|
||||
<entry><ind>27.90</ind><dep>0.0</dep></entry>
|
||||
<entry><ind>28.0</ind><dep>9.35</dep></entry>
|
||||
<entry><ind>28.5</ind><dep>59.0</dep></entry>
|
||||
<entry><ind>29.0</ind><dep>109.0</dep></entry>
|
||||
<entry><ind>29.5</ind><dep>159.5</dep></entry>
|
||||
<entry><ind>29.9</ind><dep>200.0</dep></entry>
|
||||
<entry><ind>30.0</ind><dep>210.0</dep></entry>
|
||||
<entry><ind>30.5</ind><dep>261.0</dep></entry>
|
||||
<entry><ind>31.0</ind><dep>310.0</dep></entry>
|
||||
<entry><ind>31.4</ind><dep>350.0</dep></entry>
|
||||
</interpolation>
|
||||
<center>
|
||||
<x>0.25</x>
|
||||
<y>0.25</y>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>-1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.dn</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>-0.01</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.dn</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>-0.1</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.up</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>0.01</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>inhg.up</object-name>
|
||||
<visible>0</visible>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/altimeter/setting-inhg</property>
|
||||
<step>0.1</step>
|
||||
<min>27.90</min>
|
||||
<max>31.40</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
|
BIN
instrumentation/alt2/vsi.png
Normal file
After Width: | Height: | Size: 104 KiB |
7276
instrumentation/asi/asi.ac
Normal file
BIN
instrumentation/asi/asi.png
Normal file
After Width: | Height: | Size: 78 KiB |
117
instrumentation/asi/asi.xml
Normal file
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<path>asi.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>face.006</object-name>
|
||||
<object-name>asi-needle1</object-name>
|
||||
<emission>
|
||||
<red>0.028</red>
|
||||
<green>0.014</green>
|
||||
<blue>0.007</blue>
|
||||
<factor-prop>systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>asi-needle1</object-name>
|
||||
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
|
||||
<interpolation>
|
||||
<entry>
|
||||
<ind>-999</ind>
|
||||
<dep> 0</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 0</ind>
|
||||
<dep> -5</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 10</ind>
|
||||
<dep> 4</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 20</ind>
|
||||
<dep> 13</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 30</ind>
|
||||
<dep> 35</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 40</ind>
|
||||
<dep>65</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 50</ind>
|
||||
<dep>95</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 60</ind>
|
||||
<dep>125</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 70</ind>
|
||||
<dep>158</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 80</ind>
|
||||
<dep>188</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 90</ind>
|
||||
<dep>205</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 100</ind>
|
||||
<dep>219</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 110</ind>
|
||||
<dep>232</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 120</ind>
|
||||
<dep>246</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 130</ind>
|
||||
<dep>263</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 140</ind>
|
||||
<dep>274</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 150</ind>
|
||||
<dep>289</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 160</ind>
|
||||
<dep>302</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 170</ind>
|
||||
<dep>316</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 180</ind>
|
||||
<dep>330</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind> 220</ind>
|
||||
<dep>360</dep>
|
||||
</entry>
|
||||
</interpolation>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
2645
instrumentation/cad/cad.ac
Normal file
BIN
instrumentation/cad/cad.png
Normal file
After Width: | Height: | Size: 231 KiB |
4
instrumentation/cad/cad.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<PropertyList>
|
||||
<path>cad.ac</path>
|
||||
|
||||
</PropertyList>
|
555
instrumentation/cata_button.ac
Normal file
|
@ -0,0 +1,555 @@
|
|||
AC3Db
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "buttons"
|
||||
data 8
|
||||
Cube.001
|
||||
texture "cata_button.png"
|
||||
texrep 1 1
|
||||
crease 80.000000
|
||||
numvert 80
|
||||
0.010491 0.010305 -0.048625
|
||||
0.010491 -0.010677 -0.048625
|
||||
-0.010491 -0.010677 -0.048625
|
||||
-0.010491 0.010305 -0.048625
|
||||
0.010491 -0.010677 -0.025644
|
||||
0.010491 0.010305 -0.025644
|
||||
-0.010491 0.010305 -0.025644
|
||||
-0.010491 -0.010677 -0.025644
|
||||
0.011491 -0.010677 -0.047625
|
||||
0.011491 0.010305 -0.047625
|
||||
0.011491 0.010305 -0.026644
|
||||
0.011491 -0.010677 -0.026644
|
||||
0.010491 0.011305 -0.047625
|
||||
-0.010491 0.011305 -0.047625
|
||||
-0.010491 0.011305 -0.026644
|
||||
0.010491 0.011305 -0.026644
|
||||
0.010491 -0.011677 -0.047625
|
||||
0.010491 -0.011677 -0.026644
|
||||
-0.010491 -0.011677 -0.026644
|
||||
-0.010491 -0.011677 -0.047625
|
||||
0.010491 -0.011677 0.026529
|
||||
0.010491 -0.011677 0.047511
|
||||
-0.010491 -0.011677 0.047511
|
||||
-0.010491 -0.011677 0.026529
|
||||
0.010491 0.011305 0.026529
|
||||
-0.010491 0.011305 0.026529
|
||||
-0.010491 0.011305 0.047511
|
||||
0.010491 0.011305 0.047511
|
||||
0.011491 -0.010677 0.026529
|
||||
0.011491 0.010305 0.026529
|
||||
0.011491 0.010305 0.047511
|
||||
0.011491 -0.010677 0.047511
|
||||
0.010491 -0.010677 0.048511
|
||||
0.010491 0.010305 0.048511
|
||||
-0.010491 0.010305 0.048511
|
||||
-0.010491 -0.010677 0.048511
|
||||
0.010491 0.010305 0.025529
|
||||
0.010491 -0.010677 0.025529
|
||||
-0.010491 -0.010677 0.025529
|
||||
-0.010491 0.010305 0.025529
|
||||
0.010491 0.010305 0.000856
|
||||
0.010491 -0.010677 0.000856
|
||||
-0.010491 -0.010677 0.000856
|
||||
-0.010491 0.010305 0.000856
|
||||
0.010491 -0.010677 0.023838
|
||||
0.010491 0.010305 0.023838
|
||||
-0.010491 0.010305 0.023838
|
||||
-0.010491 -0.010677 0.023838
|
||||
0.011491 -0.010677 0.001856
|
||||
0.011491 0.010305 0.001856
|
||||
0.011491 0.010305 0.022838
|
||||
0.011491 -0.010677 0.022838
|
||||
0.010491 0.011305 0.001856
|
||||
-0.010491 0.011305 0.001856
|
||||
-0.010491 0.011305 0.022838
|
||||
0.010491 0.011305 0.022838
|
||||
0.010491 -0.011677 0.001856
|
||||
0.010491 -0.011677 0.022838
|
||||
-0.010491 -0.011677 0.022838
|
||||
-0.010491 -0.011677 0.001856
|
||||
0.010491 -0.011677 -0.022983
|
||||
0.010491 -0.011677 -0.002001
|
||||
-0.010491 -0.011677 -0.002001
|
||||
-0.010491 -0.011677 -0.022983
|
||||
0.010491 0.011305 -0.022983
|
||||
-0.010491 0.011305 -0.022983
|
||||
-0.010491 0.011305 -0.002001
|
||||
0.010491 0.011305 -0.002001
|
||||
0.011491 -0.010677 -0.022983
|
||||
0.011491 0.010305 -0.022983
|
||||
0.011491 0.010305 -0.002001
|
||||
0.011491 -0.010677 -0.002001
|
||||
0.010491 -0.010677 -0.001001
|
||||
0.010491 0.010305 -0.001001
|
||||
-0.010491 0.010305 -0.001001
|
||||
-0.010491 -0.010677 -0.001001
|
||||
0.010491 0.010305 -0.023983
|
||||
0.010491 -0.010677 -0.023983
|
||||
-0.010491 -0.010677 -0.023983
|
||||
-0.010491 0.010305 -0.023983
|
||||
numsurf 68
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.385183900595 0.577537238598
|
||||
1 0.385183900595 0.536138296127
|
||||
2 0.374834150076 0.536138355732
|
||||
3 0.374834150076 0.577537238598
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.385183900595 0.536138355732
|
||||
5 0.385183900595 0.577537238598
|
||||
6 0.374834150076 0.577537238598
|
||||
7 0.374834150076 0.536138355732
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
8 0.985666334629 0.0524915345013
|
||||
9 0.985666334629 0.917184531689
|
||||
10 0.803651750088 0.917184531689
|
||||
11 0.803651750088 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
12 0.385183900595 0.579510390759
|
||||
13 0.374834150076 0.579510390759
|
||||
14 0.374834150076 0.579510450363
|
||||
15 0.385183900595 0.579510450363
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
16 0.385183900595 0.534165143967
|
||||
17 0.385183900595 0.534165143967
|
||||
18 0.374834150076 0.534165143967
|
||||
19 0.374834150076 0.534165143967
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
10 0.803651750088 0.917184531689
|
||||
9 0.985666334629 0.917184531689
|
||||
12 0.985666334629 0.958398044109
|
||||
15 0.803651750088 0.958398044109
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
12 0.385183900595 0.579510390759
|
||||
0 0.385183900595 0.577537238598
|
||||
3 0.374834150076 0.577537238598
|
||||
13 0.374834150076 0.579510390759
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
2 0.374834150076 0.536138355732
|
||||
1 0.385183900595 0.536138296127
|
||||
16 0.385183900595 0.534165143967
|
||||
19 0.374834150076 0.534165143967
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.99586635828 0.917184531689
|
||||
9 0.985666334629 0.917184531689
|
||||
8 0.985666334629 0.0524915345013
|
||||
1 0.99586635828 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
5 0.793451607227 0.917184531689
|
||||
4 0.793451607227 0.0524915345013
|
||||
11 0.803651750088 0.0524915345013
|
||||
10 0.803651750088 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.374834150076 0.536138355732
|
||||
18 0.374834150076 0.534165143967
|
||||
17 0.385183900595 0.534165143967
|
||||
4 0.385183900595 0.536138355732
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
6 0.374834150076 0.577537238598
|
||||
5 0.385183900595 0.577537238598
|
||||
15 0.385183900595 0.579510450363
|
||||
14 0.374834150076 0.579510450363
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
11 0.803651750088 0.0524915345013
|
||||
17 0.803651750088 0.011277128011
|
||||
16 0.985666334629 0.011277128011
|
||||
8 0.985666334629 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
5 0.793451607227 0.917184531689
|
||||
10 0.803651750088 0.917184531689
|
||||
15 0.803651750088 0.958398044109
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
17 0.803651750088 0.011277128011
|
||||
11 0.803651750088 0.0524915345013
|
||||
4 0.793451607227 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
1 0.99586635828 0.0524915345013
|
||||
8 0.985666334629 0.0524915345013
|
||||
16 0.985666334629 0.011277128011
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.99586635828 0.917184531689
|
||||
12 0.985666334629 0.958398044109
|
||||
9 0.985666334629 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.385183900595 0.534165203571
|
||||
21 0.385183900595 0.534165263176
|
||||
22 0.374834150076 0.534165263176
|
||||
23 0.374834150076 0.534165203571
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
24 0.385183900595 0.579510509968
|
||||
25 0.374834150076 0.579510509968
|
||||
26 0.374834150076 0.579510509968
|
||||
27 0.385183900595 0.579510509968
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
28 0.219279453158 0.0524915345013
|
||||
29 0.219279453158 0.917184531689
|
||||
30 0.0152650475502 0.917184531689
|
||||
31 0.0152650475502 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
32 0.385183900595 0.536138415337
|
||||
33 0.385183900595 0.577537357807
|
||||
34 0.374834150076 0.577537357807
|
||||
35 0.374834150076 0.536138415337
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
36 0.385183900595 0.577537298203
|
||||
37 0.385183900595 0.536138415337
|
||||
38 0.374834150076 0.536138415337
|
||||
39 0.374834150076 0.577537298203
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
40 0.385183900595 0.577537238598
|
||||
41 0.385183900595 0.536138415337
|
||||
42 0.374834150076 0.536138415337
|
||||
43 0.374834150076 0.577537238598
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
44 0.385183900595 0.536138415337
|
||||
45 0.385183900595 0.577537298203
|
||||
46 0.374834150076 0.577537298203
|
||||
47 0.374834150076 0.536138415337
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
48 0.474948495626 0.0524915345013
|
||||
49 0.474948495626 0.917184531689
|
||||
50 0.266934156418 0.917184531689
|
||||
51 0.266934156418 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
52 0.385183900595 0.579510509968
|
||||
53 0.374834150076 0.579510509968
|
||||
54 0.374834150076 0.579510509968
|
||||
55 0.385183900595 0.579510509968
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
56 0.385183900595 0.534165143967
|
||||
57 0.385183900595 0.534165203571
|
||||
58 0.374834150076 0.534165203571
|
||||
59 0.374834150076 0.534165143967
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
60 0.385183900595 0.534165143967
|
||||
61 0.385183900595 0.534165143967
|
||||
62 0.374834150076 0.534165143967
|
||||
63 0.374834150076 0.534165143967
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
64 0.385183900595 0.579510450363
|
||||
65 0.374834150076 0.579510450363
|
||||
66 0.374834150076 0.579510509968
|
||||
67 0.385183900595 0.579510450363
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
68 0.732308506966 0.0524915345013
|
||||
69 0.732308506966 0.917184531689
|
||||
70 0.536294043064 0.917184531689
|
||||
71 0.536294043064 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
72 0.385183900595 0.536138415337
|
||||
73 0.385183900595 0.577537238598
|
||||
74 0.374834150076 0.577537238598
|
||||
75 0.374834150076 0.536138415337
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
76 0.385183900595 0.577537238598
|
||||
77 0.385183900595 0.536138355732
|
||||
78 0.374834150076 0.536138355732
|
||||
79 0.374834150076 0.577537238598
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
24 0.219279453158 0.958398044109
|
||||
27 0.0152650475502 0.958398044109
|
||||
30 0.0152650475502 0.917184531689
|
||||
29 0.219279453158 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
42 0.374834150076 0.536138415337
|
||||
41 0.385183900595 0.536138415337
|
||||
56 0.385183900595 0.534165143967
|
||||
59 0.374834150076 0.534165143967
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
43 0.374834150076 0.577537238598
|
||||
53 0.374834150076 0.579510509968
|
||||
52 0.385183900595 0.579510509968
|
||||
40 0.385183900595 0.577537238598
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
67 0.385183900595 0.579510450363
|
||||
66 0.374834150076 0.579510509968
|
||||
74 0.374834150076 0.577537238598
|
||||
73 0.385183900595 0.577537238598
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.219279453158 0.011277128011
|
||||
28 0.219279453158 0.0524915345013
|
||||
31 0.0152650475502 0.0524915345013
|
||||
21 0.0152650475502 0.011277128011
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
51 0.266934156418 0.0524915345013
|
||||
57 0.266934156418 0.011277128011
|
||||
56 0.474948495626 0.011277128011
|
||||
48 0.474948495626 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
46 0.374834150076 0.577537298203
|
||||
45 0.385183900595 0.577537298203
|
||||
55 0.385183900595 0.579510509968
|
||||
54 0.374834150076 0.579510509968
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
47 0.374834150076 0.536138415337
|
||||
58 0.374834150076 0.534165203571
|
||||
57 0.385183900595 0.534165203571
|
||||
44 0.385183900595 0.536138415337
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
64 0.385183900595 0.579510450363
|
||||
76 0.385183900595 0.577537238598
|
||||
79 0.374834150076 0.577537238598
|
||||
65 0.374834150076 0.579510450363
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
61 0.385183900595 0.534165143967
|
||||
72 0.385183900595 0.536138415337
|
||||
75 0.374834150076 0.536138415337
|
||||
62 0.374834150076 0.534165143967
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
50 0.266934156418 0.917184531689
|
||||
49 0.474948495626 0.917184531689
|
||||
52 0.474948495626 0.958398044109
|
||||
55 0.266934156418 0.958398044109
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
28 0.219279453158 0.0524915345013
|
||||
37 0.229479774833 0.0524915345013
|
||||
36 0.229479774833 0.917184531689
|
||||
29 0.219279453158 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
31 0.0152650475502 0.0524915345013
|
||||
30 0.0152650475502 0.917184531689
|
||||
33 0.00506484508514 0.917184531689
|
||||
32 0.00506484508514 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
68 0.732308506966 0.0524915345013
|
||||
77 0.742508530617 0.0524915345013
|
||||
76 0.742508530617 0.917184531689
|
||||
69 0.732308506966 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
60 0.385183900595 0.534165143967
|
||||
63 0.374834150076 0.534165143967
|
||||
78 0.374834150076 0.536138355732
|
||||
77 0.385183900595 0.536138355732
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.385183900595 0.534165203571
|
||||
23 0.374834150076 0.534165203571
|
||||
38 0.374834150076 0.536138415337
|
||||
37 0.385183900595 0.536138415337
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
21 0.385183900595 0.534165263176
|
||||
32 0.385183900595 0.536138415337
|
||||
35 0.374834150076 0.536138415337
|
||||
22 0.374834150076 0.534165263176
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
71 0.536294043064 0.0524915345013
|
||||
70 0.536294043064 0.917184531689
|
||||
73 0.526093959808 0.917184531689
|
||||
72 0.526093959808 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
45 0.256733953953 0.917184531689
|
||||
44 0.256733953953 0.0524915345013
|
||||
51 0.266934156418 0.0524915345013
|
||||
50 0.266934156418 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
24 0.385183900595 0.579510509968
|
||||
36 0.385183900595 0.577537298203
|
||||
39 0.374834150076 0.577537298203
|
||||
25 0.374834150076 0.579510509968
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
40 0.485148578882 0.917184531689
|
||||
49 0.474948495626 0.917184531689
|
||||
48 0.474948495626 0.0524915345013
|
||||
41 0.485148578882 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
64 0.732308506966 0.958398044109
|
||||
67 0.536294043064 0.958398044109
|
||||
70 0.536294043064 0.917184531689
|
||||
69 0.732308506966 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
60 0.732308506966 0.011277128011
|
||||
68 0.732308506966 0.0524915345013
|
||||
71 0.536294043064 0.0524915345013
|
||||
61 0.536294043064 0.011277128011
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
27 0.385183900595 0.579510509968
|
||||
26 0.374834150076 0.579510509968
|
||||
34 0.374834150076 0.577537357807
|
||||
33 0.385183900595 0.577537357807
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
73 0.526093959808 0.917184531689
|
||||
70 0.536294043064 0.917184531689
|
||||
67 0.536294043064 0.958398044109
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
40 0.485148578882 0.917184531689
|
||||
52 0.474948495626 0.958398044109
|
||||
49 0.474948495626 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
41 0.485148578882 0.0524915345013
|
||||
48 0.474948495626 0.0524915345013
|
||||
56 0.474948495626 0.011277128011
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
61 0.536294043064 0.011277128011
|
||||
71 0.536294043064 0.0524915345013
|
||||
72 0.526093959808 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
77 0.742508530617 0.0524915345013
|
||||
68 0.732308506966 0.0524915345013
|
||||
60 0.732308506966 0.011277128011
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
36 0.229479774833 0.917184531689
|
||||
24 0.219279453158 0.958398044109
|
||||
29 0.219279453158 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
21 0.0152650475502 0.011277128011
|
||||
31 0.0152650475502 0.0524915345013
|
||||
32 0.00506484508514 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
76 0.742508530617 0.917184531689
|
||||
64 0.732308506966 0.958398044109
|
||||
69 0.732308506966 0.917184531689
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
28 0.219279453158 0.0524915345013
|
||||
20 0.219279453158 0.011277128011
|
||||
37 0.229479774833 0.0524915345013
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
33 0.00506484508514 0.917184531689
|
||||
30 0.0152650475502 0.917184531689
|
||||
27 0.0152650475502 0.958398044109
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
45 0.256733953953 0.917184531689
|
||||
50 0.266934156418 0.917184531689
|
||||
55 0.266934156418 0.958398044109
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 3
|
||||
57 0.266934156418 0.011277128011
|
||||
51 0.266934156418 0.0524915345013
|
||||
44 0.256733953953 0.0524915345013
|
||||
kids 0
|
BIN
instrumentation/cata_button.png
Normal file
After Width: | Height: | Size: 32 KiB |
9
instrumentation/cata_button.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>cata_button.ac</path>
|
||||
|
||||
|
||||
|
||||
</PropertyList>
|
1531
instrumentation/clock/clock.ac
Normal file
BIN
instrumentation/clock/clock.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
instrumentation/clock/clock.rgb
Normal file
45
instrumentation/clock/clock.xml
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>clock.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>SecondHand</object-name>
|
||||
<property>/sim/time/utc/day-seconds</property>
|
||||
<factor>6</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>MinuteHand</object-name>
|
||||
<property>/sim/time/utc/day-seconds</property>
|
||||
<factor>0.1</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>HourHand</object-name>
|
||||
<property>/sim/time/utc/day-seconds</property>
|
||||
<factor>0.008333</factor>
|
||||
<axis>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
BIN
instrumentation/compass1.png
Normal file
After Width: | Height: | Size: 129 KiB |
1537
instrumentation/compass1/compass.ac
Normal file
BIN
instrumentation/compass1/compass.face.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
instrumentation/compass1/compass.png
Normal file
After Width: | Height: | Size: 15 KiB |
18
instrumentation/compass1/compass.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>compass.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>PIA.card</object-name>
|
||||
<property>instrumentation/magnetic-compass/indicated-heading-deg</property>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
65
instrumentation/dme/dme.ac
Normal file
|
@ -0,0 +1,65 @@
|
|||
AC3Db
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "dmepanel"
|
||||
data 8
|
||||
Cube.001
|
||||
texture "dme.png"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.006582 -0.01827 -0.043379
|
||||
0.006582 -0.01827 0.045083
|
||||
0.000158 -0.01827 0.045083
|
||||
0.000158 -0.01827 -0.043379
|
||||
0.006582 0.020313 -0.043379
|
||||
0.006581 0.020313 0.045083
|
||||
0.000158 0.020313 0.045083
|
||||
0.000158 0.020313 -0.043379
|
||||
numsurf 6
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.999999463558 0.0
|
||||
1 0.0 1.9310324717e-007
|
||||
2 4.63229838488e-007 1.9310324717e-007
|
||||
3 0.999999940395 0.0
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.999999463558 0.999999821186
|
||||
7 0.999999940395 0.999999821186
|
||||
6 4.63229838488e-007 1.0
|
||||
5 0.0 1.0
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.999999463558 0.0
|
||||
4 0.999999463558 0.999999821186
|
||||
5 0.0 1.0
|
||||
1 0.0 1.9310324717e-007
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
1 0.0 1.9310324717e-007
|
||||
5 0.0 1.0
|
||||
6 4.63229838488e-007 1.0
|
||||
2 4.63229838488e-007 1.9310324717e-007
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
2 4.63229838488e-007 1.9310324717e-007
|
||||
6 4.63229838488e-007 1.0
|
||||
7 0.999999940395 0.999999821186
|
||||
3 0.999999940395 0.0
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.999999463558 0.999999821186
|
||||
0 0.999999463558 0.0
|
||||
3 0.999999940395 0.0
|
||||
7 0.999999940395 0.999999821186
|
||||
kids 0
|
BIN
instrumentation/dme/dme.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
instrumentation/dme/dme.rgb
Normal file
216
instrumentation/dme/dme.xml
Normal file
|
@ -0,0 +1,216 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!--
|
||||
Maintainer: Torsten Dreyer
|
||||
-->
|
||||
<PropertyList>
|
||||
|
||||
|
||||
<path>dme.ac</path>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/Instruments-3d/ki266/ki266.xml</path>
|
||||
<name>ki266</name>
|
||||
<offsets>
|
||||
<x-m>0.007</x-m>
|
||||
<y-m>0.00</y-m>
|
||||
<z-m>0.0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<!-- the power switch -->
|
||||
<!--<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>PowerSwitch.Lever</object-name>
|
||||
<property alias="../../params/power-btn"/>
|
||||
<factor>-60</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0.000862624</x-m>
|
||||
<y-m>-0.0328855</y-m>
|
||||
<z-m>0</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>on</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property alias="../../../../params/power-btn"/>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>off</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property alias="../../../../params/power-btn"/>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>PowerSwitch</object-name>
|
||||
<visible>true</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property alias="../../../../params/power-btn"/>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>-->
|
||||
|
||||
<!-- the source switch
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>SourceSelectorKnob</object-name>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<factor>-30</factor>
|
||||
<min-deg>-60</min-deg>
|
||||
<max-deg>0</max-deg>
|
||||
<offset-deg>30</offset-deg>
|
||||
<axis>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0.005</x-m>
|
||||
<y-m>-0.0589436</y-m>
|
||||
<z-m>0</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>SourceSelectorPick.R</object-name>
|
||||
<visible>false</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<step>1</step>
|
||||
<min>1</min>
|
||||
<max>3</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/source</property>
|
||||
<value>instrumentation/nav[0]/frequencies/selected-mhz</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/source</property>
|
||||
<value>instrumentation/dme/frequencies/selected-mhz</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/selected-mhz</property>
|
||||
<property>instrumentation/nav[0]/frequencies/selected-mhz</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">3</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/source</property>
|
||||
<value>instrumentation/nav[1]/frequencies/selected-mhz</value>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>SourceSelectorPick.L</object-name>
|
||||
<visible>false</visible>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<step>-1</step>
|
||||
<min>1</min>
|
||||
<max>3</max>
|
||||
<wrap>0</wrap>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/source</property>
|
||||
<value>instrumentation/nav[0]/frequencies/selected-mhz</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/source</property>
|
||||
<value>instrumentation/dme/frequencies/selected-mhz</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>instrumentation/dme/switch-position</property>
|
||||
<value type="int">2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>instrumentation/dme/frequencies/selected-mhz</property>
|
||||
<property>instrumentation/nav[1]/frequencies/selected-mhz</property>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>-->
|
||||
|
||||
</PropertyList>
|
7122
instrumentation/engine_panel/engine_panel.ac
Normal file
BIN
instrumentation/engine_panel/engine_panel.png
Normal file
After Width: | Height: | Size: 401 KiB |
14
instrumentation/engine_panel/engine_panel.xml
Normal file
|
@ -0,0 +1,14 @@
|
|||
<PropertyList>
|
||||
<path>engine_panel.ac</path>
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>Plane</object-name>
|
||||
|
||||
<emission>
|
||||
<red>0.028</red>
|
||||
<green>0.014</green>
|
||||
<blue>0.007</blue>
|
||||
<factor-prop>systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
</PropertyList>
|
298
instrumentation/fdm1.ac
Normal file
|
@ -0,0 +1,298 @@
|
|||
AC3Db
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
MATERIAL "DefaultWhite.001" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "fdm1"
|
||||
data 4
|
||||
fdm1
|
||||
texture "//FDM1.rgb"
|
||||
texrep 1 1
|
||||
crease 30
|
||||
numvert 32
|
||||
-0.001811 -0.032846 0.050174
|
||||
-0.001811 -0.033248 -0.045208
|
||||
-0.001811 0.038089 -0.044807
|
||||
-0.001811 0.03809 0.050174
|
||||
-0.001811 -0.038056 0.054182
|
||||
-0.001811 -0.038057 -0.050418
|
||||
-0.001811 0.041296 -0.050018
|
||||
-0.001811 0.040895 0.054182
|
||||
-0.001811 -0.041663 0.062999
|
||||
-0.001811 -0.041263 -0.05683
|
||||
-0.001811 0.046906 -0.05643
|
||||
-0.001811 0.046907 0.062998
|
||||
-0.001811 0.065371 -0.083923
|
||||
-0.001811 -0.078896 -0.083345
|
||||
-0.001811 -0.079473 0.067847
|
||||
-0.001811 0.065948 0.068423
|
||||
-0.001801 -0.033248 -0.045208
|
||||
0.003016 -0.038057 -0.050418
|
||||
-0.001801 0.038089 -0.044807
|
||||
0.003016 0.041296 -0.050018
|
||||
-0.001801 -0.032846 0.050174
|
||||
0.003016 -0.038056 0.054182
|
||||
-0.001801 0.03809 0.050174
|
||||
0.003016 0.040895 0.054182
|
||||
0.003016 -0.041663 0.062999
|
||||
0.003016 0.046907 0.062998
|
||||
0.003016 -0.041263 -0.05683
|
||||
0.003016 0.046906 -0.05643
|
||||
0.003016 0.065371 -0.083923
|
||||
0.003016 -0.078896 -0.083345
|
||||
0.003016 -0.079473 0.067847
|
||||
0.003016 0.065948 0.068423
|
||||
numsurf 37
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
5 0.748739600182 0.341627240181
|
||||
1 0.717283964157 0.370664596558
|
||||
16 0.717283964157 0.370664596558
|
||||
17 0.748739600182 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
6 0.746321499348 0.820767045021
|
||||
2 0.714861094952 0.801407217979
|
||||
18 0.714861094952 0.801407217979
|
||||
19 0.746321499348 0.820767045021
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.117148905993 0.341627240181
|
||||
0 0.141349762678 0.373087406158
|
||||
20 0.141349762678 0.373087406158
|
||||
21 0.117148905993 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 0.141349762678 0.801407217979
|
||||
0 0.141349762678 0.373087406158
|
||||
20 0.141349762678 0.373087406158
|
||||
22 0.141349762678 0.801407217979
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
1 0.717283964157 0.370664596558
|
||||
0 0.141349762678 0.373087406158
|
||||
20 0.141349762678 0.373087406158
|
||||
16 0.717283964157 0.370664596558
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
2 0.714861094952 0.801407217979
|
||||
1 0.717283964157 0.370664596558
|
||||
16 0.717283964157 0.370664596558
|
||||
18 0.714861094952 0.801407217979
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 0.141349762678 0.801407217979
|
||||
2 0.714861094952 0.801407217979
|
||||
18 0.714861094952 0.801407217979
|
||||
22 0.141349762678 0.801407217979
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.117148905993 0.818344295025
|
||||
3 0.141349762678 0.801407217979
|
||||
22 0.141349762678 0.801407217979
|
||||
23 0.117148905993 0.818344295025
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.117148905993 0.818344295025
|
||||
4 0.117148905993 0.341627240181
|
||||
21 0.117148905993 0.341627240181
|
||||
23 0.117148905993 0.818344295025
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
5 0.748739600182 0.341627240181
|
||||
4 0.117148905993 0.341627240181
|
||||
21 0.117148905993 0.341627240181
|
||||
17 0.748739600182 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
6 0.746321499348 0.820767045021
|
||||
5 0.748739600182 0.341627240181
|
||||
17 0.748739600182 0.341627240181
|
||||
19 0.746321499348 0.820767045021
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.117148905993 0.818344295025
|
||||
6 0.746321499348 0.820767045021
|
||||
19 0.746321499348 0.820767045021
|
||||
23 0.117148905993 0.818344295025
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
11 0.0639152526855 0.854645371437
|
||||
8 0.0639152526855 0.319849193096
|
||||
24 0.0639152526855 0.319849193096
|
||||
25 0.0639152526855 0.854645371437
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
9 0.787459135056 0.322267383337
|
||||
8 0.0639152526855 0.319849193096
|
||||
24 0.0639152526855 0.319849193096
|
||||
26 0.787459135056 0.322267383337
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
10 0.785040915012 0.854645371437
|
||||
9 0.787459135056 0.322267383337
|
||||
26 0.787459135056 0.322267383337
|
||||
27 0.785040915012 0.854645371437
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
11 0.0639152526855 0.854645371437
|
||||
10 0.785040915012 0.854645371437
|
||||
27 0.785040915012 0.854645371437
|
||||
25 0.0639152526855 0.854645371437
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
13 0.947558999062 0.0950311720371
|
||||
12 0.951045930386 0.966135144234
|
||||
28 0.951045930386 0.966135144234
|
||||
29 0.947558999062 0.0950311720371
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
14 0.0346422493458 0.0915486216545
|
||||
13 0.947558999062 0.0950311720371
|
||||
29 0.947558999062 0.0950311720371
|
||||
30 0.0346422493458 0.0915486216545
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
15 0.0311596989632 0.969617724419
|
||||
14 0.0346422493458 0.0915486216545
|
||||
30 0.0346422493458 0.0915486216545
|
||||
31 0.0311596989632 0.969617724419
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
15 0.0311596989632 0.969617724419
|
||||
12 0.951045930386 0.966135144234
|
||||
28 0.951045930386 0.966135144234
|
||||
31 0.0311596989632 0.969617724419
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.141349762678 0.373087406158
|
||||
16 0.717283964157 0.370664596558
|
||||
18 0.714861094952 0.801407217979
|
||||
22 0.141349762678 0.801407217979
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
18 0.714861094952 0.801407217979
|
||||
19 0.746321499348 0.820767045021
|
||||
23 0.117148905993 0.818344295025
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
17 0.748739600182 0.341627240181
|
||||
19 0.746321499348 0.820767045021
|
||||
18 0.714861094952 0.801407217979
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
22 0.141349762678 0.801407217979
|
||||
23 0.117148905993 0.818344295025
|
||||
21 0.117148905993 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
18 0.714861094952 0.801407217979
|
||||
23 0.117148905993 0.818344295025
|
||||
22 0.141349762678 0.801407217979
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
20 0.141349762678 0.373087406158
|
||||
22 0.141349762678 0.801407217979
|
||||
21 0.117148905993 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
17 0.748739600182 0.341627240181
|
||||
18 0.714861094952 0.801407217979
|
||||
16 0.717283964157 0.370664596558
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
16 0.717283964157 0.370664596558
|
||||
20 0.141349762678 0.373087406158
|
||||
21 0.117148905993 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
17 0.748739600182 0.341627240181
|
||||
16 0.717283964157 0.370664596558
|
||||
21 0.117148905993 0.341627240181
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
21 0.117148905993 0.341627240181
|
||||
23 0.117148905993 0.818344295025
|
||||
25 0.0639152526855 0.854645371437
|
||||
24 0.0639152526855 0.319849193096
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
17 0.748739600182 0.341627240181
|
||||
21 0.117148905993 0.341627240181
|
||||
24 0.0639152526855 0.319849193096
|
||||
26 0.787459135056 0.322267383337
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
19 0.746321499348 0.820767045021
|
||||
17 0.748739600182 0.341627240181
|
||||
26 0.787459135056 0.322267383337
|
||||
27 0.785040915012 0.854645371437
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
19 0.746321499348 0.820767045021
|
||||
27 0.785040915012 0.854645371437
|
||||
25 0.0639152526855 0.854645371437
|
||||
23 0.117148905993 0.818344295025
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
24 0.0639152526855 0.319849193096
|
||||
25 0.0639152526855 0.854645371437
|
||||
31 0.0311596989632 0.969617724419
|
||||
30 0.0346422493458 0.0915486216545
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
25 0.0639152526855 0.854645371437
|
||||
27 0.785040915012 0.854645371437
|
||||
28 0.951045930386 0.966135144234
|
||||
31 0.0311596989632 0.969617724419
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
26 0.787459135056 0.322267383337
|
||||
29 0.947558999062 0.0950311720371
|
||||
28 0.951045930386 0.966135144234
|
||||
27 0.785040915012 0.854645371437
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
24 0.0639152526855 0.319849193096
|
||||
30 0.0346422493458 0.0915486216545
|
||||
29 0.947558999062 0.0950311720371
|
||||
26 0.787459135056 0.322267383337
|
||||
kids 0
|
494
instrumentation/gsdi/gsdi.ac
Normal file
|
@ -0,0 +1,494 @@
|
|||
AC3Db
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
MATERIAL "material.001" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 1 1 1 shi 72 trans 0
|
||||
MATERIAL "DefaultWhite.002" rgb 1 1 1 amb 1 1 1 emis 0.15 0.15 0.15 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
OBJECT world
|
||||
kids 4
|
||||
OBJECT poly
|
||||
name "Face.002"
|
||||
data 8
|
||||
Mesh.003
|
||||
texture "gsdi.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 11
|
||||
0.004225 0.03 0.03
|
||||
0.004225 0.024153 -0.03
|
||||
0.004225 0.03 -0.028081
|
||||
0.004225 0.027077 -0.029041
|
||||
0.004225 -0.022132 -0.03
|
||||
0.004225 -0.026066 -0.028869
|
||||
0.004225 -0.03 -0.025707
|
||||
0.004225 -0.028583 -0.028146
|
||||
0.004225 -0.029291 -0.026926
|
||||
0.004225 -0.029566 0.029551
|
||||
0.004225 -0.03 0.028858
|
||||
numsurf 6
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 1.20101737976 1.15360808372
|
||||
5 1.19686508179 -0.129203915596
|
||||
4 1.22416615486 -0.0342413783073
|
||||
1 1.22416567802 1.08302605152
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 1.20101737976 1.15360808372
|
||||
8 1.14996361732 -0.207051694393
|
||||
7 1.1794128418 -0.189961373806
|
||||
5 1.19686508179 -0.129203915596
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 -0.224166154861 1.22416615486
|
||||
9 -0.213327586651 -0.213689684868
|
||||
2 1.17784380913 1.22416615486
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
2 1.17784380913 1.22416615486
|
||||
9 -0.213327586651 -0.213689684868
|
||||
3 1.20101737976 1.15360808372
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 1.20101737976 1.15360808372
|
||||
9 -0.213327586651 -0.213689684868
|
||||
10 -0.196599662304 -0.224166154861
|
||||
8 1.14996361732 -0.207051694393
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
8 1.14996361732 -0.207051694393
|
||||
10 -0.196599662304 -0.224166154861
|
||||
6 1.12053775787 -0.224166154861
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Face.003"
|
||||
data 8
|
||||
Mesh.006
|
||||
texture "tach.png"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 56
|
||||
0 0.029938 -0.028148
|
||||
0 -0.028327 -0.028327
|
||||
0 -0.028327 0.03137
|
||||
0 0.030475 0.031191
|
||||
0 0.02472 -0.029916
|
||||
0 0.032444 -0.022318
|
||||
0 -0.030833 -0.024497
|
||||
0 -0.023146 -0.029781
|
||||
0 -0.024215 0.033499
|
||||
0 -0.030833 0.027764
|
||||
0 0.032444 0.024965
|
||||
0 0.025673 0.033358
|
||||
0.008592 0.029938 -0.028148
|
||||
0.008592 0.02472 -0.029916
|
||||
0.008592 0.032444 -0.022318
|
||||
0.008592 -0.028327 -0.028327
|
||||
0.008592 -0.030833 -0.024497
|
||||
0.008592 -0.023146 -0.029781
|
||||
0.008592 -0.028327 0.03137
|
||||
0.008592 -0.024215 0.033499
|
||||
0.008592 -0.030833 0.027764
|
||||
0.008592 0.030475 0.031191
|
||||
0.008592 0.032444 0.024965
|
||||
0.008592 0.025673 0.033358
|
||||
0 -0.015932 0.015753
|
||||
0 -0.008705 0.020582
|
||||
0 -0.000179 0.022278
|
||||
0 0.008347 0.020582
|
||||
0 0.015574 0.015753
|
||||
0 0.020404 0.008525
|
||||
0 0.022099 0
|
||||
0 0.020404 -0.008526
|
||||
0 0.015574 -0.015753
|
||||
0 0.008347 -0.020583
|
||||
0 -0.000179 -0.022278
|
||||
0 -0.008705 -0.020583
|
||||
0 -0.015932 -0.015753
|
||||
0 -0.020761 -0.008526
|
||||
0 -0.022457 0
|
||||
0 -0.020761 0.008525
|
||||
0.008651 -0.015932 0.015753
|
||||
0.008651 -0.008705 0.020582
|
||||
0.008651 -0.000179 0.022278
|
||||
0.008651 0.008347 0.020582
|
||||
0.008651 0.015574 0.015753
|
||||
0.008651 0.020404 0.008525
|
||||
0.008651 0.022099 0
|
||||
0.008651 0.020404 -0.008526
|
||||
0.008651 0.015574 -0.015753
|
||||
0.008651 0.008347 -0.020583
|
||||
0.008651 -0.000179 -0.022278
|
||||
0.008651 -0.008705 -0.020583
|
||||
0.008651 -0.015932 -0.015753
|
||||
0.008651 -0.020761 -0.008526
|
||||
0.008651 -0.022457 0
|
||||
0.008651 -0.020761 0.008525
|
||||
numsurf 48
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
4 0.880161881447 0.819025874138
|
||||
0 0.880161881447 0.821688055992
|
||||
12 0.884545445442 0.821688055992
|
||||
13 0.884545445442 0.819025874138
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
12 0.884545445442 0.821688055992
|
||||
0 0.880161881447 0.821688055992
|
||||
5 0.880161881447 0.822966694832
|
||||
14 0.884545445442 0.822966694832
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
6 0.880161881447 0.790683269501
|
||||
1 0.880161881447 0.791961789131
|
||||
15 0.884545445442 0.791961789131
|
||||
16 0.884545445442 0.790683269501
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
7 0.880161881447 0.794605135918
|
||||
17 0.884545445442 0.794605135918
|
||||
15 0.884545445442 0.791961789131
|
||||
1 0.880161881447 0.791961789131
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
4 0.880161881447 0.819025874138
|
||||
13 0.884545445442 0.819025874138
|
||||
17 0.884545445442 0.794605135918
|
||||
7 0.880161881447 0.794605135918
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
8 0.880161881447 0.794059753418
|
||||
2 0.880161881447 0.791961789131
|
||||
18 0.884545445442 0.791961789131
|
||||
19 0.884545445442 0.794059753418
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
9 0.880161881447 0.790683269501
|
||||
20 0.884545445442 0.790683269501
|
||||
18 0.884545445442 0.791961789131
|
||||
2 0.880161881447 0.791961789131
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
6 0.880161881447 0.790683269501
|
||||
16 0.884545445442 0.790683269501
|
||||
20 0.884545445442 0.790683269501
|
||||
9 0.880161881447 0.790683269501
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
10 0.880161881447 0.822966694832
|
||||
3 0.880161881447 0.821962118149
|
||||
21 0.884545445442 0.821962118149
|
||||
22 0.884545445442 0.822966694832
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
5 0.880161881447 0.822966694832
|
||||
10 0.880161881447 0.822966694832
|
||||
22 0.884545445442 0.822966694832
|
||||
14 0.884545445442 0.822966694832
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
11 0.880161881447 0.81951212883
|
||||
23 0.884545445442 0.81951212883
|
||||
21 0.884545445442 0.821962118149
|
||||
3 0.880161881447 0.821962118149
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
8 0.880161881447 0.794059753418
|
||||
19 0.884545445442 0.794059753418
|
||||
23 0.884545445442 0.81951212883
|
||||
11 0.880161881447 0.81951212883
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
25 0.880161881447 0.801972746849
|
||||
41 0.884575545788 0.801972746849
|
||||
40 0.884575545788 0.798285603523
|
||||
24 0.880161881447 0.798285603523
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
26 0.880161881447 0.806322693825
|
||||
42 0.884575545788 0.806322693825
|
||||
41 0.884575545788 0.801972746849
|
||||
25 0.880161881447 0.801972746849
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
27 0.880161881447 0.810672521591
|
||||
43 0.884575545788 0.810672521591
|
||||
42 0.884575545788 0.806322693825
|
||||
26 0.880161881447 0.806322693825
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
28 0.880161881447 0.814359664917
|
||||
44 0.884575545788 0.814359664917
|
||||
43 0.884575545788 0.810672521591
|
||||
27 0.880161881447 0.810672521591
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
29 0.880161881447 0.816823959351
|
||||
45 0.884575545788 0.816823959351
|
||||
44 0.884575545788 0.814359664917
|
||||
28 0.880161881447 0.814359664917
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
30 0.880161881447 0.817688703537
|
||||
46 0.884575545788 0.817688703537
|
||||
45 0.884575545788 0.816823959351
|
||||
29 0.880161881447 0.816823959351
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
31 0.880161881447 0.816823959351
|
||||
47 0.884575545788 0.816823959351
|
||||
46 0.884575545788 0.817688703537
|
||||
30 0.880161881447 0.817688703537
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
32 0.880161881447 0.814359664917
|
||||
48 0.884575545788 0.814359664917
|
||||
47 0.884575545788 0.816823959351
|
||||
31 0.880161881447 0.816823959351
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
33 0.880161881447 0.810672521591
|
||||
49 0.884575545788 0.810672521591
|
||||
48 0.884575545788 0.814359664917
|
||||
32 0.880161881447 0.814359664917
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
34 0.880161881447 0.806322693825
|
||||
50 0.884575545788 0.806322693825
|
||||
49 0.884575545788 0.810672521591
|
||||
33 0.880161881447 0.810672521591
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
35 0.880161881447 0.801972746849
|
||||
51 0.884575545788 0.801972746849
|
||||
50 0.884575545788 0.806322693825
|
||||
34 0.880161881447 0.806322693825
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
36 0.880161881447 0.798285603523
|
||||
52 0.884575545788 0.798285603523
|
||||
51 0.884575545788 0.801972746849
|
||||
35 0.880161881447 0.801972746849
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
37 0.880161881447 0.795821905136
|
||||
53 0.884575545788 0.795821905136
|
||||
52 0.884575545788 0.798285603523
|
||||
36 0.880161881447 0.798285603523
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
38 0.880161881447 0.794956624508
|
||||
54 0.884575545788 0.794956624508
|
||||
53 0.884575545788 0.795821905136
|
||||
37 0.880161881447 0.795821905136
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
39 0.880161881447 0.795821905136
|
||||
55 0.884575545788 0.795821905136
|
||||
54 0.884575545788 0.794956624508
|
||||
38 0.880161881447 0.794956624508
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
24 0.880161881447 0.798285603523
|
||||
40 0.884575545788 0.798285603523
|
||||
55 0.884575545788 0.795821905136
|
||||
39 0.880161881447 0.795821905136
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
21 0.0363951735198 0.968882799149
|
||||
44 0.191242232919 0.806504964828
|
||||
45 0.334401935339 0.902377963066
|
||||
22 0.134573861957 0.999999940395
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
21 0.0363951735198 0.968882799149
|
||||
23 0.00222342531197 0.89299428463
|
||||
43 0.0955977216363 0.663052916527
|
||||
44 0.191242232919 0.806504964828
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
18 0.0335724949837 0.0396037176251
|
||||
40 0.191242232919 0.181127816439
|
||||
41 0.0955977216363 0.324579894543
|
||||
19 0.0 0.104587823153
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
18 0.0335724949837 0.0396037176251
|
||||
20 0.0904359668493 2.94363662334e-008
|
||||
55 0.334401905537 0.0852746888995
|
||||
40 0.191242232919 0.181127816439
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
15 0.974942803383 0.0396036580205
|
||||
52 0.815258562565 0.181127756834
|
||||
53 0.672118604183 0.0852746888995
|
||||
16 0.914547026157 0.0
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
15 0.974942803383 0.0396036580205
|
||||
17 0.997871160507 0.121481738985
|
||||
51 0.910922825336 0.32457986474
|
||||
52 0.815258562565 0.181127756834
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
12 0.972120165825 0.960396230221
|
||||
14 0.880186080933 0.999999940395
|
||||
47 0.672118604183 0.902377963066
|
||||
48 0.815258562565 0.806504964828
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
12 0.972120165825 0.960396230221
|
||||
48 0.815258562565 0.806504964828
|
||||
49 0.910922825336 0.663052916527
|
||||
13 1.0 0.877933442593
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
22 0.134573861957 0.999999940395
|
||||
45 0.334401935339 0.902377963066
|
||||
46 0.503250360489 0.936022758484
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
14 0.880186080933 0.999999940395
|
||||
46 0.503250360489 0.936022758484
|
||||
47 0.672118604183 0.902377963066
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
14 0.880186080933 0.999999940395
|
||||
22 0.134573861957 0.999999940395
|
||||
46 0.503250360489 0.936022758484
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
13 1.0 0.877933442593
|
||||
49 0.910922825336 0.663052916527
|
||||
50 0.94449442625 0.493816375732
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
17 0.997871160507 0.121481738985
|
||||
50 0.94449442625 0.493816375732
|
||||
51 0.910922825336 0.32457986474
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
13 1.0 0.877933442593
|
||||
50 0.94449442625 0.493816375732
|
||||
17 0.997871160507 0.121481738985
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
16 0.914547026157 0.0
|
||||
53 0.672118604183 0.0852746888995
|
||||
54 0.503250360489 0.0516100153327
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
20 0.0904359668493 2.94363662334e-008
|
||||
54 0.503250360489 0.0516100153327
|
||||
55 0.334401905537 0.0852746888995
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
16 0.914547026157 0.0
|
||||
54 0.503250360489 0.0516100153327
|
||||
20 0.0904359668493 2.94363662334e-008
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
19 0.0 0.104587823153
|
||||
41 0.0955977216363 0.324579894543
|
||||
42 0.0620063021779 0.493816435337
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
23 0.00222342531197 0.89299428463
|
||||
42 0.0620063021779 0.493816435337
|
||||
43 0.0955977216363 0.663052916527
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 3
|
||||
19 0.0 0.104587823153
|
||||
42 0.0620063021779 0.493816435337
|
||||
23 0.00222342531197 0.89299428463
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "uneedle"
|
||||
data 8
|
||||
Mesh.005
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.005456 0.000885 0.029961
|
||||
0.005456 0.000887 -0.029989
|
||||
0.005456 -0.000915 -0.029981
|
||||
0.005456 -0.000917 0.029968
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.0 0.0
|
||||
3 0.0 0.0
|
||||
2 0.0 0.0
|
||||
1 0.0 0.0
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "vneedle"
|
||||
data 8
|
||||
Mesh.004
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.005921 0.02996 -0.000892
|
||||
0.005921 -0.029989 -0.00088
|
||||
0.005921 -0.029981 0.000922
|
||||
0.005921 0.029968 0.00091
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.0 0.0
|
||||
3 0.0 0.0
|
||||
2 0.0 0.0
|
||||
1 0.0 0.0
|
||||
kids 0
|
BIN
instrumentation/gsdi/gsdi.rgb
Normal file
47
instrumentation/gsdi/gsdi.xml
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<path>gsdi.ac</path>
|
||||
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object>face</object>
|
||||
<object>face.001</object>
|
||||
<object>vneedle</object>
|
||||
<object>uneedle</object>
|
||||
<condition>
|
||||
<not>
|
||||
<property>/sim/model/hide-gsdi</property>
|
||||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>uneedle</object-name>
|
||||
<property>instrumentation/gsdi/drift-u-kt</property>
|
||||
<factor>0.005</factor>
|
||||
<min-m>-0.03</min-m>
|
||||
<max-m>0.03</max-m>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>vneedle</object-name>
|
||||
<property>instrumentation/gsdi/drift-v-kt</property>
|
||||
<factor>0.005</factor>
|
||||
<min-m>-0.03</min-m>
|
||||
<max-m>0.03</max-m>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
</PropertyList>
|
BIN
instrumentation/gsdi/tach.png
Normal file
After Width: | Height: | Size: 104 KiB |
236
instrumentation/hsi-bk-hi.xml
Normal file
|
@ -0,0 +1,236 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!--
|
||||
$Id: hsi-bk-hi.xml,v 1.1 2007/06/03 14:58:44 mfranz Exp $
|
||||
This is the Bendix/King KI252 HSI 3d instrument.
|
||||
Maintainer: Torsten Dreyer
|
||||
|
||||
$Log: hsi-bk-hi.xml,v $
|
||||
Revision 1.1 2007/06/03 14:58:44 mfranz
|
||||
Heiko SCHULZ: EC135 v0.2
|
||||
|
||||
Revision 1.2 2006-11-23 14:27:03 mfranz
|
||||
Torsten DREYER:
|
||||
|
||||
"""
|
||||
- Added instruments lights for night flights
|
||||
- Addes flashing strobe effect in clouds at night
|
||||
- OBS knob on vor2 clickable
|
||||
- subscale knob on altimeter clickable
|
||||
- changes on aircraft 3d-model
|
||||
- Fixed bug in HSI, wrong deflection of glideslope indicator and
|
||||
transparency issue
|
||||
- Added Roberto Inzerillo's nice nose gear and animations, new main gear
|
||||
"""
|
||||
|
||||
Revision 1.1 2006-06-01 12:58:33 mfranz
|
||||
Torsten Dreyer: version 0.3 of the PA34-200T Seneca II (2006.05.30)
|
||||
|
||||
-->
|
||||
<PropertyList>
|
||||
<path>hsi-bk-hi.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>noshadow</type>
|
||||
<object-name>hsi</object-name>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>hsi.Rotary</object-name>
|
||||
<object-name>hsi.CompassRose</object-name>
|
||||
<object-name>hsi.HeadingBug</object-name>
|
||||
<object-name>hsi.NAVFlag</object-name>
|
||||
<object-name>hsi.HDGFlag</object-name>
|
||||
<emission>
|
||||
<red-prop>/sim/model/instrument-lighting/emission/red</red-prop>
|
||||
<green-prop>/sim/model/instrument-lighting/emission/green</green-prop>
|
||||
<blue-prop>/sim/model/instrument-lighting/emission/blue</blue-prop>
|
||||
<factor-prop>/controls/lighting/instruments-norm</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>hsi.OuterMask</object-name>
|
||||
<object-name>hsi.Glass</object-name>
|
||||
<emission>
|
||||
<red-prop>/sim/model/instrument-lighting/emission/red</red-prop>
|
||||
<green-prop>/sim/model/instrument-lighting/emission/green</green-prop>
|
||||
<blue-prop>/sim/model/instrument-lighting/emission/blue</blue-prop>
|
||||
<factor-prop>/controls/lighting/instruments-norm</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>hsi.CompassRose</object-name>
|
||||
<property>/instrumentation/heading-indicator/indicated-heading-deg</property>
|
||||
<factor>1.0</factor>
|
||||
<axis>
|
||||
<x>1.0</x>
|
||||
<y>0.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>-0.001</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>hsi.HeadingBug</object-name>
|
||||
<property>/instrumentation/hsi/heading-bug-rotation-deg</property>
|
||||
<factor>1.0</factor>
|
||||
<axis>
|
||||
<x>1.0</x>
|
||||
<y>0.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>hsi.Rotary</object-name>
|
||||
<object-name>hsi.cursor</object-name>
|
||||
<property>/instrumentation/hsi/cursor-rotation-deg</property>
|
||||
<factor>1.0</factor>
|
||||
<axis>
|
||||
<x>1.0</x>
|
||||
<y>0.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>hsi.HeadingSelector</object-name>
|
||||
<property>/autopilot/settings/heading-bug-deg</property>
|
||||
<factor>4.0</factor>
|
||||
<axis>
|
||||
<x>1.0</x>
|
||||
<y>0.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0.0331529</y-m>
|
||||
<z-m>-0.0242478</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>hsi.CursorSelector</object-name>
|
||||
<property>/instrumentation/hsi/cursor-rotation-deg</property>
|
||||
<factor>-4.0</factor>
|
||||
<axis>
|
||||
<x>1.0</x>
|
||||
<y>0.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0</x-m>
|
||||
<y-m>-0.0331529</y-m>
|
||||
<z-m>-0.0242478</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>hsi.cursor.deflection</object-name>
|
||||
<property>/instrumentation/nav[0]/heading-needle-deflection</property>
|
||||
<factor>0.00152675</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>hsi.gs</object-name>
|
||||
<property>/instrumentation/nav[0]/gs-needle-deflection</property>
|
||||
<!--
|
||||
<factor>0.022420</factor>
|
||||
-->
|
||||
<factor>0.004484</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hsi.gs</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/nav[0]/has-gs</property>
|
||||
<greater-than>
|
||||
<property>/instrumentation/nav[0]/gs-needle-deflection</property>
|
||||
<value>-3.6</value>
|
||||
</greater-than>
|
||||
<less-than>
|
||||
<property>/instrumentation/nav[0]/gs-needle-deflection</property>
|
||||
<value>3.6</value>
|
||||
</less-than>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hsi.NAVFlag</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>/instrumentation/nav[0]/in-range</property>
|
||||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<!-- fixme: whould be nicer to have a rotation bound to spin -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hsi.HDGFlag</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<not>
|
||||
<property>/instrumentation/heading-indicator/serviceable</property>
|
||||
</not>
|
||||
<less-than>
|
||||
<property>/instrumentation/heading-indicator/spin</property>
|
||||
<value type="double">0.9</value>
|
||||
</less-than>
|
||||
</or>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hsi.TOFlag</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/nav[0]/to-flag</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hsi.FROMFlag</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/nav[0]/from-flag</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
116
instrumentation/instrumentation.xml
Normal file
|
@ -0,0 +1,116 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<adf>
|
||||
<name>adf</name>
|
||||
<number>0</number>
|
||||
</adf>
|
||||
|
||||
<adf>
|
||||
<name>adf-radio</name>
|
||||
<number>0</number>
|
||||
</adf>
|
||||
|
||||
<airspeed-indicator>
|
||||
<name>airspeed-indicator</name>
|
||||
<number>0</number>
|
||||
<pitot-port>/systems/pitot</pitot-port>
|
||||
<static-port>/systems/static</static-port>
|
||||
</airspeed-indicator>
|
||||
|
||||
<altimeter>
|
||||
<name>altimeter</name>
|
||||
<number>0</number>
|
||||
<static-port>/systems/static</static-port>
|
||||
</altimeter>
|
||||
|
||||
<attitude-indicator>
|
||||
<name>attitude-indicator</name>
|
||||
<number>0</number>
|
||||
<vacuum-system>/systems/vacuum</vacuum-system>
|
||||
</attitude-indicator>
|
||||
|
||||
<clock>
|
||||
<name>clock</name>
|
||||
<number>0</number>
|
||||
</clock>
|
||||
|
||||
<dme>
|
||||
<name>dme</name>
|
||||
<number>0</number>
|
||||
</dme>
|
||||
|
||||
<encoder>
|
||||
<name>encoder</name>
|
||||
<number>0</number>
|
||||
<static-port>/systems/static</static-port>
|
||||
</encoder>
|
||||
|
||||
<gsdi>
|
||||
<name>gsdi</name>
|
||||
<number>0</number>
|
||||
</gsdi>
|
||||
|
||||
<marker-beacon>
|
||||
<name>marker-beacon</name>
|
||||
<number>0</number>
|
||||
</marker-beacon>
|
||||
|
||||
<heading-indicator>
|
||||
<name>heading-indicator</name>
|
||||
<number>0</number>
|
||||
<vacuum-system>/systems/vacuum</vacuum-system>
|
||||
</heading-indicator>
|
||||
|
||||
<KT-70>
|
||||
<name>kt-70</name>
|
||||
<number>0</number>
|
||||
</KT-70>
|
||||
|
||||
<magnetic-compass>
|
||||
<name>magnetic-compass</name>
|
||||
<number>0</number>
|
||||
</magnetic-compass>
|
||||
|
||||
<nav-radio>
|
||||
<name>nav</name>
|
||||
<number>0</number>
|
||||
</nav-radio>
|
||||
|
||||
<nav-radio>
|
||||
<name>nav</name>
|
||||
<number>1</number>
|
||||
</nav-radio>
|
||||
|
||||
<slip-skid-ball>
|
||||
<name>slip-skid-ball</name>
|
||||
<number>0</number>
|
||||
</slip-skid-ball>
|
||||
|
||||
<transponder>
|
||||
<name>transponder</name>
|
||||
<number>0</number>
|
||||
<encoder>/instrumentation/encoder</encoder>
|
||||
</transponder>
|
||||
|
||||
<turn-indicator>
|
||||
<name>turn-indicator</name>
|
||||
<number>0</number>
|
||||
</turn-indicator>
|
||||
|
||||
<vertical-speed-indicator>
|
||||
<name>vertical-speed-indicator</name>
|
||||
<number>0</number>
|
||||
<static-port>/systems/static</static-port>
|
||||
</vertical-speed-indicator>
|
||||
|
||||
<gps>
|
||||
<name>gps</name>
|
||||
<number>0</number>
|
||||
</gps>
|
||||
|
||||
<tacan>
|
||||
<name>tacan</name>
|
||||
<number>0</number>
|
||||
</tacan>
|
||||
</PropertyList>
|
BIN
instrumentation/kfc200/face.png
Normal file
After Width: | Height: | Size: 96 KiB |
467
instrumentation/kfc200/fd-annun.ac
Normal file
|
@ -0,0 +1,467 @@
|
|||
AC3Db
|
||||
MATERIAL "led" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0.9 0.9 0.9 spec 0 0 0 shi 32 trans 0
|
||||
MATERIAL "metal" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.755939 0.755939 0.755939 shi 32 trans 0
|
||||
OBJECT world
|
||||
kids 17
|
||||
OBJECT poly
|
||||
name "A-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 -0.005548 0.007149
|
||||
0.004285 -0.013097 0.007149
|
||||
0.004285 -0.013097 0.019403
|
||||
0.004285 -0.005548 0.019403
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.623522162437 0.890665233135
|
||||
3 0.570849359035 0.890665233135
|
||||
2 0.570849359035 0.858213663101
|
||||
1 0.623522162437 0.858213663101
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "O-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 -0.005548 0.006299
|
||||
0.004285 -0.013097 0.006299
|
||||
0.004285 -0.013097 -0.005955
|
||||
0.004285 -0.005548 -0.005955
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.679851472378 0.890665233135
|
||||
0 0.627178609371 0.890665233135
|
||||
1 0.627178609371 0.858213663101
|
||||
2 0.679851472378 0.858213663101
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "HDG-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.002148 0.027166
|
||||
0.004285 -0.003118 0.027166
|
||||
0.004285 -0.003118 0.038873
|
||||
0.004285 0.002148 0.038873
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.537476122379 0.923746824265
|
||||
3 0.487153828144 0.923746824265
|
||||
2 0.487153828144 0.901113212109
|
||||
1 0.537476122379 0.901113212109
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "FDannunciator"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 24
|
||||
0.003999 0.013033 0.039363
|
||||
0.003999 0.013033 -0.039363
|
||||
0.003999 -0.013033 -0.039363
|
||||
0.003999 -0.013033 0.039363
|
||||
0 -0.015254 0.050654
|
||||
0 0.015254 0.050654
|
||||
0 0.017494 0.0488
|
||||
0 0.017494 -0.0488
|
||||
0 0.015254 -0.050654
|
||||
0 -0.015254 -0.050654
|
||||
0 -0.017494 0.0488
|
||||
0 -0.017494 -0.0488
|
||||
0.00543 0.013033 0.039363
|
||||
0.00543 0.013033 -0.039363
|
||||
0.00543 -0.013033 -0.039363
|
||||
0.00543 -0.013033 0.039363
|
||||
0.00543 0.015254 0.050654
|
||||
0.00543 -0.015254 0.050654
|
||||
0.00543 0.015254 -0.050654
|
||||
0.00543 -0.015254 -0.050654
|
||||
0.00543 0.017494 -0.0488
|
||||
0.00543 0.017494 0.0488
|
||||
0.00543 -0.017494 -0.0488
|
||||
0.00543 -0.017494 0.0488
|
||||
numsurf 18
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.057136900723 0.971186041832
|
||||
1 0.398693561554 0.971186041832
|
||||
13 0.398693561554 0.971186041832
|
||||
12 0.057136900723 0.971186041832
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 0.057136900723 0.85809648037
|
||||
0 0.057136900723 0.971186041832
|
||||
12 0.057136900723 0.971186041832
|
||||
15 0.057136900723 0.85809648037
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
14 0.398693561554 0.85809648037
|
||||
13 0.398693561554 0.971186041832
|
||||
1 0.398693561554 0.971186041832
|
||||
2 0.398693561554 0.85809648037
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
15 0.057136900723 0.85809648037
|
||||
14 0.398693561554 0.85809648037
|
||||
2 0.398693561554 0.85809648037
|
||||
3 0.057136900723 0.85809648037
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
21 0.0161940678954 0.990538716316
|
||||
20 0.439636409283 0.990538716316
|
||||
7 0.439636409283 0.990538716316
|
||||
6 0.0161940678954 0.990538716316
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
23 0.0161940678954 0.838744044304
|
||||
17 0.00815110746771 0.848460614681
|
||||
4 0.00815110746771 0.848460614681
|
||||
10 0.0161940678954 0.838744044304
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
17 0.00815110746771 0.848460614681
|
||||
16 0.00815110746771 0.980821847916
|
||||
5 0.00815110746771 0.980821847916
|
||||
4 0.00815110746771 0.848460614681
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
16 0.00815110746771 0.980821847916
|
||||
21 0.0161940678954 0.990538716316
|
||||
6 0.0161940678954 0.990538716316
|
||||
5 0.00815110746771 0.980821847916
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.439636409283 0.990538716316
|
||||
18 0.447679311037 0.980821847916
|
||||
8 0.447679311037 0.980821847916
|
||||
7 0.439636409283 0.990538716316
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
18 0.447679311037 0.980821847916
|
||||
19 0.447679311037 0.848460614681
|
||||
9 0.447679311037 0.848460614681
|
||||
8 0.447679311037 0.980821847916
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
19 0.447679311037 0.848460614681
|
||||
22 0.439636409283 0.838744044304
|
||||
11 0.439636409283 0.838744044304
|
||||
9 0.447679311037 0.848460614681
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.439636409283 0.990538716316
|
||||
21 0.0161940678954 0.990538716316
|
||||
12 0.057136900723 0.971186041832
|
||||
13 0.398693561554 0.971186041832
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
21 0.0161940678954 0.990538716316
|
||||
23 0.0161940678954 0.838744044304
|
||||
15 0.057136900723 0.85809648037
|
||||
12 0.057136900723 0.971186041832
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
22 0.439636409283 0.838744044304
|
||||
20 0.439636409283 0.990538716316
|
||||
13 0.398693561554 0.971186041832
|
||||
14 0.398693561554 0.85809648037
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
23 0.0161940678954 0.838744044304
|
||||
22 0.439636409283 0.838744044304
|
||||
14 0.398693561554 0.85809648037
|
||||
15 0.057136900723 0.85809648037
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
23 0.0161940678954 0.838744044304
|
||||
21 0.0161940678954 0.990538716316
|
||||
16 0.00815110746771 0.980821847916
|
||||
17 0.00815110746771 0.848460614681
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.439636409283 0.990538716316
|
||||
22 0.439636409283 0.838744044304
|
||||
19 0.447679311037 0.848460614681
|
||||
18 0.447679311037 0.980821847916
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
22 0.0161940678954 0.838744044304
|
||||
23 0.439636409283 0.838744044304
|
||||
10 0.398693561554 0.85809648037
|
||||
11 0.057136900723 0.85809648037
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "AP-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.011733 -0.03787
|
||||
0.004285 0.006468 -0.03787
|
||||
0.004285 0.006468 -0.026163
|
||||
0.004285 0.011733 -0.026163
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.817042410374 0.964951455593
|
||||
3 0.766719996929 0.964951455593
|
||||
2 0.766719996929 0.942317962646
|
||||
1 0.817042410374 0.942317962646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "ALT-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.011733 -0.010268
|
||||
0.004285 0.006468 -0.010268
|
||||
0.004285 0.006468 -0.021975
|
||||
0.004285 0.011733 -0.021975
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.748715698719 0.964951455593
|
||||
0 0.698393285275 0.964951455593
|
||||
1 0.698393285275 0.942317962646
|
||||
2 0.748715698719 0.942317962646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "FD-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.011733 0.025225
|
||||
0.004285 0.006468 0.025225
|
||||
0.004285 0.006468 0.036931
|
||||
0.004285 0.011733 0.036931
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.545821964741 0.964951455593
|
||||
3 0.495499670506 0.964951455593
|
||||
2 0.495499670506 0.942317962646
|
||||
1 0.545821964741 0.942317962646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "TRIM-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 -0.005548 -0.038512
|
||||
0.004285 -0.013097 -0.038512
|
||||
0.004285 -0.013097 -0.026259
|
||||
0.004285 -0.005548 -0.026259
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.819803655148 0.890665233135
|
||||
3 0.767130792141 0.890665233135
|
||||
2 0.767130792141 0.858213663101
|
||||
1 0.819803655148 0.858213663101
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "APPR-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.002148 0.022492
|
||||
0.004285 -0.003118 0.022492
|
||||
0.004285 -0.003118 0.010786
|
||||
0.004285 0.002148 0.010786
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.607889473438 0.923746824265
|
||||
0 0.557567059994 0.923746824265
|
||||
1 0.557567059994 0.901113212109
|
||||
2 0.607889473438 0.901113212109
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "M-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 -0.005548 -0.0192
|
||||
0.004285 -0.013097 -0.0192
|
||||
0.004285 -0.013097 -0.006947
|
||||
0.004285 -0.005548 -0.006947
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.736788570881 0.890665233135
|
||||
3 0.684115707874 0.890665233135
|
||||
2 0.684115707874 0.858213663101
|
||||
1 0.736788570881 0.858213663101
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "FD-annun"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.003674 0.014177 -0.040221
|
||||
0.003674 -0.014177 -0.040221
|
||||
0.003674 -0.014177 0.040221
|
||||
0.003674 0.014177 0.040221
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.400960415602 0.975200414658
|
||||
3 0.055883333087 0.975200414658
|
||||
2 0.0558832138777 0.853564143181
|
||||
1 0.400960415602 0.853564083576
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "ARM-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.011733 -0.006323
|
||||
0.004285 0.006468 -0.006323
|
||||
0.004285 0.006468 0.005384
|
||||
0.004285 0.011733 0.005384
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.681432187557 0.964951455593
|
||||
3 0.631109774113 0.964951455593
|
||||
2 0.631109774113 0.942317962646
|
||||
1 0.681432187557 0.942317962646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "NAV-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.011733 0.02225
|
||||
0.004285 0.006468 0.02225
|
||||
0.004285 0.006468 0.010543
|
||||
0.004285 0.011733 0.010543
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.60893291235 0.964951455593
|
||||
0 0.558610498905 0.964951455593
|
||||
1 0.558610498905 0.942317962646
|
||||
2 0.60893291235 0.942317962646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "BC-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 -0.00671 0.038873
|
||||
0.004285 -0.011975 0.038873
|
||||
0.004285 -0.011975 0.027166
|
||||
0.004285 -0.00671 0.027166
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.537476122379 0.885671675205
|
||||
0 0.487153828144 0.885671675205
|
||||
1 0.487153828144 0.863038122654
|
||||
2 0.537476122379 0.863038122654
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "GA-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.002148 -0.026163
|
||||
0.004285 -0.003118 -0.026163
|
||||
0.004285 -0.003118 -0.03787
|
||||
0.004285 0.002148 -0.03787
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.817042410374 0.923746824265
|
||||
0 0.766719996929 0.923746824265
|
||||
1 0.766719996929 0.901113212109
|
||||
2 0.817042410374 0.901113212109
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "CPLD-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.002148 0.005991
|
||||
0.004285 -0.003118 0.005991
|
||||
0.004285 -0.003118 -0.005716
|
||||
0.004285 0.002148 -0.005716
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.67882424593 0.923746824265
|
||||
0 0.628501951694 0.923746824265
|
||||
1 0.628501951694 0.901113212109
|
||||
2 0.67882424593 0.901113212109
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "GS-ON"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004285 0.002148 -0.021732
|
||||
0.004285 -0.003118 -0.021732
|
||||
0.004285 -0.003118 -0.010026
|
||||
0.004285 0.002148 -0.010026
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.747672617435 0.923746824265
|
||||
3 0.697350203991 0.923746824265
|
||||
2 0.697350203991 0.901113212109
|
||||
1 0.747672617435 0.901113212109
|
||||
kids 0
|
175
instrumentation/kfc200/fd-annun.xml
Normal file
|
@ -0,0 +1,175 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
KA 285 Mode Annunciator Panel
|
||||
Syd Adams
|
||||
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>fd-annun.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>FD-annun</object-name>
|
||||
<emission>
|
||||
<red>0.7</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.3</blue>
|
||||
<factor-prop>/systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>FD-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/kfc200/fd-on</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>NAV-ON</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/instrumentation/kfc200/lnav</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/kfc200/lnav</property>
|
||||
<value>3</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>ARM-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/kfc200/armed</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>CPLD-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/kfc200/cpld</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>HDG-ON</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>autopilot/locks/heading</property>
|
||||
<value>dg-heading-hold</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>APPR-ON</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/instrumentation/kfc200/lnav</property>
|
||||
<value>4</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/instrumentation/kfc200/lnav</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GS-ON</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>autopilot/locks/altitude</property>
|
||||
<value>gs1-hold</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GA-ON</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/instrumentation/kfc200/lnav</property>
|
||||
<value>10</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>ALT-ON</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>autopilot/locks/altitude</property>
|
||||
<value>altitude-hold</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>AP-ON</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>/autopilot/locks/passive-mode</property>
|
||||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>BC-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/nav/back-course-btn</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>O-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/marker-beacon/outer</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>M-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/marker-beacon/middle</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>A-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/kfc200/alert</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>TRIM-ON</object-name>
|
||||
<condition>
|
||||
<property>/instrumentation/kfc200/trim-fail</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
714
instrumentation/kfc200/fd-control.ac
Normal file
|
@ -0,0 +1,714 @@
|
|||
AC3Db
|
||||
MATERIAL "metal" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 1 1 1 shi 32 trans 0
|
||||
OBJECT world
|
||||
kids 12
|
||||
OBJECT poly
|
||||
name "PitchToggle"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 12
|
||||
0.005447 -0.000516 0.054266
|
||||
0.005447 -0.000516 0.039118
|
||||
0.004439 -0.000516 0.054266
|
||||
0.004439 -0.000516 0.039118
|
||||
0.010363 0.015024 0.054266
|
||||
0.010363 -0.016056 0.054266
|
||||
0.010363 -0.016056 0.039118
|
||||
0.010363 0.015024 0.039118
|
||||
0.004439 0.017662 0.054266
|
||||
0.004439 -0.018694 0.054266
|
||||
0.004439 -0.018694 0.039118
|
||||
0.004439 0.017662 0.039118
|
||||
numsurf 8
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.517946064472 0.762528419495
|
||||
4 0.517946064472 0.73246049881
|
||||
8 0.548013985157 0.73246049881
|
||||
2 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
5 0.517946064472 0.762528419495
|
||||
0 0.517946064472 0.73246049881
|
||||
2 0.548013985157 0.73246049881
|
||||
9 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
1 0.517946064472 0.762528419495
|
||||
6 0.517946064472 0.73246049881
|
||||
10 0.548013985157 0.73246049881
|
||||
3 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.517946064472 0.762528419495
|
||||
1 0.517946064472 0.73246049881
|
||||
3 0.548013985157 0.73246049881
|
||||
11 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.517946064472 0.762528419495
|
||||
5 0.517946064472 0.73246049881
|
||||
6 0.548013985157 0.73246049881
|
||||
1 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.517946064472 0.762528419495
|
||||
0 0.517946064472 0.73246049881
|
||||
1 0.548013985157 0.73246049881
|
||||
7 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.517946064472 0.762528419495
|
||||
11 0.517946064472 0.73246049881
|
||||
8 0.548013985157 0.73246049881
|
||||
4 0.548013985157 0.762528419495
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
10 0.517946064472 0.762528419495
|
||||
6 0.517946064472 0.73246049881
|
||||
5 0.548013985157 0.73246049881
|
||||
9 0.548013985157 0.762528419495
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "APPR.btn"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.006368 -0.01082 -0.013205
|
||||
0.006368 -0.021694 -0.013205
|
||||
0.006368 -0.021694 -0.02684
|
||||
0.006368 -0.01082 -0.02684
|
||||
0.004439 -0.010216 -0.012448
|
||||
0.004439 -0.022298 -0.012448
|
||||
0.004439 -0.022298 -0.027597
|
||||
0.004439 -0.010216 -0.027597
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.542991161346 0.749106705189
|
||||
0 0.542991161346 0.782164275646
|
||||
3 0.509610176086 0.782164275646
|
||||
7 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.542991161346 0.749106705189
|
||||
4 0.542991161346 0.782164275646
|
||||
5 0.509610176086 0.782164275646
|
||||
1 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
6 0.509610176086 0.782164275646
|
||||
2 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
5 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.509610176086 0.782164275646
|
||||
3 0.509610176086 0.749106705189
|
||||
2 0.542991161346 0.749106705189
|
||||
6 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.509610176086 0.782164275646
|
||||
0 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
2 0.542991161346 0.782164275646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "HDG.btn"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.006368 0.017165 0.026773
|
||||
0.006368 0.006291 0.026773
|
||||
0.006368 0.006291 0.013139
|
||||
0.006368 0.017165 0.013139
|
||||
0.004439 0.017769 0.02753
|
||||
0.004439 0.005687 0.02753
|
||||
0.004439 0.005687 0.012382
|
||||
0.004439 0.017769 0.012382
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.542991161346 0.749106705189
|
||||
0 0.542991161346 0.782164275646
|
||||
3 0.509610176086 0.782164275646
|
||||
7 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.542991161346 0.749106705189
|
||||
4 0.542991161346 0.782164275646
|
||||
5 0.509610176086 0.782164275646
|
||||
1 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
6 0.509610176086 0.782164275646
|
||||
2 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
5 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.509610176086 0.782164275646
|
||||
3 0.509610176086 0.749106705189
|
||||
2 0.542991161346 0.749106705189
|
||||
6 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.509610176086 0.782164275646
|
||||
0 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
2 0.542991161346 0.782164275646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "BC.btn"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.006368 -0.01082 0.007034
|
||||
0.006368 -0.021694 0.007034
|
||||
0.006368 -0.021694 -0.0066
|
||||
0.006368 -0.01082 -0.0066
|
||||
0.004439 -0.010216 0.007791
|
||||
0.004439 -0.022298 0.007791
|
||||
0.004439 -0.022298 -0.007357
|
||||
0.004439 -0.010216 -0.007357
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.542991161346 0.749106705189
|
||||
0 0.542991161346 0.782164275646
|
||||
3 0.509610176086 0.782164275646
|
||||
7 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.542991161346 0.749106705189
|
||||
4 0.542991161346 0.782164275646
|
||||
5 0.509610176086 0.782164275646
|
||||
1 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
6 0.509610176086 0.782164275646
|
||||
2 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
5 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.509610176086 0.782164275646
|
||||
3 0.509610176086 0.749106705189
|
||||
2 0.542991161346 0.749106705189
|
||||
6 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.509610176086 0.782164275646
|
||||
0 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
2 0.542991161346 0.782164275646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Pitch.down"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004439 -0.000516 0.054247
|
||||
0.004439 -0.000516 0.039137
|
||||
0.004439 0.01762 0.054247
|
||||
0.004439 0.01762 0.039137
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
2 0.503951311111 0.726048648357
|
||||
0 0.503951311111 0.686451256275
|
||||
1 0.543548703194 0.686451256275
|
||||
3 0.543548703194 0.726048648357
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Plane"
|
||||
crease 30.000000
|
||||
numvert 0
|
||||
numsurf 0
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "FD.btn"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.006368 0.017165 0.006784
|
||||
0.006368 0.006291 0.006784
|
||||
0.006368 0.006291 -0.00685
|
||||
0.006368 0.017165 -0.00685
|
||||
0.004439 0.017769 0.007541
|
||||
0.004439 0.005687 0.007541
|
||||
0.004439 0.005687 -0.007607
|
||||
0.004439 0.017769 -0.007607
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.542991161346 0.749106705189
|
||||
0 0.542991161346 0.782164275646
|
||||
3 0.509610176086 0.782164275646
|
||||
7 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.542991161346 0.749106705189
|
||||
4 0.542991161346 0.782164275646
|
||||
5 0.509610176086 0.782164275646
|
||||
1 0.509610176086 0.749106705189
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
6 0.509610176086 0.782164275646
|
||||
2 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
5 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.509610176086 0.782164275646
|
||||
3 0.509610176086 0.749106705189
|
||||
2 0.542991161346 0.749106705189
|
||||
6 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.509610176086 0.782164275646
|
||||
0 0.509610176086 0.749106705189
|
||||
1 0.542991161346 0.749106705189
|
||||
2 0.542991161346 0.782164275646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "FDbase"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
9.5e-05 0.029311 -0.059503
|
||||
9.5e-05 -0.029344 -0.059503
|
||||
9.5e-05 -0.029344 0.059532
|
||||
9.5e-05 0.029311 0.059532
|
||||
0.004367 0.029311 -0.059503
|
||||
0.004367 -0.029344 -0.059503
|
||||
0.004367 -0.029344 0.059532
|
||||
0.004367 0.029311 0.059532
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.904559373856 0.84440433979
|
||||
7 0.477707833052 0.844404459
|
||||
6 0.477707713842 0.634072244167
|
||||
5 0.904559135437 0.634072005749
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.407198339701 0.838163256645
|
||||
4 0.407198339701 0.81044459343
|
||||
5 0.434916943312 0.81044459343
|
||||
1 0.434916943312 0.838163256645
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
1 0.407198339701 0.838163256645
|
||||
5 0.407198339701 0.81044459343
|
||||
6 0.434916943312 0.81044459343
|
||||
2 0.434916943312 0.838163256645
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
2 0.407198339701 0.838163256645
|
||||
6 0.407198339701 0.81044459343
|
||||
7 0.434916943312 0.81044459343
|
||||
3 0.434916943312 0.838163256645
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.407198339701 0.838163256645
|
||||
0 0.407198339701 0.81044459343
|
||||
3 0.434916943312 0.81044459343
|
||||
7 0.434916943312 0.838163256645
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Pitch.up"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.004439 -0.000516 0.054247
|
||||
0.004439 -0.000516 0.039137
|
||||
0.004439 -0.018652 0.054247
|
||||
0.004439 -0.018652 0.039137
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.503767073154 0.729045391083
|
||||
2 0.503767073154 0.689704537392
|
||||
3 0.543107926846 0.689704537392
|
||||
1 0.543107926846 0.729045391083
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "NAV.btn"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.004439 -0.010216 0.012382
|
||||
0.004439 -0.022298 0.012382
|
||||
0.004439 -0.022298 0.02753
|
||||
0.004439 -0.010216 0.02753
|
||||
0.006368 -0.01082 0.013139
|
||||
0.006368 -0.021694 0.013139
|
||||
0.006368 -0.021694 0.026773
|
||||
0.006368 -0.01082 0.026773
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.509610176086 0.782164275646
|
||||
7 0.509610176086 0.749106705189
|
||||
6 0.542991161346 0.749106705189
|
||||
5 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.509610176086 0.782164275646
|
||||
4 0.509610176086 0.749106705189
|
||||
5 0.542991161346 0.749106705189
|
||||
1 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
1 0.509610176086 0.782164275646
|
||||
5 0.509610176086 0.749106705189
|
||||
6 0.542991161346 0.749106705189
|
||||
2 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
2 0.509610176086 0.782164275646
|
||||
6 0.509610176086 0.749106705189
|
||||
7 0.542991161346 0.749106705189
|
||||
3 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.509610176086 0.782164275646
|
||||
0 0.509610176086 0.749106705189
|
||||
3 0.542991161346 0.749106705189
|
||||
7 0.542991161346 0.782164275646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "ALT.btn"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.004439 0.017769 -0.028096
|
||||
0.004439 0.005687 -0.028096
|
||||
0.004439 0.005687 -0.012948
|
||||
0.004439 0.017769 -0.012948
|
||||
0.006368 0.017165 -0.027339
|
||||
0.006368 0.006291 -0.027339
|
||||
0.006368 0.006291 -0.013705
|
||||
0.006368 0.017165 -0.013705
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.509610176086 0.782164275646
|
||||
7 0.509610176086 0.749106705189
|
||||
6 0.542991161346 0.749106705189
|
||||
5 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.509610176086 0.782164275646
|
||||
4 0.509610176086 0.749106705189
|
||||
5 0.542991161346 0.749106705189
|
||||
1 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
1 0.509610176086 0.782164275646
|
||||
5 0.509610176086 0.749106705189
|
||||
6 0.542991161346 0.749106705189
|
||||
2 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
2 0.509610176086 0.782164275646
|
||||
6 0.509610176086 0.749106705189
|
||||
7 0.542991161346 0.749106705189
|
||||
3 0.542991161346 0.782164275646
|
||||
SURF 0x00
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.509610176086 0.782164275646
|
||||
0 0.509610176086 0.749106705189
|
||||
3 0.542991161346 0.749106705189
|
||||
7 0.542991161346 0.782164275646
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "APtoggle"
|
||||
texture "kfc200.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 26
|
||||
0.005934 0.007089 -0.052557
|
||||
0.007697 0.005245 -0.052557
|
||||
0.008622 0.002868 -0.052557
|
||||
0.008566 0.000318 -0.052557
|
||||
0.007539 -0.002018 -0.052557
|
||||
0.005696 -0.003781 -0.052557
|
||||
0.003318 -0.004706 -0.052557
|
||||
-0.001329 0.007247 -0.052557
|
||||
0.001048 0.008172 -0.052557
|
||||
0.003598 0.008116 -0.052557
|
||||
0.005934 0.007089 -0.039439
|
||||
0.007697 0.005245 -0.039439
|
||||
0.008622 0.002868 -0.039439
|
||||
0.008566 0.000318 -0.039439
|
||||
0.007539 -0.002018 -0.039439
|
||||
0.005696 -0.003781 -0.039439
|
||||
0.003318 -0.004706 -0.039439
|
||||
-0.001329 0.007247 -0.039439
|
||||
0.001048 0.008172 -0.039439
|
||||
0.003598 0.008116 -0.039439
|
||||
0.002183 0.001733 -0.052557
|
||||
0.002183 0.001733 -0.039439
|
||||
0.017077 0.006153 -0.052557
|
||||
0.017077 0.006153 -0.039439
|
||||
0.016208 0.008379 -0.052557
|
||||
0.016208 0.008379 -0.039439
|
||||
numsurf 31
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
0 0.507779479027 0.725842237473
|
||||
1 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
11 0.507779479027 0.725842237473
|
||||
10 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
1 0.507779479027 0.725842237473
|
||||
2 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
12 0.507779479027 0.725842237473
|
||||
11 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
2 0.507779479027 0.725842237473
|
||||
3 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
13 0.507779479027 0.725842237473
|
||||
12 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
3 0.507779479027 0.725842237473
|
||||
4 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
14 0.507779479027 0.725842237473
|
||||
13 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
4 0.507779479027 0.725842237473
|
||||
5 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
15 0.507779479027 0.725842237473
|
||||
14 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
5 0.507779479027 0.725842237473
|
||||
6 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
16 0.507779479027 0.725842237473
|
||||
15 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
7 0.507779479027 0.725842237473
|
||||
8 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
18 0.507779479027 0.725842237473
|
||||
17 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
20 0.507779479027 0.760139346123
|
||||
8 0.507779479027 0.725842237473
|
||||
9 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
19 0.507779479027 0.725842237473
|
||||
18 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
9 0.507779479027 0.760139346123
|
||||
0 0.507779479027 0.725842237473
|
||||
20 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 3
|
||||
21 0.507779479027 0.760139346123
|
||||
10 0.507779479027 0.725842237473
|
||||
19 0.542076587677 0.725842237473
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
0 0.507779479027 0.760139346123
|
||||
10 0.507779479027 0.725842237473
|
||||
11 0.542076587677 0.725842237473
|
||||
1 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
2 0.507779479027 0.760139346123
|
||||
12 0.507779479027 0.725842237473
|
||||
13 0.542076587677 0.725842237473
|
||||
3 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
3 0.507779479027 0.760139346123
|
||||
13 0.507779479027 0.725842237473
|
||||
14 0.542076587677 0.725842237473
|
||||
4 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
4 0.507779479027 0.760139346123
|
||||
14 0.507779479027 0.725842237473
|
||||
15 0.542076587677 0.725842237473
|
||||
5 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
5 0.507779479027 0.760139346123
|
||||
15 0.507779479027 0.725842237473
|
||||
16 0.542076587677 0.725842237473
|
||||
6 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
7 0.507779479027 0.760139346123
|
||||
17 0.507779479027 0.725842237473
|
||||
18 0.542076587677 0.725842237473
|
||||
8 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
8 0.507779479027 0.760139346123
|
||||
18 0.507779479027 0.725842237473
|
||||
19 0.542076587677 0.725842237473
|
||||
9 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
10 0.507779479027 0.760139346123
|
||||
0 0.507779479027 0.725842237473
|
||||
9 0.542076587677 0.725842237473
|
||||
19 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
12 0.507779479027 0.760139346123
|
||||
2 0.507779479027 0.725842237473
|
||||
22 0.542076587677 0.725842237473
|
||||
23 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
1 0.507779479027 0.760139346123
|
||||
11 0.507779479027 0.725842237473
|
||||
25 0.542076587677 0.725842237473
|
||||
24 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
11 0.507779479027 0.760139346123
|
||||
12 0.507779479027 0.725842237473
|
||||
23 0.542076587677 0.725842237473
|
||||
25 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
2 0.507779479027 0.760139346123
|
||||
1 0.507779479027 0.725842237473
|
||||
24 0.542076587677 0.725842237473
|
||||
22 0.542076587677 0.760139346123
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
22 0.642654716969 0.748234629631
|
||||
24 0.642654716969 0.728802919388
|
||||
25 0.666600644588 0.728802919388
|
||||
23 0.666600644588 0.748234629631
|
||||
kids 0
|
198
instrumentation/kfc200/fd-control.xml
Normal file
|
@ -0,0 +1,198 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
KFC-200 FlightDirector / Autopilot Controller
|
||||
Syd Adams
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>fd-control.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>FDbase</object-name>
|
||||
<emission>
|
||||
<red>0.028</red>
|
||||
<green>0.014</green>
|
||||
<blue>0.007</blue>
|
||||
<factor-prop>systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
<!--
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Pitch.down</object-name>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/autopilot/locks/altitude</property>
|
||||
<value></value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<interval-sec>0.1</interval-sec>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/autopilot/settings/target-pitch-deg</property>
|
||||
<step>-0.05</step>
|
||||
<min>-15.0</min>
|
||||
<max>15.0</max>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Pitch.up</object-name>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/autopilot/locks/altitude</property>
|
||||
<value></value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<interval-sec>0.1</interval-sec>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/autopilot/settings/target-pitch-deg</property>
|
||||
<step>0.05</step>
|
||||
<min>-15.0</min>
|
||||
<max>15.0</max>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>HDG.btn</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if(getprop("/instrumentation/kfc200/fdmode") != "hdg"){
|
||||
setprop("/instrumentation/kfc200/fdmode","hdg");}
|
||||
else{setprop("/instrumentation/kfc200/fdmode","off");}
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>FD.btn</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/instrumentation/kfc200/fd-on</property>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>ALT.btn</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if(getprop("/instrumentation/kfc200/fdmodeV") != "alt-arm"){
|
||||
setprop("/instrumentation/kfc200/fdmodeV","alt-arm");}
|
||||
else{setprop("/instrumentation/kfc200/fdmodeV","off");}
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>NAV.btn</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if(getprop("/instrumentation/kfc200/fdmode") != "nav-arm"){
|
||||
setprop("/instrumentation/kfc200/fdmode","nav-arm");}
|
||||
else{setprop("/instrumentation/kfc200/fdmode","off");}
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>BC.btn</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if(getprop("/instrumentation/kfc200/fdmode") != "bc"){
|
||||
setprop("/instrumentation/kfc200/fdmode","bc");}
|
||||
else{setprop("/instrumentation/kfc200/fdmode","off");}
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>APPR.btn</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if(getprop("/instrumentation/kfc200/fdmode") != "appr"){
|
||||
setprop("/instrumentation/kfc200/fdmode","appr");}
|
||||
else{setprop("/instrumentation/kfc200/fdmode","off");}
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>APtoggle</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/autopilot/locks/passive-mode</property>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
-->
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>APtoggle</object-name>
|
||||
<property>/autopilot/locks/passive-mode</property>
|
||||
<factor>40</factor>
|
||||
<axis>
|
||||
<x>0.0</x>
|
||||
<y>1.0</y>
|
||||
<z>0.0</z>
|
||||
</axis>
|
||||
<center>
|
||||
<x-m>0.002</x-m>
|
||||
<y-m>0.046</y-m>
|
||||
<z-m>0.002</z-m>
|
||||
</center>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
BIN
instrumentation/kfc200/hdg1.rgb
Normal file
649
instrumentation/kfc200/kas297.ac
Normal file
|
@ -0,0 +1,649 @@
|
|||
AC3Db
|
||||
MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 64 trans 0
|
||||
MATERIAL "metal" rgb 1 1 1 amb 0 0 0 emis 0 0 0 spec 0.755939 0.755939 0.755939 shi 32 trans 0
|
||||
MATERIAL "illum" rgb 1 1 1 amb 0 0 0 emis 0.4 0.4 0.4 spec 0.5 0.5 0.5 shi 32 trans 0
|
||||
MATERIAL "led" rgb 1 1 1 amb 0 0 0 emis 0.9 0.9 0.9 spec 0 0 0 shi 32 trans 0
|
||||
OBJECT world
|
||||
kids 13
|
||||
OBJECT poly
|
||||
name "Alt.increase"
|
||||
data 6
|
||||
Circle
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001909 0.003508 -0.027819
|
||||
0.001909 -0.004004 -0.027819
|
||||
0.001909 -0.007759 -0.021314
|
||||
0.001909 0.007263 -0.021314
|
||||
numsurf 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.191024214029 0.863663256168
|
||||
3 0.254288256168 0.863663256168
|
||||
2 0.254288256168 0.800399184227
|
||||
1 0.191024214029 0.800399184227
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Alt.decrease"
|
||||
data 10
|
||||
Circle.001
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001909 0.007263 -0.021314
|
||||
0.001909 0.003508 -0.014809
|
||||
0.001909 -0.004004 -0.014809
|
||||
0.001909 -0.007759 -0.021314
|
||||
numsurf 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
3 0.223378121853 0.796153068542
|
||||
0 0.128184348345 0.796153068542
|
||||
1 0.128184348345 0.891346871853
|
||||
2 0.223378121853 0.891346871853
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Display"
|
||||
data 4
|
||||
Mesh
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001347 0.01115 0.017398
|
||||
0.001347 -0.004529 0.017398
|
||||
0.001347 -0.004529 -0.014807
|
||||
0.001347 0.01115 -0.014807
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 2
|
||||
refs 4
|
||||
3 0.259085595608 0.683385789394
|
||||
0 0.131304383278 0.683385848999
|
||||
1 0.131304353476 0.621174097061
|
||||
2 0.259085536003 0.621174037457
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "altmsg.004"
|
||||
data 8
|
||||
Mesh.001
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.008404 -0.008098
|
||||
0.001514 0.000694 -0.006926
|
||||
0.001514 0.000694 -0.011749
|
||||
0.001514 0.008404 -0.012921
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.978541493416 0.101732596755
|
||||
0 0.921992182732 0.10173265636
|
||||
1 0.922260224819 0.011345628649
|
||||
2 0.978809595108 0.0113455690444
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "altmsg.003"
|
||||
data 8
|
||||
Mesh.002
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.008404 -0.002857
|
||||
0.001514 0.000694 -0.001685
|
||||
0.001514 0.000694 -0.006508
|
||||
0.001514 0.008404 -0.00768
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.978541493416 0.101732596755
|
||||
0 0.921992182732 0.10173265636
|
||||
1 0.922260224819 0.011345628649
|
||||
2 0.978809595108 0.0113455690444
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "altmsg.002"
|
||||
data 8
|
||||
Mesh.003
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.008404 0.002384
|
||||
0.001514 0.000694 0.003556
|
||||
0.001514 0.000694 -0.001267
|
||||
0.001514 0.008404 -0.002439
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.978541493416 0.101732596755
|
||||
0 0.921992182732 0.10173265636
|
||||
1 0.922260224819 0.011345628649
|
||||
2 0.978809595108 0.0113455690444
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "altmsg.001"
|
||||
data 8
|
||||
Mesh.004
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.008404 0.008429
|
||||
0.001514 0.000694 0.009602
|
||||
0.001514 0.000694 0.004778
|
||||
0.001514 0.008404 0.003606
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.978541493416 0.101732596755
|
||||
0 0.921992182732 0.10173265636
|
||||
1 0.922260224819 0.011345628649
|
||||
2 0.978809595108 0.0113455690444
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Set.knob"
|
||||
data 8
|
||||
Mesh.010
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 33
|
||||
0.007698 -0.000248 -0.021314
|
||||
0.007698 0.004631 -0.023335
|
||||
0.007698 0.005033 -0.021315
|
||||
0.007698 0.004631 -0.019294
|
||||
0.007698 0.003486 -0.01758
|
||||
0.007698 0.001773 -0.016436
|
||||
0.007698 -0.000248 -0.016034
|
||||
0.007698 -0.002269 -0.016436
|
||||
0.007698 -0.003982 -0.01758
|
||||
0.007698 -0.005127 -0.019294
|
||||
0.007698 -0.005529 -0.021314
|
||||
0.007698 -0.005127 -0.023335
|
||||
0.007698 -0.003982 -0.025049
|
||||
0.007698 -0.002269 -0.026193
|
||||
0.007698 -0.000248 -0.026595
|
||||
0.007698 0.001773 -0.026193
|
||||
0.007698 0.003486 -0.025049
|
||||
0.001909 0.004631 -0.023335
|
||||
0.001909 0.005033 -0.021314
|
||||
0.001909 0.004631 -0.019294
|
||||
0.001909 0.003486 -0.01758
|
||||
0.001909 0.001773 -0.016436
|
||||
0.001909 -0.000248 -0.016034
|
||||
0.001909 -0.002269 -0.016436
|
||||
0.001909 -0.003982 -0.01758
|
||||
0.001909 -0.005127 -0.019294
|
||||
0.001909 -0.005529 -0.021314
|
||||
0.001909 -0.005127 -0.023335
|
||||
0.001909 -0.003982 -0.025049
|
||||
0.001909 -0.002269 -0.026193
|
||||
0.001909 -0.000248 -0.026595
|
||||
0.001909 0.001773 -0.026193
|
||||
0.001909 0.003486 -0.025049
|
||||
numsurf 32
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
16 0.434804230928 0.0668970048428
|
||||
32 0.434804230928 0.019956022501
|
||||
17 0.48174521327 0.019956022501
|
||||
1 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
18 0.434804230928 0.0668970048428
|
||||
2 0.434804230928 0.019956022501
|
||||
1 0.48174521327 0.019956022501
|
||||
17 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
19 0.434804230928 0.0668970048428
|
||||
3 0.434804230928 0.019956022501
|
||||
2 0.48174521327 0.019956022501
|
||||
18 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.434804230928 0.0668970048428
|
||||
4 0.434804230928 0.019956022501
|
||||
3 0.48174521327 0.019956022501
|
||||
19 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
21 0.434804230928 0.0668970048428
|
||||
5 0.434804230928 0.019956022501
|
||||
4 0.48174521327 0.019956022501
|
||||
20 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
22 0.434804230928 0.0668970048428
|
||||
6 0.434804230928 0.019956022501
|
||||
5 0.48174521327 0.019956022501
|
||||
21 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
23 0.434804230928 0.0668970048428
|
||||
7 0.434804230928 0.019956022501
|
||||
6 0.48174521327 0.019956022501
|
||||
22 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
24 0.434804230928 0.0668970048428
|
||||
8 0.434804230928 0.019956022501
|
||||
7 0.48174521327 0.019956022501
|
||||
23 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
25 0.434804230928 0.0668970048428
|
||||
9 0.434804230928 0.019956022501
|
||||
8 0.48174521327 0.019956022501
|
||||
24 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
26 0.434804230928 0.0668970048428
|
||||
10 0.434804230928 0.019956022501
|
||||
9 0.48174521327 0.019956022501
|
||||
25 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
27 0.434804230928 0.0668970048428
|
||||
11 0.434804230928 0.019956022501
|
||||
10 0.48174521327 0.019956022501
|
||||
26 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
28 0.434804230928 0.0668970048428
|
||||
12 0.434804230928 0.019956022501
|
||||
11 0.48174521327 0.019956022501
|
||||
27 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
29 0.434804230928 0.0668970048428
|
||||
13 0.434804230928 0.019956022501
|
||||
12 0.48174521327 0.019956022501
|
||||
28 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
30 0.434804230928 0.0668970048428
|
||||
14 0.434804230928 0.019956022501
|
||||
13 0.48174521327 0.019956022501
|
||||
29 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
31 0.434804230928 0.0668970048428
|
||||
15 0.434804230928 0.019956022501
|
||||
14 0.48174521327 0.019956022501
|
||||
30 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
32 0.434804230928 0.0668970048428
|
||||
16 0.434804230928 0.019956022501
|
||||
15 0.48174521327 0.019956022501
|
||||
31 0.48174521327 0.0668970048428
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
16 0.648551821709 0.181237071753
|
||||
1 0.619323253632 0.20076712966
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
1 0.619323253632 0.20076712966
|
||||
2 0.584845423698 0.207625299692
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
2 0.584845423698 0.207625299692
|
||||
3 0.550367593765 0.200767368078
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
3 0.550367593765 0.200767368078
|
||||
4 0.52113866806 0.181237310171
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
4 0.52113866806 0.181237310171
|
||||
5 0.501608431339 0.152008503675
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
5 0.501608431339 0.152008503675
|
||||
6 0.494750291109 0.117530703545
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
6 0.494750291109 0.117530703545
|
||||
7 0.50160831213 0.0830528438091
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
7 0.50160831213 0.0830528438091
|
||||
8 0.521138370037 0.0538239479065
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
8 0.521138370037 0.0538239479065
|
||||
9 0.550367176533 0.0342937111855
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
9 0.550367176533 0.0342937111855
|
||||
10 0.584844946861 0.0274356007576
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
10 0.584844946861 0.0274356007576
|
||||
11 0.619322836399 0.0342935919762
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
11 0.619322836399 0.0342935919762
|
||||
12 0.648551702499 0.0538237094879
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
12 0.648551702499 0.0538237094879
|
||||
13 0.668081879616 0.0830525457859
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
13 0.668081879616 0.0830525457859
|
||||
14 0.674939990044 0.117530345917
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
14 0.674939990044 0.117530345917
|
||||
15 0.66808193922 0.152008146048
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 3
|
||||
0 0.58484518528 0.117530435324
|
||||
15 0.66808193922 0.152008146048
|
||||
16 0.648551821709 0.181237071753
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Arm.btn"
|
||||
data 8
|
||||
Mesh.009
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 8
|
||||
0.003493 9.8e-05 0.026987
|
||||
0.003493 -0.003792 0.026987
|
||||
0.003493 -0.003792 0.019984
|
||||
0.003493 9.8e-05 0.019984
|
||||
0.001722 9.8e-05 0.026987
|
||||
0.001722 -0.003792 0.026987
|
||||
0.001722 -0.003792 0.019984
|
||||
0.001722 9.8e-05 0.019984
|
||||
numsurf 5
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.0582099035382 0.00707477238029
|
||||
0 0.0582099035382 0.0574415288866
|
||||
3 0.007843144238 0.0574415288866
|
||||
7 0.007843144238 0.00707477238029
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.0582099035382 0.00707477238029
|
||||
4 0.0582099035382 0.0574415288866
|
||||
5 0.007843144238 0.0574415288866
|
||||
1 0.007843144238 0.00707477238029
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
6 0.007843144238 0.0574415288866
|
||||
2 0.007843144238 0.00707477238029
|
||||
1 0.0582099035382 0.00707477238029
|
||||
5 0.0582099035382 0.0574415288866
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.007843144238 0.0574415288866
|
||||
3 0.007843144238 0.00707477238029
|
||||
2 0.0582099035382 0.00707477238029
|
||||
6 0.0582099035382 0.0574415288866
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
3 0.007843144238 0.0574415288866
|
||||
0 0.007843144238 0.00707477238029
|
||||
1 0.0582099035382 0.00707477238029
|
||||
2 0.0582099035382 0.0574415288866
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "altmsg"
|
||||
data 8
|
||||
Mesh.006
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.008404 0.01367
|
||||
0.001514 0.000694 0.014843
|
||||
0.001514 0.000694 0.010019
|
||||
0.001514 0.008404 0.008847
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.978541493416 0.101732596755
|
||||
0 0.921992182732 0.10173265636
|
||||
1 0.922260224819 0.011345628649
|
||||
2 0.978809595108 0.0113455690444
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Arm.msg"
|
||||
data 8
|
||||
Mesh.007
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.000233 0.016068
|
||||
0.001514 -0.003128 0.016068
|
||||
0.001514 -0.003128 0.00581
|
||||
0.001514 0.000233 0.00581
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.618501126766 0.957134366035
|
||||
0 0.496961891651 0.957134366035
|
||||
1 0.496961891651 0.917311787605
|
||||
2 0.618501007557 0.917311787605
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "Alert.msg"
|
||||
data 8
|
||||
Mesh.008
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
0.001514 0.000233 0.003243
|
||||
0.001514 -0.003128 0.003243
|
||||
0.001514 -0.003128 -0.012595
|
||||
0.001514 0.000233 -0.012595
|
||||
numsurf 1
|
||||
SURF 0x00
|
||||
mat 3
|
||||
refs 4
|
||||
3 0.664733886719 0.870237469673
|
||||
0 0.477083057165 0.870237469673
|
||||
1 0.477083057165 0.830414891243
|
||||
2 0.664733827114 0.830414891243
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "KAS297"
|
||||
data 8
|
||||
Mesh.005
|
||||
texture "kas297.rgb"
|
||||
texrep 1 1
|
||||
crease 30.000000
|
||||
numvert 20
|
||||
0.000162 0.013777 -0.022431
|
||||
0.000162 -0.013777 -0.022431
|
||||
0.000162 -0.013777 0.022431
|
||||
0.000162 0.013777 0.022431
|
||||
0.00167 0.013777 -0.022431
|
||||
0.00167 -0.013777 -0.022431
|
||||
0.00167 -0.013777 0.022431
|
||||
0.00167 0.013777 0.022431
|
||||
0.000162 0.006275 0.030102
|
||||
0.00167 0.006275 0.030102
|
||||
0.000162 -0.006275 0.030102
|
||||
0.00167 -0.006275 0.030102
|
||||
0.000162 0.006275 -0.030102
|
||||
0.00167 0.006275 -0.030102
|
||||
0.000162 -0.006275 -0.030102
|
||||
0.00167 -0.006275 -0.030102
|
||||
0.00167 0.009957 -0.013718
|
||||
0.00167 -0.003336 -0.013718
|
||||
0.00167 -0.003336 0.016309
|
||||
0.00167 0.009957 0.016309
|
||||
numsurf 14
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
1 0.457330584526 0.851326823235
|
||||
5 0.45733076334 0.851326525211
|
||||
6 0.457330405712 0.145992904902
|
||||
2 0.457330524921 0.145992904902
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.020636677742 0.851326942444
|
||||
0 0.020636677742 0.851326823235
|
||||
3 0.0206364393234 0.145993202925
|
||||
7 0.0206365585327 0.145992994308
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.0206365585327 0.145992994308
|
||||
3 0.0206364393234 0.145993202925
|
||||
8 0.139534652233 0.0253909472376
|
||||
9 0.139534652233 0.0253906790167
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
2 0.457330524921 0.145992904902
|
||||
6 0.457330405712 0.145992904902
|
||||
11 0.338432312012 0.0253906194121
|
||||
10 0.338432431221 0.0253906790167
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
0 0.020636677742 0.851326823235
|
||||
4 0.020636677742 0.851326942444
|
||||
13 0.139534711838 0.971929192543
|
||||
12 0.139534711838 0.971929192543
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
5 0.45733076334 0.851326525211
|
||||
1 0.457330584526 0.851326823235
|
||||
14 0.338432490826 0.971929192543
|
||||
15 0.338432490826 0.971928715706
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
6 0.457330405712 0.145992904902
|
||||
7 0.0206365585327 0.145992994308
|
||||
9 0.139534652233 0.0253906790167
|
||||
11 0.338432312012 0.0253906194121
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.020636677742 0.851326942444
|
||||
5 0.45733076334 0.851326525211
|
||||
15 0.338432490826 0.971928715706
|
||||
13 0.139534711838 0.971929192543
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
10 0.338432431221 0.0253906790167
|
||||
11 0.338432312012 0.0253906194121
|
||||
9 0.139534652233 0.0253906790167
|
||||
8 0.139534652233 0.0253909472376
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
12 0.139534711838 0.971929192543
|
||||
13 0.139534711838 0.971929192543
|
||||
15 0.338432490826 0.971928715706
|
||||
14 0.338432490826 0.971929192543
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
5 0.45733076334 0.851326525211
|
||||
4 0.020636677742 0.851326942444
|
||||
16 0.0811778306961 0.71433955431
|
||||
17 0.291848778725 0.714339256287
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
6 0.457330405712 0.145992904902
|
||||
5 0.45733076334 0.851326525211
|
||||
17 0.291848778725 0.714339256287
|
||||
18 0.291848599911 0.242245286703
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
7 0.0206365585327 0.145992994308
|
||||
6 0.457330405712 0.145992904902
|
||||
18 0.291848599911 0.242245286703
|
||||
19 0.0811777710915 0.242245346308
|
||||
SURF 0x00
|
||||
mat 1
|
||||
refs 4
|
||||
4 0.020636677742 0.851326942444
|
||||
7 0.0206365585327 0.145992994308
|
||||
19 0.0811777710915 0.242245346308
|
||||
16 0.0811778306961 0.71433955431
|
||||
kids 0
|
BIN
instrumentation/kfc200/kas297.rgb
Normal file
229
instrumentation/kfc200/kas297.xml
Normal file
|
@ -0,0 +1,229 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
KAS 297 ALTITUDE SELECTOR
|
||||
Syd Adams
|
||||
|
||||
*** requires kfc200.nas to run ***
|
||||
-->
|
||||
<PropertyList>
|
||||
|
||||
<path>kas297.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>material</type>
|
||||
<object-name>Arm.btn</object-name>
|
||||
<object-name>Set.knob</object-name>
|
||||
<emission>
|
||||
<red>0.028</red>
|
||||
<green>0.014</green>
|
||||
<blue>0.007</blue>
|
||||
<factor-prop>systems/electrical/outputs/instrument-lights</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>altmsg</object-name>
|
||||
<object-name>altmsg.001</object-name>
|
||||
<object-name>altmsg.002</object-name>
|
||||
<object-name>altmsg.003</object-name>
|
||||
<object-name>altmsg.004</object-name>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>systems/electrical/volts</property>
|
||||
<value>1</value>
|
||||
</greater-than>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Alert.msg</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<property>/instrumentation/kfc200/alt-alert</property>
|
||||
<greater-than>
|
||||
<property>systems/electrical/volts</property>
|
||||
<value>1</value>
|
||||
</greater-than>
|
||||
</and>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Arm.msg</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/instrumentation/kfc200/vnav</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<greater-than>
|
||||
<property>systems/electrical/volts</property>
|
||||
<value>1</value>
|
||||
</greater-than>
|
||||
</and>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<!-- Altitude Select -->
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>altmsg</object-name>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<factor>0.00001</factor>
|
||||
<step>10000</step>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>altmsg.001</object-name>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<factor>0.0001</factor>
|
||||
<step>1000</step>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>altmsg.002</object-name>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<factor>0.001</factor>
|
||||
<step>100</step>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>altmsg.003</object-name>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<factor>0.01</factor>
|
||||
<step>10</step>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>textranslate</type>
|
||||
<object-name>altmsg.004</object-name>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<factor>0.1</factor>
|
||||
<step>1</step>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>1</y>
|
||||
<z>0</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<!-- OSG animations
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Alt.decrease</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<step>-100</step>
|
||||
<min>0.0</min>
|
||||
<max>99999.0</max>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Alt.decrease</object-name>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<step>-1000</step>
|
||||
<min>0.0</min>
|
||||
<max>99999.0</max>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Alt.increase</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<step>100</step>
|
||||
<min>0.0</min>
|
||||
<max>99999.0</max>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Alt.increase</object-name>
|
||||
<action>
|
||||
<button>1</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>instrumentation/kfc200/alt-preset</property>
|
||||
<step>1000</step>
|
||||
<min>0.0</min>
|
||||
<max>99999.0</max>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>Alt.arm</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if(getprop("instrumentation/kfc200/vnav")!= 1){
|
||||
setprop("instrumentation/kfc200/vnav",1);
|
||||
setprop("autopilot/settings/target-altitude-ft",getprop("instrumentation/kfc200/alt-preset"));
|
||||
}else{
|
||||
setprop("instrumentation/kfc200/vnav",0);
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
-->
|
||||
|
||||
</PropertyList>
|
219
instrumentation/kfc200/kfc-200.nas
Normal file
|
@ -0,0 +1,219 @@
|
|||
#### Bendix-King KFC-200 Flight Director ####
|
||||
|
||||
#Buttons
|
||||
# HDG ...heading hold
|
||||
# FD ..... flightdirector on/off
|
||||
# ALT ....altitude arm
|
||||
# NAV ...VOR / LOC arm
|
||||
# BC ....LOC back course
|
||||
# APPR ... LOC / GS arm
|
||||
|
||||
#### lnav ####
|
||||
# 0 = wingleveler
|
||||
# 1 = heading hold
|
||||
# 2 = NAV arm
|
||||
# 3 = NAV cap
|
||||
# 4 = APPR arm
|
||||
# 5 = APPR cap
|
||||
|
||||
#### vnav ####
|
||||
# 0 = pitch hold
|
||||
# 1 = ALT arm
|
||||
# 2 = ALT cap
|
||||
# 3 = GS arm
|
||||
# 4 = GS cap
|
||||
|
||||
var L_list=["wing-leveler","dg-heading-hold","dg-heading-hold","nav1-hold","dg-heading-hold","nav1-hold","dg-heading-hold","nav1-hold"];
|
||||
|
||||
var V_list=["pitch-hold","pitch-hold","altitude-hold","pitch-hold","gs1-hold"];
|
||||
|
||||
var fdprop = props.globals.getNode("/instrumentation/kfc200",1);
|
||||
var lnav = 0;
|
||||
var vnav = 0;
|
||||
var current_alt=0.0;
|
||||
var alt_select = 0.0;
|
||||
var DH = 0;
|
||||
|
||||
var HASGS = "/instrumentation/nav/has-gs";
|
||||
var NAVLOC = "/instrumentation/nav/nav-loc";
|
||||
var NAVDST = "/instrumentation/nav/nav-dist";
|
||||
var NAVRNG = "/instrumentation/nav/in-range";
|
||||
var HDEFL = "/instrumentation/nav/heading-needle-deflection";
|
||||
var GSDEFL = "/instrumentation/nav/gs-needle-deflection";
|
||||
var BC = "/instrumentation/nav/back-course-btn";
|
||||
|
||||
var HDG = props.globals.getNode("/autopilot/locks/heading",1);
|
||||
var ALT = props.globals.getNode("/autopilot/locks/altitude",1);
|
||||
var SPD = props.globals.getNode("/autopilot/locks/speed",1);
|
||||
var SRVC = 0;
|
||||
|
||||
setlistener("/sim/signals/fdm-initialized", func {
|
||||
fdprop.getNode("serviceable",1).setBoolValue(1);
|
||||
fdprop.getNode("armed",1).setBoolValue(0);
|
||||
fdprop.getNode("cpld",1).setBoolValue(0);
|
||||
fdprop.getNode("pitch-trim",1).setIntValue(0);
|
||||
fdprop.getNode("alt-trim",1).setIntValue(0);
|
||||
fdprop.getNode("fd-on",1).setBoolValue(0);
|
||||
fdprop.getNode("gs-arm",1).setBoolValue(0);
|
||||
fdprop.getNode("lnav",1).setValue(0);
|
||||
fdprop.getNode("vnav",1).setValue(0);
|
||||
fdprop.getNode("alt-preset",1).setDoubleValue(0.0);
|
||||
fdprop.getNode("alt-alert",1).setBoolValue(0);
|
||||
fdprop.getNode("dh-alert",1).setBoolValue(0);
|
||||
DH = getprop("/autopilot/route-manager/min-lock-altitude-agl-ft");
|
||||
alt_select = 0;
|
||||
ALT.setValue(V_list[vnav]);
|
||||
HDG.setValue(L_list[lnav]);
|
||||
settimer(update,5);
|
||||
print("KFC-200 ... Check");
|
||||
});
|
||||
|
||||
setlistener("/instrumentation/kfc200/fd-on", func(fd){
|
||||
var fdON = fd.getBoolValue();
|
||||
clear_ap();
|
||||
},0,0);
|
||||
|
||||
setlistener("/autopilot/locks/passive-mode", func(ap){
|
||||
if(!ap.getBoolValue()){
|
||||
setprop("autopilot/settings/target-pitch-deg",getprop("/orientation/pitch-deg"));
|
||||
}
|
||||
},0,0);
|
||||
|
||||
setlistener("/instrumentation/kfc200/serviceable", func(srv){
|
||||
if(srv.getBoolValue()){SRVC=1;
|
||||
}else{
|
||||
SRVC=0;
|
||||
}
|
||||
},0,0);
|
||||
|
||||
setlistener("/autopilot/settings/target-altitude-ft",func(at){
|
||||
alt_select = at.getValue();
|
||||
},0,0);
|
||||
|
||||
setlistener("/autopilot/route-manager/min-lock-altitude-agl-ft",func(dh){
|
||||
DH = dh.getValue();
|
||||
},0,0);
|
||||
|
||||
setlistener("/instrumentation/kfc200/lnav",func(ln){
|
||||
if(SRVC == 0)return;
|
||||
lnav = ln.getValue();
|
||||
|
||||
if(lnav == 4){
|
||||
if(!getprop(NAVLOC)){
|
||||
lnav=2;
|
||||
setprop("/instrumentation/kfc200/lnav",lnav);
|
||||
}else{
|
||||
if(getprop(HASGS)){
|
||||
if(!getprop(BC)){
|
||||
setprop("/instrumentation/kfc200/gs-arm",1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
HDG.setValue(L_list[lnav]);
|
||||
},0,0);
|
||||
|
||||
setlistener("/instrumentation/kfc200/vnav", func(vn){
|
||||
if(SRVC == 0)return;
|
||||
vnav = vn.getValue();
|
||||
ALT.setValue(V_list[vnav]);
|
||||
},0,0);
|
||||
|
||||
var clear_ap = func {
|
||||
setprop("/autopilot/settings/target-pitch-deg",getprop("/orientation/pitch-deg"));
|
||||
vnav = 0;
|
||||
lnav=0;
|
||||
setprop("/instrumentation/kfc200/lnav",lnav);
|
||||
setprop("/instrumentation/kfc200/vnav",vnav);
|
||||
HDG.setValue(L_list[lnav]);
|
||||
ALT.setValue(V_list[vnav]);
|
||||
}
|
||||
|
||||
#### PITCH TRIM = 1 degree per second ####
|
||||
var pitch_trim = func {
|
||||
var temp_pitch = getprop("autopilot/settings/target-pitch-deg");
|
||||
var FR =getprop("sim/frame-rate");
|
||||
if(FR > 0){
|
||||
var trim = (1/FR) * arg[0];
|
||||
setprop("autopilot/settings/target-pitch-deg",temp_pitch + trim);
|
||||
}
|
||||
}
|
||||
|
||||
#### ALTITUDE TRIM = 600 fpm ####
|
||||
var alt_trim = func {
|
||||
var temp_alt = getprop("autopilot/settings/target-altitude-ft");
|
||||
var FR =getprop("sim/frame-rate");
|
||||
if(FR > 0){
|
||||
var trim = (10/FR) * arg[0];
|
||||
setprop("autopilot/settings/target-altitude-ft",temp_alt + trim);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var update_nav = func {
|
||||
if(SRVC == 1){
|
||||
var inrange= getprop(NAVRNG);
|
||||
|
||||
if(inrange){
|
||||
|
||||
if(lnav == 2 or lnav == 4){
|
||||
setprop("instrumentation/kfc200/armed",1);
|
||||
setprop("instrumentation/kfc200/cpld",0);
|
||||
var DF = getprop(HDEFL);
|
||||
if(DF > -9 and DF < 9){
|
||||
setprop("/instrumentation/kfc200/lnav",lnav + 1);
|
||||
setprop("instrumentation/kfc200/armed",0);
|
||||
setprop("instrumentation/kfc200/cpld",1);
|
||||
}
|
||||
}
|
||||
|
||||
if(lnav ==5){
|
||||
if(getprop("instrumentation/kfc200/gs-arm")){
|
||||
if(getprop("instrumentation/nav/gs-distance") < 25000){
|
||||
var GS1 = getprop(GSDEFL);
|
||||
if( GS1< 1.0 and GS1 > -1.0){vnav = 4;
|
||||
setprop("/instrumentation/kfc200/vnav",vnav);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(vnav == 1){
|
||||
var offset = get_altoffset();
|
||||
if(offset > -990 and offset < 990){
|
||||
setprop("/instrumentation/kfc200/vnav",vnav + 1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
var get_altoffset = func(){
|
||||
current_alt = getprop("/instrumentation/altimeter/pressure-alt-ft");
|
||||
var offset = (current_alt - alt_select);
|
||||
var alert =0;
|
||||
if(offset > -1000 and offset < -1000){
|
||||
if(offset < -300 and offset > 300)alert = 1;
|
||||
}
|
||||
fdprop.getNode("alt-alert").setBoolValue(alert);
|
||||
return(offset);
|
||||
}
|
||||
|
||||
var update = func {
|
||||
var PT = getprop("instrumentation/kfc200/pitch-trim");
|
||||
var AT = getprop("instrumentation/kfc200/alt-trim");
|
||||
if(PT !=0)pitch_trim(PT);
|
||||
if(AT!=0)alt_trim(AT);
|
||||
if(getprop("/position/altitude-agl-ft") < DH){
|
||||
props.globals.getNode("/autopilot/locks/passive-mode").setBoolValue(1);
|
||||
setprop("instrumentation/kfc200/dh-alert",1);
|
||||
}else{
|
||||
setprop("instrumentation/kfc200/dh-alert",0);
|
||||
}
|
||||
update_nav();
|
||||
settimer(update, 0);
|
||||
}
|
||||
|