diff --git a/src/Config/SimConfig/AssemblyInfo.cs b/src/Config/SimConfig/AssemblyInfo.cs index b205b4b524..88a940b3d5 100644 --- a/src/Config/SimConfig/AssemblyInfo.cs +++ b/src/Config/SimConfig/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-simconfig")] [assembly: AssemblyDescriptionAttribute("The default configuration handler")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/Config/SimConfig/SimConfig.csproj b/src/Config/SimConfig/SimConfig.csproj index 3131405970..5aee907ae0 100644 --- a/src/Config/SimConfig/SimConfig.csproj +++ b/src/Config/SimConfig/SimConfig.csproj @@ -8,7 +8,7 @@ {B063760D-DB8D-4F64-B6FE-335FAD1E650A} - bin\Debug\ + ..\..\..\bin\ False DEBUG;TRACE True diff --git a/src/GridInterfaces/AssemblyInfo.cs b/src/GridInterfaces/AssemblyInfo.cs index 9ec52366a8..a62dcdce32 100644 --- a/src/GridInterfaces/AssemblyInfo.cs +++ b/src/GridInterfaces/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-gridinterfaces")] [assembly: AssemblyDescriptionAttribute("Definitions for OGS interface")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/LocalServers/LocalGridServers/AssemblyInfo.cs b/src/LocalServers/LocalGridServers/AssemblyInfo.cs index 64f467bb3a..e25895f39f 100644 --- a/src/LocalServers/LocalGridServers/AssemblyInfo.cs +++ b/src/LocalServers/LocalGridServers/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-localservers")] [assembly: AssemblyDescriptionAttribute("local grid servers")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs b/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs index dda233dd3a..28db549226 100644 --- a/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs +++ b/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-localstorage")] [assembly: AssemblyDescriptionAttribute("The local storage handler")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/Main.cs b/src/Main.cs index 18418d151c..79c07825c1 100644 --- a/src/Main.cs +++ b/src/Main.cs @@ -83,13 +83,18 @@ namespace OpenSim ServerConsole.MainConsole.Instance = new MServerConsole(ServerConsole.ConsoleBase.ConsoleType.Local,"",0); sim = new OpenSim_Main(); - + + sim.sandbox = false; + sim.loginserver = false; + sim._physicsEngine = "PhysX"; + for (int i = 0; i < args.Length; i++) { if(args[i] == "-sandbox") { sim.sandbox = true; } + if(args[i] == "-loginserver") { sim.loginserver = true; @@ -136,9 +141,6 @@ namespace OpenSim private void Startup() { startuptime=DateTime.Now; - timer1.Enabled = true; - timer1.Interval = 100; - timer1.Elapsed +=new ElapsedEventHandler( this.Timer1Tick ); // We check our local database first, then the grid for config options ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Loading configuration"); @@ -150,7 +152,11 @@ namespace OpenSim ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - We are " + cfg.RegionName + " at " + cfg.RegionLocX.ToString() + "," + cfg.RegionLocY.ToString()); ServerConsole.MainConsole.Instance.WriteLine("Initialising world"); local_world = cfg.LoadWorld(); - + + timer1.Enabled = true; + timer1.Interval = 100; + timer1.Elapsed += new ElapsedEventHandler(this.Timer1Tick); + this.physManager = new PhysicsSystem.PhysicsManager(); this.physManager.LoadPlugins(); ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting up messaging system"); @@ -210,7 +216,7 @@ namespace OpenSim OpenSimClient newuser = new OpenSimClient(epSender,(UseCircuitCodePacket)packet); ClientThreads.Add(epSender, newuser); } else { // invalid client - Console.Error.WriteLine("Main.cs:OnReceivedData() - WARNING: Got a " + packet.ToString() + " packet from an invalid client - " + epSender.ToString()); + Console.Error.WriteLine("Main.cs:OnReceivedData() - WARNING: Got a packet from an invalid client - " + epSender.ToString()); } Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null); } diff --git a/src/OpenSimConsole.cs b/src/OpenSimConsole.cs index 11bc648727..00a4ceed7c 100644 --- a/src/OpenSimConsole.cs +++ b/src/OpenSimConsole.cs @@ -61,6 +61,7 @@ namespace OpenSim ConsType = constype; switch(constype) { case ConsoleType.Local: + Console.WriteLine("ServerConsole.cs - creating new local console"); Console.WriteLine("Logs will be saved to current directory in opensim-console.log"); Log=File.AppendText("opensim-console.log"); @@ -75,22 +76,30 @@ namespace OpenSim default: Console.WriteLine("ServerConsole.cs - what are you smoking? that isn't a valid console type!"); break; - } + } } public override void Close() { Log.WriteLine("OpenSim shutdown at " + DateTime.Now.ToString()); Log.Close(); } - - // You know what ReadLine() and WriteLine() do, right? And Read() and Write()? Right, you do actually know C#, right? Are you actually a programmer? Do you know english? Do you find my sense of humour in comments irritating? Good, glad you're still here - public override void WriteLine(string Line) { - Log.WriteLine(Line); - Console.WriteLine(Line); - return; - } - - public override string ReadLine() { + + public override void Write(string format, params object[] args) + { + Log.Write(format, args); + Console.Write(format, args); + return; + } + + public override void WriteLine(string format, params object[] args) + { + Log.WriteLine(format, args); + Console.WriteLine(format, args); + return; + } + + public override string ReadLine() + { string TempStr=Console.ReadLine(); Log.WriteLine(TempStr); return TempStr; @@ -102,12 +111,6 @@ namespace OpenSim return TempInt; } - public override void Write(string Line) { - Console.Write(Line); - Log.Write(Line); - return; - } - // Displays a command prompt and waits for the user to enter a string, then returns that string public override string CmdPrompt(string prompt) { this.Write(prompt); @@ -196,7 +199,13 @@ namespace OpenSim string[] cmdparams=(string[])tempstrarray; RunCmd(cmd,cmdparams); } - } + + + public override void SetStatus(string status) + { + Console.Write( status + "\r" ); + } + } } diff --git a/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs b/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs index 21d481ac62..39786503a3 100644 --- a/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs +++ b/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-remoteservers")] [assembly: AssemblyDescriptionAttribute("Connects to remote OGS installation")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/RemoteServers/RemoteGridServers/RemoteGrid.cs b/src/RemoteServers/RemoteGridServers/RemoteGrid.cs index e50360ac9f..428d5f551b 100644 --- a/src/RemoteServers/RemoteGridServers/RemoteGrid.cs +++ b/src/RemoteServers/RemoteGridServers/RemoteGrid.cs @@ -89,8 +89,8 @@ namespace RemoteGridServers String grTest = sr.ReadLine(); sr.Close(); GridResponse.Close(); - //if(String.IsNullOrEmpty(grTest) || grTest.Equals("1")) - //{ + if(String.IsNullOrEmpty(grTest) || grTest.Equals("1")) + { // YAY! Valid login user.Authorised = true; user.LoginInfo = new Login(); @@ -99,12 +99,12 @@ namespace RemoteGridServers user.LoginInfo.First = ""; user.LoginInfo.Last = ""; - //} - //else - //{ - // // Invalid - // user.Authorised = false; - //} + } + else + { + // Invalid + user.Authorised = false; + } return(user); } diff --git a/src/ServerConsole/ServerConsole/AssemblyInfo.cs b/src/ServerConsole/ServerConsole/AssemblyInfo.cs index 88b401964e..57481fc382 100644 --- a/src/ServerConsole/ServerConsole/AssemblyInfo.cs +++ b/src/ServerConsole/ServerConsole/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-serverconsole")] [assembly: AssemblyDescriptionAttribute("The default server console")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/ServerConsole/ServerConsole/ServerConsole.cs b/src/ServerConsole/ServerConsole/ServerConsole.cs index 93c8114a85..27d97e5f0e 100644 --- a/src/ServerConsole/ServerConsole/ServerConsole.cs +++ b/src/ServerConsole/ServerConsole/ServerConsole.cs @@ -43,12 +43,7 @@ namespace ServerConsole instance = value; } } - - public MainConsole() - { - - } - } + } public abstract class ConsoleBase { @@ -60,16 +55,15 @@ namespace ServerConsole } public abstract void Close(); - - // You know what ReadLine() and WriteLine() do, right? And Read() and Write()? Right, you do actually know C#, right? Are you actually a programmer? Do you know english? Do you find my sense of humour in comments irritating? Good, glad you're still here - public abstract void WriteLine(string Line) ; - + + public abstract void Write(string format, params object[] args); + + public abstract void WriteLine(string format, params object[] args); + public abstract string ReadLine(); public abstract int Read() ; - public abstract void Write(string Line) ; - // Displays a command prompt and waits for the user to enter a string, then returns that string public abstract string CmdPrompt(string prompt) ; @@ -87,5 +81,7 @@ namespace ServerConsole // Displays a prompt to the user and then runs the command they entered public abstract void MainConsolePrompt() ; - } + + public abstract void SetStatus( string status ); + } } diff --git a/src/VersionInfo.cs b/src/VersionInfo.cs index b3cc6a547e..94f0810a65 100644 --- a/src/VersionInfo.cs +++ b/src/VersionInfo.cs @@ -32,6 +32,6 @@ namespace OpenSim /// public class VersionInfo { - public static string Version = "0.1, Build 1173778834, Revision 191M"; + public static string Version = "0.1, Build 1173785234, Revision 192M"; } } diff --git a/src/physics/AssemblyInfo.cs b/src/physics/AssemblyInfo.cs index 1cc3ee1784..c78d44c503 100644 --- a/src/physics/AssemblyInfo.cs +++ b/src/physics/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-physicsmanager")] [assembly: AssemblyDescriptionAttribute("Handles physics plugins")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")] diff --git a/src/physics/PhysicsManager.cs b/src/physics/PhysicsManager.cs index e5d5bd6199..1fee628a1d 100644 --- a/src/physics/PhysicsManager.cs +++ b/src/physics/PhysicsManager.cs @@ -46,15 +46,21 @@ namespace PhysicsSystem public PhysicsScene GetPhysicsScene(string engineName) { - if(_plugins.ContainsKey(engineName)) + if( String.IsNullOrEmpty( engineName ) ) + { + return new NullPhysicsScene(); + } + + if(_plugins.ContainsKey(engineName)) { ServerConsole.MainConsole.Instance.WriteLine("creating "+engineName); return _plugins[engineName].GetScene(); } else { - ServerConsole.MainConsole.Instance.WriteLine("couldn't find physicsEngine: "+ engineName); - return null; + string error = String.Format("couldn't find physicsEngine: {0}", engineName); + ServerConsole.MainConsole.Instance.WriteLine( error ); + throw new ArgumentException( error ); } } @@ -108,6 +114,14 @@ namespace PhysicsSystem public abstract class PhysicsScene { + public static PhysicsScene Null + { + get + { + return new NullPhysicsScene(); + } + } + public abstract PhysicsActor AddAvatar(PhysicsVector position); public abstract PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size); @@ -124,8 +138,49 @@ namespace PhysicsSystem } } + public class NullPhysicsScene : PhysicsScene + { + private static int m_workIndicator; + + public override PhysicsActor AddAvatar(PhysicsVector position) + { + ServerConsole.MainConsole.Instance.WriteLine("NullPhysicsScene : AddAvatar({0})", position ); + return PhysicsActor.Null; + } + + public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size) + { + ServerConsole.MainConsole.Instance.WriteLine("NullPhysicsScene : AddPrim({0},{1})", position, size ); + return PhysicsActor.Null; + } + + public override void Simulate(float timeStep) + { + m_workIndicator = ( m_workIndicator + 1 ) % 10; + + ServerConsole.MainConsole.Instance.SetStatus( m_workIndicator.ToString() ); + } + + public override void GetResults() + { + ServerConsole.MainConsole.Instance.WriteLine("NullPhysicsScene : GetResults()" ); + } + + public override void SetTerrain(float[] heightMap) + { + ServerConsole.MainConsole.Instance.WriteLine("NullPhysicsScene : SetTerrain({0} items)", heightMap.Length ); + } + + public override bool IsThreaded + { + get { return false; } + } + } + public abstract class PhysicsActor { + public static readonly PhysicsActor Null = new NullPhysicsActor(); + public abstract PhysicsVector Position { get; @@ -153,7 +208,61 @@ namespace PhysicsSystem public abstract void SetMomentum(PhysicsVector momentum); } - public class PhysicsVector + public class NullPhysicsActor : PhysicsActor + { + public override PhysicsVector Position + { + get + { + return PhysicsVector.Zero; + } + set + { + return; + } + } + + public override PhysicsVector Velocity + { + get + { + return PhysicsVector.Zero; + } + set + { + return; + } + } + + public override PhysicsVector Acceleration + { + get { return PhysicsVector.Zero; } + } + + public override bool Flying + { + get + { + return false; + } + set + { + return; + } + } + + public override void AddForce(PhysicsVector force) + { + return; + } + + public override void SetMomentum(PhysicsVector momentum) + { + return; + } + } + + public class PhysicsVector { public float X; public float Y; @@ -170,5 +279,7 @@ namespace PhysicsSystem Y = y; Z = z; } + + public static readonly PhysicsVector Zero = new PhysicsVector(0f, 0f, 0f); } } diff --git a/src/physics/plugins/AssemblyInfo.cs b/src/physics/plugins/AssemblyInfo.cs index 2c12da4814..a24c947e28 100644 --- a/src/physics/plugins/AssemblyInfo.cs +++ b/src/physics/plugins/AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Runtime.InteropServices; [assembly: ComVisibleAttribute(false)] [assembly: CLSCompliantAttribute(false)] -[assembly: AssemblyVersionAttribute("0.1.*.191")] +[assembly: AssemblyVersionAttribute("0.1.*.192")] [assembly: AssemblyTitleAttribute("opensim-physicsmanager-physx")] [assembly: AssemblyDescriptionAttribute("PhysX plugin for OpenSim")] [assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]