From 34f6c6258e34dc9f52dc9b1620fbeeeb475beb50 Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Thu, 22 Sep 2011 22:57:46 +0100 Subject: [PATCH 1/9] Add Direct Draw Textures for Symbols Signed-off-by: Vivian Meazza --- Textures/Symbols/bidirectional.dds | Bin 0 -> 11080 bytes Textures/Symbols/unidirectional.dds | Bin 0 -> 11080 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Textures/Symbols/bidirectional.dds create mode 100644 Textures/Symbols/unidirectional.dds diff --git a/Textures/Symbols/bidirectional.dds b/Textures/Symbols/bidirectional.dds new file mode 100644 index 0000000000000000000000000000000000000000..a5cdecbfb7d5b6421c6ab05cc4449aeee31de786 GIT binary patch literal 11080 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 F{|BdZnKS?Z literal 0 HcmV?d00001 From 928789a0d5cf516b3a28320daaef8795adf4a45b Mon Sep 17 00:00:00 2001 From: Frederic Bouvier Date: Fri, 23 Sep 2011 23:22:19 +0200 Subject: [PATCH 2/9] Local Weather 1.35 by Thorsten Renk --- Environment/local-weather-defaults.xml | 2 + Nasal/local_weather/cloud_definitions.nas | 1233 +++++++++++++++++ Nasal/local_weather/compat_layer.nas | 99 +- Nasal/local_weather/local_weather.nas | 1095 +++++++-------- Nasal/local_weather/weather_dynamics.nas | 26 + .../local_weather/weather_tile_management.nas | 127 +- Nasal/local_weather/weather_tiles.nas | 320 ++--- gui/dialogs/local_weather_tiles.xml | 76 +- 8 files changed, 2234 insertions(+), 744 deletions(-) create mode 100644 Nasal/local_weather/cloud_definitions.nas diff --git a/Environment/local-weather-defaults.xml b/Environment/local-weather-defaults.xml index 6c26c3b60..88a232232 100644 --- a/Environment/local-weather-defaults.xml +++ b/Environment/local-weather-defaults.xml @@ -16,6 +16,8 @@ 0 0 0 + 0 + 0 1 1 0 diff --git a/Nasal/local_weather/cloud_definitions.nas b/Nasal/local_weather/cloud_definitions.nas new file mode 100644 index 000000000..c85db3a3c --- /dev/null +++ b/Nasal/local_weather/cloud_definitions.nas @@ -0,0 +1,1233 @@ + +######################################################## +# routines to set up, transform and manage local weather +# Thorsten Renk, August 2011 +######################################################## + +# function purpose +# +# select_cloud_model to define the cloud parameters, given the cloud type and subtype + + +########################################################### +# define various cloud models +########################################################### + +var select_cloud_model = func(type, subtype) { + +var rn = rand(); +var path="Models/Weather/blank.ac"; + +if (type == "Cumulus"){ + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/cumulus_small_shader1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cumulus_small_shader2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cumulus_small_shader3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cumulus_small_shader4.xml";} + else {path = "Models/Weather/cumulus_small_shader5.xml";} + } + else if (subtype == "large") { + if (rn > 0.83) {path = "Models/Weather/cumulus_shader1.xml";} + else if (rn > 0.664) {path = "Models/Weather/cumulus_shader2.xml";} + else if (rn > 0.498) {path = "Models/Weather/cumulus_shader3.xml";} + else if (rn > 0.332) {path = "Models/Weather/cumulus_shader4.xml";} + else if (rn > 0.166) {path = "Models/Weather/cumulus_shader5.xml";} + else {path = "Models/Weather/cumulus_shader6.xml";} + } + } +else if (type == "Cumulus (cloudlet)"){ + + + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet2.rgb"; + cloudAssembly.n_sprites = 10; + cloudAssembly.min_width = 500.0; + cloudAssembly.max_width = 700.0; + cloudAssembly.min_height = 500.0; + cloudAssembly.max_height = 700.0; + cloudAssembly.min_cloud_width = 1300; + cloudAssembly.min_cloud_height = 700; + cloudAssembly.bottom_shade = 0.7; + } + else + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet1.rgb"; + cloudAssembly.n_sprites = 5; + cloudAssembly.min_width = 600.0; + cloudAssembly.max_width = 900.0; + cloudAssembly.min_height = 600.0; + cloudAssembly.max_height = 900.0; + cloudAssembly.min_cloud_width = 1300; + cloudAssembly.min_cloud_height = 700; + cloudAssembly.bottom_shade = 0.4; + } + + + # characterize the basic texture sheet + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.z_scale = 1.0; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.875) {path = "Models/Weather/cumulus_small_sl1.xml";} + else if (rn > 0.750) {path = "Models/Weather/cumulus_small_sl2.xml";} + else if (rn > 0.625) {path = "Models/Weather/cumulus_small_sl3.xml";} + else if (rn > 0.500) {path = "Models/Weather/cumulus_small_sl4.xml";} + else if (rn > 0.375) {path = "Models/Weather/cumulus_small_sl5.xml";} + else if (rn > 0.250) {path = "Models/Weather/cumulus_small_sl6.xml";} + else if (rn > 0.125) {path = "Models/Weather/cumulus_small_sl7.xml";} + else {path = "Models/Weather/cumulus_small_sl8.xml";} + } + else if (subtype == "large") { + if (rn > 0.9) {path = "Models/Weather/cumulus_sl1.xml";} + else if (rn > 0.8) {path = "Models/Weather/cumulus_sl2.xml";} + else if (rn > 0.7) {path = "Models/Weather/cumulus_sl3.xml";} + else if (rn > 0.6) {path = "Models/Weather/cumulus_sl4.xml";} + else if (rn > 0.5) {path = "Models/Weather/cumulus_sl5.xml";} + else if (rn > 0.4) {path = "Models/Weather/cumulus_sl6.xml";} + else if (rn > 0.3) {path = "Models/Weather/cumulus_sl7.xml";} + else if (rn > 0.2) {path = "Models/Weather/cumulus_sl8.xml";} + else if (rn > 0.1) {path = "Models/Weather/cumulus_sl9.xml";} + else {path = "Models/Weather/cumulus_sl10.xml";} + } + + } + + } + +else if (type == "Cu (volume)"){ + + + + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet2.rgb"; + cloudAssembly.n_sprites = 5; + cloudAssembly.min_width = 400.0; + cloudAssembly.max_width = 700.0; + cloudAssembly.min_height = 400.0; + cloudAssembly.max_height = 700.0; + cloudAssembly.min_cloud_width = 1000; + cloudAssembly.min_cloud_height = 1000; + cloudAssembly.bottom_shade = 0.7; + } + else + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet1.rgb"; + cloudAssembly.n_sprites = 5; + cloudAssembly.min_width = 800.0; + cloudAssembly.max_width = 1100.0; + cloudAssembly.min_height = 800.0; + cloudAssembly.max_height = 1100.0; + cloudAssembly.min_cloud_width = 1500; + cloudAssembly.min_cloud_height = 1000; + cloudAssembly.bottom_shade = 0.4; + } + + + # characterize the basic texture sheet + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.z_scale = 1.0; + + #signal that new routines are used + path = "new"; + } + + +else if (type == "Congestus"){ + + + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + cloudAssembly.n_sprites = 5; + cloudAssembly.min_width = 600.0; + cloudAssembly.max_width = 900.0; + cloudAssembly.min_height = 600.0; + cloudAssembly.max_height = 900.0; + cloudAssembly.min_cloud_width = 1300; + cloudAssembly.min_cloud_height = 1000; + cloudAssembly.bottom_shade = 0.4; + } + else + { + + if (rand() > 0.5) + { + cloudAssembly.texture_sheet = "/Models/Weather/congestus_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 3; + cloudAssembly.min_width = 1300.0; + cloudAssembly.max_width = 2000.0; + cloudAssembly.min_height = 600.0; + cloudAssembly.max_height = 900.0; + } + else + { + cloudAssembly.texture_sheet = "/Models/Weather/congestus_sheet2.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 2; + cloudAssembly.min_width = 1200.0; + cloudAssembly.max_width = 1800.0; + cloudAssembly.min_height = 700.0; + cloudAssembly.max_height = 1000.0; + } + + + cloudAssembly.n_sprites = 3; + cloudAssembly.min_cloud_width = 2200.0; + cloudAssembly.min_cloud_height = 1200.0; + cloudAssembly.bottom_shade = 0.4; + + } + cloudAssembly.z_scale = 1.0; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.9) {path = "Models/Weather/cumulus_sl1.xml";} + else if (rn > 0.8) {path = "Models/Weather/cumulus_sl2.xml";} + else if (rn > 0.7) {path = "Models/Weather/cumulus_sl3.xml";} + else if (rn > 0.6) {path = "Models/Weather/cumulus_sl4.xml";} + else if (rn > 0.5) {path = "Models/Weather/cumulus_sl5.xml";} + else if (rn > 0.4) {path = "Models/Weather/cumulus_small_sl4.xml";} + else if (rn > 0.3) {path = "Models/Weather/cumulus_small_sl5.xml";} + else if (rn > 0.2) {path = "Models/Weather/cumulus_small_sl6.xml";} + else if (rn > 0.1) {path = "Models/Weather/cumulus_small_sl7.xml";} + else {path = "Models/Weather/cumulus_small_sl8.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/congestus_sl1.xml";} + else if (rn > 0.6) {path = "Models/Weather/congestus_sl2.xml";} + else if (rn > 0.4) {path = "Models/Weather/congestus_sl3.xml";} + else if (rn > 0.2) {path = "Models/Weather/congestus_sl4.xml";} + else {path = "Models/Weather/congestus_sl5.xml";} + } + } + } +else if (type == "Stratocumulus"){ + +# new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + cloudAssembly.n_sprites = 7; + cloudAssembly.min_width = 600.0; + cloudAssembly.max_width = 900.0; + cloudAssembly.min_height = 600.0; + cloudAssembly.max_height = 900.0; + cloudAssembly.min_cloud_width = 1300; + cloudAssembly.min_cloud_height = 1300; + cloudAssembly.bottom_shade = 0.6; + } + else + { + if (rand() > 0.66) + { + cloudAssembly.texture_sheet = "/Models/Weather/congestus_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 3; + cloudAssembly.min_width = 1900.0; + cloudAssembly.max_width = 2100.0; + cloudAssembly.min_height = 1000.0; + cloudAssembly.max_height = 1100.0; + cloudAssembly.n_sprites = 3; + cloudAssembly.bottom_shade = 0.5; + cloudAssembly.min_cloud_width = 3500.0; + cloudAssembly.min_cloud_height = 1600.0; + } + else if (rand() > 0.33) + { + cloudAssembly.texture_sheet = "/Models/Weather/congestus_sheet2.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 2; + cloudAssembly.min_width = 1900.0; + cloudAssembly.max_width = 2000.0; + cloudAssembly.min_height = 1000.0; + cloudAssembly.max_height = 1100.0; + cloudAssembly.n_sprites = 3; + cloudAssembly.bottom_shade = 0.5; + cloudAssembly.min_cloud_width = 3500.0; + cloudAssembly.min_cloud_height = 1600.0; + } + else + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + cloudAssembly.min_width = 800.0; + cloudAssembly.max_width = 1000.0; + cloudAssembly.min_height = 800.0; + cloudAssembly.max_height = 1000.0; + cloudAssembly.n_sprites = 5; + cloudAssembly.bottom_shade = 0.6; + cloudAssembly.min_cloud_width = 3000.0; + cloudAssembly.min_cloud_height = 1100.0; + } + + + + + + + } + + + cloudAssembly.z_scale = 1.0; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/stratocumulus_small1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratocumulus_small2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratocumulus_small3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratocumulus_small4.xml";} + else {path = "Models/Weather/stratocumulus_small5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/stratocumulus_sl1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratocumulus_sl2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratocumulus_sl3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratocumulus_sl4.xml";} + else {path = "Models/Weather/stratocumulus_sl5.xml";} + } + } + + } +else if (type == "Cumulus (whisp)"){ + +# new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + mult = 1.0; + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/altocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.9; + cloudAssembly.n_sprites = 4; + cloudAssembly.min_width = 400.0 * mult; + cloudAssembly.max_width = 600.0 * mult; + cloudAssembly.min_height = 400.0 * mult; + cloudAssembly.max_height = 600.0 * mult; + cloudAssembly.min_cloud_width = 800 * mult * mult; + cloudAssembly.min_cloud_height = 800 * mult * mult; + cloudAssembly.z_scale = 1.0; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/cumulus_whisp1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cumulus_whisp2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cumulus_whisp3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cumulus_whisp4.xml";} + else {path = "Models/Weather/cumulus_whisp5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/cumulus_whisp1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cumulus_whisp2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cumulus_whisp3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cumulus_whisp4.xml";} + else {path = "Models/Weather/cumulus_whisp5.xml";} + } + + } + + } +else if (type == "Cumulus bottom"){ + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + mult = 1.0; + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_bottom_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 1; + + #characterize the cloud + cloudAssembly.bottom_shade = 1.0; + cloudAssembly.n_sprites = 4; + cloudAssembly.min_width = 600.0 * mult; + cloudAssembly.max_width = 800.0 * mult; + cloudAssembly.min_height = 600.0 * mult; + cloudAssembly.max_height = 800.0 * mult; + cloudAssembly.min_cloud_width = 1200 * mult * mult; + cloudAssembly.min_cloud_height = 800 * mult * mult; + cloudAssembly.z_scale = 0.6; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.0) {path = "Models/Weather/cumulus_bottom1.xml";} + } + else if (subtype == "large") { + if (rn > 0.0) {path = "Models/Weather/cumulus_bottom1.xml";} + } + } + + } +else if (type == "Congestus bottom"){ + + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + mult = 1.0; + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_bottom_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 1; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.7; + cloudAssembly.n_sprites = 4; + cloudAssembly.min_width = 1100.0 * mult; + cloudAssembly.max_width = 1400.0 * mult; + cloudAssembly.min_height = 1100.0 * mult; + cloudAssembly.max_height = 1400.0 * mult; + cloudAssembly.min_cloud_width = 1600 * mult * mult; + cloudAssembly.min_cloud_height = 1200 * mult * mult; + cloudAssembly.z_scale = 0.4; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.0) {path = "Models/Weather/congestus_bottom1.xml";} + } + else if (subtype == "large") { + if (rn > 0.0) {path = "Models/Weather/congestus_bottom1.xml";} + } + } + + } +else if (type == "Stratocumulus bottom"){ + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + mult = 1.0; + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_bottom_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 1; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.7; + cloudAssembly.n_sprites = 3; + cloudAssembly.min_width = 1200.0; + cloudAssembly.max_width = 1600.0; + cloudAssembly.min_height = 1200.0 ; + cloudAssembly.max_height = 1600.0; + cloudAssembly.min_cloud_width = 2000 ; + cloudAssembly.min_cloud_height = 1700; + cloudAssembly.z_scale = 0.4; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.0) {path = "Models/Weather/stratocumulus_bottom1.xml";} + } + else if (subtype == "large") { + if (rn > 0.0) {path = "Models/Weather/stratocumulus_bottom1.xml";} + } + } + + } +else if (type == "Cumulonimbus (cloudlet)"){ + if (subtype == "small") { + if (rn > 0.875) {path = "Models/Weather/cumulonimbus_sl1.xml";} + else if (rn > 0.75) {path = "Models/Weather/cumulonimbus_sl2.xml";} + else if (rn > 0.625) {path = "Models/Weather/cumulonimbus_sl3.xml";} + else if (rn > 0.5) {path = "Models/Weather/cumulonimbus_sl4.xml";} + else if (rn > 0.375) {path = "Models/Weather/cumulonimbus_sl5.xml";} + else if (rn > 0.25) {path = "Models/Weather/cumulonimbus_sl6.xml";} + else if (rn > 0.125) {path = "Models/Weather/cumulonimbus_sl7.xml";} + else {path = "Models/Weather/cumulonimbus_sl8.xml";} + } + else if (subtype == "large") { + if (rn > 0.875) {path = "Models/Weather/cumulonimbus_sl1.xml";} + else if (rn > 0.75) {path = "Models/Weather/cumulonimbus_sl2.xml";} + else if (rn > 0.625) {path = "Models/Weather/cumulonimbus_sl3.xml";} + else if (rn > 0.5) {path = "Models/Weather/cumulonimbus_sl4.xml";} + else if (rn > 0.375) {path = "Models/Weather/cumulonimbus_sl5.xml";} + else if (rn > 0.25) {path = "Models/Weather/cumulonimbus_sl6.xml";} + else if (rn > 0.125) {path = "Models/Weather/cumulonimbus_sl7.xml";} + else {path = "Models/Weather/cumulonimbus_sl8.xml";} + } + + } + +else if (type == "Altocumulus"){ + + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.7;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/altocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.8; + cloudAssembly.n_sprites = 10; + cloudAssembly.min_width = 400.0 * mult; + cloudAssembly.max_width = 700.0 * mult; + cloudAssembly.min_height = 400.0 * mult; + cloudAssembly.max_height = 700.0 * mult; + cloudAssembly.min_cloud_width = 1200 * mult * mult; + cloudAssembly.min_cloud_height = 1200 * mult * mult; + cloudAssembly.z_scale = 0.8; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/altocumulus_shader6.xml";} + else if (rn > 0.6) {path = "Models/Weather/altocumulus_shader7.xml";} + else if (rn > 0.4) {path = "Models/Weather/altocumulus_shader8.xml";} + else if (rn > 0.2) {path = "Models/Weather/altocumulus_shader9.xml";} + else {path = "Models/Weather/altocumulus_shader10.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/altocumulus_shader1.xml";} + else if (rn > 0.6) {path = "Models/Weather/altocumulus_shader2.xml";} + else if (rn > 0.4) {path = "Models/Weather/altocumulus_shader3.xml";} + else if (rn > 0.2) {path = "Models/Weather/altocumulus_shader4.xml";} + else {path = "Models/Weather/altocumulus_shader5.xml";} + } + } + } + +else if (type == "Stratus (structured)"){ + + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.7;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/altocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.4; + cloudAssembly.n_sprites = 25; + cloudAssembly.min_width = 1700.0 * mult; + cloudAssembly.max_width = 2500.0 * mult; + cloudAssembly.min_height = 1700.0 * mult; + cloudAssembly.max_height = 2500.0 * mult; + cloudAssembly.min_cloud_width = 3200.0 * mult * mult; + cloudAssembly.min_cloud_height = 500.0 * mult * mult + cloudAssembly.max_height; + cloudAssembly.z_scale = 0.3; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/altocumulus_layer6.xml";} + else if (rn > 0.6) {path = "Models/Weather/altocumulus_layer7.xml";} + else if (rn > 0.4) {path = "Models/Weather/altocumulus_layer8.xml";} + else if (rn > 0.2) {path = "Models/Weather/altocumulus_layer9.xml";} + else {path = "Models/Weather/altocumulus_layer10.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/altocumulus_layer1.xml";} + else if (rn > 0.6) {path = "Models/Weather/altocumulus_layer2.xml";} + else if (rn > 0.4) {path = "Models/Weather/altocumulus_layer3.xml";} + else if (rn > 0.2) {path = "Models/Weather/altocumulus_layer4.xml";} + else {path = "Models/Weather/altocumulus_layer5.xml";} + } + + } + } +else if (type == "Altocumulus perlucidus"){ + + # new code + + if (local_weather.hardcoded_clouds_flag == 1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.7;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/altocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.8; + cloudAssembly.n_sprites = 25; + cloudAssembly.min_width = 1700.0 * mult; + cloudAssembly.max_width = 2500.0 * mult; + cloudAssembly.min_height = 1700.0 * mult; + cloudAssembly.max_height = 2500.0 * mult; + cloudAssembly.min_cloud_width = 3200.0 * mult * mult; + cloudAssembly.min_cloud_height = 500.0 * mult * mult + cloudAssembly.max_height; + cloudAssembly.z_scale = 0.2; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/altocumulus_thinlayer6.xml";} + else if (rn > 0.6) {path = "Models/Weather/altocumulus_thinlayer7.xml";} + else if (rn > 0.4) {path = "Models/Weather/altocumulus_thinlayer8.xml";} + else if (rn > 0.2) {path = "Models/Weather/altocumulus_thinlayer9.xml";} + else {path = "Models/Weather/altocumulus_thinlayer10.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/altocumulus_thinlayer1.xml";} + else if (rn > 0.6) {path = "Models/Weather/altocumulus_thinlayer2.xml";} + else if (rn > 0.4) {path = "Models/Weather/altocumulus_thinlayer3.xml";} + else if (rn > 0.2) {path = "Models/Weather/altocumulus_thinlayer4.xml";} + else {path = "Models/Weather/altocumulus_thinlayer5.xml";} + } + } + } +else if ((type == "Cumulonimbus") or (type == "Cumulonimbus (rain)")) { + if (subtype == "small") { + if (rn > 0.5) {path = "Models/Weather/cumulonimbus_small1.xml";} + else {path = "Models/Weather/cumulonimbus_small2.xml";} + } + else if (subtype == "large") { + if (rn > 0.5) {path = "Models/Weather/cumulonimbus_small1.xml";} + else {path = "Models/Weather/cumulonimbus_small2.xml";} + } + } +else if (type == "Cirrus") { + if (subtype == "large") { + if (rn > 0.916) {path = "Models/Weather/cirrus1.xml";} + else if (rn > 0.833) {path = "Models/Weather/cirrus2.xml";} + else if (rn > 0.75) {path = "Models/Weather/cirrus3.xml";} + else if (rn > 0.666) {path = "Models/Weather/cirrus4.xml";} + else if (rn > 0.583) {path = "Models/Weather/cirrus5.xml";} + else if (rn > 0.500) {path = "Models/Weather/cirrus6.xml";} + else if (rn > 0.416) {path = "Models/Weather/cirrus7.xml";} + else if (rn > 0.333) {path = "Models/Weather/cirrus8.xml";} + else if (rn > 0.250) {path = "Models/Weather/cirrus9.xml";} + else if (rn > 0.166) {path = "Models/Weather/cirrus10.xml";} + else if (rn > 0.083) {path = "Models/Weather/cirrus11.xml";} + else {path = "Models/Weather/cirrus12.xml";} + } + else if (subtype == "small") { + if (rn > 0.75) {path = "Models/Weather/cirrus_amorphous1.xml";} + else if (rn > 0.5) {path = "Models/Weather/cirrus_amorphous2.xml";} + else if (rn > 0.25) {path = "Models/Weather/cirrus_amorphous3.xml";} + else {path = "Models/Weather/cirrus_amorphous4.xml";} + } + } +else if (type == "Cirrocumulus") { + if (subtype == "small") { + if (rn > 0.5) {path = "Models/Weather/cirrocumulus1.xml";} + else {path = "Models/Weather/cirrocumulus2.xml";} + } + else if (subtype == "large") { + if (rn > 0.875) {path = "Models/Weather/cirrocumulus1.xml";} + else if (rn > 0.750){path = "Models/Weather/cirrocumulus4.xml";} + else if (rn > 0.625){path = "Models/Weather/cirrocumulus5.xml";} + else if (rn > 0.500){path = "Models/Weather/cirrocumulus6.xml";} + else if (rn > 0.385){path = "Models/Weather/cirrocumulus7.xml";} + else if (rn > 0.250){path = "Models/Weather/cirrocumulus8.xml";} + else if (rn > 0.125){path = "Models/Weather/cirrocumulus9.xml";} + else {path = "Models/Weather/cirrocumulus10.xml";} + } + } +else if (type == "Cirrocumulus (cloudlet)") { + + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.6;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cirrocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 1.0; + cloudAssembly.n_sprites = 8; + cloudAssembly.min_width = 700.0 * mult; + cloudAssembly.max_width = 1200.0 * mult; + cloudAssembly.min_height = 700.0 * mult; + cloudAssembly.max_height = 1200.0 * mult; + cloudAssembly.min_cloud_width = 1500.0; + cloudAssembly.min_cloud_height = 100.0 * mult; + cloudAssembly.z_scale = 0.3; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/cirrocumulus_cloudlet6.xml";} + else if (rn > 0.6) {path = "Models/Weather/cirrocumulus_cloudlet7.xml";} + else if (rn > 0.4) {path = "Models/Weather/cirrocumulus_cloudlet8.xml";} + else if (rn > 0.2) {path = "Models/Weather/cirrocumulus_cloudlet9.xml";} + else {path = "Models/Weather/cirrocumulus_cloudlet10.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/cirrocumulus_cloudlet1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cirrocumulus_cloudlet2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cirrocumulus_cloudlet3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cirrocumulus_cloudlet4.xml";} + else {path = "Models/Weather/cirrocumulus_cloudlet5.xml";} + } + } + } +else if (type == "Cirrocumulus (new)") { + + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.7;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cirrocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 1.0; + cloudAssembly.n_sprites = 2; + cloudAssembly.min_width = 200.0 * mult; + cloudAssembly.max_width = 300.0 * mult; + cloudAssembly.min_height = 200.0 * mult; + cloudAssembly.max_height = 300.0 * mult; + cloudAssembly.min_cloud_width = 400.0 * mult; + cloudAssembly.min_cloud_height = 400.0 * mult; + cloudAssembly.z_scale = 0.5; + + #signal that new routines are used + path = "new"; + } + } + +else if (type == "Nimbus") { + + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.7;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/nimbus_sheet1.rgb"; + cloudAssembly.num_tex_x = 2; + cloudAssembly.num_tex_y = 3; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.8; + cloudAssembly.n_sprites = 10; + cloudAssembly.min_width = 2700.0 * mult; + cloudAssembly.max_width = 3000.0 * mult; + cloudAssembly.min_height = 2700.0 * mult; + cloudAssembly.max_height = 3000.0 * mult; + cloudAssembly.min_cloud_width = 3500.0 * mult * mult * mult; + cloudAssembly.min_cloud_height = 100.0 * mult * mult * mult + cloudAssembly.min_height; + cloudAssembly.z_scale = 0.4; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/nimbus_sls1.xml";} + else if (rn > 0.6) {path = "Models/Weather/nimbus_sls2.xml";} + else if (rn > 0.4) {path = "Models/Weather/nimbus_sls3.xml";} + else if (rn > 0.2) {path = "Models/Weather/nimbus_sls4.xml";} + else {path = "Models/Weather/nimbus_sls5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/nimbus_sl1.xml";} + else if (rn > 0.6) {path = "Models/Weather/nimbus_sl2.xml";} + else if (rn > 0.4) {path = "Models/Weather/nimbus_sl3.xml";} + else if (rn > 0.2) {path = "Models/Weather/nimbus_sl4.xml";} + else {path = "Models/Weather/nimbus_sl5.xml";} + } + + } + } +else if (type == "Stratus") { + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.8;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/stratus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 2; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.4; + cloudAssembly.n_sprites = 20; + cloudAssembly.min_width = 1900.0 * mult; + cloudAssembly.max_width = 2400.0 * mult; + cloudAssembly.min_height = 1900.0 * mult; + cloudAssembly.max_height = 2400.0 * mult; + cloudAssembly.min_cloud_width = 5000.0 * mult; + cloudAssembly.min_cloud_height = 1.1 * cloudAssembly.max_height; + cloudAssembly.z_scale = 0.4; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/stratus_layer1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_layer2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_layer3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_layer4.xml";} + else {path = "Models/Weather/stratus_layer5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/stratus_layer1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_layer2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_layer3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_layer4.xml";} + else {path = "Models/Weather/stratus_layer5.xml";} + } + } + } +else if (type == "Stratus (thin)") { + + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") + { + var mult = 0.5; + cloudAssembly.texture_sheet = "/Models/Weather/cirrocumulus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 3; + cloudAssembly.n_sprites = 20; + cloudAssembly.z_scale = 0.4; + } + else + { + var mult = 1.0; + cloudAssembly.texture_sheet = "/Models/Weather/stratus_sheet1.rgb"; + cloudAssembly.num_tex_x = 3; + cloudAssembly.num_tex_y = 2; + cloudAssembly.n_sprites = 10; + cloudAssembly.z_scale = 0.3; + } + + + + #characterize the cloud + cloudAssembly.bottom_shade = 0.8; + cloudAssembly.min_width = 1500.0 * mult; + cloudAssembly.max_width = 2000.0 * mult; + cloudAssembly.min_height = 1500.0 * mult; + cloudAssembly.max_height = 2000.0 * mult; + cloudAssembly.min_cloud_width = 2500.0; + cloudAssembly.min_cloud_height = 50.0; + + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/stratus_tlayer1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_tlayer2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_tlayer3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_tlayer4.xml";} + else {path = "Models/Weather/stratus_tlayer5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/stratus_tlayer1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_tlayer2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_tlayer3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_tlayer4.xml";} + else {path = "Models/Weather/stratus_tlayer5.xml";} + } + + } + } +else if (type == "Cirrostratus") { + + # new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "small") {var mult = 0.7;} + else {var mult = 1.0;} + + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cirrostratus_sheet1.rgb"; + cloudAssembly.num_tex_x = 2; + cloudAssembly.num_tex_y = 2; + + #characterize the cloud + cloudAssembly.bottom_shade = 1.0; + cloudAssembly.n_sprites = 4; + cloudAssembly.min_width = 3500.0 * mult; + cloudAssembly.max_width = 4000.0 * mult; + cloudAssembly.min_height = 3500.0 * mult; + cloudAssembly.max_height = 4000.0 * mult; + cloudAssembly.min_cloud_width = 8000.0; + cloudAssembly.min_cloud_height = 50.0; + cloudAssembly.z_scale = 0.3; + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + if (subtype == "small") { + if (rn > 0.75) {path = "Models/Weather/cirrostratus1.xml";} + else if (rn > 0.5) {path = "Models/Weather/cirrostratus2.xml";} + else if (rn > 0.25) {path = "Models/Weather/cirrostratus3.xml";} + else {path = "Models/Weather/cirrostratus4.xml";} + } + else if (subtype == "large") { + if (rn > 0.75) {path = "Models/Weather/cirrostratus1.xml";} + else if (rn > 0.5) {path = "Models/Weather/cirrostratus2.xml";} + else if (rn > 0.25) {path = "Models/Weather/cirrostratus3.xml";} + else {path = "Models/Weather/cirrostratus4.xml";} + } + } + } +else if (type == "Fog (thin)") { + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/stratus_thin1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_thin2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_thin3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_thin4.xml";} + else {path = "Models/Weather/stratus_thin5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/stratus_thin1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_thin2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_thin3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_thin4.xml";} + else {path = "Models/Weather/stratus_thin5.xml";} + } + } +else if (type == "Fog (thick)") { + if (subtype == "small") { + if (rn > 0.8) {path = "Models/Weather/stratus_thick1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_thick2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_thick3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_thick4.xml";} + else {path = "Models/Weather/stratus_thick5.xml";} + } + else if (subtype == "large") { + if (rn > 0.8) {path = "Models/Weather/stratus_thick1.xml";} + else if (rn > 0.6) {path = "Models/Weather/stratus_thick2.xml";} + else if (rn > 0.4) {path = "Models/Weather/stratus_thick3.xml";} + else if (rn > 0.2) {path = "Models/Weather/stratus_thick4.xml";} + else {path = "Models/Weather/stratus_thick5.xml";} + } + } +else if (type == "Test") {path="Models/Weather/single_cloud.xml";} +else if (type == "Box_test") { + if (subtype == "standard") { + if (rn > 0.8) {path = "Models/Weather/cloudbox1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cloudbox2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cloudbox3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cloudbox4.xml";} + else {path = "Models/Weather/cloudbox5.xml";} + } + else if (subtype == "core") { + if (rn > 0.8) {path = "Models/Weather/cloudbox_core1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cloudbox_core2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cloudbox_core3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cloudbox_core4.xml";} + else {path = "Models/Weather/cloudbox_core5.xml";} + } + else if (subtype == "bottom") { + if (rn > 0.66) {path = "Models/Weather/cloudbox_bottom1.xml";} + else if (rn > 0.33) {path = "Models/Weather/cloudbox_bottom2.xml";} + else if (rn > 0.0) {path = "Models/Weather/cloudbox_bottom3.xml";} + } + } +else if (type == "Cb_box") { + +# new code + + if (local_weather.hardcoded_clouds_flag ==1) + { + cloudAssembly = local_weather.cloud.new(type, subtype); + + if (subtype == "standard") + { + if (rand() > 0.5) # use a Congestus texture + { + + if (rand() > 0.5) + { + cloudAssembly.texture_sheet = "/Models/Weather/congestus_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 3; + cloudAssembly.min_width = 1300.0; + cloudAssembly.max_width = 2000.0; + cloudAssembly.min_height = 600.0; + cloudAssembly.max_height = 900.0; + } + else + { + cloudAssembly.texture_sheet = "/Models/Weather/congestus_sheet2.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 2; + cloudAssembly.min_width = 1200.0; + cloudAssembly.max_width = 1800.0; + cloudAssembly.min_height = 700.0; + cloudAssembly.max_height = 1000.0; + } + + cloudAssembly.n_sprites = 3; + cloudAssembly.min_cloud_width = 2200.0; + cloudAssembly.min_cloud_height = 1200.0; + cloudAssembly.bottom_shade = 0.4; + cloudAssembly.z_scale = 1.0; + } + else + { + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cumulonimbus_sheet2.rgb"; + cloudAssembly.num_tex_x = 2; + cloudAssembly.num_tex_y = 2; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.6; + cloudAssembly.n_sprites = 6; + cloudAssembly.min_width = 800.0; + cloudAssembly.max_width = 1100.0; + cloudAssembly.min_height = 800.0; + cloudAssembly.max_height = 1100.0; + cloudAssembly.min_cloud_width = 3000.0; + cloudAssembly.min_cloud_height = 1500.0; + cloudAssembly.z_scale = 1.0; + + + } + } + else if (subtype == "core") + { + # characterize the basic texture sheet + cloudAssembly.texture_sheet = "/Models/Weather/cumulonimbus_sheet1.rgb"; + cloudAssembly.num_tex_x = 2; + cloudAssembly.num_tex_y = 2; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.6; + cloudAssembly.n_sprites = 10; + cloudAssembly.min_width = 1000.0; + cloudAssembly.max_width = 1500.0; + cloudAssembly.min_height = 1000.0; + cloudAssembly.max_height = 1500.0 ; + cloudAssembly.min_cloud_width = 3500.0; + cloudAssembly.min_cloud_height = 2000.0; + cloudAssembly.z_scale = 1.0; + } + else if (subtype == "bottom") + { + cloudAssembly.texture_sheet = "/Models/Weather/cumulus_bottom_sheet1.rgb"; + cloudAssembly.num_tex_x = 1; + cloudAssembly.num_tex_y = 1; + + #characterize the cloud + cloudAssembly.bottom_shade = 0.5; + cloudAssembly.n_sprites = 4; + cloudAssembly.min_width = 1100.0; + cloudAssembly.max_width = 1400.0; + cloudAssembly.min_height = 1100.0; + cloudAssembly.max_height = 1400.0; + cloudAssembly.min_cloud_width = 1600; + cloudAssembly.min_cloud_height = 1200; + cloudAssembly.z_scale = 0.4; + + } + + #signal that new routines are used + path = "new"; + } + + else # old code + { + + + + if (subtype == "standard") { + if (rn > 0.833) {path = "Models/Weather/cumulonimbus_sl6.xml";} + else if (rn > 0.666) {path = "Models/Weather/cumulonimbus_sl7.xml";} + else if (rn > 0.5) {path = "Models/Weather/cumulonimbus_sl8.xml";} + else if (rn > 0.333) {path = "Models/Weather/congestus_sl1.xml";} + else if (rn > 0.166) {path = "Models/Weather/congestus_sl2.xml";} + else {path = "Models/Weather/congestus_sl3.xml";} + } + else if (subtype == "core") { + if (rn > 0.8) {path = "Models/Weather/cumulonimbus_sl1.xml";} + else if (rn > 0.6) {path = "Models/Weather/cumulonimbus_sl2.xml";} + else if (rn > 0.4) {path = "Models/Weather/cumulonimbus_sl3.xml";} + else if (rn > 0.2) {path = "Models/Weather/cumulonimbus_sl4.xml";} + else {path = "Models/Weather/cumulonimbus_sl5.xml";} + } + else if (subtype == "bottom") { + if (rn > 0.0) {path = "Models/Weather/congestus_bottom1.xml";} + } + + } + } + + +else {print("Cloud type ", type, " subtype ",subtype, " not available!");} + +return path; +} + +# hash for assembling hard-coded clouds + +var cloudAssembly = {}; + diff --git a/Nasal/local_weather/compat_layer.nas b/Nasal/local_weather/compat_layer.nas index 718aef02b..1df26b60b 100644 --- a/Nasal/local_weather/compat_layer.nas +++ b/Nasal/local_weather/compat_layer.nas @@ -83,6 +83,8 @@ weather_tiles = local_weather; var result = "yes"; +if (1==0) # no compatibility tests for 2.4 binary, it has the required features + { print("Compatibility layer: testing for hard coded support"); if (props.globals.getNode("/rendering/scene/saturation", 0) == nil) @@ -119,6 +121,21 @@ print("* can disable global weather: "~result); print("Compatibility layer: tests done."); + } + + +# features of a 2.4 binary + +features.can_set_light = 1; +features.can_set_scattering = 1; +features.terrain_presampling = 1; +features.terrain_presampling_active = 1; +features.can_disable_environment = 1; + +# features of a current GIT binary + +features.fast_geodinfo = 1; + # do actual startup() local_weather.updateMenu(); @@ -128,6 +145,8 @@ local_weather.startup(); + + var setDefaultCloudsOff = func { if (features.can_disable_environment == 1) @@ -149,6 +168,16 @@ else } } +if (local_weather.hardcoded_clouds_flag == 1) + { + # we store that information ourselves, so this should be zero + setprop("/environment/clouds/layer[0]/elevation-ft",0.0); + + # layer wrapping off + setprop("/sim/rendering/clouds3d-wrap",0); + + } + } @@ -226,7 +255,9 @@ settimer( func {visibility_loop(); },0); #################################### var setLift = func (lift) { - setprop("/environment/local-weather-lift-fps",lift); + +setprop("/environment/local-weather-lift-fps",lift); + } #################################### @@ -655,8 +686,7 @@ model.getNode("tile-index",1).setValue(tile_counter); model.getNode("load", 1).remove(); -# sort the model node into a vector for easy deletion -# append(weather_tile_management.modelArrays[tile_counter-1],model); + # sort the cloud into the cloud hash array @@ -699,6 +729,64 @@ if (local_weather.dynamics_flag == 1) } +########################################################### +# place a single cloud using hard-coded system +########################################################### + +var create_cloud_new = func(c) { + + + +var tile_counter = getprop(lw~"tiles/tile-counter"); +cloud_index = cloud_index + 1; + +c.index = tile_counter; +c.cloud_index = cloud_index; + +# write the actual cloud into the scenery + + +var p = props.Node.new({ "layer" : 0, + "index": cloud_index, + "lat-deg": c.lat, + "lon-deg": c.lon, + "min-sprite-width-m": c.min_width, + "max-sprite-width-m": c.max_width, + "min-sprite-height-m": c.min_height, + "max-sprite-height-m": c.max_height, + "num-sprites": c.n_sprites, + "bottom-shade": c.bottom_shade, + "texture": c.texture_sheet, + "num-textures-x": c.num_tex_x, + "num-textures-y": c.num_tex_y, + "min-cloud-width-m": c.min_cloud_width, + "max-cloud-width-m": c.min_cloud_width, + "min-cloud-height-m": c.min_cloud_height, + "max-cloud-height-m": c.min_cloud_height, + "z-scale": c.z_scale, + "height-map-texture": 0, + "alt-ft" : c.alt}); +fgcommand("add-cloud", p); + +# print("alt: ", c.alt); + +# add other management properties to the hash if dynamics is on + +if (local_weather.dynamics_flag == 1) + { + c.timestamp = weather_dynamics.time_lw; + } + + +# add cloud to array + +append(weather_tile_management.cloudArray,c); + + +} + + + ########################################################### # place a cloud layer from arrays, split across frames ########################################################### @@ -736,6 +824,7 @@ for (var k = 0; k < k_max; k = k+1) cloud_evolution_timestamp = local_weather.clouds_evolution_timestamp[s-k-1]; } create_cloud(clouds_path[s-k-1], clouds_lat[s-k-1], clouds_lon[s-k-1], clouds_alt[s-k-1], clouds_orientation[s-k-1]); + #create_cloud_new(clouds_path[s-k-1], clouds_lat[s-k-1], clouds_lon[s-k-1], clouds_alt[s-k-1], clouds_orientation[s-k-1]); } setsize(clouds_path,s-k_max); @@ -838,3 +927,7 @@ var buffered_tile_index = 0; var cloud_mean_altitude = 0.0; var cloud_flt = 0.0; var cloud_evolution_timestamp = 0.0; + +# globals to handle new cloud indexing + +var cloud_index = 0; diff --git a/Nasal/local_weather/local_weather.nas b/Nasal/local_weather/local_weather.nas index bde539ad6..d6f7e31e5 100644 --- a/Nasal/local_weather/local_weather.nas +++ b/Nasal/local_weather/local_weather.nas @@ -29,7 +29,6 @@ # calcLift_max to calculate the maximal available thermal lift for given altitude # calcLift to calculate the thermal lift at aircraft position # calcWaveLift to calculate wave lift at aircraft position -# select_cloud_model to select a path to the cloud model, given the cloud type and subtype # create_cloud_vec to place a single cloud into an array to be written later # clear_all to remove all clouds, effect volumes and weather stations and stop loops # create_detailed_cumulus_cloud to place multiple cloudlets into a box based on a size parameter @@ -82,6 +81,9 @@ # thermalLift to store thermal info and provide methods to move and time-evolve a thermal # waveLift to store wave info + + + ################################### # geospatial helper functions ################################### @@ -603,6 +605,10 @@ var inc2 = 0.9 * (vis_aloft - vis)/1500.0; var inc3 = (vis_ovcst - vis_aloft)/(ovcst_alt_high - vis_alt1+1500); var inc4 = 0.5; + +if (realistic_visibility_flag == 1) + {inc4 = inc4 * 8.0;} + # compute the visibility if (altitude < alt1) @@ -620,6 +626,11 @@ else if (altitude > ovcst_alt_high) vis = vis + inc1 * alt1 + inc2 * (alt2-alt1) + inc3 * (ovcst_alt_high - alt2) + inc4 * (altitude - ovcst_alt_high); } +# limit visibility (otherwise memory consumption is very bad...) + +if (vis > 140000.0) + {vis = 140000.0;} + # compute the horizon shading if (altitude < scatt_alt_low) @@ -855,6 +866,10 @@ if (getprop(lw~"interpolation-loop-flag") ==1) {settimer(interpolation_loop, int var thermal_lift_start = func (ev) { + +# if another lift loop is already running, do nothing +if (getprop(lw~"lift-loop-flag") == 1) {return;} + # copy the properties from effect volume to the lift object l = thermalLift.new(ev.lat, ev.lon, ev.radius, ev.height, ev.cn, ev.sh, ev.max_lift, ev.f_lift_radius); @@ -887,8 +902,9 @@ if (debug_output_flag == 1) # and start the lift loop, unless another one is already running # so we block overlapping calls -if (getprop(lw~"lift-loop-flag") == 0) -{setprop(lw~"lift-loop-flag",1); settimer(thermal_lift_loop,0);} + +setprop(lw~"lift-loop-flag",1); +settimer(thermal_lift_loop,0); } @@ -1397,390 +1413,6 @@ return lift; } -########################################################### -# select a cloud model -########################################################### - -var select_cloud_model = func(type, subtype) { - -var rn = rand(); -var path="Models/Weather/blank.ac"; - -if (type == "Cumulus"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/cumulus_small_shader1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulus_small_shader2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulus_small_shader3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulus_small_shader4.xml";} - else {path = "Models/Weather/cumulus_small_shader5.xml";} - } - else if (subtype == "large") { - if (rn > 0.83) {path = "Models/Weather/cumulus_shader1.xml";} - else if (rn > 0.664) {path = "Models/Weather/cumulus_shader2.xml";} - else if (rn > 0.498) {path = "Models/Weather/cumulus_shader3.xml";} - else if (rn > 0.332) {path = "Models/Weather/cumulus_shader4.xml";} - else if (rn > 0.166) {path = "Models/Weather/cumulus_shader5.xml";} - else {path = "Models/Weather/cumulus_shader6.xml";} - } - } -else if (type == "Cumulus (cloudlet)"){ - if (subtype == "small") { - if (rn > 0.875) {path = "Models/Weather/cumulus_small_sl1.xml";} - else if (rn > 0.750) {path = "Models/Weather/cumulus_small_sl2.xml";} - else if (rn > 0.625) {path = "Models/Weather/cumulus_small_sl3.xml";} - else if (rn > 0.500) {path = "Models/Weather/cumulus_small_sl4.xml";} - else if (rn > 0.375) {path = "Models/Weather/cumulus_small_sl5.xml";} - else if (rn > 0.250) {path = "Models/Weather/cumulus_small_sl6.xml";} - else if (rn > 0.125) {path = "Models/Weather/cumulus_small_sl7.xml";} - else {path = "Models/Weather/cumulus_small_sl8.xml";} - } - else if (subtype == "large") { - if (rn > 0.9) {path = "Models/Weather/cumulus_sl1.xml";} - else if (rn > 0.8) {path = "Models/Weather/cumulus_sl2.xml";} - else if (rn > 0.7) {path = "Models/Weather/cumulus_sl3.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulus_sl4.xml";} - else if (rn > 0.5) {path = "Models/Weather/cumulus_sl5.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulus_sl6.xml";} - else if (rn > 0.3) {path = "Models/Weather/cumulus_sl7.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulus_sl8.xml";} - else if (rn > 0.1) {path = "Models/Weather/cumulus_sl9.xml";} - else {path = "Models/Weather/cumulus_sl10.xml";} - } - - } -else if (type == "Congestus"){ - if (subtype == "small") { - if (rn > 0.9) {path = "Models/Weather/cumulus_sl1.xml";} - else if (rn > 0.8) {path = "Models/Weather/cumulus_sl2.xml";} - else if (rn > 0.7) {path = "Models/Weather/cumulus_sl3.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulus_sl4.xml";} - else if (rn > 0.5) {path = "Models/Weather/cumulus_sl5.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulus_small_sl4.xml";} - else if (rn > 0.3) {path = "Models/Weather/cumulus_small_sl5.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulus_small_sl6.xml";} - else if (rn > 0.1) {path = "Models/Weather/cumulus_small_sl7.xml";} - else {path = "Models/Weather/cumulus_small_sl8.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/congestus_sl1.xml";} - else if (rn > 0.6) {path = "Models/Weather/congestus_sl2.xml";} - else if (rn > 0.4) {path = "Models/Weather/congestus_sl3.xml";} - else if (rn > 0.2) {path = "Models/Weather/congestus_sl4.xml";} - else {path = "Models/Weather/congestus_sl5.xml";} - } - - } -else if (type == "Stratocumulus"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/stratocumulus_small1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratocumulus_small2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratocumulus_small3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratocumulus_small4.xml";} - else {path = "Models/Weather/stratocumulus_small5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/stratocumulus_sl1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratocumulus_sl2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratocumulus_sl3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratocumulus_sl4.xml";} - else {path = "Models/Weather/stratocumulus_sl5.xml";} - } - - } -else if (type == "Cumulus (whisp)"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/cumulus_whisp1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulus_whisp2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulus_whisp3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulus_whisp4.xml";} - else {path = "Models/Weather/cumulus_whisp5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/cumulus_whisp1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulus_whisp2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulus_whisp3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulus_whisp4.xml";} - else {path = "Models/Weather/cumulus_whisp5.xml";} - } - - } -else if (type == "Cumulus bottom"){ - if (subtype == "small") { - if (rn > 0.0) {path = "Models/Weather/cumulus_bottom1.xml";} - } - else if (subtype == "large") { - if (rn > 0.0) {path = "Models/Weather/cumulus_bottom1.xml";} - } - - } -else if (type == "Congestus bottom"){ - if (subtype == "small") { - if (rn > 0.0) {path = "Models/Weather/congestus_bottom1.xml";} - } - else if (subtype == "large") { - if (rn > 0.0) {path = "Models/Weather/congestus_bottom1.xml";} - } - - } -else if (type == "Stratocumulus bottom"){ - if (subtype == "small") { - if (rn > 0.0) {path = "Models/Weather/stratocumulus_bottom1.xml";} - } - else if (subtype == "large") { - if (rn > 0.0) {path = "Models/Weather/stratocumulus_bottom1.xml";} - } - - } -else if (type == "Cumulonimbus (cloudlet)"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/cumulonimbus_sl1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulonimbus_sl2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulonimbus_sl3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulonimbus_sl4.xml";} - else {path = "Models/Weather/cumulonimbus_sl5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/cumulonimbus_sl1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cumulonimbus_sl2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cumulonimbus_sl3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cumulonimbus_sl4.xml";} - else {path = "Models/Weather/cumulonimbus_sl5.xml";} - } - - } - -else if (type == "Altocumulus"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/altocumulus_shader6.xml";} - else if (rn > 0.6) {path = "Models/Weather/altocumulus_shader7.xml";} - else if (rn > 0.4) {path = "Models/Weather/altocumulus_shader8.xml";} - else if (rn > 0.2) {path = "Models/Weather/altocumulus_shader9.xml";} - else {path = "Models/Weather/altocumulus_shader10.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/altocumulus_shader1.xml";} - else if (rn > 0.6) {path = "Models/Weather/altocumulus_shader2.xml";} - else if (rn > 0.4) {path = "Models/Weather/altocumulus_shader3.xml";} - else if (rn > 0.2) {path = "Models/Weather/altocumulus_shader4.xml";} - else {path = "Models/Weather/altocumulus_shader5.xml";} - } - } - -else if (type == "Stratus (structured)"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/altocumulus_layer6.xml";} - else if (rn > 0.6) {path = "Models/Weather/altocumulus_layer7.xml";} - else if (rn > 0.4) {path = "Models/Weather/altocumulus_layer8.xml";} - else if (rn > 0.2) {path = "Models/Weather/altocumulus_layer9.xml";} - else {path = "Models/Weather/altocumulus_layer10.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/altocumulus_layer1.xml";} - else if (rn > 0.6) {path = "Models/Weather/altocumulus_layer2.xml";} - else if (rn > 0.4) {path = "Models/Weather/altocumulus_layer3.xml";} - else if (rn > 0.2) {path = "Models/Weather/altocumulus_layer4.xml";} - else {path = "Models/Weather/altocumulus_layer5.xml";} - } - } -else if (type == "Altocumulus perlucidus"){ - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/altocumulus_thinlayer6.xml";} - else if (rn > 0.6) {path = "Models/Weather/altocumulus_thinlayer7.xml";} - else if (rn > 0.4) {path = "Models/Weather/altocumulus_thinlayer8.xml";} - else if (rn > 0.2) {path = "Models/Weather/altocumulus_thinlayer9.xml";} - else {path = "Models/Weather/altocumulus_thinlayer10.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/altocumulus_thinlayer1.xml";} - else if (rn > 0.6) {path = "Models/Weather/altocumulus_thinlayer2.xml";} - else if (rn > 0.4) {path = "Models/Weather/altocumulus_thinlayer3.xml";} - else if (rn > 0.2) {path = "Models/Weather/altocumulus_thinlayer4.xml";} - else {path = "Models/Weather/altocumulus_thinlayer5.xml";} - } - } -else if ((type == "Cumulonimbus") or (type == "Cumulonimbus (rain)")) { - if (subtype == "small") { - if (rn > 0.5) {path = "Models/Weather/cumulonimbus_small1.xml";} - else {path = "Models/Weather/cumulonimbus_small2.xml";} - } - else if (subtype == "large") { - if (rn > 0.5) {path = "Models/Weather/cumulonimbus_small1.xml";} - else {path = "Models/Weather/cumulonimbus_small2.xml";} - } - } -else if (type == "Cirrus") { - if (subtype == "large") { - if (rn > 0.888) {path = "Models/Weather/cirrus1.xml";} - else if (rn > 0.777) {path = "Models/Weather/cirrus2.xml";} - else if (rn > 0.666) {path = "Models/Weather/cirrus3.xml";} - else if (rn > 0.555) {path = "Models/Weather/cirrus4.xml";} - else if (rn > 0.444) {path = "Models/Weather/cirrus5.xml";} - else if (rn > 0.333) {path = "Models/Weather/cirrus6.xml";} - else if (rn > 0.222) {path = "Models/Weather/cirrus7.xml";} - else if (rn > 0.111) {path = "Models/Weather/cirrus8.xml";} - else {path = "Models/Weather/cirrus9.xml";} - } - else if (subtype == "small") { - if (rn > 0.75) {path = "Models/Weather/cirrus_amorphous1.xml";} - else if (rn > 0.5) {path = "Models/Weather/cirrus_amorphous2.xml";} - else if (rn > 0.25) {path = "Models/Weather/cirrus_amorphous3.xml";} - else {path = "Models/Weather/cirrus_amorphous4.xml";} - } - } -else if (type == "Cirrocumulus") { - if (subtype == "small") { - if (rn > 0.5) {path = "Models/Weather/cirrocumulus1.xml";} - else {path = "Models/Weather/cirrocumulus2.xml";} - } - else if (subtype == "large") { - if (rn > 0.875) {path = "Models/Weather/cirrocumulus1.xml";} - else if (rn > 0.750){path = "Models/Weather/cirrocumulus4.xml";} - else if (rn > 0.625){path = "Models/Weather/cirrocumulus5.xml";} - else if (rn > 0.500){path = "Models/Weather/cirrocumulus6.xml";} - else if (rn > 0.385){path = "Models/Weather/cirrocumulus7.xml";} - else if (rn > 0.250){path = "Models/Weather/cirrocumulus8.xml";} - else if (rn > 0.125){path = "Models/Weather/cirrocumulus9.xml";} - else {path = "Models/Weather/cirrocumulus10.xml";} - } - } -else if (type == "Cirrocumulus (cloudlet)") { - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/cirrocumulus_cloudlet6.xml";} - else if (rn > 0.6) {path = "Models/Weather/cirrocumulus_cloudlet7.xml";} - else if (rn > 0.4) {path = "Models/Weather/cirrocumulus_cloudlet8.xml";} - else if (rn > 0.2) {path = "Models/Weather/cirrocumulus_cloudlet9.xml";} - else {path = "Models/Weather/cirrocumulus_cloudlet10.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/cirrocumulus_cloudlet1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cirrocumulus_cloudlet2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cirrocumulus_cloudlet3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cirrocumulus_cloudlet4.xml";} - else {path = "Models/Weather/cirrocumulus_cloudlet5.xml";} - } - } -else if (type == "Nimbus") { - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/nimbus_sls1.xml";} - else if (rn > 0.6) {path = "Models/Weather/nimbus_sls2.xml";} - else if (rn > 0.4) {path = "Models/Weather/nimbus_sls3.xml";} - else if (rn > 0.2) {path = "Models/Weather/nimbus_sls4.xml";} - else {path = "Models/Weather/nimbus_sls5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/nimbus_sl1.xml";} - else if (rn > 0.6) {path = "Models/Weather/nimbus_sl2.xml";} - else if (rn > 0.4) {path = "Models/Weather/nimbus_sl3.xml";} - else if (rn > 0.2) {path = "Models/Weather/nimbus_sl4.xml";} - else {path = "Models/Weather/nimbus_sl5.xml";} - } - } -else if (type == "Stratus") { - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/stratus_layer1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_layer2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_layer3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_layer4.xml";} - else {path = "Models/Weather/stratus_layer5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/stratus_layer1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_layer2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_layer3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_layer4.xml";} - else {path = "Models/Weather/stratus_layer5.xml";} - } - } -else if (type == "Stratus (thin)") { - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/stratus_tlayer1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_tlayer2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_tlayer3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_tlayer4.xml";} - else {path = "Models/Weather/stratus_tlayer5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/stratus_tlayer1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_tlayer2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_tlayer3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_tlayer4.xml";} - else {path = "Models/Weather/stratus_tlayer5.xml";} - } - } -else if (type == "Cirrostratus") { - if (subtype == "small") { - if (rn > 0.75) {path = "Models/Weather/cirrostratus1.xml";} - else if (rn > 0.5) {path = "Models/Weather/cirrostratus2.xml";} - else if (rn > 0.25) {path = "Models/Weather/cirrostratus3.xml";} - else {path = "Models/Weather/cirrostratus4.xml";} - } - else if (subtype == "large") { - if (rn > 0.75) {path = "Models/Weather/cirrostratus1.xml";} - else if (rn > 0.5) {path = "Models/Weather/cirrostratus2.xml";} - else if (rn > 0.25) {path = "Models/Weather/cirrostratus3.xml";} - else {path = "Models/Weather/cirrostratus4.xml";} - } - } -else if (type == "Fog (thin)") { - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/stratus_thin1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_thin2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_thin3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_thin4.xml";} - else {path = "Models/Weather/stratus_thin5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/stratus_thin1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_thin2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_thin3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_thin4.xml";} - else {path = "Models/Weather/stratus_thin5.xml";} - } - } -else if (type == "Fog (thick)") { - if (subtype == "small") { - if (rn > 0.8) {path = "Models/Weather/stratus_thick1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_thick2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_thick3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_thick4.xml";} - else {path = "Models/Weather/stratus_thick5.xml";} - } - else if (subtype == "large") { - if (rn > 0.8) {path = "Models/Weather/stratus_thick1.xml";} - else if (rn > 0.6) {path = "Models/Weather/stratus_thick2.xml";} - else if (rn > 0.4) {path = "Models/Weather/stratus_thick3.xml";} - else if (rn > 0.2) {path = "Models/Weather/stratus_thick4.xml";} - else {path = "Models/Weather/stratus_thick5.xml";} - } - } -else if (type == "Test") {path="Models/Weather/single_cloud.xml";} -else if (type == "Box_test") { - if (subtype == "standard") { - if (rn > 0.8) {path = "Models/Weather/cloudbox1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cloudbox2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cloudbox3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cloudbox4.xml";} - else {path = "Models/Weather/cloudbox5.xml";} - } - else if (subtype == "core") { - if (rn > 0.8) {path = "Models/Weather/cloudbox_core1.xml";} - else if (rn > 0.6) {path = "Models/Weather/cloudbox_core2.xml";} - else if (rn > 0.4) {path = "Models/Weather/cloudbox_core3.xml";} - else if (rn > 0.2) {path = "Models/Weather/cloudbox_core4.xml";} - else {path = "Models/Weather/cloudbox_core5.xml";} - } - else if (subtype == "bottom") { - if (rn > 0.66) {path = "Models/Weather/cloudbox_bottom1.xml";} - else if (rn > 0.33) {path = "Models/Weather/cloudbox_bottom2.xml";} - else if (rn > 0.0) {path = "Models/Weather/cloudbox_bottom3.xml";} - } - } - - -else {print("Cloud type ", type, " subtype ",subtype, " not available!");} - -return path; -} @@ -1792,6 +1424,24 @@ return path; var create_cloud_vec = func(path, lat, long, alt, heading) { +if (path == "new") # we have to switch to new cloud generating routines + { + local_weather.cloudAssembly.lat = lat; + local_weather.cloudAssembly.lon = long; + local_weather.cloudAssembly.alt = alt; + + if (dynamics_flag == 1) + { + local_weather.cloudAssembly.mean_alt = cloud_mean_altitude; + local_weather.cloudAssembly.flt = cloud_fractional_lifetime; + local_weather.cloudAssembly.evolution_timestamp = cloud_evolution_timestamp; + local_weather.cloudAssembly.rel_alt = c.alt - c.mean_alt; + } + compat_layer.create_cloud_new(local_weather.cloudAssembly); + + return; + } + append(clouds_path,path); append(clouds_lat,lat); append(clouds_lon,long); @@ -1831,6 +1481,14 @@ foreach (var m; modelNode) } +# remove the hard-coded clouds + +foreach (c; weather_tile_management.cloudArray) + { + c.remove(); + } +setsize(weather_tile_management.cloudArray,0); + # reset pressure continuity weather_tiles.last_pressure = 0.0; @@ -1885,6 +1543,8 @@ settimer ( func { setsize(weather_tile_management.cloudSceneryArray,0); setsize(alt_20_array,0); setsize(alt_50_array,0); + setsize(alt_min_array,0); + setsize(alt_mean_array,0); setsize(weather_dynamics.tile_convective_altitude,0); setsize(weather_dynamics.tile_convective_strength,0); setsize(weatherStationArray,0); @@ -1897,7 +1557,7 @@ settimer ( func { compat_layer.setOvercast(0.0); setprop(lwi~"ipoint-number",0); setprop(lwi~"atmosphere-ipoint-number", 0); - },1.1); + },0.1); setprop(lw~"tmp/presampling-status", "idle"); @@ -1905,6 +1565,10 @@ setprop(lw~"tmp/presampling-status", "idle"); weather_tiles.rnd_store = rand(); +# default 3d clouds layer wrapping back on, just in case + +setprop("/sim/rendering/clouds3d-wrap",1); + # indicate that we are no longer running @@ -1925,80 +1589,198 @@ var edge_bias = convective_texture_mix; size = size + convective_size_bias; -if (size > 2.0) + +if (hardcoded_clouds_flag == 0) { - if (rand() > (size - 2.0)) - {create_cumulonimbus_cloud(lat, lon, alt, size); } - else - {create_cumulonimbus_cloud_rain(lat, lon, alt, size, 0.1 + 0.2* rand());} - return; + if (size > 2.0) + { + if (rand() > (size - 2.0)) + {create_cumulonimbus_cloud(lat, lon, alt, size); } + else + {create_cumulonimbus_cloud_rain(lat, lon, alt, size, 0.1 + 0.2* rand());} + return; + } + + else if (size>1.5) + { + var type = "Congestus"; + var btype = "Congestus bottom"; + var height = 400; + var n = 8; + var n_b = 4; + var x = 1000.0; + var y = 300.0; + var edge = 0.3; + } + + else if (size>1.1) + { + var type = "Cumulus (cloudlet)"; + var btype = "Cumulus bottom"; + var height = 200; + var n = 8; + var n_b = 1; + var x = 400.0; + var y = 200.0; + var edge = 0.3; + } + else if (size>0.8) + { + var type = "Cumulus (cloudlet)"; + var btype = "Cumulus bottom"; + var height = 150; + var n = 6; + var x = 300.0; + var y = 200.0; + var edge = 0.3; + } + else if (size>0.4) + { + var type = "Cumulus (cloudlet)"; + var btype = "Cumulus bottom"; + var height = 100; + var n = 4; + var x = 200.0; + var y = 200.0; + var edge = 1.0; + } + else + { + var type = "Cumulus (whisp)"; + var btype = "Cumulus bottom"; + var height = 100; + var n = 1; + var x = 100.0; + var y = 100.0; + var edge = 1.0; + } + + var alpha = rand() * 180.0; + edge = edge + edge_bias; + create_streak(type,lat,lon, alt+ 0.5* (height +cloud_vertical_size_map["Cumulus"] * ft_to_m), height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + + # for large clouds, add a bottom + + if ((size > 1.1) and (edge < 0.4)) + { + + create_streak(btype,lat,lon, alt, 100.0,n_b,0.0,edge,0.3*x,1,0.0,0.0,0.3*y,alpha,1.0); + } + + + + } +else + { + if (size > 2.0) + { + if (rand() > (size - 2.0)) + {create_cumulonimbus_cloud(lat, lon, alt, size); } + else + {create_cumulonimbus_cloud_rain(lat, lon, alt, size, 0.1 + 0.2* rand());} + return; + } + + else if (size>1.5) + { + var type = "Congestus"; + + var height = 400; + var n = 3; + var x = 700.0; + var y = 200.0; + var edge = 0.2; + + var alpha = rand() * 180.0; + edge = edge + edge_bias; + + create_streak(type,lat,lon, alt+ 0.3* (height )-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + + var type = "Cu (volume)"; + var height = 400; + var n = 10; + var x = 1400.0; + var y = 400.0; + var edge = 0.2; + + edge = edge + edge_bias; + + create_streak(type,lat,lon, alt+ 0.3* (height )-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + + var btype = "Congestus bottom"; + var n_b = 6; + + create_streak(btype,lat,lon, alt - 1100.0, 100.0,n_b,0.0,edge,0.3*x,1,0.0,0.0,0.3*y,alpha,1.0); + + } + else if (size>1.1) + { + var type = "Cumulus (cloudlet)"; + var btype = "Cumulus bottom"; + var height = 200; + var n = 6; + var n_b = 2; + var x = 900.0; + var y = 200.0; + var edge = 0.2; + + var alpha = rand() * 180.0; + edge = edge + edge_bias; + create_streak(type,lat,lon, alt+ 0.3* (height )-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + + create_streak(btype,lat,lon, alt -600.0, 100.0,n_b,0.0,edge,0.3*x,1,0.0,0.0,0.3*y,alpha,1.0); + + } + else if (size>0.8) + { + var type = "Cumulus (cloudlet)"; + var height = 150; + var n = 4; + var x = 300.0; + var y = 300.0; + var edge = 0.3; + + var alpha = rand() * 180.0; + edge = edge + edge_bias; + create_streak(type,lat,lon, alt+ 0.3* (height )-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + + n = 2; + x = 700.0; + y = 200.0; + edge = 1.0; + create_streak(type,lat,lon, alt+ 0.3* (height )-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + } + + else if (size>0.4) + { + var type = "Cumulus (cloudlet)"; + var height = 100; + var n = 2; + var x = 600.0; + var y = 100.0; + var edge = 1.0; + + var alpha = rand() * 180.0; + edge = edge + edge_bias; + create_streak(type,lat,lon, alt+ 0.3* (height)-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + } + else + { + var type = "Cumulus (whisp)"; + var height = 100; + var n = 1; + var x = 100.0; + var y = 100.0; + var edge = 1.0; + + var alpha = rand() * 180.0; + edge = edge + edge_bias; + create_streak(type,lat,lon, alt+ 0.3* (height )-600.0, height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); + } + } -else if (size>1.5) - { - var type = "Congestus"; - var btype = "Congestus bottom"; - var height = 400; - var n = 8; - var n_b = 4; - var x = 1000.0; - var y = 300.0; - var edge = 0.3; - } -else if (size>1.1) - { - var type = "Cumulus (cloudlet)"; - var btype = "Cumulus bottom"; - var height = 200; - var n = 8; - var n_b = 1; - var x = 400.0; - var y = 200.0; - var edge = 0.3; - } -else if (size>0.8) - { - var type = "Cumulus (cloudlet)"; - var height = 150; - var n = 6; - var x = 300.0; - var y = 200.0; - var edge = 0.3; - } -else if (size>0.4) - { - var type = "Cumulus (cloudlet)"; - var btype = "Cumulus bottom"; - var height = 100; - var n = 4; - var x = 200.0; - var y = 200.0; - var edge = 1.0; - } -else - { - var type = "Cumulus (whisp)"; - var btype = "Cumulus bottom"; - var height = 100; - var n = 1; - var x = 100.0; - var y = 100.0; - var edge = 1.0; - } - -var alpha = rand() * 180.0; - -edge = edge + edge_bias; - -create_streak(type,lat,lon, alt+ 0.5* (height +cloud_vertical_size_map["Cumulus"] * ft_to_m), height,n,0.0,edge,x,1,0.0,0.0,y,alpha,1.0); - -# for large clouds, add a bottom - -if ((size > 1.1) and (edge < 0.4)) - { - create_streak(btype,lat,lon, alt, 100.0,n_b,0.0,edge,0.3*x,1,0.0,0.0,0.3*y,alpha,1.0); - } } @@ -2008,14 +1790,12 @@ if ((size > 1.1) and (edge < 0.4)) var create_cumulonimbus_cloud = func(lat, lon, alt, size) { -var height = 3000.0; -var alpha = rand() * 180.0; +if (hardcoded_clouds_flag == 1) + {create_cloudbox("Cb_box", lat, lon, alt, 2500.0,2000.0, 1000.0,14, 0.2, 0.1, 3.4, 8, 0.9, 0.2, 8);} +else + {create_cloudbox("Cb_box", lat, lon, alt, 2500.0,2000.0, 1000.0,14, 0.2, 0.1, 1.4, 4, 0.9, 0.2, 8);} -create_streak("Cumulonimbus",lat,lon, alt+ 700, 0,2,0.0,0.0,1600.0,1,0.0,0.0,800.0,alpha,1.0); -create_streak("Cumulonimbus",lat,lon, alt+ 0.5* height + 700, height,6,0.0,0.0,1600.0,1,0.0,0.0,800.0,alpha,1.0); -create_streak("Congestus bottom",lat,lon, alt, 100.0,6,0.0,1.0,0.7*1600,1,0.0,0.0,0.7*800,alpha,1.0); -create_streak("Congestus bottom",lat,lon, alt + 700, 100.0,6,0.0,1.0,0.7*1600,1,0.0,0.0,0.7*800,alpha,1.0); } @@ -2025,14 +1805,11 @@ create_streak("Congestus bottom",lat,lon, alt + 700, 100.0,6,0.0,1.0,0.7*1600,1, var create_cumulonimbus_cloud_rain = func(lat, lon, alt, size, rain) { -var height = 3000.0; -var alpha = rand() * 180.0; +if (hardcoded_clouds_flag == 1) + {create_cloudbox("Cb_box", lat, lon, alt, 2500.0,2000.0, 1000.0,14, 0.2, 0.1, 3.4, 8, 0.9, 0.2, 8);} +else + {create_cloudbox("Cb_box", lat, lon, alt, 2500.0,2000.0, 1000.0,14, 0.2, 0.1, 1.4, 4, 0.9, 0.2, 8);} -create_streak("Cumulonimbus",lat,lon, alt+ 700, 0,2,0.0,0.0,1600.0,1,0.0,0.0,800.0,alpha,1.0); -create_streak("Cumulonimbus",lat,lon, alt+ 0.5* height + 700, height,6,0.0,0.0,1600.0,1,0.0,0.0,800.0,alpha,1.0); - -create_streak("Congestus bottom",lat,lon, alt, 100.0,6,0.0,1.0,0.7*1600,1,0.0,0.0,0.7*800,alpha,1.0); -create_streak("Congestus bottom",lat,lon, alt + 700, 100.0,6,0.0,1.0,0.7*1600,1,0.0,0.0,0.7*800,alpha,1.0); # place a rain texture @@ -2082,7 +1859,10 @@ var cumulus_loop = func (blat, blon, balt, nc, size) { if (local_weather_running_flag == 0) {return;} -var n = int(25/cumulus_efficiency_factor); +if (local_weather.features.fast_geodinfo == 0) + {var n = int(25/cumulus_efficiency_factor);} +else + {var n = int(200/cumulus_efficiency_factor);} if (nc < 0) { @@ -2119,9 +1899,15 @@ var alpha = getprop(lw~"tmp/tile-orientation-deg") * math.pi/180.0; # the tile o if (detailed_terrain_interaction_flag == 1) { - var alt_min = getprop(lw~"tmp/tile-alt-min-ft"); - var alt_mean = getprop(lw~"tmp/tile-alt-mean-ft"); - var alt_var = alt_mean - alt_min; + var tile_index = getprop(lw~"tiles/tile-counter"); + #var alt_min = alt_min_array[tile_index-1]; + #var alt_mean = alt_mean_array[tile_index -1]; + #var alt_median = alt_50_array[tile_index -1]; + #var alt_base = alt_20_array[tile-index -1]; + #var alt_min = getprop(lw~"tmp/tile-alt-min-ft"); + #var alt_mean = getprop(lw~"tmp/tile-alt-mean-ft"); + #var alt_median = getprop(lw~"tmp/tile-alt-median-ft"); + #var alt_base = getprop(lw~"tmp/tile-alt-offset-ft"); } var sec_to_rad = 2.0 * math.pi/86400; # conversion factor for sinusoidal dependence on daytime @@ -2181,15 +1967,13 @@ while (i < nc) { # apply some optional corrections, biases clouds towards higher elevations var terrain_altitude_factor = 1.0; + var terrain_strength_factor = 1.0; if (detailed_terrain_interaction_flag == 1) { - var elevation_enhancement = (elevation - alt_mean) / 1000.0; - - if (elevation_enhancement > 0.7) {elevation_enhancement = 0.7;} - if (elevation_enhancement < -0.7) {elevation_enhancement = -0.7;} - - terrain_altitude_factor = 1.0 + elevation_enhancement; + + terrain_altitude_factor = get_terrain_altitude_factor(tile_index, balt, elevation); + terrain_strength_factor = get_terrain_strength_factor(terrain_altitude_factor); } @@ -2198,7 +1982,40 @@ while (i < nc) { if (rand() < (p * cumulus_efficiency_factor * terrain_altitude_factor)) # we decide to place a cloud at this spot { - strength = (1.5 * rand() + (2.0 * p)) * t_factor2; # the strength of thermal activity at the spot + + + # check if we have a terrain elevation analysis available and can use a + # detailed placement altitude correction + + if (presampling_flag == 1) + { + + if (detailed_terrain_interaction_flag == 1) + { + var grad = get_terrain_gradient(lat, lon, elevation, alpha, 1000.0); + } + else + {var grad = 0.0;} + + + var place_alt = get_convective_altitude(balt, elevation, getprop(lw~"tiles/tile-counter"), grad); + } + else {var place_alt = balt;} + + # no cloud placement into the ground + if (place_alt < elevation) {continue;} + + # if we're in a lee, we may not want to place the cloud + + if (detailed_terrain_interaction_flag == 1) + { + var p_lee_suppression = get_lee_bias(grad); + if (rand() > p_lee_suppression) {continue;} + } + + + # now decide on the strength of the thermal + strength = (1.5 * rand() + (2.0 * p * terrain_strength_factor)) * t_factor2; # the strength of thermal activity at the spot if (strength > 1.0) { # we place a large cloud, and we generate lift @@ -2206,15 +2023,8 @@ while (i < nc) { } else {path = select_cloud_model("Cumulus","small");} - # check if we have a terrain elevation analysis available and can use a - # detailed placement altitude correction + - if (presampling_flag == 1) - { - var place_alt = get_convective_altitude(balt, elevation, getprop(lw~"tiles/tile-counter")); - } - else {var place_alt = balt;} - cloud_mean_altitude = place_alt; cloud_fractional_lifetime = rand(); cloud_evolution_timestamp = weather_dynamics.time_lw; @@ -2253,7 +2063,7 @@ while (i < nc) { var lift = (3.0 + 10.0 * (strength -1.0))/thermal_conditions; var radius = (500 + 500 * rand())*thermal_conditions; - create_effect_volume(1, lat, lon, 1.1*radius, 1.1*radius, 0.0, 0.0, place_alt*1.15, -1, -1, -1, lift*0.04, lift, -2,-1); + create_effect_volume(1, lat, lon, 1.1*radius, 1.1*radius, 0.0, 0.0, place_alt*1.15, -1, -1, -1, lift*0.03, lift, -2,-1); } # end if place_lift_flag } # end if generate-thermal-lift-flag @@ -2348,15 +2158,30 @@ while (i < nc) { }} else {continue;} + + # apply some optional corrections, biases clouds towards higher elevations + + var terrain_altitude_factor = 1.0; + var terrain_strength_factor = 1.0; + + if (detailed_terrain_interaction_flag == 1) + { + terrain_altitude_factor = get_terrain_altitude_factor(tile_index, balt, elevation); + terrain_strength_factor = get_terrain_strength_factor(terrain_altitude_factor); + } + + + + # check if to place a cloud with weight sqrt(p), the lifetime gets another sqrt(p) factor - if (rand() > math.sqrt(p * cumulus_efficiency_factor)) + if (rand() > math.sqrt(p * cumulus_efficiency_factor * terrain_altitude_factor)) {i=i+1; continue;} # then calculate the strength of the updraft - strength = (1.5 * rand() + (2.0 * p)) * t_factor2; # the strength of thermal activity at the spot + strength = (1.5 * rand() + (2.0 * p * terrain_strength_factor)) * t_factor2; # the strength of thermal activity at the spot if (strength > 1.0) { path = select_cloud_model("Cumulus","large"); place_lift_flag = 1; @@ -2365,9 +2190,21 @@ while (i < nc) { if (presampling_flag == 1) { - var place_alt = get_convective_altitude(balt, elevation, tile_index); + var place_alt = get_convective_altitude(balt, elevation, tile_index,0.0); } else {var place_alt = balt;} + + + # no cloud placement into the ground + if (place_alt < elevation) {continue;} + + # if we're in a lee, we may not want to place the cloud + + if (detailed_terrain_interaction_flag == 1) + { + var p_lee_suppression = get_lee_bias(grad); + if (rand() > math.sqrt(p_lee_suppression)) {continue;} + } cloud_mean_altitude = place_alt; cloud_fractional_lifetime = 0.0; @@ -2409,7 +2246,7 @@ while (i < nc) { var lift = (3.0 + 10.0 * (strength -1.0))/thermal_conditions; var radius = (500 + 500 * rand())*thermal_conditions; - create_effect_volume(1, lat, lon, 1.1*radius, 1.1*radius, 0.0, 0.0, place_alt*1.15, -1, -1, -1, lift*0.04, lift, -2,-1); + create_effect_volume(1, lat, lon, 1.1*radius, 1.1*radius, 0.0, 0.0, place_alt*1.15, -1, -1, -1, lift*0.03, lift, -2,-1); } # end if place_lift_flag } # end if generate-thermal-lift-flag @@ -2873,10 +2710,8 @@ for (var i=0; i 0.2) # we have below 20 fps - {n = 5;} -else if (dt > 0.1) # we have below 10 fps - {n = 10;} -else if (dt > 0.05) # we have below 5 fps - {n = 15;} + var dt = getprop("/sim/time/delta-sec"); + if (dt > 0.2) # we have below 20 fps + {n = 5;} + else if (dt > 0.1) # we have below 10 fps + {n = 10;} + else if (dt > 0.05) # we have below 5 fps + {n = 15;} + } +else + { + n = 250; n_out = 250; + } if (nc <= 0) # we're done and may analyze the result { @@ -3135,6 +2975,8 @@ setprop(lw~"tmp/tile-alt-layered-ft",0.5 * (alt_min + alt_20)); append(alt_50_array, alt_med); append(alt_20_array, alt_20); +append(alt_min_array, alt_min); +append(alt_mean_array, alt_mean); } @@ -3174,7 +3016,7 @@ for (var i=0; i alt_variation) {alt_diff = alt_variation;} # maximal shift is given by alt_variation +# print("balt: ", balt, " new alt: ", balt + shift_strength * alt_diff * fraction); + return balt + shift_strength * alt_diff * fraction; } + +########################################################### +# detailed terrain gradient determination in wind direction +########################################################### + + +var get_terrain_gradient = func (lat, lon, elevation1, phi, dist) { + + +# get the first elevation +# var elevation1 = compat_layer.get_elevation(lat,lon); + +# look upwind to learn about the history of the cloud +var elevation2 = compat_layer.get_elevation(lat+weather_tiles.get_lat(0.0,dist,phi), lon+weather_tiles.get_lon(0.0,dist,phi)); + +return (elevation2 - elevation1)/(dist * m_to_ft); +} + +########################################################### +# enhancement of the placement altitude due to terrain +########################################################### + +var get_gradient_factor = func (grad) { + +if (grad > 0.0) + {return 1.0;} +else + { + return 1.0 -2.0 * grad; + } +} + + +########################################################### +# suppression of placement in lee terrain +########################################################### + +var get_lee_bias = func (grad) { + + +if ((local_weather.wind_model_flag == 1) or (local_weather.wind_model_flag == 3)) + { + var windspeed = tile_wind_speed[0]; + } + else if ((local_weather.wind_model_flag ==2) or (local_weather.wind_model_flag == 4) or (local_weather.wind_model_flag == 5)) + { + var windspeed = tile_wind_speed[tile_index-1]; + } + + +if (grad < 0.0) + {return 1.0;} +else + { + var lee_bias = 1.0 - (grad * 0.2 * windspeed); + } +if (lee_bias < 0.2) {lee_bias = 0.2;} + +return lee_bias; +} + +########################################################### +# enhancement of Cumulus in above average altitude +########################################################### + + +var get_terrain_altitude_factor = func (tile_index, balt, elevation) { + + +var alt_mean = alt_mean_array[tile_index -1]; +var alt_base = alt_20_array[tile_index -1]; + +var alt_layer = balt - alt_base; +var alt_above_terrain = balt - elevation; +var alt_above_mean = balt - alt_mean; + +# the cloud may still be above terrain even if the layer altitude is negative, but we want to avoid neg. factors here + +if (alt_above_terrain < 0.0) {alt_above_terrain = 0.0;} + +var norm_alt_diff = (alt_above_mean - alt_above_terrain)/alt_layer; + +if (norm_alt_diff > 0.0) + { + var terrain_altitude_factor = 1.0 + 2.0 * norm_alt_diff; + } + else + { + var terrain_altitude_factor = 1.0/(1.0 - 5.0 * norm_alt_diff); + } + +if (terrain_altitude_factor > 3.0) {terrain_altitude_factor = 3.0;} +if (terrain_altitude_factor < 0.1) {terrain_altitude_factor = 0.1;} + +return terrain_altitude_factor; +} + + +var get_terrain_strength_factor = func (terrain_altitude_factor) { + +return 1.0+ (0.5 * (terrain_altitude_factor-1.0)); + +} + + ########################################################### # terrain presampling listener dispatcher ########################################################### @@ -3500,6 +3477,8 @@ detailed_clouds_flag = getprop(lw~"config/detailed-clouds-flag"); dynamical_convection_flag = getprop(lw~"config/dynamical-convection-flag"); debug_output_flag = getprop(lw~"config/debug-output-flag"); fps_control_flag = getprop(lw~"config/fps-control-flag"); +realistic_visibility_flag = getprop(lw~"config/realistic-visibility-flag"); +detailed_terrain_interaction_flag = getprop(lw~"config/detailed-terrain-interaction-flag"); } @@ -3663,7 +3642,6 @@ var n_bottom = getprop(lw~"tmp/box-bottom-n"); var type = "Box_test"; -#create_cloudbox(type,subtype,lat, lon, alt, x,y,z,n); create_cloudbox(type, lat, lon, alt, x,y,z,n, f_core, r_core, h_core, n_core, f_bottom, h_bottom, n_bottom); @@ -3772,7 +3750,7 @@ if (compat_layer.features.can_disable_environment ==1) # switch off normal 3d clouds -compat_layer.setDefaultCloudsOff(); +local_weather.setDefaultCloudsOff(); # now see if we need to presample the terrain @@ -4021,12 +3999,13 @@ if (dynamics_flag ==1) # and start the buffer loop and housekeeping loop if needed -if (getprop(lw~"config/buffer-flag") ==1) +#if (getprop(lw~"config/buffer-flag") ==1) +if (buffer_flag == 1) { if (getprop(lw~"buffer-loop-flag") == 0) { setprop(lw~"buffer-loop-flag",1); weather_tile_management.buffer_loop(0); - setprop(lw~"housekeeping-loop-flag",1); weather_tile_management.housekeeping_loop(0); + setprop(lw~"housekeeping-loop-flag",1); weather_tile_management.housekeeping_loop(0,0); } } @@ -4136,9 +4115,29 @@ var test = func { var lat = getprop("position/latitude-deg"); var lon = getprop("position/longitude-deg"); +thread_flag = 0; +dynamics_flag = 0; +presampling_flag = 0; + + +#if (compat_layer.features.can_disable_environment ==1) +# { +# props.globals.getNode("/environment/config/enabled").setBoolValue(0); +# props.globals.getNode("/environment/params/metar-updates-environment").setBoolValue(0); +# } +# +#compat_layer.setDefaultCloudsOff(); + +#var array = []; +#append(weather_tile_management.modelArrays,array); +#setprop(lw~"tiles/tile-counter",getprop(lw~"tiles/tile-counter")+1); + + #var pos = geo.aircraft_position(); -debug.dump(geodinfo(lat, lon)); +#debug.dump(geodinfo(lat, lon)); + +#create_cumulonimbus_cloud(lat, lon, 6000.0, 2.5); # geo.put_model("Models/Astro/Earth.ac",lat, lon); @@ -4147,10 +4146,26 @@ debug.dump(geodinfo(lat, lon)); #setprop("/environment/terrain/area[0]/output/valid", 0 ); +elttest(); + } +var elttest = func { +var lat_uncertainty = 0.001; +var lon_uncertainty = 0.001; + +#var lat = getprop("/position/latitude-deg") + lat_uncertainty * 0.5 - rand(); +#var lon = getprop("/position/longitude-deg") + lon_uncertainty * 0.5 - rand(); +var lat = getprop("/position/latitude-string"); +var lon = getprop("/position/longitude-string"); +var aircraft = getprop("sim/description"); +var callsign = getprop("sim/multiplay/callsign"); +var help_string = "ELT AutoMessage: " ~ aircraft ~ " " ~ callsign ~ " " ~lat~" LAT "~lon~" LON, requesting SAR service"; + +setprop("/sim/multiplay/chat", help_string); +} ################################################################# @@ -4292,7 +4307,7 @@ var effectVolume = { correct_altitude: func { var convective_alt = weather_dynamics.tile_convective_altitude[me.index-1] + alt_20_array[me.index-1]; var elevation = compat_layer.get_elevation(me.lat, me.lon); - me.alt_high = local_weather.get_convective_altitude(convective_alt, elevation, me.index) *1.15; + me.alt_high = local_weather.get_convective_altitude(convective_alt, elevation, me.index,0.0) *1.15; me.height = me.alt_high * 0.87; }, correct_altitude_and_age: func { @@ -4309,7 +4324,7 @@ var effectVolume = { else {p_cover = 0.2;} } } - me.alt_high = get_convective_altitude(convective_alt, elevation, me.index) * 1.15; + me.alt_high = get_convective_altitude(convective_alt, elevation, me.index,0.0) * 1.15; me.height = me.alt_high * 0.87; var current_lifetime = math.sqrt(p_cover)/math.sqrt(0.35) * weather_dynamics.cloud_convective_lifetime_s; var fractional_increase = (weather_dynamics.time_lw - me.evolution_timestamp)/current_lifetime; @@ -4347,7 +4362,7 @@ var thermalLift = { correct_altitude: func { var convective_alt = weather_dynamics.tile_convective_altitude[me.index-1] + alt_20_array[me.index-1]; var elevation = compat_layer.get_elevation(me.lat, me.lon); - me.height = local_weather.get_convective_altitude(convective_alt, elevation, me.index); + me.height = local_weather.get_convective_altitude(convective_alt, elevation, me.index,0.0); }, correct_altitude_and_age: func { var convective_alt = weather_dynamics.tile_convective_altitude[me.index-1] + local_weather.alt_20_array[me.index-1]; @@ -4363,7 +4378,7 @@ var thermalLift = { else {p_cover = 0.2;} } } - me.height = get_convective_altitude(convective_alt, elevation, me.index); + me.height = get_convective_altitude(convective_alt, elevation, me.index,0.0); var current_lifetime = math.sqrt(p_cover)/math.sqrt(0.35) * weather_dynamics.cloud_convective_lifetime_s; var fractional_increase = (weather_dynamics.time_lw - me.evolution_timestamp)/current_lifetime; me.flt = me.flt + fractional_increase; @@ -4412,11 +4427,11 @@ var ec = "/environment/config/"; # a hash map of the strength for convection associated with terrain types -var landcover_map = {BuiltUpCover: 0.35, Town: 0.35, Freeway:0.35, BarrenCover:0.3, HerbTundraCover: 0.25, GrassCover: 0.2, CropGrassCover: 0.2, EvergreenBroadCover: 0.2, EvergreenNeedleCover: 0.2, Sand: 0.25, Grass: 0.2, Ocean: 0.01, Marsh: 0.05, Lake: 0.01, ShrubCover: 0.15, Landmass: 0.2, CropWoodCover: 0.15, MixedForestCover: 0.1, DryCropPastureCover: 0.25, MixedCropPastureCover: 0.2, IrrCropPastureCover: 0.15, DeciduousBroadCover: 0.1, DeciduousNeedleCover: 0.1, Bog: 0.05, pa_taxiway : 0.35, pa_tiedown: 0.35, pc_taxiway: 0.35, pc_tiedown: 0.35, Glacier: 0.01, DryLake: 0.3, IntermittentStream: 0.2, DryCrop: 0.2, Lava: 0.3}; +var landcover_map = {BuiltUpCover: 0.35, Town: 0.35, Freeway:0.35, BarrenCover:0.3, HerbTundraCover: 0.25, GrassCover: 0.2, CropGrassCover: 0.2, EvergreenBroadCover: 0.2, EvergreenNeedleCover: 0.2, Sand: 0.25, Grass: 0.2, Ocean: 0.01, Marsh: 0.05, Lake: 0.01, ShrubCover: 0.15, Landmass: 0.2, CropWoodCover: 0.15, MixedForestCover: 0.15, DryCropPastureCover: 0.25, MixedCropPastureCover: 0.2, IrrCropPastureCover: 0.15, DeciduousBroadCover: 0.1, DeciduousNeedleCover: 0.1, Bog: 0.05, pa_taxiway : 0.35, pa_tiedown: 0.35, pc_taxiway: 0.35, pc_tiedown: 0.35, Glacier: 0.03, DryLake: 0.3, IntermittentStream: 0.2, DryCrop: 0.2, Lava: 0.3, GolfCourse: 0.2}; # a hash map of average vertical cloud model sizes -var cloud_vertical_size_map = {Altocumulus: 700.0, Cumulus: 600.0, Nimbus: 1000.0, Stratus: 800.0, Stratus_structured: 600.0, Stratus_thin: 400.0, Cirrocumulus: 200.0}; +var cloud_vertical_size_map = {Altocumulus: 700.0, Cumulus: 600.0, Congestus: 2000.0, Nimbus: 1000.0, Stratus: 800.0, Stratus_structured: 600.0, Stratus_thin: 400.0, Cirrocumulus: 200.0, Cb_box: 2000.0}; # the array of aloft wind interpolation altitudes @@ -4430,6 +4445,13 @@ var clouds_lon = []; var clouds_alt = []; var clouds_orientation = []; + + + +# storage array for assembled clouds + +var cloudAssemblyArray = []; + # additional info needed for dynamical clouds: the base altitude around which cloudlets are distributed # and the fractional lifetime @@ -4443,6 +4465,8 @@ var clouds_evolution_timestamp = []; var terrain_n = []; var alt_50_array = []; var alt_20_array = []; +var alt_min_array = []; +var alt_mean_array = []; # array of currently existing effect volumes @@ -4455,6 +4479,8 @@ var thermal = {}; var wave = {}; + + # arrays of currently existing weather stations, wind interpolation and atmospheric condition points var weatherStationArray = []; @@ -4497,7 +4523,10 @@ var metar_flag = 0; var local_weather_running_flag = 0; var local_weather_startup_flag = 0; var fps_control_flag = 0; -var detailed_terrain_interaction_flag = 0; +var buffer_flag = 1; +var detailed_terrain_interaction_flag = 1; +var hardcoded_clouds_flag = 0; +var realistic_visibility_flag = 0; # globals for framerate controlled cloud management @@ -4524,26 +4553,6 @@ setprop(lw~"tmp/ipoint-latitude-deg",getprop("position/latitude-deg")); setprop(lw~"tmp/ipoint-longitude-deg",getprop("position/longitude-deg")); -# set config values - -# setprop(lw~"config/distance-to-load-tile-m",39000.0); -# setprop(lw~"config/distance-to-remove-tile-m",39500.0); -# setprop(lw~"config/detailed-clouds-flag",1); -# setprop(lw~"config/dynamics-flag",0); -# setprop(lw~"config/thermal-properties",1.0); -# setprop(lw~"config/wind-model","constant"); -# setprop(lw~"config/buffer-flag",1); -# setprop(lw~"config/asymmetric-reduction",0.7); -# setprop(lw~"config/clouds-visible-range-m",30000.0); -# setprop(lw~"config/asymmetric-buffering-flag",0); -# setprop(lw~"config/asymmetric-buffering-reduction",0.3); -# setprop(lw~"config/asymmetric-buffering-angle-deg",90.0); -# setprop(lw~"config/clouds-in-dynamics-loop",250); -# setprop(lw~"config/debug-output-flag",0); -# setprop(lw~"config/generate-thermal-lift-flag", 0); -# setprop(lw~"config/dynamical-convection-flag", 0); -# setprop(lw~"config/thread-flag", 1); -# setprop(lw~"config/presampling-flag", 1); # set the default loop flags to loops inactive diff --git a/Nasal/local_weather/weather_dynamics.nas b/Nasal/local_weather/weather_dynamics.nas index 87b5b36db..8adc598de 100644 --- a/Nasal/local_weather/weather_dynamics.nas +++ b/Nasal/local_weather/weather_dynamics.nas @@ -54,6 +54,32 @@ return windfield; } +var get_wind_direction = func (tile_index) { + +if ((local_weather.wind_model_flag == 1) or (local_weather.wind_model_flag == 3)) + { + return tile_wind_direction[0]; + } +else if ((local_weather.wind_model_flag ==2) or (local_weather.wind_model_flag == 4) or (local_weather.wind_model_flag == 5)) + { + return tile_wind_direction[tile_index-1]; + } + +} + +var get_wind_speed = func (tile_index) { + +if ((local_weather.wind_model_flag == 1) or (local_weather.wind_model_flag == 3)) + { + return tile_wind_speed[0]; + } +else if ((local_weather.wind_model_flag ==2) or (local_weather.wind_model_flag == 4) or (local_weather.wind_model_flag == 5)) + { + return tile_wind_speed[tile_index-1]; + } + +} + ######################################################## # timing loop # this gets the accurate time since the start of weather dynamics diff --git a/Nasal/local_weather/weather_tile_management.nas b/Nasal/local_weather/weather_tile_management.nas index 9cddc8310..db4483961 100644 --- a/Nasal/local_weather/weather_tile_management.nas +++ b/Nasal/local_weather/weather_tile_management.nas @@ -1228,7 +1228,7 @@ if (getprop(lw~"buffer-loop-flag") ==1) {settimer( func {buffer_loop(i)}, 0);} # housekeeping loop ############################### -var housekeeping_loop = func (index) { +var housekeeping_loop = func (index, index1) { if (local_weather.local_weather_running_flag == 0) {return;} @@ -1237,12 +1237,14 @@ var n_max = size(cloudSceneryArray); n_cloudSceneryArray = n_max; var s = size(active_tile_list); -setprop(lw~"clouds/cloud-scenery-count",n_max); +var m_max = size(cloudArray); + +setprop(lw~"clouds/cloud-scenery-count",n_max+m_max); # don't do anything as long as the array is empty -if (n_max == 0) # nothing to do, loop over - {if (getprop(lw~"housekeeping-loop-flag") ==1) {settimer( func {housekeeping_loop(index)}, 0);} return;} +if ((n_max == 0) and (m_max == 0)) # nothing to do, loop over + {if (getprop(lw~"housekeeping-loop-flag") ==1) {settimer( func {housekeeping_loop(index, index1)}, 0);} return;} # parse the flags @@ -1255,7 +1257,7 @@ if (asymmetric_buffering_flag ==1) var current_heading = getprop("orientation/heading-deg"); } -# now process the array +# now process the Scenery array if (index > n_max-1) {index = 0;} @@ -1310,7 +1312,34 @@ for (var i = index; i < i_max; i = i+1) } -if (getprop(lw~"housekeeping-loop-flag") ==1) {settimer( func {housekeeping_loop(i)}, 0);} +# now process the hard coded cloud array and see a tile has been removed + +if (index1 > m_max-1) {index1 = 0;} + +var j_max = index1 + n; +if (j_max > m_max) {j_max = m_max;} + +for (var j = index1; j < j_max; j = j+1) + { + var c = cloudArray[j]; + + var flag = 0; + + for (var k = 0; k < s; k = k+1) + { + if (active_tile_list[k] == c.index) {flag = 1; break;} + } + + if (flag == 0) + { + c.remove(); + cloudArray = delete_from_vector(cloudArray,j); + j = j -1; j_max = j_max - 1; m_max = m_max - 1; + continue; + } + } + +if (getprop(lw~"housekeeping-loop-flag") ==1) {settimer( func {housekeeping_loop(i,j)}, 0);} } @@ -1555,11 +1584,20 @@ var cloudScenery = { return me.calt.getValue(); }, correct_altitude: func { - var lat = me.clat.getValue(); - var lon = me.clon.getValue(); + var lat = me.lat; + var lon = me.lon; var convective_alt = weather_dynamics.tile_convective_altitude[me.index-1] + local_weather.alt_20_array[me.index-1]; var elevation = compat_layer.get_elevation(lat, lon); - var alt_new = local_weather.get_convective_altitude(convective_alt, elevation, me.index); + + if (local_weather.detailed_terrain_interaction_flag == 1) + { + var phi = local_weather.get_wind_direction(me.index) * math.pi/180.0; + var grad = local_weather.get_terrain_gradient(lat, lon, elevation, phi, 1000.0); + } + else + {var grad = 0.0;} + + var alt_new = local_weather.get_convective_altitude(convective_alt, elevation, me.index, grad); me.target_alt = alt_new + me.rel_alt; }, correct_altitude_and_age: func { @@ -1582,13 +1620,25 @@ var cloudScenery = { } } - + if (local_weather.detailed_terrain_interaction_flag == 1) + { + var phi = local_weather.get_wind_direction(me.index) * math.pi/180.0; + var grad = local_weather.get_terrain_gradient(lat, lon, elevation, phi, 1000.0); + var lee_bias = local_weather.get_lee_bias(grad); + } + else + { + var grad = 0.0; + var lee_bias = 1.0; + } + # correct the altitude - var alt_new = local_weather.get_convective_altitude(convective_alt, elevation, me.index); + var alt_new = local_weather.get_convective_altitude(convective_alt, elevation, me.index, grad); me.target_alt = alt_new + me.rel_alt; # correct fractional lifetime based on terrain below - var current_lifetime = math.sqrt(p_cover)/math.sqrt(0.35) * weather_dynamics.cloud_convective_lifetime_s; + + var current_lifetime = math.sqrt(p_cover * lee_bias)/math.sqrt(0.35) * weather_dynamics.cloud_convective_lifetime_s; var fractional_increase = (weather_dynamics.time_lw - me.evolution_timestamp)/current_lifetime; me.flt = me.flt + fractional_increase; me.evolution_timestamp = weather_dynamics.time_lw; @@ -1641,6 +1691,59 @@ var cloudScenery = { }, }; +var cloudArray = []; + +var cloud = { + new: func(type, subtype) { + var c = { parents: [cloud] }; + c.type = type; + c.subtype = subtype; + + return c; + }, + remove: func { + var p = props.Node.new({ "layer" : 0, + "index": me.cloud_index }); + fgcommand("del-cloud", p); + }, + move: func { + # this doesn't move a cloud in the scenery, but updates its position in internal space + var windfield = local_weather.windfield; + var dt = local_weather.time_lw - me.timestamp; + + me.lat = me.lat + windfield[1] * dt * local_weather.m_to_lat; + me.lon = me.lon + windfield[0] * dt * local_weather.m_to_lon; + me.timestamp = weather_dynamics.time_lw; + + }, + correct_altitude: func { + var convective_alt = weather_dynamics.tile_convective_altitude[me.index-1] + local_weather.alt_20_array[me.index-1]; + var elevation = compat_layer.get_elevation(me.lat, me.lon); + + if (local_weather.detailed_terrain_interaction_flag == 1) + { + var phi = local_weather.get_wind_direction(me.index) * math.pi/180.0; + var grad = local_weather.get_terrain_gradient(me.lat, me.lon, elevation, phi, 1000.0); + } + else + {var grad = 0.0;} + + var alt_new = local_weather.get_convective_altitude(convective_alt, elevation, me.index, grad); + var target_alt = alt_new + me.rel_alt; + + var p = props.Node.new({ "layer" : 0, + "index": me.cloud_index, + "lat-deg": me.lat, + "lon-deg": me.lon, + "alt-ft": target_alt + }); + fgcommand("move-cloud",p); + + me.alt = target_alt; + }, +}; + + ################### # helper functions ################### diff --git a/Nasal/local_weather/weather_tiles.nas b/Nasal/local_weather/weather_tiles.nas index 216b4dc6e..b7dea927b 100644 --- a/Nasal/local_weather/weather_tiles.nas +++ b/Nasal/local_weather/weather_tiles.nas @@ -98,27 +98,30 @@ calc_geo(blat); local_weather.set_weather_station(blat, blon, alt_offset, 20000.0, 14.0, 12.0, 29.78); -# create_8_8_nimbus_var3(blat, blon, 2000.0 + alt_offset+local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft, 0.0); +#strength = 0.5; +#local_weather.create_cumosys(blat,blon, 3000.0, get_n(strength), 20000.0); -#create_2_8_sstratus_streak(blat, blon,5000.0,0.0); +#create_2_8_altocumulus_streaks(blat, blon, 12000+alt_offset, alpha) ; +#create_2_8_altocumulus_streaks(blat, blon, 12000+alt_offset, alpha) ; +#create_6_8_stratus(blat, blon, 3000+alt_offset, alpha) ; +#create_4_8_tstratus_patches(blat, blon, 5000+alt_offset, alpha) ; +#create_4_8_sstratus_patches(blat, blon, 12000+alt_offset, alpha) ; +#create_4_8_cirrostratus_patches(blat, blon, 20000+alt_offset, alpha) ; -#create_4_8_cirrocumulus_bank(blat, blon, 6000.0, 0.0); +#create_4_8_cirrocumulus_streaks(blat, blon, 10000.0 + alt_offset, alpha); +create_4_8_alttstratus_streaks(blat, blon, 5000+alt_offset, alpha) ; +#create_2_8_cirrocumulus_patches(blat, blon, 13000+alt_offset, alpha) ; +#create_8_8_nimbus_rain(blat, blon, 5000+alt_offset, alpha, 0.3) ; -#create_4_8_cirrocumulus_streaks(blat, blon, 6000.0, 0.0); +#create_4_8_altocumulus_perlucidus(blat, blon, 5000+alt_offset, alpha) ; -# create_2_8_cirrocumulus(blat, blon, 6000.0, 0.0); +#create_detailed_stratocumulus_bank(blat, blon, 4000+alt_offset,alpha); -# create_detailed_small_stratocumulus_bank(blat, blon,3000.0+alt_offset,0.0); +#store convective altitude and strength -create_4_8_altocumulus_perlucidus(blat, blon, 10000.0, 0.0); -#local_weather.create_effect_volume(3, blat, blon, 20000.0, 7000.0, alpha, 0.0, 80000.0, -1, -1, -1, -1, 15.0, -3,-1); -create_1_8_contrails(blat, blon, 30000.0, 0.0); - -# store convective altitude and strength - -local_weather.set_atmosphere_ipoint(blat, blon, 45000.0, 10000.0, 45000.0, 0.2, 25000.0, 30000.0, 0.7, 10000.0, 11000.0); +local_weather.set_atmosphere_ipoint(blat, blon, 45000.0, 10000.0, 45000.0, 0.0, 25000.0, 30000.0, 0.9, 10000.0, 11000.0); append(weather_dynamics.tile_convective_altitude,3000.0); @@ -159,7 +162,7 @@ calc_geo(blat); var vis = 30000.0 + rand() * 15000.0; var T = 20.0 + rand() * 10.0; -var spread = 5.0 + 3.0 * rand(); +var spread = 14.0 + 8.0 * rand(); var D = T - spread; var p = 1025.0 + rand() * 6.0; p = adjust_p(p); @@ -168,7 +171,7 @@ local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_i -var alt = spread * 1000; +var alt = spread * 400; var strength = 0.0; @@ -297,7 +300,7 @@ calc_geo(blat); var vis = 25000.0 + rand() * 15000.0; var T = 15.0 + rand() * 10.0; -var spread = 4.0 + 2.0 * rand(); +var spread = 10.0 + 4.0 * rand(); var D = T - spread; var p = 1019.0 + rand() * 6.0; p = adjust_p(p); @@ -305,10 +308,11 @@ var p = 1019.0 + rand() * 6.0; p = adjust_p(p); local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_inhg); -var alt = spread * 1000; +var alt = spread * 400; var strength = 0.0; +# print("alt: ",alt, "spread: ", spread, "offset: ", alt_offset); var rn = rand(); @@ -443,7 +447,7 @@ calc_geo(blat); var vis = 20000.0 + rand() * 12000.0; var T = 12.0 + rand() * 10.0; -var spread = 3.0 + 2.0 * rand(); +var spread = 7.0 + 4.0 * rand(); var D = T - spread; var p = 1013.0 + rand() * 6.0; p = adjust_p(p); @@ -453,7 +457,7 @@ local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_i # now a random selection of different possible cloud configuration scenarios -var alt = spread * 1000; +var alt = spread * 400; var strength = 0.0; var rn = rand(); @@ -651,7 +655,7 @@ calc_geo(blat); var vis = 12000.0 + rand() * 9000.0; var T = 10.0 + rand() * 10.0; -var spread = 2.0 + 2.0 * rand(); +var spread = 6.0 + 2.0 * rand(); var D = T - spread; var p = 1007.0 + rand() * 6.0; p = adjust_p(p); @@ -659,7 +663,7 @@ var p = 1007.0 + rand() * 6.0; p = adjust_p(p); local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; # bias Cumulus clouds towards larger sizes due to lots of water vapour @@ -813,7 +817,7 @@ calc_geo(blat); var vis = 9000.0 + rand() * 10000.0; var T = 5.0 + rand() * 10.0; -var spread = 2.0 + 2.5 * rand(); +var spread = 5.0 + 2.0 * rand(); var D = T - spread; var p = 1001.0 + rand() * 6.0; p = adjust_p(p); @@ -823,7 +827,7 @@ var p = 1001.0 + rand() * 6.0; p = adjust_p(p); local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; var rn = rand(); @@ -963,7 +967,7 @@ calc_geo(blat); var vis = 5000.0 + rand() * 5000.0; var T = 3.0 + rand() * 7.0; -var spread = 1.5 + 1.5 * rand(); +var spread = 4.5 + 1.0 * rand(); var D = T - spread; var p = 995.0 + rand() * 6.0; p = adjust_p(p); @@ -973,7 +977,7 @@ local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_i # set a closed Nimbostratus layer -var alt = spread * 1000.0 + local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft; +var alt = spread * 400.0 + local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft; var strength = 0.0; @@ -1032,9 +1036,9 @@ calc_geo(blat); # get probabilistic values for the weather parameters -var vis = 35000.0 + rand() * 20000.0; +var vis = 45000.0 + rand() * 20000.0; var T = 8.0 + rand() * 8.0; -var spread = 3.0 + 2.0 * rand(); +var spread = 7.0 + 3.0 * rand(); var D = T - spread; var p = 1005.0 + rand() * 10.0; p = adjust_p(p); @@ -1042,7 +1046,7 @@ var p = 1005.0 + rand() * 10.0; p = adjust_p(p); local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; var rn = rand(); @@ -1129,7 +1133,7 @@ calc_geo(blat); var vis = 12000.0 + rand() * 10000.0; var T = 16.0 + rand() * 10.0; -var spread = 2.0 + 2.0 * rand(); +var spread = 6.0 + 3.0 * rand(); var D = T - spread; var p = 1005.0 + rand() * 10.0; p = adjust_p(p); @@ -1137,7 +1141,7 @@ var p = 1005.0 + rand() * 10.0; p = adjust_p(p); local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; # bias Cumulus clouds towards larger sizes due to lots of water vapour @@ -1265,7 +1269,7 @@ calc_geo(blat); var vis = 9000.0 + rand() * 10000.0; var T = 20.0 + rand() * 15.0; -var spread = 3.0 + 2.0 * rand(); +var spread = 8.0 + 2.0 * rand(); var D = T - spread; var p = 970 + rand() * 10.0; p = adjust_p(p); @@ -1274,7 +1278,7 @@ var p = 970 + rand() * 10.0; p = adjust_p(p); local_weather.set_weather_station(blat, blon, alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; # bias Cumulus clouds towards larger sizes due to lots of water vapour @@ -1402,7 +1406,7 @@ calc_geo(blat); var vis = 20000.0 + rand() * 10000.0; var T = 20.0 + rand() * 8.0; -var spread = 3.0 + 2.0 * rand(); +var spread = 8.0 + 2.0 * rand(); var D = T - spread; var p = 1005 + rand() * 10.0; p = adjust_p(p); @@ -1425,7 +1429,7 @@ x = -15000.0; y = -15000.0; local_weather.set_weather_station(blat +get_lat(x,y,phi), blon + get_lon(x,y,phi), alt_offset, vis*0.7, T+3.0, D+3.0, (p-2.0) * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; # thunderstorms first @@ -1536,7 +1540,7 @@ calc_geo(blat); var vis = 20000.0 + rand() * 5000.0; var T = 10.0 + rand() * 8.0; -var spread = 3.0 + 3.0 * rand(); +var spread = 9.0 + 4.0 * rand(); var D = T - spread; var p = 1005 + rand() * 10.0; p = adjust_p(p); @@ -1559,7 +1563,7 @@ x = -15000.0; y = -15000.0; local_weather.set_weather_station(blat +get_lat(x,y,phi), blon + get_lon(x,y,phi), alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; # some weak Cumulus development @@ -1636,7 +1640,7 @@ calc_geo(blat); var vis = 15000.0 + rand() * 5000.0; var T = 13.0 + rand() * 8.0; -var spread = 2.5 + 2.5 * rand(); +var spread = 8.0 + 2.0 * rand(); var D = T - spread; var p = 1005 + rand() * 10.0; p = adjust_p(p); @@ -1659,7 +1663,7 @@ x = -15000.0; y = -15000.0; local_weather.set_weather_station(blat +get_lat(x,y,phi), blon + get_lon(x,y,phi), alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0; +var alt = spread * 400.0; var strength = 0.0; # followed by random patches of Cirrostratus @@ -1753,7 +1757,7 @@ calc_geo(blat); var vis = 12000.0 + rand() * 3000.0; var T = 15.0 + rand() * 7.0; -var spread = 2.5 + 1.5 * rand(); +var spread = 7.0 + 2.0 * rand(); var D = T - spread; var p = 1005 + rand() * 10.0; p = adjust_p(p); @@ -1776,7 +1780,7 @@ x = -15000.0; y = -15000.0; local_weather.set_weather_station(blat +get_lat(x,y,phi), blon + get_lon(x,y,phi), alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0 + local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft; +var alt = spread * 400.0 + local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft; var strength = 0.0; # closed Stratus layer @@ -1860,7 +1864,7 @@ calc_geo(blat); var vis = 12000.0 + rand() * 3000.0; var T = 17.0 + rand() * 6.0; -var spread = 2.0 + 1.0 * rand(); +var spread = 5.0 + 2.0 * rand(); var D = T - spread; var p = 1005 + rand() * 10.0; p = adjust_p(p); @@ -1883,7 +1887,7 @@ x = -15000.0; y = -15000.0; local_weather.set_weather_station(blat +get_lat(x,y,phi), blon + get_lon(x,y,phi), alt_offset, vis, T, D, p * hp_to_inhg); # altitude for the lowest layer -var alt = spread * 1000.0 + local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft; +var alt = spread * 400.0 + local_weather.cloud_vertical_size_map["Nimbus"] * 0.5 * m_to_ft; var strength = 0.0; # low Nimbostratus layer @@ -1927,120 +1931,6 @@ tile_finished(); - - - - - - -#################################### -# Glider's sky -#################################### - -var set_gliders_sky_tile = func { - -setprop(lw~"tiles/code","gliders_sky"); - -tile_start(); - -var x = 0.0; -var y = 0.0; -var lat = 0.0; -var lon = 0.0; - -var alpha = getprop(lw~"tmp/tile-orientation-deg"); -var phi = alpha * math.pi/180.0; -var alt_offset = getprop(lw~"tmp/tile-alt-offset-ft"); - -# get tile center coordinates - -var blat = getprop(lw~"tiles/tmp/latitude-deg"); -var blon = getprop(lw~"tiles/tmp/longitude-deg"); -calc_geo(blat); - -# first weather info for tile center (lat, lon, visibility, temperature, dew point, pressure) -local_weather.set_weather_station(blat, blon, alt_offset, 35000.0, 20.0, 16.0, 1018 * hp_to_inhg); - - - -var alt = 3000.0; - -# add convective clouds - -var strength = 0.5; -var n = int(4000 * strength); # calculate the number of placement tries from tile size 20x20km and strength -local_weather.create_cumosys(blat,blon, alt+alt_offset,n, 20000.0); - -# store convective altitude and strength - -append(weather_dynamics.tile_convective_altitude,alt); -append(weather_dynamics.tile_convective_strength,strength); - -tile_finished(); - - -} - -#################################### -# Blue thermals -#################################### - -var set_blue_thermals_tile = func { - -setprop(lw~"tiles/code","blue_thermals"); - -tile_start(); - -var x = 0.0; -var y = 0.0; -var lat = 0.0; -var lon = 0.0; - -var alpha = getprop(lw~"tmp/tile-orientation-deg"); -var phi = alpha * math.pi/180.0; -var alt_offset = getprop(lw~"tmp/tile-alt-offset-ft"); - -# get tile center coordinates - -var blat = getprop(lw~"tiles/tmp/latitude-deg"); -var blon = getprop(lw~"tiles/tmp/longitude-deg"); -calc_geo(blat); - -# first weather info for tile center (lat, lon, visibility, temperature, dew point, pressure) -local_weather.set_weather_station(blat, blon, alt_offset, 45000.0, 20.0, 15.0, 1018 * hp_to_inhg); - -local_weather.generate_thermal_lift_flag = 3; - -var alt = 5000.0; - -# add convective clouds - -# set flag to blue thermal generation -if (local_weather.generate_thermal_lift_flag !=0) - {local_weather.generate_thermal_lift_flag = 3;} - -var strength = 0.9; -var n = int(4000 * strength); # calculate the number of placement tries from tile size 20x20km and strength -local_weather.create_cumosys(blat,blon, 5000.0+alt_offset,n, 20000.0); - -# set flag back to normal thermal generation -if (local_weather.generate_thermal_lift_flag !=0) - {local_weather.generate_thermal_lift_flag = 0;} - -# store convective altitude and strength - -append(weather_dynamics.tile_convective_altitude,alt); -append(weather_dynamics.tile_convective_strength,strength); - -tile_finished(); - - -} - - - - - #################################### # METAR #################################### @@ -2497,23 +2387,31 @@ var set_METAR_weather_station = func { var create_8_8_stratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + local_weather.create_streak("Stratus",lat, lon, alt,500.0,32,1250.0,0.0,400.0,32,1250.0,0.0,400.0,alpha,1.0); } var create_8_8_tstratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 650.0;} + local_weather.create_streak("Stratus (thin)",lat, lon, alt,500.0,32,1250.0,0.0,400.0,32,1250.0,0.0,400.0,alpha,1.0); } var create_8_8_cirrostratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1800.0;} + local_weather.create_streak("Cirrostratus",lat,lon,alt,500.0,30,1250.0,0.0,400.0,30,1250.0,0.0,400.0,alpha,1.0); } var create_8_8_nimbus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + local_weather.create_streak("Nimbus",lat, lon, alt,500.0,32,1250.0,0.0,200.0,32,1250.0,0.0,200.0,alpha,1.0); @@ -2556,6 +2454,7 @@ var create_8_8_nimbus_var3 = func (lat, lon, alt, alpha) { var phi = alpha * math.pi/180.0; + local_weather.create_streak("Nimbus",lat, lon, alt,500.0,35,1111.0,0.0,200.0,35,1111.0,0.0,200.0,alpha,1.0); for (var i=0; i<6; i=i+1) @@ -2575,6 +2474,8 @@ for (var i=0; i<6; i=i+1) var create_8_8_nimbus_rain = func (lat, lon, alt, alpha, rain) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 3000.0;} + if (local_weather.detailed_clouds_flag == 0) {local_weather.create_streak("Nimbus",lat, lon, alt,500.0,32,1250.0,0.0,200.0,32,1250.0,0.0,200.0,alpha,1.0);} else @@ -2601,6 +2502,8 @@ else var create_8_8_stratus_rain = func (lat, lon, alt, alpha, rain) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + local_weather.create_streak("Stratus",lat, lon, alt,500.0,32,1250.0,0.0,400.0,32,1250.0,0.0,400.0,alpha,1.0); if (rain > 0.1) @@ -2617,6 +2520,8 @@ else var create_6_8_stratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + local_weather.create_streak("Stratus",lat, lon, alt,500.0,20,0.0,0.2,20000.0,20,0.0,0.2,20000.0,alpha,1.0); } @@ -2627,6 +2532,7 @@ var create_6_8_nimbus_rain = func (lat, lon, alt, alpha, rain) { var phi = alpha * math.pi/180.0; +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 3000.0;} for (var i = 0; i < 3; i = i + 1) { @@ -2656,6 +2562,7 @@ var create_6_8_stratus_rain = func (lat, lon, alt, alpha, rain) { var phi = alpha * math.pi/180.0; +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} for (var i = 0; i < 3; i = i + 1) { @@ -2682,16 +2589,22 @@ for (var i = 0; i < 3; i = i + 1) var create_6_8_stratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + local_weather.create_undulatus("Stratus",lat, lon, alt,300.0,10,4000.0,0.1,400.0,50,800.0,0.1,100.0, 1000.0, alpha,1.0); } var create_6_8_tstratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 650.0;} + local_weather.create_undulatus("Stratus (thin)",lat, lon, alt,300.0,10,4000.0,0.1,400.0,50,800.0,0.1,100.0, 1000.0, alpha,1.0); } var create_6_8_cirrostratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1800.0;} + local_weather.create_streak("Cirrostratus",lat,lon,alt,500.0,24,1500.0,0.0,900.0,24,1500.0,0.0,900.0,alpha,1.0); } @@ -2720,6 +2633,8 @@ else var create_4_8_stratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 15000; var y = 2.0 * (rand()-0.5) * 15000; @@ -2747,6 +2662,8 @@ var create_4_8_stratus_patches = func (lat, lon, alt, alpha) { var phi = alpha * math.pi/180.0; +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + for (var i=0; i<16; i=i+1) { var x = 2.0 * (rand()-0.5) * 18000; @@ -2762,6 +2679,8 @@ var create_4_8_tstratus_patches = func (lat, lon, alt, alpha) { var phi = alpha * math.pi/180.0; +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 650.0;} + for (var i=0; i<22; i=i+1) { var x = 2.0 * (rand()-0.5) * 18000; @@ -2782,6 +2701,8 @@ var create_4_8_sstratus_patches = func (lat, lon, alt, alpha) { var phi = alpha * math.pi/180.0; +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 800.0;} + for (var i=0; i<22; i=i+1) { var x = 2.0 * (rand()-0.5) * 18000; @@ -2798,6 +2719,8 @@ for (var i=0; i<22; i=i+1) var create_4_8_cirrostratus_patches = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1800.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<6; i=i+1) @@ -2813,12 +2736,16 @@ for (var i=0; i<6; i=i+1) var create_4_8_cirrostratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1800.0;} + local_weather.create_undulatus("Cirrostratus",lat, lon, alt,300.0,5,8000.0,0.1,400.0,40,1000.0,0.1,100.0, 1500.0, alpha,1.0); } var create_4_8_stratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 5000; var y = 2.0 * (rand()-0.5) * 5000; @@ -2833,6 +2760,8 @@ local_weather.create_streak("Stratus",lat+get_lat(x,y-4000,phi), lon+get_lon(x,y var create_4_8_tstratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 650.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 5000; var y = 2.0 * (rand()-0.5) * 5000; @@ -2847,6 +2776,8 @@ local_weather.create_streak("Stratus (thin)",lat+get_lat(x,y-4000,phi), lon+get_ var create_4_8_sstratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 800.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 5000; var y = 2.0 * (rand()-0.5) * 5000; @@ -2860,6 +2791,8 @@ local_weather.create_streak("Stratus (structured)",lat+get_lat(x,y,phi), lon+get var create_4_8_cirrocumulus_bank = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 5000; var y = 2.0 * (rand()-0.5) * 5000; @@ -2873,6 +2806,8 @@ local_weather.create_streak("Cirrocumulus (cloudlet)",lat+get_lat(x,y,phi), lon+ var create_4_8_cirrocumulus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 5000; var y = 2.0 * (rand()-0.5) * 5000; @@ -2886,6 +2821,8 @@ local_weather.create_streak("Cirrocumulus (cloudlet)",lat+get_lat(x,y,phi), lon+ var create_4_8_cirrocumulus_streaks = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; var beta = 90.0 + (rand() -0.5) * 30.0; @@ -2904,6 +2841,8 @@ for (var i=0; i<2; i=i+1) var create_4_8_altocumulus_perlucidus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<20; i=i+1) @@ -2919,6 +2858,8 @@ for (var i=0; i<20; i=i+1) var create_4_8_alttstratus_streaks = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<10; i=i+1) @@ -2937,6 +2878,8 @@ for (var i=0; i<10; i=i+1) var create_4_8_alttstratus_patches = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<14; i=i+1) @@ -2966,6 +2909,8 @@ else var create_2_8_stratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1500.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<8; i=i+1) @@ -2981,6 +2926,8 @@ for (var i=0; i<8; i=i+1) var create_2_8_tstratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 650.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<8; i=i+1) @@ -2997,6 +2944,8 @@ for (var i=0; i<8; i=i+1) var create_2_8_sstratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 800.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<8; i=i+1) @@ -3018,6 +2967,8 @@ for (var i=0; i<8; i=i+1) var create_2_8_sstratus_streak = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 800.0;} + var phi = alpha * math.pi/180.0; var x = 2.0 * (rand()-0.5) * 6000; @@ -3030,6 +2981,8 @@ local_weather.create_streak("Stratus (structured)",lat+get_lat(x,y,phi), lon+get var create_2_8_cirrostratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1800.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<3; i=i+1) @@ -3045,6 +2998,8 @@ for (var i=0; i<3; i=i+1) var create_2_8_cirrocumulus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<25; i=i+1) @@ -3072,6 +3027,8 @@ local_weather.create_streak("Cirrus",lat+get_lat(x,y,phi), lon+get_lon(x,y,phi), var create_2_8_alttstratus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} + var phi = alpha * math.pi/180.0; for (var i=0; i<4; i=i+1) @@ -3100,6 +3057,9 @@ for (var i=0; i<2; i=i+1) } + + + var create_1_8_altocumulus_scattered = func (lat, lon, alt, alpha) { var phi = alpha * math.pi/180.0; @@ -3153,12 +3113,15 @@ local_weather.create_streak("Cirrus",lat+get_lat(x,y,phi), lon+get_lon(x,y,phi), var create_1_8_cirrostratus_undulatus = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 1800.0;} + local_weather.create_undulatus("Cirrostratus",lat, lon, alt,300.0,1,8000.0,0.0,400.0,40,1000.0,0.1,100.0, 1500.0, alpha,1.0); } var create_1_8_contrails = func (lat, lon, alt, alpha) { +if (local_weather.hardcoded_clouds_flag == 1) {alt = alt - 300.0;} var phi = alpha * math.pi/180.0; @@ -3239,14 +3202,29 @@ var n = int(9 + rand() * 7); var alt_offset = 0.5 * local_weather.cloud_vertical_size_map["Cumulus"] * ft_to_m; -local_weather.create_streak("Stratocumulus",lat+get_lat(x,y+7500,phi), lon+get_lon(x,y+7500,phi), alt + alt_offset,500.0,m,1100.0,0.1,400.0,n,1100.0,0.1,400.0,alpha+90.0+beta,tri); +if (local_weather.hardcoded_clouds_flag == 0) + { + local_weather.create_streak("Stratocumulus",lat+get_lat(x,y+7500,phi), lon+get_lon(x,y+7500,phi), alt + alt_offset,500.0,m,1100.0,0.1,400.0,n,1100.0,0.1,400.0,alpha+90.0+beta,tri); -local_weather.create_streak("Stratocumulus",lat+get_lat(x,y-7500,phi), lon+get_lon(x,y-7500,phi), alt + alt_offset,500.0,m,1100.0,0.1,400.0,n,1100.0,0.1,400.0,alpha+270.0+beta,tri); + local_weather.create_streak("Stratocumulus",lat+get_lat(x,y-7500,phi), lon+get_lon(x,y-7500,phi), alt + alt_offset,500.0,m,1100.0,0.1,400.0,n,1100.0,0.1,400.0,alpha+270.0+beta,tri); -local_weather.create_streak("Stratocumulus bottom",lat+get_lat(x,y+5250,phi), lon+get_lon(x,y+5250,phi), alt,0.0,m+1,700.0,0.2,400.0,n+1,700.0,0.0,400.0,alpha+90.0+beta,tri); + local_weather.create_streak("Stratocumulus bottom",lat+get_lat(x,y+5250,phi), lon+get_lon(x,y+5250,phi), alt,0.0,m+1,700.0,0.2,400.0,n+1,700.0,0.0,400.0,alpha+90.0+beta,tri); -local_weather.create_streak("Stratocumulus bottom",lat+get_lat(x,y-5250,phi), lon+get_lon(x,y-5250,phi), alt,0.0,m+1,700.0,0.2,400.0,n+1,700.0,0.0,400.0,alpha+270.0+beta,tri); + local_weather.create_streak("Stratocumulus bottom",lat+get_lat(x,y-5250,phi), lon+get_lon(x,y-5250,phi), alt,0.0,m+1,700.0,0.2,400.0,n+1,700.0,0.0,400.0,alpha+270.0+beta,tri); + } +else + { + local_weather.create_streak("Stratocumulus",lat+get_lat(x,y+7500,phi), lon+get_lon(x,y+7500,phi), alt-1000.0 ,500.0,m,1100.0,0.1,400.0,n,1100.0,0.1,400.0,alpha+90.0+beta,tri); + + local_weather.create_streak("Stratocumulus",lat+get_lat(x,y-7500,phi), lon+get_lon(x,y-7500,phi), alt-1000.0 ,500.0,m,1100.0,0.1,400.0,n,1100.0,0.1,400.0,alpha+270.0+beta,tri); + + + local_weather.create_streak("Stratocumulus bottom",lat+get_lat(x,y+5250,phi), lon+get_lon(x,y+5250,phi), alt-1000.0,0.0,m+1,700.0,0.2,400.0,n+1,700.0,0.0,400.0,alpha+90.0+beta,tri); + + local_weather.create_streak("Stratocumulus bottom",lat+get_lat(x,y-5250,phi), lon+get_lon(x,y-5250,phi), alt-1000.0,0.0,m+1,700.0,0.2,400.0,n+1,700.0,0.0,400.0,alpha+270.0+beta,tri); + + } } @@ -3354,6 +3332,28 @@ local_weather.create_effect_volume(1, lat, lon, 7500.0 * 0.7 * scale, 7500.0 * 0 } +# spectacular, but not useful in practice + + +var create_2_8_cirrocumulus_patches = func (lat, lon, alt, alpha) { + +var phi = alpha * math.pi/180.0; + +for (var i=0; i<2; i=i+1) + { + var x = 2.0 * (rand()-0.5) * 10000; + var y = 2.0 * (rand()-0.5) * 10000; + var tri = 1.5 + rand(); + var beta = rand() * math.pi; + + #local_weather.create_streak("Cirrocumulus (new)",lat+get_lat(x,y,phi), lon+get_lon(x,y,phi), alt,0.0,50,150.0,0.2,50.0,50,150.0,0.2,50.0,alpha ,tri); + + local_weather.create_layer("Cirrocumulus (new)", lat+get_lat(x,y,phi), lon+get_lat(x,y,phi), alt, 0.0, 8500.0, 5000.0, beta, 15.0, 0.25, 0, 0.0); + + } +} + + ################### # helper functions ################### diff --git a/gui/dialogs/local_weather_tiles.xml b/gui/dialogs/local_weather_tiles.xml index de1e571e8..aacc2d387 100644 --- a/gui/dialogs/local_weather_tiles.xml +++ b/gui/dialogs/local_weather_tiles.xml @@ -6,20 +6,20 @@ local_weather_tiles 310 - 360 + 385 false 5 - 330 + 355 10 - 305 + 330 280 25 true @@ -35,7 +35,7 @@ Coldfront Warmfront Tropical - + Test tile dialog-apply @@ -51,13 +51,13 @@ 5 - 270 + 295 67 - 270 + 295 40 25 /local-weather/tmp/tile-orientation-deg @@ -65,13 +65,13 @@ 105 - 270 + 295 125 - 270 + 295 30 25 /local-weather/tmp/windspeed-kt @@ -79,7 +79,7 @@ 155 - 270 + 295 @@ -87,7 +87,7 @@ 240 - 270 + 295 50 25 /local-weather/tmp/tile-alt-offset-ft @@ -96,7 +96,7 @@ 5 - 240 + 265 @@ -104,7 +104,7 @@ 65 - 240 + 265 50 20 0.0 @@ -119,14 +119,14 @@ 112 - 240 + 265 167 - 240 + 265 50 20 0.0 @@ -139,14 +139,14 @@ 215 - 240 + 265 240 - 240 + 265 50 20 0.0 @@ -162,14 +162,14 @@ 5 - 210 + 235 150 - 210 + 235 140 25 true @@ -187,13 +187,13 @@ 5 - 180 + 205 150 - 180 + 205 140 25 true @@ -209,7 +209,7 @@ 10 - 150 + 175 15 15 @@ -221,7 +221,7 @@ 150 - 150 + 175 15 15 @@ -233,7 +233,7 @@ 10 - 125 + 150 15 15 @@ -245,7 +245,7 @@ 150 - 125 + 150 15 15 @@ -257,7 +257,7 @@ 10 - 100 + 125 15 15 @@ -269,7 +269,7 @@ 150 - 100 + 125 15 15 @@ -279,6 +279,30 @@ + + 10 + 100 + 15 + 15 + + /local-weather/config/detailed-terrain-interaction-flag + + dialog-apply + + + + + 150 + 100 + 15 + 15 + + /local-weather/config/realistic-visibility-flag + + dialog-apply + + + 10 75 From a2b26f8d59933750aadc7329b9c0098865679e09 Mon Sep 17 00:00:00 2001 From: Frederic Bouvier Date: Fri, 23 Sep 2011 23:25:15 +0200 Subject: [PATCH 3/9] Local Weather 1.36 by Thorsten Renk --- Nasal/local_weather/compat_layer.nas | 12 ++++ Nasal/local_weather/local_weather.nas | 99 +++++++++++++++++++-------- Shaders/road.frag | 6 ++ Shaders/road.geom | 30 ++++++++ Shaders/road.vert | 11 +++ Shaders/skydome.frag | 31 ++++++++- Shaders/skydome.vert | 25 ++++--- 7 files changed, 177 insertions(+), 37 deletions(-) create mode 100644 Shaders/road.frag create mode 100644 Shaders/road.geom create mode 100644 Shaders/road.vert diff --git a/Nasal/local_weather/compat_layer.nas b/Nasal/local_weather/compat_layer.nas index 1df26b60b..4038a9a0e 100644 --- a/Nasal/local_weather/compat_layer.nas +++ b/Nasal/local_weather/compat_layer.nas @@ -479,6 +479,18 @@ if (features.can_set_scattering == 1) } +#################################### +# set skydome scattering parameters +#################################### + +var setSkydomeShader = func (r, m, d) { + +setprop("/sim/rendering/rayleigh", r); +setprop("/sim/rendering/mie", m); +setprop("/sim/rendering/dome-density",d); + +} + ########################################################### # set wind to given direction and speed ########################################################### diff --git a/Nasal/local_weather/local_weather.nas b/Nasal/local_weather/local_weather.nas index d6f7e31e5..185945f77 100644 --- a/Nasal/local_weather/local_weather.nas +++ b/Nasal/local_weather/local_weather.nas @@ -594,12 +594,14 @@ var alt1 = vis_alt1; var alt2 = alt1 + 1500.0; -#var inc1 = 0.15; -#var inc2 = 5.0; -#var inc3 = 0.7; - # compute the visibility gradients +if (realistic_visibility_flag == 1) + { + vis_aloft = vis_aloft * 2.0; + vis_ovcst = vis_ovcst * 3.0; + } + var inc1 = 0.1 * (vis_aloft - vis)/(vis_alt1 - ialt); var inc2 = 0.9 * (vis_aloft - vis)/1500.0; var inc3 = (vis_ovcst - vis_aloft)/(ovcst_alt_high - vis_alt1+1500); @@ -607,7 +609,7 @@ var inc4 = 0.5; if (realistic_visibility_flag == 1) - {inc4 = inc4 * 8.0;} + {inc4 = inc4 * 3.0;} # compute the visibility @@ -628,35 +630,67 @@ else if (altitude > ovcst_alt_high) # limit visibility (otherwise memory consumption is very bad...) -if (vis > 140000.0) - {vis = 140000.0;} +if (vis > 120000.0) + {vis = 120000.0;} -# compute the horizon shading +# determine scattering shader parameters if scattering shader is on -if (altitude < scatt_alt_low) +if (scattering_shader_flag == 1) { - var scatt = scatt_max; - } -else if (altitude < scatt_alt_high) - { - var scatt = scatt_max + (0.95 - scatt_max) * (altitude - scatt_alt_low)/(scatt_alt_high-scatt_alt_low); + var rayleigh = 0.0003 ; + var mie = 0.003; + var density = 0.3; + + if (altitude < 30000.0) + { + rayleigh = 0.0004 - altitude/30000.0 * 0.0001; + mie = 0.004 - altitude/30000.0 * 0.001; + } + else if (altitude < 60000.0) + { + rayleigh = 0.0003 - (altitude-30000.0)/30000.0 * 0.0001; + mie = 0.003 - (altitude-30000.0)/30000.0 * 0.001; + } + else if (altitude < 85000.0) + { + rayleigh = 0.0002 - (altitude-60000.0)/25000.0 * 0.0001; + mie = 0.002; + } + else + {rayleigh = 0.0001; mie = 0.002;} } +# otherwise compute normal skydome shader parameters else - {var scatt = 0.95;} + { + + # compute the horizon shading + + if (altitude < scatt_alt_low) + { + var scatt = scatt_max; + } + else if (altitude < scatt_alt_high) + { + var scatt = scatt_max + (0.95 - scatt_max) * (altitude - scatt_alt_low)/(scatt_alt_high-scatt_alt_low); + } + else + {var scatt = 0.95;} # compute the overcast haze -if (altitude < ovcst_alt_low) - { - var ovcst = ovcst_max; + if (altitude < ovcst_alt_low) + { + var ovcst = ovcst_max; + } + else if (altitude < ovcst_alt_high) + { + var ovcst = ovcst_max - ovcst_max * (altitude - ovcst_alt_low)/(ovcst_alt_high-ovcst_alt_low); + } + else + {var ovcst = 0.0;} + } -else if (altitude < ovcst_alt_high) - { - var ovcst = ovcst_max - ovcst_max * (altitude - ovcst_alt_low)/(ovcst_alt_high-ovcst_alt_low); - } -else - {var ovcst = 0.0;} # limit relative changes of the visibility, will make for gradual transitions @@ -678,8 +712,16 @@ setprop(lwi~"dewpoint-degc",D); if (p > 10.0) {setprop(lwi~"pressure-sea-level-inhg",p);} setprop(lwi~"turbulence",0.0); -compat_layer.setScattering(scatt); -compat_layer.setOvercast(ovcst); + +if (scattering_shader_flag == 1) + { + local_weather.setSkydomeShader(rayleigh, mie, density); + } +else + { + local_weather.setScattering(scatt); + local_weather.setOvercast(ovcst); + } # now check if an effect volume writes the property and set only if not @@ -3479,6 +3521,7 @@ debug_output_flag = getprop(lw~"config/debug-output-flag"); fps_control_flag = getprop(lw~"config/fps-control-flag"); realistic_visibility_flag = getprop(lw~"config/realistic-visibility-flag"); detailed_terrain_interaction_flag = getprop(lw~"config/detailed-terrain-interaction-flag"); +scattering_shader_flag = getprop("/sim/rendering/scattering-shader"); } @@ -4103,6 +4146,7 @@ setlistener(lw~"config/target-framerate", func {target_framerate = getprop(lw~"c setlistener(lw~"config/small-scale-persistence", func {weather_tiles.small_scale_persistence = getprop(lw~"config/small-scale-persistence");}); +setlistener("/sim/rendering/scattering-shader", func {scattering_shader_flag = getprop("/sim/rendering/scattering-shader"); }); } @@ -4525,8 +4569,9 @@ var local_weather_startup_flag = 0; var fps_control_flag = 0; var buffer_flag = 1; var detailed_terrain_interaction_flag = 1; -var hardcoded_clouds_flag = 0; +var hardcoded_clouds_flag = 1; var realistic_visibility_flag = 0; +var scattering_shader_flag = 0; # globals for framerate controlled cloud management diff --git a/Shaders/road.frag b/Shaders/road.frag new file mode 100644 index 000000000..0b60098e3 --- /dev/null +++ b/Shaders/road.frag @@ -0,0 +1,6 @@ +#version 120 + +uniform sampler2d BaseTex; + +void main() { +} diff --git a/Shaders/road.geom b/Shaders/road.geom new file mode 100644 index 000000000..ba686d0aa --- /dev/null +++ b/Shaders/road.geom @@ -0,0 +1,30 @@ +#version 120 +#extension GL_EXT_geometry_shader4 : enable + +varying in vec4 ecPositionIn[]; +varying in vec3 ecNormalIn[]; + +varying out vec4 ecPosition; +varying out vec3 ecNormal; + +void main() { + gl_Position = gl_PositionIn[0]; + gl_TexCoord[0] = gl_TexCoordIn[0][0]; + ecPosition = ecPositionIn[0]; + ecNormal = ecNormalIn[0]; + EmitVertex(); + + gl_Position = gl_PositionIn[1]; + gl_TexCoord[0] = gl_TexCoordIn[1][0]; + ecPosition = ecPositionIn[1]; + ecNormal = ecNormalIn[1]; + EmitVertex(); + + gl_Position = gl_PositionIn[2]; + gl_TexCoord[0] = gl_TexCoordIn[2][0]; + ecPosition = ecPositionIn[2]; + ecNormal = ecNormalIn[2]; + EmitVertex(); + + EndPrimitive(); +} diff --git a/Shaders/road.vert b/Shaders/road.vert new file mode 100644 index 000000000..8783af590 --- /dev/null +++ b/Shaders/road.vert @@ -0,0 +1,11 @@ +#version 120 + +varying vec4 ecPositionIn; +varying vec3 ecNormalIn; + +void main() { + ecPositionIn = gl_ModelViewMatrix * gl_Vertex; + ecNormalIn = gl_NormalMatrix * gl_Normal; + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + gl_Position = ftransform(); +} diff --git a/Shaders/skydome.frag b/Shaders/skydome.frag index a120eb2aa..c50309fc5 100644 --- a/Shaders/skydome.frag +++ b/Shaders/skydome.frag @@ -6,7 +6,8 @@ varying vec3 rayleigh; varying vec3 mie; -varying vec3 eye; +varying vec3 eye; +varying float ct; float miePhase(in float cosTheta, in float g) { @@ -30,9 +31,35 @@ float rayleighPhase(in float cosTheta) void main() { float cosTheta = dot(normalize(eye), gl_LightSource[0].position.xyz); - + + vec3 color = rayleigh * rayleighPhase(cosTheta); color += mie * miePhase(cosTheta, -0.8); + + vec3 white = vec3(1.0,1.0,1.0); + + + //float scale = dot(normalize(white),normalize(color)); + //float scale1 = 1.0 - exp(-5.0 * length(color)); + //float scale2 = length(color)/length(white); + + //if (scale1>1.0) color = color/scale1; + + //color = color/scale1; + + + + if (color.x > 0.8) color.x = 0.8 + 0.8* log(color.x/0.8); + if (color.y > 0.8) color.y = 0.8 + 0.8* log(color.y/0.8); + if (color.z > 0.8) color.z = 0.8 + 0.8* log(color.z/0.8); + + vec3 fogColor = vec3 (gl_Fog.color.x, gl_Fog.color.y, gl_Fog.color.z); + + + if (ct > -0.03) color = mix(color, fogColor ,smoothstep(0.2, -0.2, ct)); + else color = mix (color, fogColor, smoothstep(0.2,-0.2,-0.03)); + + gl_FragColor = vec4(color, 1.0); gl_FragDepth = 0.1; diff --git a/Shaders/skydome.vert b/Shaders/skydome.vert index 917aba508..5c3505f01 100644 --- a/Shaders/skydome.vert +++ b/Shaders/skydome.vert @@ -10,7 +10,8 @@ uniform mat4 osg_ViewMatrixInverse; varying vec3 rayleigh; varying vec3 mie; -varying vec3 eye; +varying vec3 eye; +varying float ct; // Dome parameters from FG and screen const float domeSize = 80000.0; @@ -48,7 +49,10 @@ float intersection (in float cheight, in vec3 ray, in float rad2) // Return the scale function at height = 0 for different thetas float outscatterscale(in float costheta) -{ +{ + + if (costheta < -0.12) costheta = -0.12 - 4.0* (costheta+0.12) ; + float x = 1.0 - costheta; float a = 1.16941; @@ -98,7 +102,8 @@ void main() // We are in space, calculate correct positiondelta! relativePosition -= space * normalize(relativePosition); } - + + vec3 positionDelta = relativePosition / fSamples; float deltaLength = length(positionDelta); // Should multiply by something? @@ -111,7 +116,9 @@ void main() // If sample is above camera, reverse ray direction if(positionDelta.z < 0.0) cameraCosTheta = -positionDelta.z / deltaLength; else cameraCosTheta = positionDelta.z / deltaLength; - + + float cameraCosTheta1 = -positionDelta.z / deltaLength; + // Total attenuation from camera to skydome float totalCameraScatter = outscatter(cameraCosTheta, scaledAltitude); @@ -135,7 +142,8 @@ void main() // Again, reverse the direction if vertex is over the camera float cameraScatter; if(relativePosition.z < 0.0) { // Vertex is over the camera - cameraCosTheta = -dot(normalize(positionDelta), normalize(sample)); + cameraCosTheta = -dot(normalize(positionDelta), normalize(sample)); + cameraScatter = totalCameraScatter - outscatter(cameraCosTheta, sampleAltitude); } else { // Vertex is below camera cameraCosTheta = dot(normalize(positionDelta), normalize(sample)); @@ -151,12 +159,13 @@ void main() sample += positionDelta; } - color *= sunIntensity; - + color *= sunIntensity; + ct = cameraCosTheta1; rayleigh = rayleighK * color; mie = mieK * color; eye = gl_NormalMatrix * positionDelta; - + + // We need to move the camera so that the dome appears to be centered around earth From b9602b612d052de2ba6b816c99b9ead834ee4aa1 Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Sat, 24 Sep 2011 11:15:37 +0100 Subject: [PATCH 4/9] Add UK runway markings - first tranche Signed-off-by: Vivian Meazza --- Textures/Runway/pc_tz_three_uk.png | Bin 0 -> 131501 bytes Textures/Runway/pc_tz_two_a_uk.png | Bin 0 -> 131501 bytes Textures/Runway/pc_tz_two_b_uk.png | Bin 0 -> 65795 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Textures/Runway/pc_tz_three_uk.png create mode 100644 Textures/Runway/pc_tz_two_a_uk.png create mode 100644 Textures/Runway/pc_tz_two_b_uk.png diff --git a/Textures/Runway/pc_tz_three_uk.png b/Textures/Runway/pc_tz_three_uk.png new file mode 100644 index 0000000000000000000000000000000000000000..79e785de250d6567eda0c51e56e9c2d7af3e2b37 GIT binary patch literal 131501 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

<-*sfdQGDt# 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

<-*sfdQGDt# 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 literal 0 HcmV?d00001 From fd073fb803c8e59ecab9538d42cc52173d209786 Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Sat, 24 Sep 2011 14:12:50 +0100 Subject: [PATCH 5/9] Add UK textures Signed-off-by: Vivian Meazza --- Textures/Runway/pc_aim_uk.dds | Bin 0 -> 16512 bytes Textures/Runway/pc_aim_uk.png | Bin 0 -> 131501 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Textures/Runway/pc_aim_uk.dds create mode 100644 Textures/Runway/pc_aim_uk.png diff --git a/Textures/Runway/pc_aim_uk.dds b/Textures/Runway/pc_aim_uk.dds new file mode 100644 index 0000000000000000000000000000000000000000..b6c03c8e3ede80884855d2ef7a1130a8d8176b62 GIT binary patch literal 16512 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 literal 0 HcmV?d00001 diff --git a/Textures/Runway/pc_aim_uk.png b/Textures/Runway/pc_aim_uk.png new file mode 100644 index 0000000000000000000000000000000000000000..4047325de7524119ccad20fd2ca1d0538c217c16 GIT binary patch literal 131501 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

wt&;(L-l9E7_#d!8jk%)GwZ3v|?1UJh#l*%V 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 Jk9>N_%o&cP_V^a_XcG@E~pf{JDJ3`;^^w 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 O`e(oV`(OO!-~2D(Ue=lb literal 0 HcmV?d00001 From 09cddc8ee53c379c44196e88cac25663e83888bd Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Sat, 24 Sep 2011 14:54:04 +0100 Subject: [PATCH 6/9] Compress Signed-off-by: Vivian Meazza --- Textures/Runway/pc_aim_uk.png | Bin 131501 -> 58207 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Textures/Runway/pc_aim_uk.png b/Textures/Runway/pc_aim_uk.png index 4047325de7524119ccad20fd2ca1d0538c217c16..d80a9f569353b94250be76b7924afc20af635ad9 100644 GIT binary patch literal 58207 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%0AxDEWk4*@3a+fS#$KwIe=|1n6u;cdfna& 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

wt&;(L-l9E7_#d!8jk%)GwZ3v|?1UJh#l*%V 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 Jk9>N_%o&cP_V^a_XcG@E~pf{JDJ3`;^^w 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 O`e(oV`(OO!-~2D(Ue=lb From d300b92b9dc09d839c0ae0b74e81b9395b5f854b Mon Sep 17 00:00:00 2001 From: Melchior FRANZ Date: Thu, 22 Sep 2011 23:01:01 +0200 Subject: [PATCH 7/9] warthog: gear; swap DMS/TMS (again); time based view reset --- .../ThrustMaster/Warthog/Warthog-Stick.xml | 159 ++++++++++-------- .../ThrustMaster/Warthog/Warthog-Throttle.xml | 19 ++- 2 files changed, 107 insertions(+), 71 deletions(-) diff --git a/Input/Joysticks/ThrustMaster/Warthog/Warthog-Stick.xml b/Input/Joysticks/ThrustMaster/Warthog/Warthog-Stick.xml index c589a5a29..0ab91c505 100644 --- a/Input/Joysticks/ThrustMaster/Warthog/Warthog-Stick.xml +++ b/Input/Joysticks/ThrustMaster/Warthog/Warthog-Stick.xml @@ -18,7 +18,7 @@ var this = cmdarg().getParent(); var init = !contains(caller(0)[0], "init"); var popup = func gui.popupTip(call(sprintf, arg)); - var is_helicopter = (var _ = props.globals.getNode("rotors", 0)) != nil and _.getAttribute("children"); + var is_helicopter = (func {(var n = props.globals.getNode("rotors", 0)) != nil and n.getAttribute("children")})(); var aircraft_type = getprop("/sim/type"); var overlay = getprop("/input/joysticks/overlay"); @@ -44,12 +44,13 @@ var mod = 0; if (init) { - var _ = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT"); - setlistener(_, func(n) mod = n.getValue()); + var n = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT"); + setlistener(n, func(n) mod = n.getValue()); } var trimstep = 0.75; var viewstep = 0.5; + var button = { 18: { id: 0 }}; var reset_zoom = func setprop("/sim/current-view/field-of-view", 55); var viewdir = props.globals.getNode("/sim").getChildren("view"); @@ -199,55 +200,7 @@ - - - - - - - - - - - + + + + + + + + diff --git a/Input/Joysticks/ThrustMaster/Warthog/Warthog-Throttle.xml b/Input/Joysticks/ThrustMaster/Warthog/Warthog-Throttle.xml index 79dc23f2f..dd00d33d9 100644 --- a/Input/Joysticks/ThrustMaster/Warthog/Warthog-Throttle.xml +++ b/Input/Joysticks/ThrustMaster/Warthog/Warthog-Throttle.xml @@ -14,7 +14,7 @@ var this = cmdarg().getParent(); var init = !contains(caller(0)[0], "init"); var popup = func gui.popupTip(call(sprintf, arg)); - var is_helicopter = (var _ = props.globals.getNode("rotors", 0)) != nil and _.getAttribute("children"); + var is_helicopter = (func {(var n = props.globals.getNode("rotors", 0)) != nil and n.getAttribute("children")})(); var aircraft_type = getprop("/sim/type"); var overlay = getprop("/input/joysticks/overlay"); @@ -40,8 +40,8 @@ var mod = 0; if (init) { - var _ = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT"); - setlistener(_, func(n) mod = n.getValue()); + var n = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT"); + setlistener(n, func(n) mod = n.getValue()); } var left_engines = [0, 2, 4, 6, 8, 10]; @@ -328,7 +328,18 @@ + + + + + + + + + + + + + + + + + + + + + + From 53926143313dabc832339b56bb364f49e9d8cd0c Mon Sep 17 00:00:00 2001 From: ThorstenB Date: Sun, 25 Sep 2011 16:20:04 +0200 Subject: [PATCH 9/9] Don't crash when tank property doesn't (yet) exist. --- Nasal/fuel.nas | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Nasal/fuel.nas b/Nasal/fuel.nas index e4a26ae07..17f554a47 100644 --- a/Nasal/fuel.nas +++ b/Nasal/fuel.nas @@ -27,8 +27,8 @@ var update = func { var selected_tanks = []; foreach (var t; tanks) { - var cap = t.getNode("capacity-gal_us",0).getValue(); - if (cap > 0.01 and t.getNode("selected").getBoolValue()) + var cap = t.getNode("capacity-gal_us",0); + if ((cap!=nil) and (cap.getValue() > 0.01) and t.getNode("selected").getBoolValue()) append(selected_tanks, t); }