Release Notes/Second Life RC Magnum/12

From Second Life Wiki
Jump to navigation Jump to search

12.07.18.262060

  • This is the Pathfinding Project.
  • Features and Changes
    • Havok's AI library has been added so that navigation meta data for an entire region can be computed. This data is called the "navmesh".
    • SL objects can be turned into "characters" which use the navmesh to navigate the world and avoid obstacles.
      • New LSL calls have been added to create/update/delete character behavior.
      • Characters cannot be used as attachments.
      • Characters are incompatible with some features, such as keyframed motion, being used as attachments, phantom, size changes, and others.
    • Not all objects in the world contribute to the navmesh calculations.
      • The terrain always contributes
      • By default objects are ignored for the navmesh calculations.
      • Objects may be flagged to modify the navmesh calculations in one of 4 ways:
        • "Walkable" objects add navigable zones to the navmesh.
        • "Static Obstacle" objects cannot be navigated, and create a hole in the nav mesh
        • "Exclusion Volume" objects are like static obstacles, except that they are phantom (meaning that pathfinding characters cannot move through them but other physical objects and avatars can)
        • "Material Volume" objects are phantom objects that can be set to change the walkability coefficients of an area of the navmesh
        • Material volumes and walkable objects have 4 walkability coefficients to determine how expensive they are for each category of character
      • Objects that contribute to the navmesh have special restrictions:
        • Objects that contribute to the navmesh cannot change their physical shape via LSL script (changing object position, shape parameters, scale, rotation, physics shape type, and linking/unlinking is generally blocked)
        • Objects that contribute to the navmesh can be physically changed via the build tool by avatars who have modify permission and if the avatar is in the same region as the object.
        • In other words: objects that contribute to the navmesh cannot be physically changed by avatars who are located in a different region than the object, and therefore such objects cannot be moved across region boundaries.
      • When the navmesh has been modified, either because the terrain has been edited or because an object contributing to the nav mesh was rezzed/modified/deleted, it must be manually regenerated.
      • The pathfinding project viewer can be used to modify the pathfinding settings in a region: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers#Pathfinding
      • Parcels that are set No-Entry for objects will cut the navmesh at their borders -- characters will not be able to navigate across it.
    • The collision pipeline has been reorganized. This may affect avatar collisions/control, vehicle movement, and collision callbacks in LSL scripts.
    • The terrain collision shape has been changed from a "heightfield" to a "mesh" to provide more efficient collisions, ray-trace, and navmesh computations.
      • This may change some collision details. In particular see the "Known Issues" list below.
      • When changing the terrain its visible appearance will update immediately, but its collision shape will not.
      • The server will wait at least 10 seconds since the last change before computing the new shape, and the computation time may take several seconds.
      • Where there is a discrepancy between visible and colliding terrain shapes object and avatar collisions may appear incorrect.
    • Fix for PATHBUG-77 "llCastRay returns RCERR_CAST_TIME_EXCEEDED until the sim is rebooted"
    • Avatars which are sitting on an object can no longer freeze it by selecting it, if they don't have permission to freeze it while standing.
    • More details about pathfinding can be found at http://wiki.secondlife.com/wiki/Pathfinding and its linked pages
  • Changed prim accounting for legacy prims which use the new accounting system
    • All legacy-style prims have their streaming cost capped at 1.0 (except for sculpts, which will be capped at 2.0). This provides the benefit of not penalizing prim-based creators for optimizing their content by opting into the new system and will make the streaming cost more reflective of the true network cost of the objects.
    • Server cost will be adjusted to MIN{ (0.5*num_prims) + (0.25 * num_scripts), num_prims }. This preserves the current value for unscripted linksets and reduce the cost for linksets containing fewer than 2*num_prims scripts. It provides the benefit of rewarding creators for reducing the number of scripts in their objects.
  • Fixed the following bugs since the 12.06.23.260473 Pathfinding RC
    • PATHBUG-122 Ground Sit in a pathfinding region causes appearance to not match real location
    • SVC-8023 Sim crossings by objects is broken
    • Other internal bugfixes
  • Fixed the following bugs since the 12.07.06.261281 Pathfinding RC
    • PATHBUG-165 Avatars become phantom after sitting on phantom objects
    • PATHBUG-164 Physics shape updates are slow sometimes
  • Known Issues
    • Mesh objects (such as vehicles) cannot physically cross from a pathfinding region into a non-pathfinding region, due to the upgrade to a newer version of the Havok physics engine
    • Fast vehicles can snag on the terrain (which now collides as a mesh shape instead of a heightfield)
    • Certain small physical objects can fall through the terrain surface
    • After the terrain is edited, the physics engine several needs to 'rebake' the terrain to reflect the new shape, due to the new physics modeling system.
    • SVC-8048 vehicles being very iratic and jittery on magnum regions
    • PATHBUG-163 On attachments, PRIM_SIZE causes PRIM_POS_LOCAL and PRIM_POSITION to be ignored
    • PATHBUG-156 Hacked mixed volumedetect linksets become non-phantom after the region is rolled back from pathfinding to a non-pathfinding version
    • PATH-796 Linking a flexi prim as a child of a non-flexi causes the flexi prim to go non-phantom.
    • PATH-794 some parcel operations can clear "no object entry" settings without flagging the navmesh for update
    • PATH-787 navmesh can stitch up no-object-entry parcels across region boundaries
    • PATH-784 Editing the shape parameters of PHYSICS_SHAPE_TYPE_NONE child prims in navmeshy linksets via build tool incorrectly cause the navmesh to be marked dirty
    • PATH-651 Pathfinding characters silently fail when crossing into a region with dynamic_pathfinding disabled
    • PATH-630 llSetLocalRot() fails in the root prims of characters
    • PATH-538 Character mass as reported by LSL scripts is bogus
    • PATH-536 The simulator allows navmesh-contributing objects to be worn as attachments, which causes navmesh properties on the object to be reset.
    • PATH-351 Ugly avatar animations are triggered when terraforming terrain that an avatar is standing on
    • PATH-345 path_update event is not triggered (with parameters 0, then 1) when object crosses region boundary into the north or east and FORCE_DIRECT_PATH=TRUE

