<?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>