* Added support for multiple terrain blocks to be edited at the same time

* Now sending South and East cords to the terrain editor..    
* No new functionality from a user perspective 
* Programming wise, there's enough information to get the select based terrain editor working in an upcoming revision.
afrisby
Teravus Ovares 2007-12-15 17:10:12 +00:00
parent fd360406b9
commit e3dd15bef0
3 changed files with 9 additions and 6 deletions

View File

@ -229,7 +229,7 @@ namespace OpenSim.Framework
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos); public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
public delegate void ModifyTerrain( public delegate void ModifyTerrain(
float height, float seconds, byte size, byte action, float north, float west, IClientAPI remoteClient); float height, float seconds, byte size, byte action, float north, float west, float south, float east, IClientAPI remoteClient);
public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam); public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);

View File

@ -2452,11 +2452,14 @@ namespace OpenSim.Region.ClientStack
if (modify.ParcelData.Length > 0) if (modify.ParcelData.Length > 0)
{ {
if (OnModifyTerrain != null) if (OnModifyTerrain != null)
{
for (int i=0; i < modify.ParcelData.Length; i++)
{ {
OnModifyTerrain(modify.ModifyBlock.Height, modify.ModifyBlock.Seconds, OnModifyTerrain(modify.ModifyBlock.Height, modify.ModifyBlock.Seconds,
modify.ModifyBlock.BrushSize, modify.ModifyBlock.BrushSize,
modify.ModifyBlock.Action, modify.ParcelData[0].North, modify.ModifyBlock.Action, modify.ParcelData[i].North,
modify.ParcelData[0].West, this); modify.ParcelData[i].West, modify.ParcelData[i].South, modify.ParcelData[i].East, this);
}
} }
} }
break; break;

View File

@ -45,7 +45,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="action">The action to be performed</param> /// <param name="action">The action to be performed</param>
/// <param name="north">Distance from the north border where the cursor is located</param> /// <param name="north">Distance from the north border where the cursor is located</param>
/// <param name="west">Distance from the west border where the cursor is located</param> /// <param name="west">Distance from the west border where the cursor is located</param>
public void ModifyTerrain(float height, float seconds, byte brushsize, byte action, float north, float west, public void ModifyTerrain(float height, float seconds, byte brushsize, byte action, float north, float west, float south, float east,
IClientAPI remoteUser) IClientAPI remoteUser)
{ {
// Do a permissions check before allowing terraforming. // Do a permissions check before allowing terraforming.