12.07.06.261281

  • This is the Pathfinding Project.
  • Features and Changes
    • Havok's AI library has been added so that navigation meta data for an entire region can be computed. This data is called the "navmesh".
    • SL objects can be turned into "characters" which use the navmesh to navigate the world and avoid obstacles.
      • New LSL calls have been added to create/update/delete character behavior.
      • Characters cannot be used as attachments.
      • Characters are incompatible with some features, such as keyframed motion, being used as attachments, phantom, size changes, and others.
    • Not all objects in the world contribute to the navmesh calculations.
      • The terrain always contributes
      • By default objects are ignored for the navmesh calculations.
      • Objects may be flagged to modify the navmesh calculations in one of 4 ways:
        • "Walkable" objects add navigable zones to the navmesh.
        • "Static Obstacle" objects cannot be navigated, and create a hole in the nav mesh
        • "Exclusion Volume" objects are like static obstacles, except that they are phantom (meaning that pathfinding characters cannot move through them but other physical objects and avatars can)
        • "Material Volume" objects are phantom objects that can be set to change the walkability coefficients of an area of the navmesh
        • Material volumes and walkable objects have 4 walkability coefficients to determine how expensive they are for each category of character
      • Objects that contribute to the navmesh have special restrictions:
        • Objects that contribute to the navmesh cannot change their physical shape via LSL script (changing object position, shape parameters, scale, rotation, physics shape type, and linking/unlinking is generally blocked)
        • Objects that contribute to the navmesh can be physically changed via the build tool by avatars who have modify permission and if the avatar is in the same region as the object.
        • In other words: objects that contribute to the navmesh cannot be physically changed by avatars who are located in a different region than the object, and therefore such objects cannot be moved across region boundaries.
      • When the navmesh has been modified, either because the terrain has been edited or because an object contributing to the nav mesh was rezzed/modified/deleted, it must be manually regenerated.
      • The pathfinding project viewer can be used to modify the pathfinding settings in a region: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers#Pathfinding
      • Parcels that are set No-Entry for objects will cut the navmesh at their borders -- characters will not be able to navigate across it.
    • The collision pipeline has been reorganized. This may affect avatar collisions/control, vehicle movement, and collision callbacks in LSL scripts.
    • The terrain collision shape has been changed from a "heightfield" to a "mesh" to provide more efficient collisions, ray-trace, and navmesh computations.
      • This may change some collision details. In particular see the "Known Issues" list below.
      • When changing the terrain its visible appearance will update immediately, but its collision shape will not.
      • The server will wait at least 10 seconds since the last change before computing the new shape, and the computation time may take several seconds.
      • Where there is a discrepancy between visible and colliding terrain shapes object and avatar collisions may appear incorrect.
    • Fix for PATHBUG-77 "llCastRay returns RCERR_CAST_TIME_EXCEEDED until the sim is rebooted"
    • Avatars which are sitting on an object can no longer freeze it by selecting it, if they don't have permission to freeze it while standing.
    • More details about pathfinding can be found at http://wiki.secondlife.com/wiki/Pathfinding and its linked pages
  • Changed prim accounting for legacy prims which use the new accounting system
    • All legacy-style prims have their streaming cost capped at 1.0 (except for sculpts, which will be capped at 2.0). This provides the benefit of not penalizing prim-based creators for optimizing their content by opting into the new system and will make the streaming cost more reflective of the true network cost of the objects.
    • Server cost will be adjusted to MIN{ (0.5*num_prims) + (0.25 * num_scripts), num_prims }. This preserves the current value for unscripted linksets and reduce the cost for linksets containing fewer than 2*num_prims scripts. It provides the benefit of rewarding creators for reducing the number of scripts in their objects.
  • Fixed the following bugs since the 12.06.23.260473 Pathfinding RC
    • PATHBUG-122 Ground Sit in a pathfinding region causes appearance to not match real location
    • SVC-8023 Sim crossings by objects is broken
    • Other internal bugfixes


  • Known Issues
    • Mesh objects (such as vehicles) cannot physically cross from a pathfinding region into a non-pathfinding region, due to the upgrade to a newer version of the Havok physics engine
    • Fast vehicles can snag on the terrain (which now collides as a mesh shape instead of a heightfield)
    • Certain small physical objects can fall through the terrain surface
    • After the terrain is edited, the physics engine several needs to 'rebake' the terrain to reflect the new shape, due to the new physics modeling system.
    • PATHBUG-156 Hacked mixed volumedetect linksets become non-phantom after the region is rolled back from pathfinding to a non-pathfinding version
    • PATH-796 Linking a flexi prim as a child of a non-flexi causes the flexi prim to go non-phantom.
    • PATH-794 some parcel operations can clear "no object entry" settings without flagging the navmesh for update
    • PATH-787 navmesh can stitch up no-object-entry parcels across region boundaries
    • PATH-784 Editing the shape parameters of PHYSICS_SHAPE_TYPE_NONE child prims in navmeshy linksets via build tool incorrectly cause the navmesh to be marked dirty
    • PATH-651 Pathfinding characters silently fail when crossing into a region with dynamic_pathfinding disabled
    • PATH-630 llSetLocalRot() fails in the root prims of characters
    • PATH-538 Character mass as reported by LSL scripts is bogus
    • PATH-536 The simulator allows navmesh-contributing objects to be worn as attachments, which causes navmesh properties on the object to be reset.
    • PATH-351 Ugly avatar animations are triggered when terraforming terrain that an avatar is standing on
    • PATH-345 path_update event is not triggered (with parameters 0, then 1) when object crosses region boundary into the north or east and FORCE_DIRECT_PATH=TRUE

