Merge branch 'master' into bigmerge

avinationmerge
Melanie 2011-11-10 17:35:35 +00:00
commit a1426739a2
8 changed files with 50 additions and 34 deletions

View File

@ -83,6 +83,7 @@ what it is today.
* Gerhard * Gerhard
* Godfrey * Godfrey
* Grumly57 * Grumly57
* GuduleLapointe
* Ewe Loon * Ewe Loon
* Fly-Man * Fly-Man
* Flyte Xevious * Flyte Xevious

View File

@ -44,7 +44,6 @@ namespace OpenSim.Framework.Servers.HttpServer
private uint m_WorkerThreadCount = 0; private uint m_WorkerThreadCount = 0;
private Thread[] m_workerThreads; private Thread[] m_workerThreads;
private PollServiceWorkerThread[] m_PollServiceWorkerThreads; private PollServiceWorkerThread[] m_PollServiceWorkerThreads;
private Thread m_watcherThread;
private bool m_running = true; private bool m_running = true;
public PollServiceRequestManager(BaseHttpServer pSrv, uint pWorkerThreadCount, int pTimeout) public PollServiceRequestManager(BaseHttpServer pSrv, uint pWorkerThreadCount, int pTimeout)
@ -69,13 +68,12 @@ namespace OpenSim.Framework.Servers.HttpServer
int.MaxValue); int.MaxValue);
} }
m_watcherThread Watchdog.StartThread(
= Watchdog.StartThread( this.ThreadStart,
this.ThreadStart, "PollServiceWatcherThread",
"PollServiceWatcherThread", ThreadPriority.Normal,
ThreadPriority.Normal, false,
false, 1000 * 60 * 10);
1000 * 60 * 10);
} }
internal void ReQueueEvent(PollServiceHttpRequest req) internal void ReQueueEvent(PollServiceHttpRequest req)

View File

@ -56,6 +56,7 @@ namespace OpenSim
protected bool m_gui = false; protected bool m_gui = false;
protected string m_consoleType = "local"; protected string m_consoleType = "local";
protected uint m_consolePort = 0; protected uint m_consolePort = 0;
protected string m_custom_prompt;
private string m_timedScript = "disabled"; private string m_timedScript = "disabled";
private Timer m_scriptTimer; private Timer m_scriptTimer;
@ -108,6 +109,7 @@ namespace OpenSim
Util.FireAndForgetMethod = asyncCallMethod; Util.FireAndForgetMethod = asyncCallMethod;
stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15);
m_custom_prompt = startupConfig.GetString("custom_prompt", "Region");
} }
if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool)
@ -828,10 +830,9 @@ namespace OpenSim
{ {
MainConsole.Instance.Output("Usage: change region <region name>"); MainConsole.Instance.Output("Usage: change region <region name>");
} }
string regionName = (m_sceneManager.CurrentScene == null ? "root" : m_sceneManager.CurrentScene.RegionInfo.RegionName); string regionName = (m_sceneManager.CurrentScene == null ? "root" : m_sceneManager.CurrentScene.RegionInfo.RegionName);
MainConsole.Instance.Output(String.Format("Currently selected region is {0}", regionName)); MainConsole.Instance.Output(String.Format("Currently selected region is {0}", regionName));
m_console.DefaultPrompt = String.Format("Region ({0}) ", regionName); m_console.DefaultPrompt = String.Format("{0} ({1}) ", m_custom_prompt, regionName);
m_console.ConsoleScene = m_sceneManager.CurrentScene; m_console.ConsoleScene = m_sceneManager.CurrentScene;
} }

View File

@ -3322,7 +3322,7 @@ namespace OpenSim.Region.Framework.Scenes
} }
/// <summary> /// <summary>
/// Update the entire rotation of the group. /// Update the rotation of just the root prim of a linkset.
/// </summary> /// </summary>
/// <param name="rot"></param> /// <param name="rot"></param>
public void UpdateRootRotation(Quaternion rot) public void UpdateRootRotation(Quaternion rot)

View File

@ -285,9 +285,11 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
// FIXME: This is different for live avatars - z position is adjusted. This is half the height of the // FIXME: This is different for live avatars - z position is adjusted. This is half the height of the
// default avatar. // default avatar.
// Curiously, Vector3.ToString() will not display the last two places of the float. For example,
// printing out npc.AbsolutePosition will give <0, 0, 0.8454993> not <0, 0, 0.845499337>
Assert.That( Assert.That(
npc.AbsolutePosition, npc.AbsolutePosition,
Is.EqualTo(part.AbsolutePosition + new Vector3(0, 0, 0.8454993f))); Is.EqualTo(part.AbsolutePosition + new Vector3(0, 0, 0.845499337f)));
npcModule.Stand(npc.UUID, scene); npcModule.Stand(npc.UUID, scene);

