1
0
Fork 0
fgdata/gui/dialogs/rendering.xml
Richard Harrison 160abde2a6 LOD dialogs rework.
Big rework of the Adjust LOD ranges dialog to hopefully make it easier to understand, and harder to setup so that models aren't visible by accident.

All range entry is now via sliders.

The sliders are deltas from the previous value.

There is now the option to specifically choose either low detail or high detail AI/MP models. *NOTE* that for models without a fallback index the low detail model will be the blue yellow glider.

There is now clear indication of what happens for the Meters or Pixel modes.

Added a defaults button that will restore a reasonable set of default values.

The properties that were used have been renamed to ensure that sensible defaults will be picked, ideally we'd have a way to migrate things like this but I don't think we do, so this is a reasonable alternative.
2018-10-30 20:19:10 +01:00

1164 lines
29 KiB
XML

<?xml version="1.0"?>
<PropertyList>
<name>rendering</name>
<modal>false</modal>
<layout>vbox</layout>
<padding>20</padding>
<group>
<layout>hbox</layout>
<empty>
<stretch>1</stretch>
</empty>
<text>
<label>Rendering Options</label>
</text>
<empty>
<stretch>1</stretch>
</empty>
<button>
<pref-width>16</pref-width>
<pref-height>16</pref-height>
<legend></legend>
<keynum>27</keynum>
<border>2</border>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
<hrule/>
<text>
<visible>
<equals>
<property>/sim/gui/dialogs/rendering/shader-warning</property>
<value>1</value>
</equals>
</visible>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>Warning: Intel integrated graphics detected. Your graphics card may not support shaders or complex graphics.</label>
</text>
<group>
<halign>center</halign>
<layout>hbox</layout>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<group>
<layout>vbox</layout>
<group>
<layout>hbox</layout>
<text>
<label>General</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<checkbox>
<halign>left</halign>
<label>Wireframe</label>
<name>wireframe</name>
<property>/sim/rendering/wireframe</property>
<binding>
<command>dialog-apply</command>
<object-name>wireframe</object-name>
</binding>
</checkbox>
<!--
<group>
<layout>hbox</layout>
<text>
<label>Lighting</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<checkbox>
<halign>left</halign>
<label>Sun/Moon horizon effect</label>
<property>/sim/rendering/horizon-effect</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
-->
<checkbox>
<halign>left</halign>
<label>Use point sprites for runway lights</label>
<property>/sim/rendering/point-sprites</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
<!--
<checkbox>
<halign>left</halign>
<label>Enhanced runway lighting</label>
<property>/sim/rendering/enhanced-lighting</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Runway light distance attenuation</label>
<property>/sim/rendering/distance-attenuation</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Specular reflections on objects</label>
<property>/sim/rendering/specular-highlight</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
-->
<group>
<layout>hbox</layout>
<halign>left</halign>
<checkbox>
<label>Throttle frame rate</label>
<name>frame-rate-throttle</name>
<property>/sim/gui/frame-rate-throttled</property>
<binding>
<command>dialog-apply</command>
<object-name>frame-rate-throttle</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var throttled = getprop("/sim/gui/frame-rate-throttled");
if (throttled)
setprop("/sim/frame-rate-throttle-hz", 50);
else
setprop("/sim/frame-rate-throttle-hz", 0);
</script>
</binding>
</checkbox>
<empty>
<pref-width>46</pref-width>
</empty>
<slider>
<name>frame-rate</name>
<visible>
<greater-than>
<property>/sim/frame-rate-throttle-hz</property>
<value>0</value>
</greater-than>
</visible>
<min>15.0</min>
<max>70.0</max>
<step>1.0</step>
<live>true</live>
<property>/sim/frame-rate-throttle-hz</property>
<binding>
<command>dialog-apply</command>
<object-name>frame-rate</object-name>
</binding>
</slider>
<text>
<visible>
<greater-than>
<property>/sim/frame-rate-throttle-hz</property>
<value>0</value>
</greater-than>
</visible>
<label>99 Hz</label>
<format>%2.0f Hz</format>
<live>true</live>
<property>/sim/frame-rate-throttle-hz</property>
</text>
</group>
<!--
<checkbox>
<halign>left</halign>
<label>Lightning</label>
<property>/sim/rendering/lightning-enable</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
-->
<checkbox>
<halign>left</halign>
<label>Compensate field of view for wider screens</label>
<property>sim/current-view/field-of-view-compensation</property>
<binding>
<command>nasal</command>
<script>view.screenWidthCompens.toggle()</script>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Animated jetways</label>
<name>jetways</name>
<property>/nasal/jetways/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>jetways</object-name>
</binding>
</checkbox>
<empty>
<stretch>1</stretch>
</empty>
<group>
<layout>hbox</layout>
<text>
<label>Scenery Layers</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<group>
<layout>table</layout>
<text>
<row>0</row>
<col>0</col>
<halign>left</halign>
<label>Pylons and power lines</label>
</text>
<combo>
<row>0</row>
<col>1</col>
<name>pylons</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/pylons</property>
<value>Disabled</value>
<value>Enabled</value>
<binding>
<command>dialog-apply</command>
<object-name>pylons</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/pylons");
if (val == "Enabled") {
setScenerySuffix("Pylons", 1);
} else {
setScenerySuffix("Pylons", 0);
}
</script>
</binding>
</combo>
<text>
<row>1</row>
<col>0</col>
<halign>left</halign>
<label>Detailed Roads and Railways</label>
</text>
<combo>
<row>1</row>
<col>1</col>
<name>roads</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/roads</property>
<value>Disabled</value>
<value>Enabled</value>
<binding>
<command>dialog-apply</command>
<object-name>roads</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/roads");
if (val == "Enabled") {
setScenerySuffix("Roads", 1);
} else {
setScenerySuffix("Roads", 0);
}
</script>
</binding>
</combo>
<text>
<row>2</row>
<col>0</col>
<halign>left</halign>
<label>Buildings</label>
</text>
<combo>
<row>2</row>
<col>1</col>
<name>buildings</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/buildings</property>
<value>Disabled</value>
<value>Randomly Generated</value>
<value>OpenStreetMap Data</value>
<binding>
<command>dialog-apply</command>
<object-name>buildings</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/buildings");
if (val == "Disabled") {
setprop("/sim/rendering/random-buildings", 0);
setprop("/sim/rendering/osm-buildings", 0);
setScenerySuffix("Buildings", 0);
}
if (val == "Randomly Generated") {
setprop("/sim/rendering/random-buildings", 1);
setprop("/sim/rendering/osm-buildings", 0);
setScenerySuffix("Buildings", 0);
}
if (val == "OpenStreetMap Data") {
setprop("/sim/rendering/random-buildings", 0);
setprop("/sim/rendering/osm-buildings", 1);
setScenerySuffix("Buildings", 1);
}
</script>
</binding>
</combo>
<text>
<row>3</row>
<col>0</col>
<halign>left</halign>
<label>Random Scenery Objects</label>
</text>
<combo>
<row>3</row>
<col>1</col>
<name>random-objects</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/random-objects</property>
<value>Disabled</value>
<value>Enabled</value>
<binding>
<command>dialog-apply</command>
<object-name>random-objects</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/random-objects");
if (val == "Enabled") {
setprop("/sim/rendering/random-objects", 1);
} else {
setprop("/sim/rendering/random-objects", 0);
}
</script>
</binding>
</combo>
<text>
<row>4</row>
<col>0</col>
<halign>left</halign>
<label>Vegetation</label>
</text>
<combo>
<row>4</row>
<col>1</col>
<name>random-vegetation</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/random-vegetation</property>
<value>Disabled</value>
<value>Ultra Low Density</value>
<value>Very Low Density</value>
<value>Low Density</value>
<value>Medium Density</value>
<value>High Density</value>
<value>Very High Density</value>
<value>Ultra High Density</value>
<binding>
<command>dialog-apply</command>
<object-name>random-vegetation</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/random-vegetation");
if (val == "Disabled") {
setprop("/sim/rendering/random-vegetation", 0);
}
if (val == "Ultra Low Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 0.1);
}
if (val == "Low Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 0.25);
}
if (val == "Low Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 0.5);
}
if (val == "Medium Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 1.0);
}
if (val == "High Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 2.0);
}
if (val == "Very High Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 4.0);
}
if (val == "Ultra High Density") {
setprop("/sim/rendering/random-vegetation", 1);
setprop("/sim/rendering/vegetation-density", 8.0);
}
</script>
</binding>
</combo>
<text>
<row>5</row>
<col>0</col>
<halign>left</halign>
<label>Vegetation Shadows</label>
</text>
<combo>
<row>5</row>
<col>1</col>
<name>vegetation-shadows</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/vegetation-shadows</property>
<value>Disabled</value>
<value>Enabled</value>
<binding>
<command>dialog-apply</command>
<object-name>vegetation-shadows</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/vegetation-shadows");
if (val == "Enabled") {
setprop("/sim/rendering/random-vegetation-shadows", 1);
} else {
setprop("/sim/rendering/random-vegetation-shadows", 0);
}
</script>
</binding>
</combo>
<text>
<row>6</row>
<col>0</col>
<halign>left</halign>
<label>Scenery Objects</label>
</text>
<combo>
<row>6</row>
<col>1</col>
<name>placed-objects</name>
<pref-width>200</pref-width>
<property>/sim/gui/dialogs/rendering/placed-objects</property>
<value>Disabled</value>
<value>Enabled</value>
<binding>
<command>dialog-apply</command>
<object-name>placed-objects</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var val = getprop("/sim/gui/dialogs/rendering/placed-objects");
if (val == "Enabled") {
setScenerySuffix("Objects", 1);
} else {
setScenerySuffix("Objects", 0);
}
</script>
</binding>
</combo>
<text>
<row>7</row>
<col>0</col>
<halign>left</halign>
<label>Terrain Textures</label>
</text>
<combo>
<row>7</row>
<col>1</col>
<name>texture-set</name>
<pref-width>200</pref-width>
<property>sim/gui/dialogs/rendering/texture-set</property>
<value>Region-specific</value>
<value>Global</value>
<value>Global alternative (DDS format)</value>
<binding>
<command>dialog-apply</command>
<object-name>texture-set</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
var file = materials[getprop("/sim/gui/dialogs/rendering/texture-set")];
setprop("/sim/rendering/materials-file", file);
</script>
</binding>
<binding>
<command>reload-materials</command>
</binding>
</combo>
<text>
<row>8</row>
<col>0</col>
<colspan>2</colspan>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>Warning: Pylons, Detailed Roads, Buildings use a lot of memory</label>
</text>
<text>
<row>9</row>
<col>0</col>
<colspan>2</colspan>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<label>and disk space, and are only available in limited areas.</label>
</text>
</group>
<group>
<layout>vbox</layout>
<stretch>1</stretch>
</group>
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<vrule/>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
<group>
<layout>vbox</layout>
<group>
<layout>hbox</layout>
<text>
<label>Shader Effects</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<group>
<layout>table</layout>
<checkbox>
<halign>left</halign>
<row>0</row>
<col>0</col>
<label>Custom settings (fine-tuning)</label>
<name>custom-settings</name>
<property>/sim/rendering/shaders/custom-settings</property>
<binding>
<command>dialog-apply</command>
<object-name>custom-settings</object-name>
</binding>
</checkbox>
<group>
<layout>hbox</layout>
<row>1</row>
<col>0</col>
<visible>
<not>
<property>/sim/rendering/shaders/custom-settings</property>
</not>
</visible>
<text>
<label>Performance</label>
</text>
<slider>
<name>quality-level</name>
<min>0.0</min>
<max>5.0</max>
<step>1.0</step>
<fraction>0.17</fraction>
<property>/sim/rendering/shaders/quality-level-internal</property>
<binding>
<command>dialog-apply</command>
<object-name>quality-level</object-name>
</binding>
</slider>
<text>
<label>Quality</label>
</text>
<text>
<label>12345678</label>
<format>(%1.0f)</format>
<live>true</live>
<property>/sim/rendering/shaders/quality-level-internal</property>
</text>
</group>
<group>
<layout>hbox</layout>
<row>1</row>
<col>0</col>
<visible>
<and>
<property>/sim/rendering/shaders/custom-settings</property>
<not>
<property>/sim/rendering/shaders/skydome</property>
</not>
</and>
</visible>
<button>
<legend>Shader Options</legend>
<halign>left</halign>
<binding>
<command>dialog-show</command>
<dialog-name>shaders</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
</group>
<group>
<layout>hbox</layout>
<row>1</row>
<col>0</col>
<visible>
<and>
<property>/sim/rendering/shaders/custom-settings</property>
<property>/sim/rendering/shaders/skydome</property>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</and>
</visible>
<button>
<legend>Shader Options</legend>
<halign>left</halign>
<binding>
<command>dialog-show</command>
<dialog-name>shaders-lightfield</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
</group>
</group>
<group>
<layout>hbox</layout>
<text>
<label>Atmospheric Effects</label>
<halign>left</halign>
</text>
<hrule>
<stretch>true</stretch>
</hrule>
</group>
<checkbox>
<halign>left</halign>
<label>Particles (smoke, dust, spray)</label>
<name>particles</name>
<property>/sim/rendering/particles</property>
<binding>
<command>dialog-apply</command>
<object-name>particles</object-name>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Precipitation</label>
<name>precipitation</name>
<property>/sim/rendering/precipitation-gui-enable</property>
<binding>
<command>dialog-apply</command>
<object-name>precipitation</object-name>
</binding>
</checkbox>
<!--
<checkbox>
<halign>left</halign>
<label>2D clouds</label>
<property>/sim/rendering/bump-mapping</property>
<binding>
<command>dialog-apply</command>
</binding>
</checkbox>
-->
<checkbox>
<halign>left</halign>
<label>3D clouds</label>
<name>3d-clouds</name>
<property>/sim/rendering/clouds3d-enable</property>
<binding>
<command>dialog-apply</command>
<object-name>3d-clouds</object-name>
</binding>
</checkbox>
<group>
<layout>hbox</layout>
<halign>right</halign>
<text>
<label>Cloud density</label>
<enable>
<property>/sim/rendering/clouds3d-enable</property>
</enable>
</text>
<slider>
<name>cloud-density</name>
<min>0</min>
<max>1.0</max>
<property>/sim/rendering/clouds3d-density</property>
<binding>
<command>dialog-apply</command>
<object-name>cloud-density</object-name>
</binding>
<binding>
<command>property-toggle</command>
<property>/sim/rendering/clouds3d-enable</property>
</binding>
<binding>
<command>property-toggle</command>
<property>/sim/rendering/clouds3d-enable</property>
</binding>
</slider>
<text>
<enable>
<property>/sim/rendering/clouds3d-enable</property>
</enable>
<label>12345678</label>
<format>%.2f</format>
<live>true</live>
<property>/sim/rendering/clouds3d-density</property>
</text>
</group>
<group>
<layout>hbox</layout>
<halign>right</halign>
<text>
<label>Cloud visibility range</label>
<enable>
<property>/sim/rendering/clouds3d-enable</property>
</enable>
</text>
<slider>
<name>cloud-vis-range</name>
<min>1000.0</min>
<max>150000.0</max>
<property>/sim/rendering/clouds3d-vis-range</property>
<binding>
<command>dialog-apply</command>
<object-name>cloud-vis-range</object-name>
</binding>
</slider>
<text>
<enable>
<property>/sim/rendering/clouds3d-enable</property>
</enable>
<label>12345678</label>
<format>%.fm</format>
<live>true</live>
<property>/sim/rendering/clouds3d-vis-range</property>
</text>
</group>
<!-- mhab modified -->
<group>
<layout>table</layout>
<group>
<layout>vbox</layout>
<pref-height>35</pref-height>
<halign>left</halign>
<row>0</row>
<col>0</col>
<checkbox>
<halign>left</halign>
<label>Atmospheric Light Scattering (ALS)</label>
<name>skydome-scattering</name>
<enable>
<not>
<property>/sim/rendering/rembrandt/enabled</property>
</not>
</enable>
<property>/sim/rendering/shaders/skydome</property>
<binding>
<command>dialog-apply</command>
<object-name>skydome-scattering</object-name>
</binding>
</checkbox>
</group>
<button>
<row>1</row>
<col>0</col>
<enable>
<property>/sim/rendering/shaders/skydome</property>
</enable>
<legend>Filter settings (experimental)</legend>
<halign>center</halign>
<binding>
<command>dialog-show</command>
<dialog-name>als-filters</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
<group>
<layout>hbox</layout>
<row>2</row>
<col>0</col>
<text>
<label>Rembrandt</label>
<halign>left</halign>
<enable>
<property>/sim/rendering/rembrandt/enabled</property>
</enable>
</text>
<text>
<label>(experimental)</label>
<halign>left</halign>
<color>
<red>1.0</red>
<green>0.6</green>
<blue>0.6</blue>
</color>
<enable>
<property>/sim/rendering/rembrandt/enabled</property>
</enable>
</text>
<hrule>
<stretch>true</stretch>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
</visible>
</hrule>
</group>
<button>
<row>3</row>
<col>0</col>
<enable>
<property>/sim/rendering/rembrandt/enabled</property>
</enable>
<legend>Rembrandt Options</legend>
<halign>center</halign>
<binding>
<command>dialog-show</command>
<dialog-name>rembrandt</dialog-name>
</binding>
<binding>
<command>dialog-close</command>
<dialog-name>rendering</dialog-name>
</binding>
<pref-width>200</pref-width>
</button>
</group>
<empty>
<stretch>1</stretch>
</empty>
</group>
<!-- only for a gap -->
<group>
<layout>vbox</layout>
<default-padding>1</default-padding>
<text>
<label> </label>
</text>
</group>
</group>
<hrule/>
<button>
<legend> OK </legend>
<default>true</default>
<binding>
<command>nasal</command>
<script>
var reinit = 0;
foreach (var p; reload_props) {
if (reload_vals[p] != getprop(p)) {
reinit = 1;
}
}
if (reinit) {
fgcommand("reinit", props.Node.new({"subsystem": "scenery"}));
}
</script>
</binding>
<binding>
<command>dialog-close</command>
</binding>
</button>
<nasal>
<open>
<![CDATA[
var getScenerySuffix = func(layer) {
var suffixes = props.globals.getNode("/sim/rendering", 1).getChildren("scenery-path-suffix");
#printf("Looking for suffix " ~ layer);
foreach (var p; suffixes) {
#printf("Checking suffix " ~ p.getNode("name",1).getValue());
#printf("Checking suffix enabled " ~ p.getNode("enabled",1).getValue());
if (p.getNode("name",1).getValue() == layer) {
#printf("Found layer " ~ layer ~ " value: " ~ p.getNode("enabled", 1).getValue() ~ " " ~ p.getNode("enabled", 1).getBoolValue());
return p.getNode("enabled", 1).getBoolValue();
}
}
return 0;
}
var setScenerySuffix = func(layer, enable) {
var suffixes = props.globals.getNode("/sim/rendering", 1).getChildren("scenery-path-suffix");
#printf("Setting scenery suffix" ~ layer ~ " to " ~ enable);
foreach (var p; suffixes) {
if (p.getNode("name",1).getValue() == layer) {
#printf("Matched scenery suffix" ~ layer ~ " to " ~ enable);
p.getNode("enabled", 1).setBoolValue(enable);
}
}
}
var materials = { "Region-specific" : "Materials/regions/materials.xml",
"Global" : "Materials/default/materials.xml",
"Global alternative (DDS format)" : "Materials/dds/materials.xml" };
gui.enable_widgets(cmdarg(), "shadows-debug", getprop("/sim/gui/devel-widgets"));
props.globals.getNode("/sim/rendering/shaders/quality-level", 1).setAttribute("userarchive", 0);
setprop("/sim/gui/frame-rate-throttled", (getprop("/sim/frame-rate-throttle-hz") > 0));
var matfile = getprop("/sim/rendering/materials-file");
foreach (var name; keys(materials)) {
if (matfile == materials[name]) {
setprop("/sim/gui/dialogs/rendering/texture-set", name);
}
}
var vendor = getprop("/sim/rendering/gl-vendor");
if (vendor != nil) {
vendor = string.lc(vendor);
if (find("intel", vendor) != -1) {
setprop("/sim/gui/dialogs/rendering/shader-warning", 1);
} else {
setprop("/sim/gui/dialogs/rendering/shader-warning", 0);
}
}
# Mapping from underlying properties to those used by the GUI.
if (getScenerySuffix("Pylons")) {
setprop("/sim/gui/dialogs/rendering/pylons", "Enabled");
} else {
setprop("/sim/gui/dialogs/rendering/pylons", "Disabled");
}
if (getScenerySuffix("Roads")) {
setprop("/sim/gui/dialogs/rendering/roads", "Enabled");
} else {
setprop("/sim/gui/dialogs/rendering/roads", "Disabled");
}
if (getScenerySuffix("Buildings")) {
setprop("/sim/gui/dialogs/rendering/buildings", "OpenStreetMap Data");
} else if (getprop("/sim/rendering/random-buildings")) {
setprop("/sim/gui/dialogs/rendering/buildings", "Random");
} else {
setprop("/sim/gui/dialogs/rendering/buildings", "Disabled");
}
if (getprop("/sim/rendering/random-objects")) {
setprop("/sim/gui/dialogs/rendering/random-objects", "Enabled");
} else {
setprop("/sim/gui/dialogs/rendering/random-objects", "Disabled");
}
if (getprop("/sim/rendering/random-vegetation")) {
var density = getprop("/sim/rendering/vegetation-density");
if (density < 0.2) {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Ultra Low Density");
# 0.1
} else if (density < 0.4) {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Very Low Density");
# 0.25
} else if (density < 0.8) {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Low Density");
# 0.5
} else if (density < 1.5) {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Medium Density");
# 1.0
} else if (density < 3.0) {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "High Density");
# 2.0
} else if (density < 6.0) {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Very High Density");
# 4.0
} else {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Ultra High Density");
# 8.0
}
} else {
setprop("/sim/gui/dialogs/rendering/random-vegetation", "Disabled");
}
if (getprop("/sim/rendering/random-vegetation-shadows")) {
setprop("/sim/gui/dialogs/rendering/vegetation-shadows", "Enabled");
} else {
setprop("/sim/gui/dialogs/rendering/vegetation-shadows", "Disabled");
}
if (getScenerySuffix("Objects")) {
setprop("/sim/gui/dialogs/rendering/placed-objects", "Enabled");
} else {
setprop("/sim/gui/dialogs/rendering/placed-objects", "Disabled");
}
var reload_props = [
"/sim/rendering/materials-file",
"/sim/rendering/osm-buildings",
"/sim/rendering/random-buildings",
"/sim/rendering/random-objects",
"/sim/rendering/random-vegetation",
"/sim/rendering/random-vegetation-shadows",
"/sim/rendering/vegetation-density",
"/sim/rendering/clouds3d-enable",
"/sim/rendering/clouds3d-density",
"/sim/rendering/scenery-path-suffix[0]/enabled",
"/sim/rendering/scenery-path-suffix[1]/enabled",
"/sim/rendering/scenery-path-suffix[2]/enabled",
"/sim/rendering/scenery-path-suffix[3]/enabled",
"/sim/rendering/scenery-path-suffix[4]/enabled",
"/sim/rendering/scenery-path-suffix[5]/enabled",
"/sim/rendering/scenery-path-suffix[6]/enabled"
];
var reload_vals = {};
foreach (var p; reload_props) {
reload_vals[p] = getprop(p);
}
]]>
</open>
</nasal>
</PropertyList>