Began implementing basic physics engine plugin framework
parent
acc98fca7b
commit
cb55056e3b
|
@ -106,18 +106,19 @@ namespace OpenSim
|
||||||
}
|
}
|
||||||
|
|
||||||
public World LoadWorld() {
|
public World LoadWorld() {
|
||||||
IObjectSet world_result = db.Get(typeof(OpenSim.world.World));
|
Console.WriteLine("Config.cs:LoadWorld() - Looking for a world object in local DB");
|
||||||
if(world_result.Count==1) {
|
// IObjectSet world_result = db.Get(typeof(OpenSim.world.World));
|
||||||
|
// if(world_result.Count==1) {
|
||||||
Console.WriteLine("Config.cs:LoadWorld() - Found an OpenSim.world.World object in local database, loading");
|
Console.WriteLine("Config.cs:LoadWorld() - Found an OpenSim.world.World object in local database, loading");
|
||||||
return (World)world_result.Next();
|
//return (World)world_result.Next();
|
||||||
} else {
|
// } else {
|
||||||
Console.WriteLine("Config.cs:LoadWorld() - Could not find the world or too many worlds! Constructing blank one");
|
Console.WriteLine("Config.cs:LoadWorld() - Could not find the world or too many worlds! Constructing blank one");
|
||||||
World blank = new World();
|
World blank = new World();
|
||||||
Console.WriteLine("Config.cs:LoadWorld() - Saving initial world state to disk");
|
Console.WriteLine("Config.cs:LoadWorld() - Saving initial world state to disk");
|
||||||
db.Set(blank);
|
db.Set(blank);
|
||||||
db.Commit();
|
db.Commit();
|
||||||
return blank;
|
return blank;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadFromGrid() {
|
public void LoadFromGrid() {
|
||||||
|
|
|
@ -50,7 +50,6 @@ namespace OpenSim
|
||||||
public static SimConfig cfg;
|
public static SimConfig cfg;
|
||||||
public static World local_world;
|
public static World local_world;
|
||||||
private static Thread MainListener;
|
private static Thread MainListener;
|
||||||
private static Thread PingRespponder;
|
|
||||||
public static Socket Server;
|
public static Socket Server;
|
||||||
private static IPEndPoint ServerIncoming;
|
private static IPEndPoint ServerIncoming;
|
||||||
private static byte[] RecvBuffer = new byte[4096];
|
private static byte[] RecvBuffer = new byte[4096];
|
||||||
|
@ -68,7 +67,7 @@ namespace OpenSim
|
||||||
sim = new OpenSim_Main();
|
sim = new OpenSim_Main();
|
||||||
sim.Startup();
|
sim.Startup();
|
||||||
while(true) {
|
while(true) {
|
||||||
Thread.Sleep(1000);
|
local_world.DoStuff();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,6 +90,8 @@ namespace OpenSim
|
||||||
MainListener = new Thread(new ThreadStart(MainServerListener));
|
MainListener = new Thread(new ThreadStart(MainServerListener));
|
||||||
MainListener.Start();
|
MainListener.Start();
|
||||||
|
|
||||||
|
Console.WriteLine("Main.cs:Startup() - Starting up main world loop");
|
||||||
|
local_world.InitLoop();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnReceivedData(IAsyncResult result) {
|
private void OnReceivedData(IAsyncResult result) {
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
using System;
|
||||||
|
using System.Threading;
|
||||||
|
using libsecondlife;
|
||||||
|
using libsecondlife.Packets;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace OpenSim.world
|
||||||
|
{
|
||||||
|
public class PhysicsEngine
|
||||||
|
{
|
||||||
|
|
||||||
|
public PhysicsEngine() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Startup() {
|
||||||
|
Console.WriteLine("PhysicsEngine.cs:Startup() - DOING NOTHING, DUMMY FUNCTION!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Threading;
|
||||||
using libsecondlife;
|
using libsecondlife;
|
||||||
using libsecondlife.Packets;
|
using libsecondlife.Packets;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -13,6 +14,7 @@ namespace OpenSim.world
|
||||||
public ScriptEngine Scripts;
|
public ScriptEngine Scripts;
|
||||||
public TerrainDecode terrainengine = new TerrainDecode();
|
public TerrainDecode terrainengine = new TerrainDecode();
|
||||||
public uint _localNumber=0;
|
public uint _localNumber=0;
|
||||||
|
public PhysicsEngine physics;
|
||||||
|
|
||||||
private Random Rand = new Random();
|
private Random Rand = new Random();
|
||||||
|
|
||||||
|
@ -28,13 +30,19 @@ namespace OpenSim.world
|
||||||
LandMap[i] = 21.4989f;
|
LandMap[i] = 21.4989f;
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine("World.cs - Creating script engine instance");
|
|
||||||
// Initialise this only after the world has loaded
|
|
||||||
Scripts = new ScriptEngine(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Update()
|
public void InitLoop() {
|
||||||
{
|
Console.WriteLine("World.cs:StartLoop() - Initialising physics");
|
||||||
|
this.physics = new PhysicsEngine();
|
||||||
|
physics.Startup();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DoStuff() {
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update() {
|
||||||
foreach (libsecondlife.LLUUID UUID in Entities.Keys)
|
foreach (libsecondlife.LLUUID UUID in Entities.Keys)
|
||||||
{
|
{
|
||||||
Entities[UUID].update();
|
Entities[UUID].update();
|
||||||
|
|
Loading…
Reference in New Issue