View File

@ -222,7 +222,7 @@ namespace pCampBot
} }
else else
{ {
MainConsole.Instance.OutputFormat( m_log.ErrorFormat(
"{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage); "{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
if (OnDisconnected != null) if (OnDisconnected != null)
@ -266,12 +266,12 @@ namespace pCampBot
} }
else else
{ {
MainConsole.Instance.Output(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID)); m_log.WarnFormat("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID);
} }
} }
catch (Exception e) catch (Exception e)
{ {
MainConsole.Instance.Output(String.Format("Exception: {0}",e.ToString())); m_log.ErrorFormat("Exception: {0}{1}", e.Message, e.StackTrace);
} }
} }
} }
@ -305,7 +305,7 @@ namespace pCampBot
if (wear == "yes") if (wear == "yes")
{ {
//TODO: Implement random outfit picking //TODO: Implement random outfit picking
MainConsole.Instance.Output("Picks a random outfit. Not yet implemented."); m_log.DebugFormat("Picks a random outfit. Not yet implemented.");
} }
else if (wear != "save") else if (wear != "save")
saveDir = "MyAppearance/" + wear; saveDir = "MyAppearance/" + wear;
@ -334,7 +334,9 @@ namespace pCampBot
listwearables.Add(item); listwearables.Add(item);
} }
else else
MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name)); {
m_log.WarnFormat("Failed to create item {0}", item.Name);
}
} }
); );
} }
@ -356,7 +358,9 @@ namespace pCampBot
listwearables.Add(item); listwearables.Add(item);
} }
else else
MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name)); {
m_log.WarnFormat("Failed to create item {0}", item.Name);
}
} }
); );
} }
@ -364,10 +368,12 @@ namespace pCampBot
Thread.Sleep(1000); Thread.Sleep(1000);
if (listwearables == null || listwearables.Count == 0) if (listwearables == null || listwearables.Count == 0)
MainConsole.Instance.Output("Nothing to send on this folder!"); {
m_log.DebugFormat("Nothing to send on this folder!");
}
else else
{ {
MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count)); m_log.DebugFormat("Sending {0} wearables...", listwearables.Count);
Client.Appearance.WearOutfit(listwearables, false); Client.Appearance.WearOutfit(listwearables, false);
} }
} }
@ -447,17 +453,20 @@ namespace pCampBot
for (int i = 0; i < prim.Textures.FaceTextures.Length; i++) for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
{ {
UUID textureID = prim.Textures.FaceTextures[i].TextureID; Primitive.TextureEntryFace face = prim.Textures.FaceTextures[i];
if (textureID != UUID.Zero) if (face != null)
GetTexture(textureID); {
UUID textureID = prim.Textures.FaceTextures[i].TextureID;
if (textureID != UUID.Zero)
GetTexture(textureID);
}
} }
} }
if (prim.Sculpt.SculptTexture != UUID.Zero) if (prim.Sculpt != null && prim.Sculpt.SculptTexture != UUID.Zero)
{
GetTexture(prim.Sculpt.SculptTexture); GetTexture(prim.Sculpt.SculptTexture);
}
} }
} }

View File

@ -51,7 +51,6 @@ namespace pCampBot
protected CommandConsole m_console; protected CommandConsole m_console;
protected List<Bot> m_lBot; protected List<Bot> m_lBot;
protected Random somthing = new Random(Environment.TickCount); protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
public IConfig Config { get; private set; } public IConfig Config { get; private set; }
/// <summary> /// <summary>
@ -200,16 +199,17 @@ namespace pCampBot
{ {
case EventType.CONNECTED: case EventType.CONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected"); m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected");
numbots++;
// m_log.InfoFormat("NUMBOTS {0}", numbots);
break; break;
case EventType.DISCONNECTED: case EventType.DISCONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected"); m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
numbots--;
// m_log.InfoFormat("NUMBOTS {0}", numbots); lock (m_lBot)
if (numbots <= 0) {
Environment.Exit(0); if (m_lBot.TrueForAll(b => !b.IsConnected))
break; Environment.Exit(0);
break;
}
} }
} }

View File

@ -230,6 +230,11 @@
;; by scripts have changed. ;; by scripts have changed.
; DeleteScriptsOnStartup = true ; DeleteScriptsOnStartup = true
;; Custom prompt
;; This value replaces the word "Region" in console prompt
;; (usualy "Region (regionName) # "
;; Useful only if you have to monitor serveral servers
; custom_prompt = "MyServer1"
[SMTP] [SMTP]
;; The SMTP server enabled the email module to send email to external ;; The SMTP server enabled the email module to send email to external