Exemple #1
0
        public ViewerEnvironment Clone()
        {
            // im lazy need to proper clone later
            OSD osd = ToOSD();
            ViewerEnvironment VEnv = new ViewerEnvironment();

            VEnv.FromOSD(osd);
            return(VEnv);
        }
        public void FromWLOSD(string name, OSD osd)
        {
            Vector4 v4tmp;
            OSDMap  map = osd as OSDMap;

            v4tmp                = map["ambient"];
            ambient              = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp                = map["blue_density"];
            blue_density         = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp                = map["blue_horizon"];
            blue_horizon         = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp                = map["cloud_color"];
            cloud_color          = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp                = map["cloud_pos_density1"];
            cloud_pos_density1   = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp                = map["cloud_pos_density2"];
            cloud_pos_density2   = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp                = map["cloud_scale"];
            cloud_scale          = v4tmp.X;
            cloud_scroll_rate    = map["cloud_scroll_rate"];
            cloud_scroll_rate.X -= 10f;
            cloud_scroll_rate.Y -= 10f;
            v4tmp                = map["cloud_shadow"];
            cloud_shadow         = v4tmp.X;
            v4tmp                = map["density_multiplier"];
            density_multiplier   = v4tmp.X;
            v4tmp                = map["distance_multiplier"];
            distance_multiplier  = v4tmp.X;

            Vector2 v2tmp = map["enable_cloud_scroll"];

            if (v2tmp.X == 0)
            {
                cloud_scroll_rate.X = 0;
            }
            if (v2tmp.Y == 0)
            {
                cloud_scroll_rate.Y = 0;
            }
            v4tmp        = map["gamma"];
            gamma        = v4tmp.X;
            v4tmp        = map["glow"];
            glow         = new Vector3(v4tmp.X, v4tmp.Y, v4tmp.Z);
            v4tmp        = map["haze_density"];
            haze_density = v4tmp.X;
            v4tmp        = map["haze_horizon"];
            haze_horizon = v4tmp.X;
            //lightnorm = map["lightnorm"];
            v4tmp           = map["max_y"];
            max_y           = v4tmp.X;
            star_brightness = map["star_brightness"] * 250.0f;

            sunlight_color = map["sunlight_color"];

            ViewerEnvironment.convertFromAngles(this, map["sun_angle"], map["east_angle"]);
            Name = name;
        }
Exemple #3
0
 public LandData()
 {
     _globalID          = UUID.Random();
     SeeAVs             = true;
     AnyAVSounds        = true;
     GroupAVSounds      = true;
     LastDwellTimeMS    = Util.GetTimeStampMS();
     EnvironmentVersion = -1;
     Environment        = null;
 }
Exemple #4
0
 public static ViewerEnvironment FromOSDString(string s)
 {
     try
     {
         OSD eosd = OSDParser.Deserialize(s);
         ViewerEnvironment VEnv = new ViewerEnvironment();
         VEnv.FromOSD(eosd);
         return(VEnv);
     }
     catch
     {
     }
     return(null);
 }
Exemple #5
0
 public static string ToOSDString(ViewerEnvironment VEnv, bool xml = false)
 {
     try
     {
         OSD eosd = VEnv.ToOSD();
         if (xml)
         {
             return(OSDParser.SerializeLLSDXmlString(eosd));
         }
         else
         {
             return(OSDParser.SerializeLLSDNotationFull(eosd));
         }
     }
     catch {}
     return(String.Empty);
 }
        public OSD ToWLOSD()
        {
            OSDMap map = new OSDMap();

            float   sun_angle;
            float   east_angle;
            Vector4 lightnorm;

            ViewerEnvironment.convertToAngles(this, out sun_angle, out east_angle, out lightnorm);
            map["ambient"]             = new Vector4(ambient.X, ambient.Y, ambient.Z, 1);
            map["blue_density"]        = new Vector4(blue_density.X, blue_density.Y, blue_density.Z, 1);
            map["blue_horizon"]        = new Vector4(blue_horizon.X, blue_horizon.Y, blue_horizon.Z, 1);
            map["cloud_color"]         = new Vector4(cloud_color.X, cloud_color.Y, cloud_color.Z, 1);;
            map["cloud_pos_density1"]  = new Vector4(cloud_pos_density1.X, cloud_pos_density1.Y, cloud_pos_density1.Z, 1);
            map["cloud_pos_density2"]  = new Vector4(cloud_pos_density2.X, cloud_pos_density2.Y, cloud_pos_density2.Z, 1);
            map["cloud_scale"]         = new Vector4(cloud_scale, 0, 0, 1);
            map["cloud_scroll_rate"]   = new Vector2(cloud_scroll_rate.X + 10f, cloud_scroll_rate.Y + 10f);
            map["cloud_shadow"]        = new Vector4(cloud_shadow, 0, 0, 1);
            map["density_multiplier"]  = new Vector4(density_multiplier, 0, 0, 1);
            map["distance_multiplier"] = new Vector4(distance_multiplier, 0, 0, 1);
            map["east_angle"]          = east_angle;
            map["enable_cloud_scroll"] = new OSDArray {
                cloud_scroll_rate.X != 0, cloud_scroll_rate.Y != 0
            };
            map["gamma"]           = new Vector4(gamma, 0, 0, 1);
            map["glow"]            = new Vector4(glow.X, glow.Y, glow.Z, 1);
            map["haze_density"]    = new Vector4(haze_density, 0, 0, 1);
            map["haze_horizon"]    = new Vector4(haze_horizon, 0, 0, 1);
            map["lightnorm"]       = lightnorm;
            map["max_y"]           = new Vector4(max_y, 0, 0, 1);
            map["name"]            = Name;
            map["star_brightness"] = star_brightness / 250.0f;
            map["sun_angle"]       = sun_angle;
            map["sunlight_color"]  = sunlight_color;

            return(map);
        }