Jump to content

Rider Linden

Lindens
  • Content Count

    57
  • Joined

  • Last visited

Community Reputation

230 Excellent

7 Followers

About Rider Linden

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. The discrepancy you are seeing between the EEP and legacy regions are caused by a change in the way the start of the day is calculated in EEP*. As more regions convert over you'll find fewer and fewer of these anomalies until they disappear altogether and neighboring regions are sync'd perfectly (In the meantime please be patient... think of the transition as places where time gets wibbly-wobbly-timey-wimey**.) * EEP Calculates the current time of day as follows: (time_since_epoch + day_offset) % length_of_day. This gives a consistent TOD across all regions with the same day_offset and length_of_day. This does not always match up with legacy regions. ** Wibbly-wobbly-timey-wimey: Blinking is OK in this case... just so long as there are no angels nearby.
  2. Please file a JIRA with describing the issue. Without a JIRA I don't have any way to track the issues. You can do that here: http://jira.secondlife.com
  3. Very very soon. We will be releasing an RC viewer just as soon as we can work out a final couple of bugs and then it will work its way through the pipeline. You can already download the project viewer from the download page and use that. It is fairly stable and shouldn't give any unwelcome surprises.
  4. My pleasure. EEP doesn't include any changes to support weather systems. Something that complex really should have its own feature development.
  5. The legacy Windlight regions calculate time a little differently than the new EEP regions so they will not always sync up correctly across the region boundary. Since we scatter the RC regions around the grid you are likely to cross from a release region (still on Windlight) into a Bluesteel or LeTigra region (using EEP). So the apparent time of day may change. As more regions are converted you will see fewer and fewer of these drastic changes in time of day.
  6. The EEP simulator and viewer will both make attempts to convert any legacy Windlight XML into the new environment format, so you can still use any of your the old Windlights . There has been significant changes in both the code that supports environments and in the underlying shaders that drive the graphics, so no conversion will be exact, we try and get as close as possible though. Yes, Firestorm very graciously allowed us to include many of their Windlights in Alexandria, our library. We were not able to take all of them due to the sheer volume (Firestorm ships with 771 Windlight skies alone... we were able to accommodate only the best 200.) Our intent is that these can either be used directly in your regions and parcels or used as starting points to create your own environments. You can also import any Windlights that we may have missed and add them to your inventory. There are instructions here on the wiki, but I will include instructions at the end of this message about how to create and import legacy settings. If you own a parcel on the Mainland you can set your own environment on that parcel. The functionality is accessed from the Environment tab on the About Land floater. Viewers that do not support EEP, however, will not be able see the parcel environments. You may also apply an environmental setting to your parcel by right clicking on an environmental setting in your inventory. I am unsure what you mean by "weather" here. -------------------------- Creating New Settings and Importing Legacy Windlights To create a new environment setting in your inventory right click your settings folder, select the New Settings and the type of setting you want to create from the context menu. Alternately you may select the "Add new item" button and New Settings from the menu. This will create a new default setting object in your inventory of the appropriate type. Double click on the setting to open it in an editor. Importing legacy settings All of the editors have a button in the upper right corner labeled "Import". This button opens a file picker, you may then navigate to where your Windlight XML files are stored and select one. The Windlight will be automatically converted and displayed in the editor. Pushing the save button in the lower left corner of the floater will save those settings to your inventory. If you are converting a large number of Windlights you may want to use the "Save As" button, this creates a new setting object in your inventory. You can then just repeat the "Import", "Save As" cycle for each of your Windlights.
  7. Morena, I'm sorry that you are feeling frustrated. When we make the conversion from the old Windlight system to the new environments we try and get it as close as possible, but unfortunately the conversion will never be exact. The code that creates the environments has changed substantially to support the new EEP features and the old Windlight XML files can not support it. My understanding is that Firestorm is in the process of merging the new environment code now, but I can not speak to their schedule. There is actually a very easy way to bring your legacy Windlight settings over into EEP. If you own the region you can go to the REGION/ESTATE floater and select the new "Customize" button. This will open the day editor with the environment that is currently applied to your region. From there you can select the ^ on the save button in the bottom left of the editor and choose "Save As". Pushing the "Save As" will always save a new copy of your settings to your inventory. You may also make whatever modifications you like and apply them directly to your region by selecting the "Apply to Region" option.
  8. The LSL wiki has not yet been fully updated with the new functions. I'm posting them here for reference. llReplaceAgentEnvironment Override the entire environment applied to an agent. Function Integer llReplaceAgentEnvironment(key agent_id, float transition, string environment) The llReplaceAgentEnvironment function overrides the current region and parcel environment seen by an agent. The new environment persists until the agent crosses to a new region or this function is called with the NULL_KEY or empty string for the particular agent. This function must be executed as part of an experience. agent_id: The key for an agent in the region. The agent must be in the region and must be participating in the experience. transition: The number of seconds over which to transition to the new settings. env: The name of an environmental setting in the objects inventory or the asset ID for an environment. Return Values Value Constant Description 1 The agent has been instructed to change their environment. ENV_NOT_EXPERIENCE -1 The script is not running as part of an experience with a valid experience key. ENV_NO_EXPERIENCE_PERMISSION -2 The agent has not granted permission. ENV_NO_ENVIRONMENT -3 The environment inventory object could not be found. ENV_INVALID_AGENT -4 Unable to find specified agent. Caveats The agent's viewer may choose to ignore this command. An environment set locally on the viewer will override any environment set from this function If a UUID is passed as the environment parameter and that UUID does not specify an environment setting, the viewer will quietly ignore the instruction. llSetAgentEnvironment Rider Linden Last modified Jan 16, 2019 Sets the environment values for an agent. Function Integer llSetAgentEnvironment(key agent_id, float transition, list params) This function sets environment values for an individual agent in an experience. The changes to the environment persist until the agent moves to a new region or llSetAgentEnvironment is called for an agent with an empty list. agent_id: The key for an agent in the region. The agent must be in the region and must be participating in the experience. transition: The number of seconds over which to transition to the new settings. params: A list of parameters to retrieve from the current environment. See table below for details. If an unknown rule is encountered in the parameter list an error is emitted to the debug channel. Return Values Value Constant Description 1 The agent has been instructed to change their environment. ENV_NOT_EXPERIENCE -1 The script is not running as part of an experience with a valid experience key. ENV_NO_EXPERIENCE_PERMISSION -2 The agent has not granted permission. ENV_INVALID_AGENT -4 Unable to find specified agent. ENV_INVALID_RULE -5 There was an issue with one of the rules. Caveats Note. The list of valid parameters differs from those available for llGetEnvironment. Parameters parameter return values description SKY_CLOUDS 2 vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail Environmental cloud information. color: The color used for the clouds. coverage: The coverage percentage. scale: The scaling applied to the cloud textures. variance: A randomizing factor applied to the main cloud layer scroll: The scroll speed of the clouds. X is east/west Y is north/south Z is unused density: The X/Y and D parameter used to generate cloud density detail: The X/Y and D parameter used to generate cloud details. SKY_CLOUD_TEXTURE 19 string texture_ident Name of item in inventory or UUID for texture to be used for the clouds. SKY_DOME 4 float offset, float radius, float max_altitude Sky dome information. offset radius maximum altitude SKY_GAMMA 5 float gamma The gamma value applied to the scene. SKY_GLOW 6 vector glow_colorfloat size, float focus Glow color applied to the sun and moon. SKY_MOON 9 rotation rot, float scale, float brightness Detailed moon information rot: The current rotation applied to the moon. scale: The current scale applied to the moon's texture brightness: The moon's brightness SKY_MOON_TEXTURE 20 string texture_ident Name of texture in inventory or UUID for texture to be used for the moon. SKY_STAR_BRIGHTNESS 13 float brightness SKY_SUN 14 rotation rot, float scale, vector sun_color Detailed sun information rot: The current rotation applied to the sun. scale: The current scale applied to the sun's texture sun_color: SKY_SUN_TEXTURE 21 string texture_ident Name of texture in inventory or UUID for texture to be used for the sun. SKY_PLANET 10 float planet_radius, float sky_bottom_radius, float sky_top_radius Planet information used in rendering the sky planet_radius sky_bottom_radius sky_top_radius SKY_REFRACTION 11 float moisture_level, float droplet_radius, float ice_level Sky refraction parameters for rainbows and optical effects. moisture_level droplet_radius ice_level WATER_BLUR_MULTIPLIER 100 float multiplier Multiplier applied to blur the scene when under water. WATER_FOG 101 vector color, float density, fload modulation Fog parameters applied when underwater color: The color of the underwater fog density: Density exponent applied to the fog modulation: WATER_FRESNEL 102 float offset, float scale Fresnel scattering applied to the surface of the water. offset scale WATER_NORMAL_TEXTURE 107 string texture_ident Name of texture in inventory or UUID of texture to be used for the water normal. WATER_NORMAL_SCALE 104 vector scale Scaling applied to the water normal map. WATER_REFRACTION 105 float scale_above, float scale_below Refraction factors when looking through the surface of the water. scale_above scale_below WATER_WAVE_DIRECTION 106 vector large_wave, vector small_wave Vector for the directions of the waves Y represents north/south and X represents movement east/west. large_wave: Large wave speed and direction. small_wave: Small wave speed and direction. llGetEnvironment Rider Linden Last modified Jan 16, 2019 Retrieves the current environmental settings for a region or parcel in the specified layer. Function list llGetEnvironment(vector pos, list params) These functions return the current environment values for the parcel and the region as a list of attributes. They take a list of attributes to retrieve in params and returns them in the order requested. pos: A position in region coordinates. X and Y are in region coordinates and determine the parcel. If X and Y are both -1 the environment for the entire region is inspected. Z is the altitude in the region and determines which sky track is accessed. params: A list of parameters to retrieve from the current environment. See table below for details. If an unknown rule is encountered in the parameter list an error is emitted to the debug channel. Caveats If the script can not run in the requested parcel this function returns an empty list and issues a warning in the debug channel. Parameters parameter return values description SKY_TRACKS 15 float sky2, float sky3, float sky4 Altitudes for sky transitions in the region. SKY_AMBIENT 0 vector ambient_color The ambient color of the environment SKY_TEXTURE_DEFAULTS 1 Integer bloom_is_default, integer halo_is_default, integer rainbow_is_default Checks if the textures are currently set to use the default. For default values the returned integer is 1, if the texture uses something other than the default this value is 0. SKY_CLOUDS 2 vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail, integer is_default Environmental cloud information. color: The color used for the clouds. coverage: The coverage percentage. scale: The scaling applied to the cloud textures. variance: A randomizing factor applied to the main cloud layer scroll: The scroll speed of the clouds. X is east/west Y is north/south Z is unused density: The X/Y and D parameter used to generate cloud density detail: The X/Y and D parameter used to generate cloud details. is_default: 1 if the clouds are using the default texture. SKY_DOME 4 float offset, float radius, float max_altitude Sky dome information. offset radius maximum altitude SKY_GAMMA 5 float gamma The gamma value applied to the scene. SKY_GLOW 6 vector glow_colorfloat size, float focus Glow color applied to the sun and moon. SKY_MOON 9 rotation rot, float scale, float brightness, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color Detailed moon information rot: The current rotation applied to the moon. scale: The current scale applied to the moon's texture brightness: The moon's brightness is_default_texture: 1 if the moon texture is set to the default. 0 otherwise direction: A unit vector pointing at the moon. ambient_color: The ambient color of the moon diffuse_color: The diffuse color applied to the moon. SKY_STAR_BRIGHTNESS 13 float brightness SKY_SUN 14 rotation rot, float scale, vector sun_color, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color Detailed sun information rot: The current rotation applied to the sun. scale: The current scale applied to the sun's texture sun_color: is_default_texture: 1 if the moon texture is set to the default. 0 otherwise direction: A unit vector pointing at the moon. ambient_color: The ambient color of the moon diffuse_color: The diffuse color applied to the moon. SKY_PLANET 10 float planet_radius, float sky_bottom_radius, float sky_top_radius Planet information used in rendering the sky planet_radius sky_bottom_radius sky_top_radius SKY_REFRACTION 11 float moisture_level, float droplet_radius, float ice_level Sky refraction parameters for rainbows and optical effects. moisture_level droplet_radius ice_level SKY_LIGHT 8 vector light_direction, vector fade_color, vector total_ambient Miscellaneous lighting values light_direction: unit vector indicating the direction of the dominant light source. WATER_BLUR_MULTIPLIER 100 float multiplier Multiplier applied to blur the scene when under water. WATER_FOG 101 vector color, float density, float modulation Fog parameters applied when underwater color: The color of the underwater fog density: Density exponent applied to the fog modulation: WATER_FRESNEL 102 float offset, float scale Fresnel scattering applied to the surface of the water. offset scale WATER_TEXTURE_DEFAULTS 103 integer normal_is_default, integer transparent_is_default Checks if the textures are currently set to use the default. For default values the returned integer is 1, if the texture uses something other than the default this value is 0. WATER_NORMAL_SCALE 104 vector scale Scaling applied to the water normal map. WATER_REFRACTION 105 float scale_above, float scale_below Refraction factors when looking through the surface of the water. scale_above scale_below WATER_WAVE_DIRECTION 106 vector large_wave, vector small_wave Vector for the directions of the waves Y represents north/south and X represents movement east/west. large_wave: Large wave speed and direction. small_wave: Small wave speed and direction. llGetSunDirection/llGetRegionSunDirection Returns a normalized vector to the current sun position at the location of object containing the script. llGetSunDirection is the vector to the parcel's sun, llGetRegionSunDirection is the vector to region's sun. If there is no custom environment set for the current parcel llGetSunDirection returns the direction to the region's sun. These functions are altitude aware. Function vector llGetSunDirection() vector llGetRegionSunDirection() See Also llGetMoonDirection/llGetRegionMoonDirection llGetSunRotation/llGetRegionSunRotation llGetMoonRotation/llGetRegionMoonRotation llGetDayLength/llGetRegionDayLength llGetDayOffset//llGetRegionDayOffset llGetMoonDirection/llGetRegionMoonDirection Returns a normalized vector to the current moon position at the location of object containing the script. llGetMoonDirection is the vector to the parcel's moon, llGetRegionSunDirection is the vector to region's moon. If there is no custom environment set for the current parcel llGetMoonDirection returns the direction to the region's moon. These functions are altitude aware. Function vector llGetMoonDirection() vector llGetRegionMoonDirection() See Also llGetSunDirection/llGetRegionSunDirection llGetSunRotation/llGetRegionSunRotation llGetMoonRotation/llGetRegionMoonRotation llGetDayLength/llGetRegionDayLength llGetDayOffset//llGetRegionDayOffset llGetSunRotation/llGetRegionSunRotation Return the rotation applied to the sun for the parcel or region at the location of the object containing the script. These function are altitude aware and so will pick up the sun for their current track. llGetRegionSunRotation returns the rotation applied at the region level, llGetSunRoation does the same for the parcel. If there is no custom environment applied to parcel llGetSunRotation returns the same value as llGetRegionSunRotation. Function rotation llGetSunRotation() rotation llGetRegionSunRotation() See Also llGetSunDirection/llGetRegionSunDirection llGetMoonDirection/llGetRegionMoonDirection llGetMoonRotation/llGetRegionMoonRotation llGetDayLength/llGetRegionDayLength llGetDayOffset//llGetRegionDayOffset llGetMoonRotation/llGetRegionMoonRotation Return the rotation applied to the moon for the parcel or region at the location of the object containing the script. These function are altitude aware and so will pick up the moon for their current track. llGetRegionMoonRotation returns the rotation applied at the region level, llGetMoonRoation does the same for the parcel. If there is no custom environment applied to parcel llGetMoonRotation returns the same value as llGetRegionMoonRotation. Function rotation llGetMoonRotation() rotation llGetRegionMoonRotation() See Also llGetSunDirection/llGetRegionSunDirection llGetMoonDirection/llGetRegionMoonDirection llGetSunRotation/llGetRegionSunRotation llGetDayLength/llGetRegionDayLength llGetDayOffset//llGetRegionDayOffset llGetDayLength/llGetRegionDayLength Return the number of seconds in the day cycle applied to the current parcel and region. llGetDayLength returns the number of seconds for the current parcel, llGetRegionDay length is the number of seconds in the day cycle applied to the entire region. Function integer llGetDayLength() integer llGetRegionDayLength() See Also llGetSunDirection/llGetRegionSunDirection llGetMoonDirection/llGetRegionMoonDirection llGetSunRotation/llGetRegionSunRotation llGetDayLength/llGetRegionDayLength llGetDayOffset//llGetRegionDayOffset llGetDayOffset/llGetRegionDayOffset Return the number of seconds added to the current time before calculating the current environmental time for the parcel or the region. llGetDayOffset returns the value for the current parcel, llGetRegionDayOffset produces the same value for the entire region. Function integer llGetDayOffset() integer llGetRegionDayOffset() See Also llGetSunDirection/llGetRegionSunDirection llGetMoonDirection/llGetRegionMoonDirection llGetSunRotation/llGetRegionSunRotation llGetDayLength/llGetRegionDayLength llGetDayLength/llGetRegionDayLength llGetTimeOfDay/llGetRegionTimeOfDay Rider Linden Nov 08, 2018 Gets the number of seconds, with sub-second precision, since environmental midnight. llGetTimeOfDay returns this value for the current parcel, llGetRegionTimeOfDay returns the seconds since midnight for the entire region. Function float llGetTimeOfDay() float llGetRegionTimeOfDay( ) Caveats This function previously assumed a 4 hour day. Day length is now configurable for regions and parcels.
  9. Hi there Eric. You will also need an EEP enabled viewer. You can find the download link here: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers Select the downloads marked Second Life Project EEP Channel
  10. Rider Linden

    Random inventory technical question

    Inventory objects that are emptied from the trash are blended into a special mulch that we use to bait traps for feral meeroos.
  11. Rider Linden

    Dialog Box stops functioning after teleport

    When you transfer from region to region any objects and their scripts are packaged up into a big gooey ball of bits and thrown to(at?) the new region. The new region will then unpack the objects and their scripts and start them running again. This process does not restore any listens that were previously established in the old region using llListen(). If you have a script that needs to maintain a listen event across region changes you should monitor for the CHANGED_REGION event and recreate your listens there. integer MY_CHANNEL = 42; integer establishListens() { return llListen(MY_CHANNEL, "", NULL_KEY, ""); } default { state_entry() { establishListens(); } changed(integer what) { if (change & CHANGED_REGION) { establishListens(); } } }
  12. Rider Linden

    How to stop scripts running for one particular avatar

    The ability to run scripts is controlled on the simulator(region). Your only options are: Everyone can run scripts Only group members can run scripts Nobody can run scripts There is no option to say: "Bob can not run scripts." As an aside, since you did not specify what problem you are trying to solve, if "Bob" is causing problems you can always ban him from entering the parcel or region.
  13. A word of caution, be careful about selling EEP settings right now in the marketplace since they are only visible to people using an EEP viewer and will only work on EEP enabled regions.
  14. Thanks for the JIRA. That will make sure it stays on my radar. I think it is possible, but give me some time to consider how we'd do it.
  15. I'm happy to announce that the first EEP related LSL functions are in the latest roll of the EEP servers. The documentation will be up on the wiki very soon. llGetEnvironment Retrieves the current environmental settings for a region or parcel in the specified layer. Function list llGetEnvironment(vector pos, list params) These functions return the current environment values for the parcel and the region as a list of attributes. They take a list of attributes to retrieve in params and returns them in the order requested. pos: A position in region coordinates. X and Y are in region coordinates and determine the parcel. If X and Y are both -1 the environment for the entire region is inspected. Z is the altitude in the region and determines which sky track is accessed. params: A list of parameters to retrieve from the current environment. See table below for details. If an unknown rule is encountered in the parameter list an error is emitted to the debug channel. Caveats If the script can not run in the requested parcel this function returns an empty list and issues a warning in the debug channel. Parameters parameter return values description SKY_TRACKS 15 float sky2, float sky3, float sky4 Altitudes for sky transitions in the region. SKY_AMBIENT 0 vector ambient_color The ambient color of the environment SKY_TEXTURE_DEFAULTS 1 Integer bloom_is_default, integer halo_is_default, integer rainbow_is_default Checks if the textures are currently set to use the default. For default values the returned integer is 1, if the texture uses something other than the default this value is 0. SKY_CLOUDS 2 vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail, integer is_default Environmental cloud information. color: The color used for the clouds. coverage: The coverage percentage. scale: The scaling applied to the cloud textures. variance: A randomizing factor applied to the main cloud layer scroll: The scroll speed of the clouds. X is east/west Y is north/south Z is unused density: The X/Y and D parameter used to generate cloud density detail: The X/Y and D parameter used to generate cloud details. is_default: 1 if the clouds are using the default texture. SKY_DOME 4 float offset, float radius, float max_altitude Sky dome information. offset radius maximum altitude SKY_GAMMA 5 float gamma The gamma value applied to the scene. SKY_GLOW 6 vector glow_color Glow color applied to the sun and moon. SKY_MOON 9 rotation rot, float scale, float brightness, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color Detailed moon information rot: The current rotation applied to the moon. scale: The current scale applied to the moon's texture brightness: The moon's brightness is_default_texture: 1 if the moon texture is set to the default. 0 otherwise direction: A unit vector pointing at the moon. ambient_color: The ambient color of the moon diffuse_color: The diffuse color applied to the moon. SKY_STAR_BRIGHTNESS 13 float brightness SKY_SUN 14 rotation rot, float scale, vector sun_color, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color Detailed sun information rot: The current rotation applied to the sun. scale: The current scale applied to the sun's texture sun_color: is_default_texture: 1 if the moon texture is set to the default. 0 otherwise direction: A unit vector pointing at the moon. ambient_color: The ambient color of the moon diffuse_color: The diffuse color applied to the moon. SKY_PLANET 10 float planet_radius, float sky_bottom_radius, float sky_top_radius Planet information used in rendering the sky planet_radius sky_bottom_radius sky_top_radius SKY_DENSITY_PROFILE_COUNTS 3 integer rayleigh_count, integer mie_count, integer absorption_count Number of profiles currently active for atmospheric scattering. Currently all values will return 1. SKY_RAYLEIGH_CONFIG, integer profile_num 18 float width, float exponential, float exponential_scale, float linear, float constant Rayleigh scatting profile parameters. profile_noshould be passed along with this parameter to request a specific profile index. Currently only one profile is supported. width exponential exponential_scale linear constant SKY_MIE_CONFIG, integer profile_num 17 float width, float exponential, float exponential_scale, float linear, float constant, float anisotropy MIE scatting profile parameters. profile_noshould be passed along with this parameter to request a specific profile index. Currently only one profile is supported. width exponential exponential_scale linear constant anisotropy SKY_ABSORPTION_CONFIG, integer profile_num 16 float width, float exponential, float exponential_scale, float linear, float constant Absorption profile parameters. profile_no should be passed along with this parameter to request a specific profile index. Currently only one profile is supported. width exponential exponential_scale linear constant SKY_REFRACTION 11 float moisture_level, float droplet_radius, float ice_level Sky refraction parameters for rainbows and optical effects. moisture_level droplet_radius ice_level SKY_LIGHT 8 vector light_direction, vector fade_color, vector total_ambient Miscellaneous lighting values light_direction: unit vector indicating the direction of the dominant light source. WATER_BLUR_MULTIPLIER 100 float multiplier Multiplier applied to blur the scene when under water. WATER_FOG 101 vector color, float density, fload modulation Fog parameters applied when underwater color: The color of the underwater fog density: Density exponent applied to the fog modulation: WATER_FRESNEL 102 float offset, float scale Fresnel scattering applied to the surface of the water. offset scale WATER_TEXTURE_DEFAULTS 103 integer normal_is_default, integer transparent_is_default Checks if the textures are currently set to use the default. For default values the returned integer is 1, if the texture uses something other than the default this value is 0. WATER_NORMAL_SCALE 104 vector scale Scaling applied to the water normal map. WATER_REFRACTION 105 float scale_above, float scale_below Refraction factors when looking through the surface of the water. scale_above scale_below WATER_WAVE_DIRECTION 106 vector large_wave, vector small_wave Vector for the directions of the waves Y represents north/south and X represents movement east/west. large_wave: Large wave speed and direction. small_wave: Small wave speed and direction.
×