12.06.20.260188

12.06.23.260473

  • This is the Pathfinding Project.
  • Features and Changes
    • Havok's AI library has been added so that navigation meta data for an entire region can be computed. This data is called the "navmesh".
    • SL objects can be turned into "characters" which use the navmesh to navigate the world and avoid obstacles.
      • New LSL calls have been added to create/update/delete character behavior.
      • Characters cannot be used as attachments.
      • Characters are incompatible with some features, such as keyframed motion, being used as attachments, phantom, size changes, and others.
    • Not all objects in the world contribute to the navmesh calculations.
      • The terrain always contributes
      • By default objects are ignored for the navmesh calculations.
      • Objects may be flagged to modify the navmesh calculations in one of 4 ways:
        • "Walkable" objects add navigable zones to the navmesh.
        • "Static Obstacle" objects cannot be navigated, and create a hole in the nav mesh
        • "Exclusion Volume" objects are like static obstacles, except that they are phantom (meaning that pathfinding characters cannot move through them but other physical objects and avatars can)
        • "Material Volume" objects are phantom objects that can be set to change the walkability coefficients of an area of the navmesh
        • Material volumes and walkable objects have 4 walkability coefficients to determine how expensive they are for each category of character
      • Objects that contribute to the navmesh have special restrictions:
        • Objects that contribute to the navmesh cannot change their physical shape via LSL script (changing object position, shape parameters, scale, rotation, physics shape type, and linking/unlinking is generally blocked)
        • Objects that contribute to the navmesh can be physically changed via the build tool by avatars who have modify permission and if the avatar is in the same region as the object.
        • In other words: objects that contribute to the navmesh cannot be physically changed by avatars who are located in a different region than the object, and therefore such objects cannot be moved across region boundaries.
      • When the navmesh has been modified, either because the terrain has been edited or because an object contributing to the nav mesh was rezzed/modified/deleted, it must be manually regenerated.
      • The pathfinding project viewer can be used to modify the pathfinding settings in a region: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers#Pathfinding
      • Parcels that are set No-Entry for objects will cut the navmesh at their borders -- characters will not be able to navigate across it.
    • The collision pipeline has been reorganized. This may affect avatar collisions/control, vehicle movement, and collision callbacks in LSL scripts.
    • The terrain collision shape has been changed from a "heightfield" to a "mesh" to provide more efficient collisions, ray-trace, and navmesh computations.
      • This may change some collision details. In particular see the "Known Issues" list below.
      • When changing the terrain its visible appearance will update immediately, but its collision shape will not.
      • The server will wait at least 10 seconds since the last change before computing the new shape, and the computation time may take several seconds.
      • Where there is a discrepancy between visible and colliding terrain shapes object and avatar collisions may appear incorrect.
    • Fix for PATHBUG-77 "llCastRay returns RCERR_CAST_TIME_EXCEEDED until the sim is rebooted"
    • Avatars which are sitting on an object can no longer freeze it by selecting it, if they don't have permission to freeze it while standing.
    • More details about pathfinding can be found at http://wiki.secondlife.com/wiki/Pathfinding and its linked pages
  • Known Issues
    • Fast vehicles can snag on the terrain (which now collides as a mesh shape instead of a heightfield)
    • Certain small physical objects can fall through the terrain surface
    • Mesh objects (such as vehicles) cannot physically cross from a pathfinding region into a non-pathfinding region, due to the upgrade to a newer version of the Havok physics engine
    • After the terrain is edited, the physics engine several needs to 'rebake' the terrain to reflect the new shape, due to the new physics modeling system.
    • PATHBUG-122 Ground Sit in a pathfinding region causes appearance to not match real location
    • PATH-784 Editing the shape parameters of PHYSICS_SHAPE_TYPE_NONE child prims in navmeshy linksets via build tool incorrectly cause the navmesh to be marked dirty
    • PATH-651 Pathfinding characters silently fail when crossing into a region with dynamic_pathfinding disabled
    • PATH-630 llSetLocalRot() fails in the root prims of characters
    • PATH-538 Character mass as reported by LSL scripts is bogus
    • PATH-536 The simulator allows navmesh-contributing objects to be worn as attachments, which causes navmesh properties on the object to be reset.
    • PATH-351 Ugly avatar animations are triggered when terraforming terrain that an avatar is standing on
    • PATH-345 path_update event is not triggered (with parameters 0, then 1) when object crosses region boundary into the north or east and FORCE_DIRECT_PATH=TRUE

