Some (pretty hot) volcano code - general management routines, Kilauea and Stromboli worked out as examples, WIP
|
@ -502,5 +502,8 @@
|
||||||
<wash-strength type="float" userarchive="n">0.0</wash-strength>
|
<wash-strength type="float" userarchive="n">0.0</wash-strength>
|
||||||
</aircraft-effects>
|
</aircraft-effects>
|
||||||
|
|
||||||
|
<!-- definitions for vocanic activity -->
|
||||||
|
<volcanoes include="volcanoes.xml"/>
|
||||||
|
|
||||||
|
|
||||||
</PropertyList>
|
</PropertyList>
|
||||||
|
|
18
Environment/volcanoes.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" ?>
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
|
||||||
|
<enable-volcanoes type="int" userarchive="y">0</enable-volcanoes>
|
||||||
|
|
||||||
|
<kilauea>
|
||||||
|
<halemaumau-activity type="int" userarchive="y">0</halemaumau-activity>
|
||||||
|
<puu-oo-activity type="int" userarchive="y">0</puu-oo-activity>
|
||||||
|
</kilauea>
|
||||||
|
|
||||||
|
<stromboli>
|
||||||
|
<central-activity type="int" userarchive="y">0</central-activity>
|
||||||
|
<side-activity type="int" userarchive="y">0</side-activity>
|
||||||
|
</stromboli>
|
||||||
|
|
||||||
|
</PropertyList>
|
121
Models/Volcanoes/Kilauea/halemaumau.xml
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<nasal>
|
||||||
|
<load><![CDATA[
|
||||||
|
print ("Halemaumau model loaded");
|
||||||
|
]]></load>
|
||||||
|
</nasal>
|
||||||
|
|
||||||
|
|
||||||
|
<path>kilauea.ac</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.00</x-m>
|
||||||
|
<y-m>0.00</y-m>
|
||||||
|
<z-m>5.00</z-m>
|
||||||
|
</offsets>
|
||||||
|
|
||||||
|
<animation>
|
||||||
|
<type>select</type>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/halemaumau-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</animation>
|
||||||
|
|
||||||
|
<effect>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<inherits-from>Effects/model-combined-deferred</inherits-from>
|
||||||
|
</effect>
|
||||||
|
|
||||||
|
<animation>
|
||||||
|
<type>scale</type>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<x-offset>330.0</x-offset>
|
||||||
|
<y-offset>330.0</y-offset>
|
||||||
|
<z-offset>1.0</z-offset>
|
||||||
|
</animation>
|
||||||
|
|
||||||
|
<animation>
|
||||||
|
<type>material</type>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<emission>
|
||||||
|
<red> 0.4 </red>
|
||||||
|
<green> 0.32 </green>
|
||||||
|
<blue> 0.32 </blue>
|
||||||
|
</emission>
|
||||||
|
</animation>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>halemaumau_smoke.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>-20.0</x-m>
|
||||||
|
<y-m>20.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/halemaumau-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>kilauea_lava_fountain.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>-20.0</x-m>
|
||||||
|
<y-m>20.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/halemaumau-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>kilauea_smoke.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>160.0</x-m>
|
||||||
|
<y-m>-130.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/halemaumau-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>kilauea_smoke.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>180.0</x-m>
|
||||||
|
<y-m>180.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/halemaumau-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</PropertyList>
|
107
Models/Volcanoes/Kilauea/halemaumau_smoke.xml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>kilauea-smoke</name>
|
||||||
|
<texture>smoke.png</texture>
|
||||||
|
<emissive>false</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>point</type>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>90</theta-min-deg>
|
||||||
|
<theta-max-deg>90</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>0</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<value>15</value>
|
||||||
|
<spread>2</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<value>2</value>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.2</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>50.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.1</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>250.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>40</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>1.0</mass-kg>
|
||||||
|
<radius-m>2.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
24
Models/Volcanoes/Kilauea/kilauea.ac
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
AC3Db
|
||||||
|
MATERIAL "DefaultWhite" rgb 1.0000 1.0000 1.0000 amb 0.2000 0.2000 0.2000 emis 0.0000 0.0000 0.0000 spec 0.5000 0.5000 0.5000 shi 10 trans 0.0000
|
||||||
|
MATERIAL "Material.001" rgb 0.8000 0.8000 0.8000 amb 1.0000 1.0000 1.0000 emis 0.0000 0.0000 0.0000 spec 0.2500 0.2500 0.2500 shi 50 trans 0.0000
|
||||||
|
OBJECT world
|
||||||
|
name "Blender_export__kilauea.ac"
|
||||||
|
kids 1
|
||||||
|
OBJECT poly
|
||||||
|
name "Lava"
|
||||||
|
texture "lava_texture.png"
|
||||||
|
texrep 1 1
|
||||||
|
numvert 4
|
||||||
|
1.0000000 0.0000000 1.0000000
|
||||||
|
-1.0000000 0.0000000 1.0000000
|
||||||
|
1.0000000 0.0000000 -1.0000000
|
||||||
|
-1.0000000 0.0000000 -1.0000000
|
||||||
|
numsurf 1
|
||||||
|
SURF 0X20
|
||||||
|
mat 1
|
||||||
|
refs 4
|
||||||
|
1 0.00000 1.00000
|
||||||
|
0 1.00000 1.000000
|
||||||
|
2 1.00000 0.00000
|
||||||
|
3 0.00000 0.000000
|
||||||
|
kids 0
|
54
Models/Volcanoes/Kilauea/kilauea.nas
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
var puu_oo_loop_flag = 1;
|
||||||
|
|
||||||
|
var puu_oo_loop = func (strength, tgt_strength) {
|
||||||
|
|
||||||
|
if (puu_oo_loop_flag == 0)
|
||||||
|
{
|
||||||
|
print("Ending Puu Oo eruption simulation.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rand() > 0.99) {tgt_strength = 100.0;}
|
||||||
|
|
||||||
|
tgt_strength = tgt_strength - 0.5;
|
||||||
|
if (tgt_strength < 40.0) {tgt_strength = 40.0;}
|
||||||
|
|
||||||
|
var step = 5.0;
|
||||||
|
|
||||||
|
if (math.abs(strength - tgt_strength) < 5.0) {step = 1.0;}
|
||||||
|
|
||||||
|
if (strength < tgt_strength)
|
||||||
|
{strength += step;}
|
||||||
|
else
|
||||||
|
{strength -= step;}
|
||||||
|
|
||||||
|
setprop("/environment/volcanoes/kilauea/puu-oo-eruption-strength", strength);
|
||||||
|
setprop("/environment/volcanoes/kilauea/puu-oo-eruption-quantity", int(0.5*strength));
|
||||||
|
|
||||||
|
|
||||||
|
settimer(func {puu_oo_loop(strength, tgt_strength);}, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
puu_oo_state_manager = func {
|
||||||
|
|
||||||
|
print ("Puu Oo state manager");
|
||||||
|
var state = getprop("/environment/volcanoes/kilauea/puu-oo-activity");
|
||||||
|
|
||||||
|
if (state == 3)
|
||||||
|
{
|
||||||
|
print("Starting Puu Oo eruption simulation.");
|
||||||
|
puu_oo_loop_flag = 1;
|
||||||
|
puu_oo_loop(50.0, 50.0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
puu_oo_loop_flag = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# call state manager once to get correct autosaved behavior, otherwise use listener
|
||||||
|
|
||||||
|
puu_oo_state_manager();
|
||||||
|
|
||||||
|
setlistener("/environment/volcanoes/kilauea/puu-oo-activity", puu_oo_state_manager);
|
107
Models/Volcanoes/Kilauea/kilauea_lava_fountain.xml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>kilauea-lava-fountain</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>point</type>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>10</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<value>30</value>
|
||||||
|
<spread>10</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<value>25</value>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>5.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>7.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>8</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
107
Models/Volcanoes/Kilauea/kilauea_smoke.xml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>kilauea-smoke2</name>
|
||||||
|
<texture>smoke.png</texture>
|
||||||
|
<emissive>false</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>point</type>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>60</theta-min-deg>
|
||||||
|
<theta-max-deg>90</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<value>20</value>
|
||||||
|
<spread>2</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<value>4</value>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.4</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>10.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.05</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>100.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>15</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>1.0</mass-kg>
|
||||||
|
<radius-m>2.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
BIN
Models/Volcanoes/Kilauea/lava.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
Models/Volcanoes/Kilauea/lava_texture.png
Normal file
After Width: | Height: | Size: 486 KiB |
BIN
Models/Volcanoes/Kilauea/lava_texture_base.png
Normal file
After Width: | Height: | Size: 457 KiB |
187
Models/Volcanoes/Kilauea/puu_oo.xml
Normal file
|
@ -0,0 +1,187 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!-- Lava fountain and sulfur smoke at the Puu Oo crater of Kilauea -->
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<!--<nasal>
|
||||||
|
<load><![CDATA[
|
||||||
|
|
||||||
|
var puu_oo_loop_flag = 1;
|
||||||
|
|
||||||
|
var puu_oo_loop = func (strength, tgt_strength) {
|
||||||
|
|
||||||
|
if (puu_oo_loop_flag == 0)
|
||||||
|
{
|
||||||
|
print("Ending Puu Oo eruption simulation.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rand() > 0.99) {tgt_strength = 100.0;}
|
||||||
|
|
||||||
|
tgt_strength = tgt_strength - 0.5;
|
||||||
|
if (tgt_strength < 40.0) {tgt_strength = 40.0;}
|
||||||
|
|
||||||
|
var step = 5.0;
|
||||||
|
|
||||||
|
if (math.abs(strength - tgt_strength) < 5.0) {step = 1.0;}
|
||||||
|
|
||||||
|
if (strength < tgt_strength)
|
||||||
|
{strength += step;}
|
||||||
|
else
|
||||||
|
{strength -= step;}
|
||||||
|
|
||||||
|
setprop("/environment/volcanoes/kilauea/puu-oo-eruption-strength", strength);
|
||||||
|
setprop("/environment/volcanoes/kilauea/puu-oo-eruption-quantity", int(0.5*strength));
|
||||||
|
|
||||||
|
|
||||||
|
settimer(func {puu_oo_loop(strength, tgt_strength);}, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
puu_oo_state_manager = func {
|
||||||
|
|
||||||
|
print ("Puu Oo state manager");
|
||||||
|
var state = getprop("/environment/volcanoes/kilauea/puu-oo-activity");
|
||||||
|
|
||||||
|
if (state == 3)
|
||||||
|
{
|
||||||
|
print("Starting Puu Oo eruption simulation.");
|
||||||
|
puu_oo_loop_flag = 1;
|
||||||
|
puu_oo_loop(50.0, 50.0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
puu_oo_loop_flag = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# call state manager once to get correct autosaved behavior, otherwise use listener
|
||||||
|
|
||||||
|
puu_oo_state_manager();
|
||||||
|
|
||||||
|
setlistener("/environment/volcanoes/kilauea/puu-oo-activity", puu_oo_state_manager);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</load>
|
||||||
|
|
||||||
|
<unload><![CDATA[
|
||||||
|
print("Unloading Puu Oo volcano management.");
|
||||||
|
pu_oo_loop_flag = 0;
|
||||||
|
]]>
|
||||||
|
</unload>
|
||||||
|
|
||||||
|
</nasal>-->
|
||||||
|
|
||||||
|
<path>kilauea.ac</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.00</x-m>
|
||||||
|
<y-m>0.00</y-m>
|
||||||
|
<z-m>8.00</z-m>
|
||||||
|
</offsets>
|
||||||
|
|
||||||
|
<animation>
|
||||||
|
<type>select</type>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</animation>
|
||||||
|
|
||||||
|
<effect>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<inherits-from>Effects/model-combined-deferred</inherits-from>
|
||||||
|
</effect>
|
||||||
|
|
||||||
|
<animation>
|
||||||
|
<type>scale</type>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<x-offset>120.0</x-offset>
|
||||||
|
<y-offset>120.0</y-offset>
|
||||||
|
<z-offset>2.0</z-offset>
|
||||||
|
</animation>
|
||||||
|
|
||||||
|
<animation>
|
||||||
|
<type>material</type>
|
||||||
|
<object-name>Lava</object-name>
|
||||||
|
<emission>
|
||||||
|
<red> 0.4 </red>
|
||||||
|
<green> 0.32 </green>
|
||||||
|
<blue> 0.32 </blue>
|
||||||
|
</emission>
|
||||||
|
</animation>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>puu_oo_smoke.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>-20.0</x-m>
|
||||||
|
<y-m>20.0</y-m>
|
||||||
|
<z-m>140.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>puu_oo_lava_fountain.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-activity</property>
|
||||||
|
<value>2</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>puu_oo_lava_fountain2.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-activity</property>
|
||||||
|
<value>2</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>kilauea_lava_fountain.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>30.0</x-m>
|
||||||
|
<y-m>-20.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</PropertyList>
|
112
Models/Volcanoes/Kilauea/puu_oo_lava_fountain.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>puu-oo-lava-fountain</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>sector</type>
|
||||||
|
<radius-min-m>0.0</radius-min-m>
|
||||||
|
<radius-max-m>15.0</radius-max-m>
|
||||||
|
<phi-min-deg>0.0</phi-min-deg>
|
||||||
|
<phi-max-deg>360.0</phi-max-deg>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>8</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<!--<value>60</value>-->
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-eruption-strength</property>
|
||||||
|
<spread>50.0</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-eruption-quantity</property>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>10.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>10.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>25</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
112
Models/Volcanoes/Kilauea/puu_oo_lava_fountain2.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>puu-oo-lava-fountain</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>sector</type>
|
||||||
|
<radius-min-m>0.0</radius-min-m>
|
||||||
|
<radius-max-m>15.0</radius-max-m>
|
||||||
|
<phi-min-deg>0.0</phi-min-deg>
|
||||||
|
<phi-max-deg>360.0</phi-max-deg>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>12</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<!--<value>60</value>-->
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-eruption-strength</property>
|
||||||
|
<spread>30</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-eruption-quantity</property>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>3.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>3.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>20</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
107
Models/Volcanoes/Kilauea/puu_oo_smoke.xml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>puu-oo-smoke</name>
|
||||||
|
<texture>smoke_turbulent.png</texture>
|
||||||
|
<emissive>false</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>point</type>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>90</theta-min-deg>
|
||||||
|
<theta-max-deg>90</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>0</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<value>20</value>
|
||||||
|
<spread>10</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>-40</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<value>1</value>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.6</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>50.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.1</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>250.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>60</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>1.0</mass-kg>
|
||||||
|
<radius-m>2.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
BIN
Models/Volcanoes/Kilauea/smoke.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
Models/Volcanoes/Kilauea/smoke_turbulent.png
Normal file
After Width: | Height: | Size: 20 KiB |
80
Models/Volcanoes/Stromboli/central_crater.xml
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!-- Stromboli central crater activity -->
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>stromboli_smoke_main.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>-50.0</x-m>
|
||||||
|
<y-m>50.0</y-m>
|
||||||
|
<z-m>20.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/central-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>stromboli_smoke_minor.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>50.0</x-m>
|
||||||
|
<y-m>100.0</y-m>
|
||||||
|
<z-m>20.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/central-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>central_crater_lava_fountain.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>170</heading-deg>
|
||||||
|
<pitch-deg>10</pitch-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/central-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>central_crater_lava_fountain_inner.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>170</heading-deg>
|
||||||
|
<pitch-deg>10</pitch-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/central-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</PropertyList>
|
112
Models/Volcanoes/Stromboli/central_crater_lava_fountain.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>stromboli-lava-foundain</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>global</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>sector</type>
|
||||||
|
<radius-min-m>0.0</radius-min-m>
|
||||||
|
<radius-max-m>25.0</radius-max-m>
|
||||||
|
<phi-min-deg>0.0</phi-min-deg>
|
||||||
|
<phi-max-deg>360.0</phi-max-deg>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>15</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<!--<value>60</value>-->
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-strength</property>
|
||||||
|
<spread>150.0</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-quantity</property>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>4.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>4.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>22</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>stromboli-lava-foundain-inner</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>global</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>sector</type>
|
||||||
|
<radius-min-m>0.0</radius-min-m>
|
||||||
|
<radius-max-m>10.0</radius-max-m>
|
||||||
|
<phi-min-deg>0.0</phi-min-deg>
|
||||||
|
<phi-max-deg>360.0</phi-max-deg>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>3</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<!--<value>60</value>-->
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-strength-inner</property>
|
||||||
|
<spread>150.0</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-quantity-inner</property>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>6.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>6.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>22</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
BIN
Models/Volcanoes/Stromboli/lava.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
97
Models/Volcanoes/Stromboli/side_crater.xml
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!-- Stromboli side crater activity -->
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>stromboli_smoke_minor.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>50.0</x-m>
|
||||||
|
<y-m>-100.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/side-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>stromboli_smoke_minor.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>-50.0</x-m>
|
||||||
|
<y-m>-120.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/side-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>stromboli_smoke_main.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>60.0</y-m>
|
||||||
|
<z-m>20.0</z-m>
|
||||||
|
<heading-deg>0</heading-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/side-activity</property>
|
||||||
|
<value>0</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>side_crater_lava_fountain.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>180.0</heading-deg>
|
||||||
|
<pitch-deg>40.0</pitch-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/side-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<path>side_crater_lava_fountain_inner.xml</path>
|
||||||
|
<offsets>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<heading-deg>180.0</heading-deg>
|
||||||
|
<pitch-deg>40.0</pitch-deg>
|
||||||
|
</offsets>
|
||||||
|
<condition>
|
||||||
|
<greater-than>
|
||||||
|
<property>/environment/volcanoes/stromboli/side-activity</property>
|
||||||
|
<value>1</value>
|
||||||
|
</greater-than>
|
||||||
|
</condition>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</PropertyList>
|
112
Models/Volcanoes/Stromboli/side_crater_lava_fountain.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>stromboli-sec-lava-foundain</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>global</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>sector</type>
|
||||||
|
<radius-min-m>0.0</radius-min-m>
|
||||||
|
<radius-max-m>20.0</radius-max-m>
|
||||||
|
<phi-min-deg>0.0</phi-min-deg>
|
||||||
|
<phi-max-deg>360.0</phi-max-deg>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>15</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<!--<value>60</value>-->
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-strength-sec</property>
|
||||||
|
<spread>150.0</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-quantity-sec</property>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>4.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>4.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>22</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
112
Models/Volcanoes/Stromboli/side_crater_lava_fountain_inner.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>stromboli-sec-lava-foundain-inner</name>
|
||||||
|
<texture>lava.png</texture>
|
||||||
|
<emissive>true</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>global</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>sector</type>
|
||||||
|
<radius-min-m>0.0</radius-min-m>
|
||||||
|
<radius-max-m>5.0</radius-max-m>
|
||||||
|
<phi-min-deg>0.0</phi-min-deg>
|
||||||
|
<phi-max-deg>360.0</phi-max-deg>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>0</theta-min-deg>
|
||||||
|
<theta-max-deg>5</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>360</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<!--<value>60</value>-->
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-strength-sec-inner</property>
|
||||||
|
<spread>150.0</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>10</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<property>/environment/volcanoes/stromboli/stromboli-eruption-quantity-sec-inner</property>
|
||||||
|
<spread>0</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>1.0</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.2</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.2</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>6.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<value>0.5</value>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<value>0.1</value>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<value>0.1</value>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>1.0</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>6.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>22</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>200.0</mass-kg>
|
||||||
|
<radius-m>0.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
BIN
Models/Volcanoes/Stromboli/smoke_turbulent.png
Normal file
After Width: | Height: | Size: 20 KiB |
122
Models/Volcanoes/Stromboli/stromboli.nas
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
var stromboli_loop_flag = 1;
|
||||||
|
|
||||||
|
var stromboli_central_factor = 1.0;
|
||||||
|
var stromboli_side_factor = 1.0;
|
||||||
|
|
||||||
|
var stromboli_central_probability = 0.99;
|
||||||
|
var stromboli_side_probability = 0.99;
|
||||||
|
|
||||||
|
|
||||||
|
var stromboli_loop = func (timer, strength, timer_sec, strength_sec) {
|
||||||
|
|
||||||
|
if (stromboli_loop_flag == 0)
|
||||||
|
{
|
||||||
|
print("Ending Stromboli simulation.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if ((timer <= 0.0) and (rand() > stromboli_central_probability))
|
||||||
|
{
|
||||||
|
strength = 180.0 + 70.0 * rand();
|
||||||
|
strength *= stromboli_central_factor;
|
||||||
|
timer = 0.3 + 0.3 * rand();
|
||||||
|
}
|
||||||
|
else if (timer <= 0.0)
|
||||||
|
{
|
||||||
|
strength = strength - 3.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strength = strength - 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strength < 10.0) {strength = 10.0;}
|
||||||
|
|
||||||
|
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-strength", strength );
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-strength-inner", 0.95 * strength );
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-quantity", int(5.0*strength + rand()));
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-quantity-inner", int(1.0*strength + 0.2 * rand()));
|
||||||
|
|
||||||
|
timer = timer - 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
if ((timer_sec <= 0.0) and (rand() > stromboli_side_probability))
|
||||||
|
{
|
||||||
|
strength_sec = 140.0 + 60.0 * rand();
|
||||||
|
strength_sec *= stromboli_side_factor;
|
||||||
|
timer_sec = 0.2 + 0.2 * rand();
|
||||||
|
}
|
||||||
|
else if (timer_sec <= 0.0)
|
||||||
|
{
|
||||||
|
strength_sec = strength_sec - 3.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strength_sec = strength_sec - 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strength_sec < 10.0) {strength_sec = 10.0;}
|
||||||
|
|
||||||
|
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-strength-sec", 0.95 * ((0.9 + 0.1 * rand()) * strength_sec) );
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-strength-sec-inner", ((0.9 + 0.1 * rand()) * strength_sec) );
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-quantity-sec", int(5.0*strength_sec + rand()));
|
||||||
|
setprop("/environment/volcanoes/stromboli/stromboli-eruption-quantity-sec-inner", int(1.0*strength_sec + 0.2 * rand()));
|
||||||
|
|
||||||
|
timer_sec = timer_sec - 0.1;
|
||||||
|
|
||||||
|
settimer(func {stromboli_loop(timer, strength, timer_sec, strength_sec);}, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
stromboli_state_manager = func {
|
||||||
|
|
||||||
|
print ("Stromboli state manager");
|
||||||
|
var state1 = getprop("/environment/volcanoes/stromboli/central-activity");
|
||||||
|
var state2 = getprop("/environment/volcanoes/stromboli/side-activity");
|
||||||
|
|
||||||
|
if (state1 > 2)
|
||||||
|
{
|
||||||
|
stromboli_central_probability = 0.99;
|
||||||
|
stromboli_central_factor = 1.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stromboli_central_probability = 0.998;
|
||||||
|
stromboli_central_factor = 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state2 > 2)
|
||||||
|
{
|
||||||
|
stromboli_side_probability = 0.99;
|
||||||
|
stromboli_side_factor = 1.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stromboli_side_probability = 0.998;
|
||||||
|
stromboli_side_factor = 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var state = state1;
|
||||||
|
if (state2 > state) {state = state2;}
|
||||||
|
|
||||||
|
if (state > 1)
|
||||||
|
{
|
||||||
|
print("Starting Stromboli eruption simulation.");
|
||||||
|
stromboli_loop_flag = 1;
|
||||||
|
stromboli_loop(0.0, 0.0, 0.0, 0.0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stromboli_loop_flag = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# call state manager once to get correct autosaved behavior, otherwise use listener
|
||||||
|
|
||||||
|
stromboli_state_manager();
|
||||||
|
setlistener("/environment/volcanoes/stromboli/central-activity", stromboli_state_manager);
|
||||||
|
setlistener("/environment/volcanoes/stromboli/side-activity", stromboli_state_manager);
|
107
Models/Volcanoes/Stromboli/stromboli_smoke_main.xml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>stromboli-smoke</name>
|
||||||
|
<texture>smoke_turbulent.png</texture>
|
||||||
|
<emissive>false</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>local</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>point</type>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>90</theta-min-deg>
|
||||||
|
<theta-max-deg>90</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>0</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<value>20</value>
|
||||||
|
<spread>10</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>-40</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<value>1</value>
|
||||||
|
<spread>1</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.6</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>50.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.1</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>350.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>120</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>1.0</mass-kg>
|
||||||
|
<radius-m>2.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
107
Models/Volcanoes/Stromboli/stromboli_smoke_minor.xml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<particlesystem>
|
||||||
|
<name>stromboli-smoke-minor</name>
|
||||||
|
<texture>smoke_turbulent.png</texture>
|
||||||
|
<emissive>false</emissive>
|
||||||
|
<lighting>false</lighting>
|
||||||
|
<x-m>0.0</x-m>
|
||||||
|
<y-m>0.0</y-m>
|
||||||
|
<z-m>0.0</z-m>
|
||||||
|
<roll-deg>0.0</roll-deg>
|
||||||
|
<pitch-deg>0.0</pitch-deg>
|
||||||
|
<heading-deg>0.0</heading-deg>
|
||||||
|
|
||||||
|
|
||||||
|
<attach>global</attach>
|
||||||
|
|
||||||
|
<placer>
|
||||||
|
<type>point</type>
|
||||||
|
</placer>
|
||||||
|
|
||||||
|
<shooter>
|
||||||
|
<theta-min-deg>90</theta-min-deg>
|
||||||
|
<theta-max-deg>90</theta-max-deg>
|
||||||
|
<phi-min-deg>0</phi-min-deg>
|
||||||
|
<phi-max-deg>0</phi-max-deg>
|
||||||
|
<speed-mps>
|
||||||
|
<value>20</value>
|
||||||
|
<spread>10</spread>
|
||||||
|
</speed-mps>
|
||||||
|
<rotation-speed>
|
||||||
|
<x-min-deg-sec>0</x-min-deg-sec>
|
||||||
|
<y-min-deg-sec>0</y-min-deg-sec>
|
||||||
|
<z-min-deg-sec>-40</z-min-deg-sec>
|
||||||
|
<x-max-deg-sec>0</x-max-deg-sec>
|
||||||
|
<y-max-deg-sec>0</y-max-deg-sec>
|
||||||
|
<z-max-deg-sec>40</z-max-deg-sec>
|
||||||
|
</rotation-speed>
|
||||||
|
</shooter>
|
||||||
|
|
||||||
|
<counter>
|
||||||
|
<particles-per-sec>
|
||||||
|
<value>4</value>
|
||||||
|
<spread>1</spread>
|
||||||
|
</particles-per-sec>
|
||||||
|
</counter>
|
||||||
|
|
||||||
|
<align>billboard</align>
|
||||||
|
|
||||||
|
<particle>
|
||||||
|
<start>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.6</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>10.0</value>
|
||||||
|
</size>
|
||||||
|
</start>
|
||||||
|
<end>
|
||||||
|
<color>
|
||||||
|
<red>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</red>
|
||||||
|
<green>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</green>
|
||||||
|
<blue>
|
||||||
|
<property>/rendering/scene/diffuse/green</property>
|
||||||
|
</blue>
|
||||||
|
<alpha>
|
||||||
|
<value>0.1</value>
|
||||||
|
</alpha>
|
||||||
|
</color>
|
||||||
|
<size>
|
||||||
|
<value>50.0</value>
|
||||||
|
</size>
|
||||||
|
</end>
|
||||||
|
<life-sec>
|
||||||
|
<value>30</value>
|
||||||
|
</life-sec>
|
||||||
|
<mass-kg>1.0</mass-kg>
|
||||||
|
<radius-m>2.50</radius-m>
|
||||||
|
</particle>
|
||||||
|
|
||||||
|
<program>
|
||||||
|
<fluid>air</fluid>
|
||||||
|
<gravity type="bool">true</gravity>
|
||||||
|
<wind type="bool">true</wind>
|
||||||
|
</program>
|
||||||
|
|
||||||
|
</particlesystem>
|
||||||
|
|
||||||
|
</PropertyList>
|
136
Nasal/volcano.nas
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
# volcano management routines
|
||||||
|
# Thorsten Renk 2017
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var volcano = {
|
||||||
|
new: func(name, lat, lon) {
|
||||||
|
var v = { parents: [volcano] };
|
||||||
|
v.lat = lat;
|
||||||
|
v.lon = lon;
|
||||||
|
v.pos = geo.Coord.new().set_latlon(lat, lon);
|
||||||
|
v.name = name;
|
||||||
|
v.loaded = 0;
|
||||||
|
return v;
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var volcano_manager = {
|
||||||
|
|
||||||
|
dist_to_load: 100000.0,
|
||||||
|
active: 0,
|
||||||
|
|
||||||
|
init: func {
|
||||||
|
|
||||||
|
me.volcano_array = [];
|
||||||
|
me.pos = {};
|
||||||
|
me.init_state();
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
start: func {
|
||||||
|
|
||||||
|
if (me.active == 1)
|
||||||
|
{
|
||||||
|
me.run(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
init_state: func {
|
||||||
|
var state = getprop("/environment/volcanoes/enable-volcanoes");
|
||||||
|
me.active = state;
|
||||||
|
if (state == 1)
|
||||||
|
{print("Volcanic activity on.");}
|
||||||
|
else {print ("Volcanic activity off.");}
|
||||||
|
},
|
||||||
|
|
||||||
|
set_state: func {
|
||||||
|
var state = getprop("/environment/volcanoes/enable-volcanoes");
|
||||||
|
me.active = state;
|
||||||
|
if (state == 1)
|
||||||
|
{
|
||||||
|
print("Volcanic activity on.");
|
||||||
|
me.run(0);
|
||||||
|
}
|
||||||
|
else {print ("Volcanic activity off.");}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
run: func (index) {
|
||||||
|
|
||||||
|
|
||||||
|
if (me.active == 0) {return;}
|
||||||
|
|
||||||
|
if (index > size(me.volcano_array) - 1) {index = 0;}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (me.volcano_array[index].loaded == 0)
|
||||||
|
{
|
||||||
|
me.pos = geo.aircraft_position();
|
||||||
|
var dist = me.pos.distance_to(me.volcano_array[index].pos);
|
||||||
|
#print ("Distance is now: ", dist);
|
||||||
|
|
||||||
|
var visibility = getprop("/environment/visibility-m");
|
||||||
|
|
||||||
|
|
||||||
|
if ((dist < me.dist_to_load) and (dist < visibility))
|
||||||
|
{
|
||||||
|
print("Loading ", me.volcano_array[index].name, ".");
|
||||||
|
me.volcano_array[index].set();
|
||||||
|
me.volcano_array[index].loaded = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
index += 1;
|
||||||
|
|
||||||
|
settimer( func { me.run(index);}, 1.0);
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
volcano_manager.init();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# setter functions for volcano sceneries
|
||||||
|
|
||||||
|
var set_kilauea = func {
|
||||||
|
|
||||||
|
io.include("Models/Volcanoes/Kilauea/kilauea.nas");
|
||||||
|
geo.put_model("Models/Volcanoes/Kilauea/halemaumau.xml", 19.4062038, -155.2840123);
|
||||||
|
geo.put_model("Models/Volcanoes/Kilauea/puu_oo.xml", 19.38881767, -155.10669939);
|
||||||
|
}
|
||||||
|
|
||||||
|
var set_stromboli = func {
|
||||||
|
|
||||||
|
io.include("Models/Volcanoes/Stromboli/stromboli.nas");
|
||||||
|
geo.put_model("Models/Volcanoes/Stromboli/central_crater.xml", 38.7892, 15.2105);
|
||||||
|
geo.put_model("Models/Volcanoes/Stromboli/side_crater.xml", 38.7950, 15.2139);
|
||||||
|
}
|
||||||
|
|
||||||
|
# volcano definitions
|
||||||
|
|
||||||
|
var kilauea = volcano.new("Kilauea", 19.39, -155.20);
|
||||||
|
kilauea.set = set_kilauea;
|
||||||
|
append(volcano_manager.volcano_array, kilauea);
|
||||||
|
|
||||||
|
var stromboli = volcano.new("Stromboli", 38.78, 15.21);
|
||||||
|
stromboli.set = set_stromboli;
|
||||||
|
append(volcano_manager.volcano_array, stromboli);
|
||||||
|
|
||||||
|
|
||||||
|
# start the manager when autosaved (need some delay for terrain loading to finish)
|
||||||
|
|
||||||
|
settimer(func {volcano_manager.start();}, 5.0);
|
||||||
|
|
||||||
|
# set the relevant listeners
|
||||||
|
|
||||||
|
setlistener("/environment/volcanoes/enable-volcanoes", func {volcano_manager.set_state();},0,0 );
|
||||||
|
|
||||||
|
|
||||||
|
|
152
gui/dialogs/volcano-kilauea.xml
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name>Kilauea</name>
|
||||||
|
<layout>vbox</layout>
|
||||||
|
<default-padding>1</default-padding>
|
||||||
|
<modal>false</modal>
|
||||||
|
<width>400</width>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>6</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Kilauea activity</label>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>4</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Halemaumau activity</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>dormant</label>
|
||||||
|
<row>0</row>
|
||||||
|
<col>1</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<slider>
|
||||||
|
<name>halemaumau</name>
|
||||||
|
<row>0</row>
|
||||||
|
<col>2</col>
|
||||||
|
<min>0</min>
|
||||||
|
<max>2</max>
|
||||||
|
<step>1</step>
|
||||||
|
<live>true</live>
|
||||||
|
<property>/environment/volcanoes/kilauea/halemaumau-activity</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
<object-name>halemaumau</object-name>
|
||||||
|
</binding>
|
||||||
|
</slider>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>active</label>
|
||||||
|
<row>0</row>
|
||||||
|
<col>3</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Puu Oo activity</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<row>1</row>
|
||||||
|
<col>0</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>dormant</label>
|
||||||
|
<row>1</row>
|
||||||
|
<col>1</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<slider>
|
||||||
|
<name>puu-oo</name>
|
||||||
|
<row>1</row>
|
||||||
|
<col>2</col>
|
||||||
|
<min>0</min>
|
||||||
|
<max>3</max>
|
||||||
|
<step>1</step>
|
||||||
|
<live>true</live>
|
||||||
|
<property>/environment/volcanoes/kilauea/puu-oo-activity</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
<object-name>puu-oo</object-name>
|
||||||
|
</binding>
|
||||||
|
</slider>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>active</label>
|
||||||
|
<row>1</row>
|
||||||
|
<col>3</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>12</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>20</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
<legend>OK</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<equal>true</equal>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
|
||||||
|
<binding>
|
||||||
|
<command>nasal</command>
|
||||||
|
<script>
|
||||||
|
var obj_dlg_id = getprop("/environment/volcanoes/volcano-selected");
|
||||||
|
|
||||||
|
var dlg = gui.Dialog.new(obj_dlg_id);
|
||||||
|
dlg.open();
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</binding>
|
||||||
|
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<row>0</row>
|
||||||
|
<col>1</col>
|
||||||
|
<legend>Close</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<key>Esc</key>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</PropertyList>
|
141
gui/dialogs/volcano-stromboli.xml
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name>Stromboli</name>
|
||||||
|
<layout>vbox</layout>
|
||||||
|
<default-padding>1</default-padding>
|
||||||
|
<modal>false</modal>
|
||||||
|
<width>400</width>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>6</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Stromboli activity</label>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>4</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Central crater activity</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>dormant</label>
|
||||||
|
<row>0</row>
|
||||||
|
<col>1</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<slider>
|
||||||
|
<name>central</name>
|
||||||
|
<row>0</row>
|
||||||
|
<col>2</col>
|
||||||
|
<min>0</min>
|
||||||
|
<max>3</max>
|
||||||
|
<step>1</step>
|
||||||
|
<live>true</live>
|
||||||
|
<property>/environment/volcanoes/stromboli/central-activity</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
<object-name>central</object-name>
|
||||||
|
</binding>
|
||||||
|
</slider>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>active</label>
|
||||||
|
<row>0</row>
|
||||||
|
<col>3</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Side crater activity</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<row>1</row>
|
||||||
|
<col>0</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>dormant</label>
|
||||||
|
<row>1</row>
|
||||||
|
<col>1</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<slider>
|
||||||
|
<name>side</name>
|
||||||
|
<row>1</row>
|
||||||
|
<col>2</col>
|
||||||
|
<min>0</min>
|
||||||
|
<max>3</max>
|
||||||
|
<step>1</step>
|
||||||
|
<live>true</live>
|
||||||
|
<property>/environment/volcanoes/stromboli/side-activity</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
<object-name>side</object-name>
|
||||||
|
</binding>
|
||||||
|
</slider>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>active</label>
|
||||||
|
<row>1</row>
|
||||||
|
<col>3</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>12</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>20</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
<legend>OK</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<equal>true</equal>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<row>0</row>
|
||||||
|
<col>1</col>
|
||||||
|
<legend>Close</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<key>Esc</key>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</PropertyList>
|
131
gui/dialogs/volcanoes.xml
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name>volcanoes</name>
|
||||||
|
<layout>vbox</layout>
|
||||||
|
<default-padding>1</default-padding>
|
||||||
|
<modal>false</modal>
|
||||||
|
<width>400</width>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>6</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Nearby volcanic activity</label>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>4</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<name>enable-volcanoes</name>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/environment/volcanoes/enable-volcanoes</property>
|
||||||
|
<label>enable volcanic activity</label>
|
||||||
|
<live>true</live>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
<object-name>enable-volcanoes</object-name>
|
||||||
|
</binding>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>8</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<label>Select a nearby volcano from the list to set its activity</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<combo>
|
||||||
|
<row>2</row>
|
||||||
|
<col>0</col>
|
||||||
|
<name>object-selection</name>
|
||||||
|
<halign>left</halign>
|
||||||
|
<stretch>true</stretch>
|
||||||
|
<pref-width>380</pref-width>
|
||||||
|
<property>/environment/volcanoes/volcano-selected</property>
|
||||||
|
<properties>/environment/volcanoes/volcanoes-nearby/</properties>
|
||||||
|
<value>Kilauea</value>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
<object-name>object-selection</object-name>
|
||||||
|
</binding>
|
||||||
|
</combo>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>12</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<empty>
|
||||||
|
<pref-height>20</pref-height>
|
||||||
|
</empty>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>table</layout>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<row>0</row>
|
||||||
|
<col>0</col>
|
||||||
|
<legend>OK</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<equal>true</equal>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
|
||||||
|
<binding>
|
||||||
|
<command>nasal</command>
|
||||||
|
<script>
|
||||||
|
var obj_dlg_id = getprop("/environment/volcanoes/volcano-selected");
|
||||||
|
|
||||||
|
var dlg = gui.Dialog.new(obj_dlg_id);
|
||||||
|
dlg.open();
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</binding>
|
||||||
|
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<row>0</row>
|
||||||
|
<col>1</col>
|
||||||
|
<legend>Close</legend>
|
||||||
|
<default>true</default>
|
||||||
|
<key>Esc</key>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</PropertyList>
|
|
@ -330,6 +330,51 @@
|
||||||
<script>wildfire.dialog.show()</script>
|
<script>wildfire.dialog.show()</script>
|
||||||
</binding>
|
</binding>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<label>Volcanoes</label>
|
||||||
|
<name>volcanoes</name>
|
||||||
|
<binding>
|
||||||
|
|
||||||
|
<command>nasal</command>
|
||||||
|
<script>
|
||||||
|
<![CDATA[
|
||||||
|
var varray = volcano.volcano_manager.volcano_array;
|
||||||
|
var n = size(varray);
|
||||||
|
|
||||||
|
var aircraft_pos = geo.aircraft_position();
|
||||||
|
|
||||||
|
var j = 0;
|
||||||
|
|
||||||
|
for (var i = 0; i< n; i=i+1)
|
||||||
|
{
|
||||||
|
#print(i, " ", varray[i].name);
|
||||||
|
var distance = aircraft_pos.distance_to(varray[i].pos);
|
||||||
|
|
||||||
|
if (distance < 150000.0) # only add nearby objects
|
||||||
|
{
|
||||||
|
var name = varray[i].name;
|
||||||
|
|
||||||
|
setprop("/environment/volcanoes/volcanoes-nearby/value["~j~"]", name);
|
||||||
|
if (j==0)
|
||||||
|
{setprop("/environment/volcanoes/volcano-selected", name);}
|
||||||
|
|
||||||
|
j=j+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</binding>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-show</command>
|
||||||
|
<dialog-name>volcanoes</dialog-name>
|
||||||
|
</binding>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
|
||||||
<menu>
|
<menu>
|
||||||
|
|