12.06.18.259948

12.06.06.259024

12.06.04.258763

  • This is a "maint-server" deploy. scheduled 2012-06-05
  • Features
    • No new features.
  • Bug Fixes
    • SVC-7902: Problem of not being able to rez on my land continues

12.06.04.258754

  • This is an emergency deploy to fix a security issue. scheduled 2012-06-04
  • Features
    • No new features.
  • Bug Fixes
    • Fixes a griefing vector.

12.05.25.258071

  • This is the "Experience Tools" project. scheduled 2012-05-30
  • Three new LSL functions:
  • NOTE: the new LSL functions work with the current runtime permissions system and are precursor to future work with experience permissions. More information about the runtime permission is here: PERMISSION_TELEPORT.
  • These functions only work only on Magnum RC regions and not grid wide.

12.05.11.256527

12.05.11.256527

12.05.07.255857

12.04.30.255166

12.04.20.254297

12.04.13.253827

12.03.30.252593

12.03.30.252637

12.03.25.252046

  • This is again the "threaded region crossing" project. scheduled 2012-03-28
  • Features
    • Prototype threaded region cross for agents. Uses the new threaded RPC/thread state machine mechanism.
  • Bug Fixes
    • Fixed some crash modes that were discovered in the previous iteration of this project
    • Fixed new crash modes.

12.03.20.251556

  • This is again the "threaded region crossing" project. scheduled 2012-03-21
  • Features
    • Prototype threaded region cross for agents. Uses the new threaded RPC/thread state machine mechanism.
  • Bug Fixes
    • Fixed some crash modes that were discovered in the previous iteration of this project
  • Merged with Server Trunk: https://wiki.secondlife.com/wiki/Release_Notes/Second_Life_Server/12#12.02.24.249991
  • This version is on all 3 RC channels, this week

12.02.24.249991

12.03.02.250419

12.02.28.250112

  • This "threaded region crossing" project scheduled 2012-02-29
  • Features
    • Prototype threaded region cross for agents. Uses the new threaded RPC/thread state machine mechanism.
  • Bug Fixes
    • The ghosting issue has been patched.
    • Fixed some cases in which avatars got 'stuck' and couldn't TP

12.02.21.249728

  • This "threaded region crossing" project scheduled 2012-02-22
  • Features
    • Prototype threaded region cross for agents. Uses the new threaded RPC/thread state machine mechanism.
  • Bug Fixes
    • The ghosting issue has been patched.

12.02.02.248748

  • This "threaded region crossing" project scheduled 2012-02-15
  • Features
    • Prototype threaded region cross for agents. Uses the new threaded RPC/thread state machine mechanism.
  • Bug Fixes
    • The ghosting issue has been patched.

12.02.06.248938

12.01.27.248571

12.01.24.248357

  • This "maint-server" project scheduled 2012-01-25
  • Features
  • New LSL function integer llSetRegionPos(vector position)
    The object with the script will move the root prim position to the given location. The position is any position within the region. If the position is below ground, it will be set to the ground level at that X,Y spot. The function has no delay or throttle.
    • Returns 1 if the object is successfully placed within 0.1 m of position.
    • Returns 0 and does not move the object if position is more than 10m off region or above 4096m.
    • Returns 0 and does not move the object if the object is dynamic (has physics enabled).
    • Returns 0 and does not move the object if the object can not move to position due to object entry rules, prim limits, bans, etc.
  • "frame_number" option added to llGetEnv()
    Returns an integer that represents the current 'frame' of the simulator. Generally only useful for specific debugging cases.
  • Bug Fixes
    • SVC-7466 A notecard holds more data than a script can read
    • SVC-7520 Keyframe motion doesn't move towards the correct position when specified time is not an exact multiple of 1/45 seconds
    • SVC-7485 llSetKeyframedMotion cannot stop animation if none is running ... sounds less important than it is ...
    • SVC-7493 Weird mesh land impact issue
    • Fixed several simulator crash bugs and potential memory leaks.
    • Fixed a notecard crashing bug.
    • SVC-7613 Greatly increased network activity since the 1/18/12 RC channel rolling restart
    • SVC-7608 Sims are not visible when diagonally opposed. (this was not a simulator-side fix, but the bug was originally visible only in the previous iteration of this project)

12.01.13.247734

  • This "maint-server" project scheduled 2012-01-18
  • The project originally here had a script crashing issue and was rolled to the same RC code on the other channels.
  • Features
  • New LSL function integer llSetRegionPos(vector position)
    The object with the script will move the root prim position to the given location. The position is any position within the region. If the position is below ground, it will be set to the ground level at that X,Y spot. The function has no delay or throttle.
    • Returns 1 if the object is successfully placed within 0.1 m of position.
    • Returns 0 and does not move the object if position is more than 10m off region or above 4096m.
    • Returns 0 and does not move the object if the object is dynamic (has physics enabled).
    • Returns 0 and does not move the object if the object can not move to position due to object entry rules, prim limits, bans, etc.
  • "frame_number" option added to llGetEnv()
    Returns an integer that represents the current 'frame' of the simulator. Generally only useful for specific debugging cases.
  • Bug Fixes
    • SVC-7466 A notecard holds more data than a script can read
    • SVC-7520 Keyframe motion doesn't move towards the correct position when specified time is not an exact multiple of 1/45 seconds
    • SVC-7485 llSetKeyframedMotion cannot stop animation if none is running ... sounds less important than it is ...
    • SVC-7493 Weird mesh land impact issue
    • Fixed several simulator crash bugs and potential memory leaks.
    • Fixed a notecard crashing bug.

12.01.06.247303

  • This "maint-server" project scheduled 2012-01-11
  • Bug Fixes
    • SVC-7540 Offline email notifications received but never delivered on login.