aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/OpenSim.World
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/OpenSim.World')
-rw-r--r--OpenSim/OpenSim.World/Avatar.Client.cs15
-rw-r--r--OpenSim/OpenSim.World/Avatar.Update.cs48
-rw-r--r--OpenSim/OpenSim.World/Avatar.cs50
-rw-r--r--OpenSim/OpenSim.World/AvatarAnimations.cs6
-rw-r--r--OpenSim/OpenSim.World/Entity.cs24
-rw-r--r--OpenSim/OpenSim.World/SceneObject.cs23
-rw-r--r--OpenSim/OpenSim.World/World.PacketHandlers.cs82
-rw-r--r--OpenSim/OpenSim.World/World.Scripting.cs33
-rw-r--r--OpenSim/OpenSim.World/World.cs133
-rw-r--r--OpenSim/OpenSim.World/WorldBase.cs17
-rw-r--r--OpenSim/OpenSim.World/types/Mesh.cs13
-rw-r--r--OpenSim/OpenSim.World/types/Triangle.cs9
12 files changed, 349 insertions, 104 deletions
diff --git a/OpenSim/OpenSim.World/Avatar.Client.cs b/OpenSim/OpenSim.World/Avatar.Client.cs
index 7656a89..2338f27 100644
--- a/OpenSim/OpenSim.World/Avatar.Client.cs
+++ b/OpenSim/OpenSim.World/Avatar.Client.cs
@@ -10,21 +10,36 @@ namespace OpenSim.world
10 private List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> updateList = new List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>(); 10 private List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> updateList = new List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>();
11 private List<Entity> interestList = new List<Entity>(); 11 private List<Entity> interestList = new List<Entity>();
12 12
13 /// <summary>
14 /// Forwards a packet to the Avatar's client (IClientAPI object).
15 /// Note: Quite likely to be obsolete once the Client API is finished
16 /// </summary>
17 /// <param name="packet"></param>
13 public void SendPacketToViewer(Packet packet) 18 public void SendPacketToViewer(Packet packet)
14 { 19 {
15 this.ControllingClient.OutPacket(packet); 20 this.ControllingClient.OutPacket(packet);
16 } 21 }
17 22
23 /// <summary>
24 ///
25 /// </summary>
26 /// <param name="terseBlock"></param>
18 public void AddTerseUpdateToViewersList(ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock) 27 public void AddTerseUpdateToViewersList(ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock)
19 { 28 {
20 29
21 } 30 }
22 31
32 /// <summary>
33 ///
34 /// </summary>
23 public void SendUpdateListToViewer() 35 public void SendUpdateListToViewer()
24 { 36 {
25 37
26 } 38 }
27 39
40 /// <summary>
41 ///
42 /// </summary>
28 private void UpdateInterestList() 43 private void UpdateInterestList()
29 { 44 {
30 45
diff --git a/OpenSim/OpenSim.World/Avatar.Update.cs b/OpenSim/OpenSim.World/Avatar.Update.cs
index c8d92ec..478f224 100644
--- a/OpenSim/OpenSim.World/Avatar.Update.cs
+++ b/OpenSim/OpenSim.World/Avatar.Update.cs
@@ -10,65 +10,109 @@ namespace OpenSim.world
10{ 10{
11 partial class Avatar 11 partial class Avatar
12 { 12 {
13 /// <summary>
14 ///
15 /// </summary>
13 public override void update() 16 public override void update()
14 { 17 {
15 18
16 19
17 } 20 }
18 21
22 /// <summary>
23 ///
24 /// </summary>
25 /// <param name="remoteAvatar"></param>
19 public void SendUpdateToOtherClient(Avatar remoteAvatar) 26 public void SendUpdateToOtherClient(Avatar remoteAvatar)
20 { 27 {
21 28
22 } 29 }
23 30
31 /// <summary>
32 ///
33 /// </summary>
34 /// <returns></returns>
24 public ObjectUpdatePacket CreateUpdatePacket() 35 public ObjectUpdatePacket CreateUpdatePacket()
25 { 36 {
26 return null; 37 return null;
27 } 38 }
28 39
40 /// <summary>
41 ///
42 /// </summary>
29 public void SendInitialPosition() 43 public void SendInitialPosition()
30 { 44 {
31 Console.WriteLine("sending initial Avatar data"); 45 Console.WriteLine("sending initial Avatar data");
32 this.ControllingClient.SendAvatarData(this.regionData, this.firstname, this.lastname, this.uuid, this.localid, new LLVector3(128, 128, 60)); 46 this.ControllingClient.SendAvatarData(this.regionData, this.firstname, this.lastname, this.uuid, this.localid, new LLVector3(128, 128, 60));
33 } 47 }
34 48
49 /// <summary>
50 ///
51 /// </summary>
35 public void SendOurAppearance() 52 public void SendOurAppearance()
36 { 53 {
37 54
38 } 55 }
39 56
57 /// <summary>
58 ///
59 /// </summary>
60 /// <param name="OurClient"></param>
40 public void SendOurAppearance(IClientAPI OurClient) 61 public void SendOurAppearance(IClientAPI OurClient)
41 { 62 {
42 this.ControllingClient.SendWearables(this.Wearables); 63 this.ControllingClient.SendWearables(this.Wearables);
43 } 64 }
44 65
66 /// <summary>
67 ///
68 /// </summary>
69 /// <param name="avatarInfo"></param>
45 public void SendAppearanceToOtherAgent(Avatar avatarInfo) 70 public void SendAppearanceToOtherAgent(Avatar avatarInfo)
46 { 71 {
47 72
48 } 73 }
49 74
75 /// <summary>
76 ///
77 /// </summary>
78 /// <param name="texture"></param>
79 /// <param name="visualParam"></param>
50 public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam) 80 public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam)
51 { 81 {
52 82
53 } 83 }
54 84
85 /// <summary>
86 ///
87 /// </summary>
55 public void StopMovement() 88 public void StopMovement()
56 { 89 {
57 90
58 } 91 }
59 92
93 /// <summary>
94 /// Very likely to be deleted soon!
95 /// </summary>
96 /// <returns></returns>
60 public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock() 97 public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock()
61 { 98 {
62 return null; 99 return null;
63 } 100 }
64 101
65 // Sends animation update 102 /// <summary>
103 ///
104 /// </summary>
105 /// <param name="animID"></param>
106 /// <param name="seq"></param>
66 public void SendAnimPack(LLUUID animID, int seq) 107 public void SendAnimPack(LLUUID animID, int seq)
67 { 108 {
68 109
69 110
70 } 111 }
71 112
113 /// <summary>
114 ///
115 /// </summary>
72 public void SendAnimPack() 116 public void SendAnimPack()
73 { 117 {
74 118
diff --git a/OpenSim/OpenSim.World/Avatar.cs b/OpenSim/OpenSim.World/Avatar.cs
index 1c22977..ecd938b 100644
--- a/OpenSim/OpenSim.World/Avatar.cs
+++ b/OpenSim/OpenSim.World/Avatar.cs
@@ -39,6 +39,13 @@ namespace OpenSim.world
39 private bool childAvatar = false; 39 private bool childAvatar = false;
40 private RegionInfo regionData; 40 private RegionInfo regionData;
41 41
42 /// <summary>
43 ///
44 /// </summary>
45 /// <param name="theClient"></param>
46 /// <param name="world"></param>
47 /// <param name="clientThreads"></param>
48 /// <param name="regionDat"></param>
42 public Avatar(IClientAPI theClient, World world, Dictionary<uint, IClientAPI> clientThreads, RegionInfo regionDat) 49 public Avatar(IClientAPI theClient, World world, Dictionary<uint, IClientAPI> clientThreads, RegionInfo regionDat)
43 { 50 {
44 51
@@ -84,6 +91,9 @@ namespace OpenSim.world
84 * */ 91 * */
85 } 92 }
86 93
94 /// <summary>
95 ///
96 /// </summary>
87 public PhysicsActor PhysActor 97 public PhysicsActor PhysActor
88 { 98 {
89 set 99 set
@@ -96,21 +106,36 @@ namespace OpenSim.world
96 } 106 }
97 } 107 }
98 108
109 /// <summary>
110 ///
111 /// </summary>
112 /// <param name="status"></param>
99 public void ChildStatusChange(bool status) 113 public void ChildStatusChange(bool status)
100 { 114 {
101 115
102 } 116 }
103 117
118 /// <summary>
119 ///
120 /// </summary>
104 public override void addForces() 121 public override void addForces()
105 { 122 {
106 123
107 } 124 }
108 125
126 /// <summary>
127 /// likely to removed very soon
128 /// </summary>
129 /// <param name="name"></param>
109 public static void SetupTemplate(string name) 130 public static void SetupTemplate(string name)
110 { 131 {
111 132
112 } 133 }
113 134
135 /// <summary>
136 /// likely to removed very soon
137 /// </summary>
138 /// <param name="objdata"></param>
114 protected static void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata) 139 protected static void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata)
115 { 140 {
116 141
@@ -118,32 +143,51 @@ namespace OpenSim.world
118 143
119 } 144 }
120 145
146 /// <summary>
147 ///
148 /// </summary>
121 public void CompleteMovement() 149 public void CompleteMovement()
122 { 150 {
123 this.ControllingClient.MoveAgentIntoRegion(this.regionData); 151 this.ControllingClient.MoveAgentIntoRegion(this.regionData);
124 } 152 }
125 153
154 /// <summary>
155 ///
156 /// </summary>
157 /// <param name="pack"></param>
126 public void HandleAgentUpdate(Packet pack) 158 public void HandleAgentUpdate(Packet pack)
127 { 159 {
128 this.HandleUpdate((AgentUpdatePacket)pack); 160 this.HandleUpdate((AgentUpdatePacket)pack);
129 } 161 }
130 162
163 /// <summary>
164 ///
165 /// </summary>
166 /// <param name="pack"></param>
131 public void HandleUpdate(AgentUpdatePacket pack) 167 public void HandleUpdate(AgentUpdatePacket pack)
132 { 168 {
133 169
134 } 170 }
135 171
136 //really really should be moved somewhere else (RegionInfo.cs ?) 172 /// <summary>
173 ///
174 /// </summary>
137 public void SendRegionHandshake() 175 public void SendRegionHandshake()
138 { 176 {
139 this.ControllingClient.SendRegionHandshake(this.regionData); 177 this.ControllingClient.SendRegionHandshake(this.regionData);
140 } 178 }
141 179
180 /// <summary>
181 ///
182 /// </summary>
142 public static void LoadAnims() 183 public static void LoadAnims()
143 { 184 {
144 185
145 } 186 }
146 187
188 /// <summary>
189 ///
190 /// </summary>
147 public override void LandRenegerated() 191 public override void LandRenegerated()
148 { 192 {
149 193
diff --git a/OpenSim/OpenSim.World/AvatarAnimations.cs b/OpenSim/OpenSim.World/AvatarAnimations.cs
index b554af8..21de457 100644
--- a/OpenSim/OpenSim.World/AvatarAnimations.cs
+++ b/OpenSim/OpenSim.World/AvatarAnimations.cs
@@ -11,10 +11,16 @@ namespace OpenSim.world
11 public Dictionary<string, LLUUID> AnimsLLUUID = new Dictionary<string, LLUUID>(); 11 public Dictionary<string, LLUUID> AnimsLLUUID = new Dictionary<string, LLUUID>();
12 public Dictionary<LLUUID, string> AnimsNames = new Dictionary<LLUUID, string>(); 12 public Dictionary<LLUUID, string> AnimsNames = new Dictionary<LLUUID, string>();
13 13
14 /// <summary>
15 ///
16 /// </summary>
14 public AvatarAnimations() 17 public AvatarAnimations()
15 { 18 {
16 } 19 }
17 20
21 /// <summary>
22 ///
23 /// </summary>
18 public void LoadAnims() 24 public void LoadAnims()
19 { 25 {
20 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Avatar.cs:LoadAnims() - Loading avatar animations"); 26 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Avatar.cs:LoadAnims() - Loading avatar animations");
diff --git a/OpenSim/OpenSim.World/Entity.cs b/OpenSim/OpenSim.World/Entity.cs
index 96e039a..b14beed 100644
--- a/OpenSim/OpenSim.World/Entity.cs
+++ b/OpenSim/OpenSim.World/Entity.cs
@@ -16,17 +16,22 @@ namespace OpenSim.world
16 public LLVector3 velocity; 16 public LLVector3 velocity;
17 public Quaternion rotation; 17 public Quaternion rotation;
18 protected List<Entity> children; 18 protected List<Entity> children;
19 19 protected LLVector3 m_pos;
20 protected PhysicsActor _physActor;
21 protected World m_world;
20 protected string m_name; 22 protected string m_name;
23
24 /// <summary>
25 ///
26 /// </summary>
21 public virtual string Name 27 public virtual string Name
22 { 28 {
23 get { return m_name; } 29 get { return m_name; }
24 } 30 }
25 31
26 protected LLVector3 m_pos; 32 /// <summary>
27 protected PhysicsActor _physActor; 33 ///
28 protected World m_world; 34 /// </summary>
29
30 public virtual LLVector3 Pos 35 public virtual LLVector3 Pos
31 { 36 {
32 get 37 get
@@ -76,6 +81,9 @@ namespace OpenSim.world
76 children = new List<Entity>(); 81 children = new List<Entity>();
77 } 82 }
78 83
84 /// <summary>
85 ///
86 /// </summary>
79 public virtual void addForces() 87 public virtual void addForces()
80 { 88 {
81 foreach (Entity child in children) 89 foreach (Entity child in children)
@@ -111,11 +119,17 @@ namespace OpenSim.world
111 return mesh; 119 return mesh;
112 } 120 }
113 121
122 /// <summary>
123 /// Called at a set interval to inform entities that they should back themsleves up to the DB
124 /// </summary>
114 public virtual void BackUp() 125 public virtual void BackUp()
115 { 126 {
116 127
117 } 128 }
118 129
130 /// <summary>
131 /// Infoms the entity that the land (heightmap) has changed
132 /// </summary>
119 public virtual void LandRenegerated() 133 public virtual void LandRenegerated()
120 { 134 {
121 135
diff --git a/OpenSim/OpenSim.World/SceneObject.cs b/OpenSim/OpenSim.World/SceneObject.cs
index d78c7a2..9ed99ba 100644
--- a/OpenSim/OpenSim.World/SceneObject.cs
+++ b/OpenSim/OpenSim.World/SceneObject.cs
@@ -18,30 +18,53 @@ namespace OpenSim.world
18 private Dictionary<uint, IClientAPI> m_clientThreads; 18 private Dictionary<uint, IClientAPI> m_clientThreads;
19 private World m_world; 19 private World m_world;
20 20
21 /// <summary>
22 ///
23 /// </summary>
21 public SceneObject() 24 public SceneObject()
22 { 25 {
23 26
24 } 27 }
25 28
29 /// <summary>
30 ///
31 /// </summary>
32 /// <param name="addPacket"></param>
33 /// <param name="agentID"></param>
34 /// <param name="localID"></param>
26 public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID) 35 public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID)
27 { 36 {
28 } 37 }
29 38
39 /// <summary>
40 ///
41 /// </summary>
42 /// <param name="data"></param>
30 public void CreateFromBytes(byte[] data) 43 public void CreateFromBytes(byte[] data)
31 { 44 {
32 45
33 } 46 }
34 47
48 /// <summary>
49 ///
50 /// </summary>
35 public override void update() 51 public override void update()
36 { 52 {
37 53
38 } 54 }
39 55
56 /// <summary>
57 ///
58 /// </summary>
40 public override void BackUp() 59 public override void BackUp()
41 { 60 {
42 61
43 } 62 }
44 63
64 /// <summary>
65 ///
66 /// </summary>
67 /// <param name="client"></param>
45 public void GetProperites(IClientAPI client) 68 public void GetProperites(IClientAPI client)
46 { 69 {
47 /* 70 /*
diff --git a/OpenSim/OpenSim.World/World.PacketHandlers.cs b/OpenSim/OpenSim.World/World.PacketHandlers.cs
index 9bd09f0..dd340d7 100644
--- a/OpenSim/OpenSim.World/World.PacketHandlers.cs
+++ b/OpenSim/OpenSim.World/World.PacketHandlers.cs
@@ -13,6 +13,12 @@ namespace OpenSim.world
13{ 13{
14 public partial class World 14 public partial class World
15 { 15 {
16 /// <summary>
17 ///
18 /// </summary>
19 /// <param name="action"></param>
20 /// <param name="north"></param>
21 /// <param name="west"></param>
16 public void ModifyTerrain(byte action, float north, float west) 22 public void ModifyTerrain(byte action, float north, float west)
17 { 23 {
18 switch (action) 24 switch (action)
@@ -31,6 +37,14 @@ namespace OpenSim.world
31 return; 37 return;
32 } 38 }
33 39
40 /// <summary>
41 ///
42 /// </summary>
43 /// <param name="message"></param>
44 /// <param name="type"></param>
45 /// <param name="fromPos"></param>
46 /// <param name="fromName"></param>
47 /// <param name="fromAgentID"></param>
34 public void SimChat(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) 48 public void SimChat(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID)
35 { 49 {
36 Console.WriteLine("Chat message"); 50 Console.WriteLine("Chat message");
@@ -79,59 +93,127 @@ namespace OpenSim.world
79 } 93 }
80 } 94 }
81 95
96 /// <summary>
97 ///
98 /// </summary>
99 /// <param name="primAsset"></param>
100 /// <param name="pos"></param>
82 public void RezObject(AssetBase primAsset, LLVector3 pos) 101 public void RezObject(AssetBase primAsset, LLVector3 pos)
83 { 102 {
84 103
85 } 104 }
86 105
106 /// <summary>
107 ///
108 /// </summary>
109 /// <param name="packet"></param>
110 /// <param name="simClient"></param>
87 public void DeRezObject(Packet packet, IClientAPI simClient) 111 public void DeRezObject(Packet packet, IClientAPI simClient)
88 { 112 {
89 113
90 } 114 }
91 115
116 /// <summary>
117 ///
118 /// </summary>
119 /// <param name="remoteClient"></param>
92 public void SendAvatarsToClient(IClientAPI remoteClient) 120 public void SendAvatarsToClient(IClientAPI remoteClient)
93 { 121 {
94 122
95 } 123 }
96 124
125 /// <summary>
126 ///
127 /// </summary>
128 /// <param name="parentPrim"></param>
129 /// <param name="childPrims"></param>
97 public void LinkObjects(uint parentPrim, List<uint> childPrims) 130 public void LinkObjects(uint parentPrim, List<uint> childPrims)
98 { 131 {
99 132
100 133
101 } 134 }
102 135
136 /// <summary>
137 ///
138 /// </summary>
139 /// <param name="primLocalID"></param>
140 /// <param name="shapeBlock"></param>
103 public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) 141 public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock)
104 { 142 {
105 143
106 } 144 }
107 145
146 /// <summary>
147 ///
148 /// </summary>
149 /// <param name="primLocalID"></param>
150 /// <param name="remoteClient"></param>
108 public void SelectPrim(uint primLocalID, IClientAPI remoteClient) 151 public void SelectPrim(uint primLocalID, IClientAPI remoteClient)
109 { 152 {
110 153
111 } 154 }
112 155
156 /// <summary>
157 ///
158 /// </summary>
159 /// <param name="localID"></param>
160 /// <param name="packet"></param>
161 /// <param name="remoteClient"></param>
113 public void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient) 162 public void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient)
114 { 163 {
115 164
116 } 165 }
117 166
167 /// <summary>
168 ///
169 /// </summary>
170 /// <param name="localID"></param>
171 /// <param name="texture"></param>
172 /// <param name="remoteClient"></param>
118 public void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient) 173 public void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient)
119 { 174 {
120 175
121 } 176 }
122 177
178 /// <summary>
179 ///
180 /// </summary>
181 /// <param name="localID"></param>
182 /// <param name="pos"></param>
183 /// <param name="remoteClient"></param>
123 public void UpdatePrimPosition(uint localID, LLVector3 pos, IClientAPI remoteClient) 184 public void UpdatePrimPosition(uint localID, LLVector3 pos, IClientAPI remoteClient)
124 { 185 {
125 186
126 } 187 }
127 188
189 /// <summary>
190 ///
191 /// </summary>
192 /// <param name="localID"></param>
193 /// <param name="rot"></param>
194 /// <param name="remoteClient"></param>
128 public void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient) 195 public void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient)
129 { 196 {
130 197
131 } 198 }
132 199
200 /// <summary>
201 ///
202 /// </summary>
203 /// <param name="localID"></param>
204 /// <param name="scale"></param>
205 /// <param name="remoteClient"></param>
133 public void UpdatePrimScale(uint localID, LLVector3 scale, IClientAPI remoteClient) 206 public void UpdatePrimScale(uint localID, LLVector3 scale, IClientAPI remoteClient)
134 { 207 {
135 } 208 }
209
210 /// <summary>
211 /// Sends prims to a client
212 /// </summary>
213 /// <param name="RemoteClient">Client to send to</param>
214 public void GetInitialPrims(IClientAPI RemoteClient)
215 {
216
217 }
136 } 218 }
137} 219}
diff --git a/OpenSim/OpenSim.World/World.Scripting.cs b/OpenSim/OpenSim.World/World.Scripting.cs
index 24d887c..048a97f 100644
--- a/OpenSim/OpenSim.World/World.Scripting.cs
+++ b/OpenSim/OpenSim.World/World.Scripting.cs
@@ -14,11 +14,17 @@ namespace OpenSim.world
14 { 14 {
15 private Dictionary<string, IScriptEngine> scriptEngines = new Dictionary<string, IScriptEngine>(); 15 private Dictionary<string, IScriptEngine> scriptEngines = new Dictionary<string, IScriptEngine>();
16 16
17 /// <summary>
18 ///
19 /// </summary>
17 private void LoadScriptEngines() 20 private void LoadScriptEngines()
18 { 21 {
19 this.LoadScriptPlugins(); 22 this.LoadScriptPlugins();
20 } 23 }
21 24
25 /// <summary>
26 ///
27 /// </summary>
22 public void LoadScriptPlugins() 28 public void LoadScriptPlugins()
23 { 29 {
24 string path = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "ScriptEngines"); 30 string path = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "ScriptEngines");
@@ -31,6 +37,10 @@ namespace OpenSim.world
31 } 37 }
32 } 38 }
33 39
40 /// <summary>
41 ///
42 /// </summary>
43 /// <param name="FileName"></param>
34 private void AddPlugin(string FileName) 44 private void AddPlugin(string FileName)
35 { 45 {
36 Assembly pluginAssembly = Assembly.LoadFrom(FileName); 46 Assembly pluginAssembly = Assembly.LoadFrom(FileName);
@@ -59,6 +69,13 @@ namespace OpenSim.world
59 pluginAssembly = null; 69 pluginAssembly = null;
60 } 70 }
61 71
72 /// <summary>
73 ///
74 /// </summary>
75 /// <param name="scriptType"></param>
76 /// <param name="scriptName"></param>
77 /// <param name="script"></param>
78 /// <param name="ent"></param>
62 public void LoadScript(string scriptType, string scriptName, string script, Entity ent) 79 public void LoadScript(string scriptType, string scriptName, string script, Entity ent)
63 { 80 {
64 if(this.scriptEngines.ContainsKey(scriptType)) 81 if(this.scriptEngines.ContainsKey(scriptType))
@@ -69,6 +86,11 @@ namespace OpenSim.world
69 86
70 #region IScriptAPI Methods 87 #region IScriptAPI Methods
71 88
89 /// <summary>
90 ///
91 /// </summary>
92 /// <param name="localID"></param>
93 /// <returns></returns>
72 public OSVector3 GetEntityPosition(uint localID) 94 public OSVector3 GetEntityPosition(uint localID)
73 { 95 {
74 OSVector3 res = new OSVector3(); 96 OSVector3 res = new OSVector3();
@@ -85,6 +107,13 @@ namespace OpenSim.world
85 return res; 107 return res;
86 } 108 }
87 109
110 /// <summary>
111 ///
112 /// </summary>
113 /// <param name="localID"></param>
114 /// <param name="x"></param>
115 /// <param name="y"></param>
116 /// <param name="z"></param>
88 public void SetEntityPosition(uint localID, float x , float y, float z) 117 public void SetEntityPosition(uint localID, float x , float y, float z)
89 { 118 {
90 foreach (Entity entity in this.Entities.Values) 119 foreach (Entity entity in this.Entities.Values)
@@ -103,6 +132,10 @@ namespace OpenSim.world
103 132
104 } 133 }
105 134
135 /// <summary>
136 ///
137 /// </summary>
138 /// <returns></returns>
106 public uint GetRandomAvatarID() 139 public uint GetRandomAvatarID()
107 { 140 {
108 //Console.WriteLine("script- getting random avatar id"); 141 //Console.WriteLine("script- getting random avatar id");
diff --git a/OpenSim/OpenSim.World/World.cs b/OpenSim/OpenSim.World/World.cs
index 29c75e8..77af862 100644
--- a/OpenSim/OpenSim.World/World.cs
+++ b/OpenSim/OpenSim.World/World.cs
@@ -36,6 +36,9 @@ namespace OpenSim.world
36 public string m_datastore; 36 public string m_datastore;
37 37
38 #region Properties 38 #region Properties
39 /// <summary>
40 ///
41 /// </summary>
39 public PhysicsScene PhysScene 42 public PhysicsScene PhysScene
40 { 43 {
41 set 44 set
@@ -79,12 +82,11 @@ namespace OpenSim.world
79 TerrainManager = new TerrainManager(new SecondLife()); 82 TerrainManager = new TerrainManager(new SecondLife());
80 Terrain = new TerrainEngine(); 83 Terrain = new TerrainEngine();
81 Avatar.SetupTemplate("avatar-texture.dat"); 84 Avatar.SetupTemplate("avatar-texture.dat");
82 // MainConsole.Instance.WriteLine("World.cs - Creating script engine instance"); 85
83 // Initialise this only after the world has loaded
84 // Scripts = new ScriptEngine(this);
85 Avatar.LoadAnims(); 86 Avatar.LoadAnims();
86 this.SetDefaultScripts(); 87
87 this.LoadScriptEngines(); 88 //this.SetDefaultScripts();
89 //this.LoadScriptEngines();
88 90
89 91
90 } 92 }
@@ -95,6 +97,9 @@ namespace OpenSim.world
95 } 97 }
96 #endregion 98 #endregion
97 99
100 /// <summary>
101 ///
102 /// </summary>
98 public void StartTimer() 103 public void StartTimer()
99 { 104 {
100 m_heartbeatTimer.Enabled = true; 105 m_heartbeatTimer.Enabled = true;
@@ -102,79 +107,7 @@ namespace OpenSim.world
102 m_heartbeatTimer.Elapsed += new ElapsedEventHandler(this.Heartbeat); 107 m_heartbeatTimer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
103 } 108 }
104 109
105 #region Script Methods 110
106 /// <summary>
107 /// Loads a new script into the specified entity
108 /// </summary>
109 /// <param name="entity">Entity to be scripted</param>
110 /// <param name="script">The script to load</param>
111 public void AddScript(Entity entity, Script script)
112 {
113 try
114 {
115 ScriptHandler scriptHandler = new ScriptHandler(script, entity, this);
116 m_scriptHandlers.Add(scriptHandler.ScriptId, scriptHandler);
117 }
118 catch (Exception e)
119 {
120 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM, "World.cs: AddScript() - Failed with exception " + e.ToString());
121 }
122 }
123
124 /// <summary>
125 /// Loads a new script into the specified entity, using a script loaded from a string.
126 /// </summary>
127 /// <param name="entity">The entity to be scripted</param>
128 /// <param name="scriptData">The string containing the script</param>
129 public void AddScript(Entity entity, string scriptData)
130 {
131 try
132 {
133 int scriptstart = 0;
134 int scriptend = 0;
135 string substring;
136 scriptstart = scriptData.LastIndexOf("<Script>");
137 scriptend = scriptData.LastIndexOf("</Script>");
138 substring = scriptData.Substring(scriptstart + 8, scriptend - scriptstart - 8);
139 substring = substring.Trim();
140 //Console.WriteLine("searching for script to add: " + substring);
141
142 ScriptFactory scriptFactory;
143 //Console.WriteLine("script string is " + substring);
144 if (substring.StartsWith("<ScriptEngine:"))
145 {
146 string substring1 = "";
147 string script = "";
148 // Console.WriteLine("searching for script engine");
149 substring1 = substring.Remove(0, 14);
150 int dev = substring1.IndexOf(',');
151 string sEngine = substring1.Substring(0, dev);
152 substring1 = substring1.Remove(0, dev + 1);
153 int end = substring1.IndexOf('>');
154 string sName = substring1.Substring(0, end);
155 //Console.WriteLine(" script info : " + sEngine + " , " + sName);
156 int startscript = substring.IndexOf('>');
157 script = substring.Remove(0, startscript + 1);
158 // Console.WriteLine("script data is " + script);
159 if (this.scriptEngines.ContainsKey(sEngine))
160 {
161 this.scriptEngines[sEngine].LoadScript(script, sName, entity.localid);
162 }
163 }
164 else if (this.m_scripts.TryGetValue(substring, out scriptFactory))
165 {
166 //Console.WriteLine("added script");
167 this.AddScript(entity, scriptFactory());
168 }
169 }
170 catch (Exception e)
171 {
172 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM, "World.cs: AddScript() - Failed with exception " + e.ToString());
173 }
174 }
175
176 #endregion
177
178 #region Update Methods 111 #region Update Methods
179 112
180 113
@@ -240,6 +173,10 @@ namespace OpenSim.world
240 updateLock.ReleaseMutex(); 173 updateLock.ReleaseMutex();
241 } 174 }
242 175
176 /// <summary>
177 ///
178 /// </summary>
179 /// <returns></returns>
243 public bool Backup() 180 public bool Backup()
244 { 181 {
245 try 182 try
@@ -321,14 +258,6 @@ namespace OpenSim.world
321 } 258 }
322 } 259 }
323 260
324 public void SetDefaultScripts()
325 {
326 this.m_scripts.Add("FollowRandomAvatar", delegate()
327 {
328 return new OpenSim.RegionServer.world.scripting.FollowRandomAvatar();
329 });
330 }
331
332 #endregion 261 #endregion
333 262
334 #region Regenerate Terrain 263 #region Regenerate Terrain
@@ -453,14 +382,6 @@ namespace OpenSim.world
453 382
454 #region Primitives Methods 383 #region Primitives Methods
455 384
456 /// <summary>
457 /// Sends prims to a client
458 /// </summary>
459 /// <param name="RemoteClient">Client to send to</param>
460 public void GetInitialPrims(IClientAPI RemoteClient)
461 {
462
463 }
464 385
465 /// <summary> 386 /// <summary>
466 /// Loads the World's objects 387 /// Loads the World's objects
@@ -487,11 +408,21 @@ namespace OpenSim.world
487 408
488 } 409 }
489 410
411 /// <summary>
412 ///
413 /// </summary>
414 /// <param name="addPacket"></param>
415 /// <param name="agentClient"></param>
490 public void AddNewPrim(Packet addPacket, IClientAPI agentClient) 416 public void AddNewPrim(Packet addPacket, IClientAPI agentClient)
491 { 417 {
492 AddNewPrim((ObjectAddPacket)addPacket, agentClient.AgentId); 418 AddNewPrim((ObjectAddPacket)addPacket, agentClient.AgentId);
493 } 419 }
494 420
421 /// <summary>
422 ///
423 /// </summary>
424 /// <param name="addPacket"></param>
425 /// <param name="ownerID"></param>
495 public void AddNewPrim(ObjectAddPacket addPacket, LLUUID ownerID) 426 public void AddNewPrim(ObjectAddPacket addPacket, LLUUID ownerID)
496 { 427 {
497 428
@@ -501,6 +432,12 @@ namespace OpenSim.world
501 432
502 #region Add/Remove Avatar Methods 433 #region Add/Remove Avatar Methods
503 434
435 /// <summary>
436 ///
437 /// </summary>
438 /// <param name="remoteClient"></param>
439 /// <param name="agentID"></param>
440 /// <param name="child"></param>
504 public override void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) 441 public override void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child)
505 { 442 {
506 remoteClient.OnRegionHandShakeReply += new GenericCall(this.SendLayerData); 443 remoteClient.OnRegionHandShakeReply += new GenericCall(this.SendLayerData);
@@ -552,6 +489,10 @@ namespace OpenSim.world
552 return; 489 return;
553 } 490 }
554 491
492 /// <summary>
493 ///
494 /// </summary>
495 /// <param name="agentID"></param>
555 public override void RemoveAvatar(LLUUID agentID) 496 public override void RemoveAvatar(LLUUID agentID)
556 { 497 {
557 return; 498 return;
@@ -562,6 +503,10 @@ namespace OpenSim.world
562 //The idea is to have a group of method that return a list of avatars meeting some requirement 503 //The idea is to have a group of method that return a list of avatars meeting some requirement
563 // ie it could be all Avatars within a certain range of the calling prim/avatar. 504 // ie it could be all Avatars within a certain range of the calling prim/avatar.
564 505
506 /// <summary>
507 ///
508 /// </summary>
509 /// <returns></returns>
565 public List<Avatar> RequestAvatarList() 510 public List<Avatar> RequestAvatarList()
566 { 511 {
567 List<Avatar> result = new List<Avatar>(); 512 List<Avatar> result = new List<Avatar>();
diff --git a/OpenSim/OpenSim.World/WorldBase.cs b/OpenSim/OpenSim.World/WorldBase.cs
index 4371b6d..19a8fb5 100644
--- a/OpenSim/OpenSim.World/WorldBase.cs
+++ b/OpenSim/OpenSim.World/WorldBase.cs
@@ -49,6 +49,9 @@ namespace OpenSim.world
49 #endregion 49 #endregion
50 50
51 #region Constructors 51 #region Constructors
52 /// <summary>
53 ///
54 /// </summary>
52 public WorldBase() 55 public WorldBase()
53 { 56 {
54 57
@@ -101,11 +104,21 @@ namespace OpenSim.world
101 #endregion 104 #endregion
102 105
103 #region Add/Remove Agent/Avatar 106 #region Add/Remove Agent/Avatar
107 /// <summary>
108 ///
109 /// </summary>
110 /// <param name="remoteClient"></param>
111 /// <param name="agentID"></param>
112 /// <param name="child"></param>
104 public virtual void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) 113 public virtual void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child)
105 { 114 {
106 return ; 115 return ;
107 } 116 }
108 117
118 /// <summary>
119 ///
120 /// </summary>
121 /// <param name="agentID"></param>
109 public virtual void RemoveAvatar(LLUUID agentID) 122 public virtual void RemoveAvatar(LLUUID agentID)
110 { 123 {
111 return ; 124 return ;
@@ -113,6 +126,10 @@ namespace OpenSim.world
113 126
114 #endregion 127 #endregion
115 128
129 /// <summary>
130 ///
131 /// </summary>
132 /// <returns></returns>
116 public virtual RegionInfo GetRegionInfo() 133 public virtual RegionInfo GetRegionInfo()
117 { 134 {
118 return null; 135 return null;
diff --git a/OpenSim/OpenSim.World/types/Mesh.cs b/OpenSim/OpenSim.World/types/Mesh.cs
index 3e00c91..ff0cc65 100644
--- a/OpenSim/OpenSim.World/types/Mesh.cs
+++ b/OpenSim/OpenSim.World/types/Mesh.cs
@@ -9,16 +9,29 @@ namespace OpenSim.types
9 { 9 {
10 public List<Triangle> mesh; 10 public List<Triangle> mesh;
11 11
12 /// <summary>
13 ///
14 /// </summary>
12 public Mesh() 15 public Mesh()
13 { 16 {
14 mesh = new List<Triangle>(); 17 mesh = new List<Triangle>();
15 } 18 }
16 19
20 /// <summary>
21 ///
22 /// </summary>
23 /// <param name="tri"></param>
17 public void AddTri(Triangle tri) 24 public void AddTri(Triangle tri)
18 { 25 {
19 mesh.Add(tri); 26 mesh.Add(tri);
20 } 27 }
21 28
29 /// <summary>
30 ///
31 /// </summary>
32 /// <param name="a"></param>
33 /// <param name="b"></param>
34 /// <returns></returns>
22 public static Mesh operator +(Mesh a, Mesh b) 35 public static Mesh operator +(Mesh a, Mesh b)
23 { 36 {
24 a.mesh.AddRange(b.mesh); 37 a.mesh.AddRange(b.mesh);
diff --git a/OpenSim/OpenSim.World/types/Triangle.cs b/OpenSim/OpenSim.World/types/Triangle.cs
index 8dfea6e..07c0a91 100644
--- a/OpenSim/OpenSim.World/types/Triangle.cs
+++ b/OpenSim/OpenSim.World/types/Triangle.cs
@@ -11,6 +11,9 @@ namespace OpenSim.types
11 Vector3 b; 11 Vector3 b;
12 Vector3 c; 12 Vector3 c;
13 13
14 /// <summary>
15 ///
16 /// </summary>
14 public Triangle() 17 public Triangle()
15 { 18 {
16 a = new Vector3(); 19 a = new Vector3();
@@ -18,6 +21,12 @@ namespace OpenSim.types
18 c = new Vector3(); 21 c = new Vector3();
19 } 22 }
20 23
24 /// <summary>
25 ///
26 /// </summary>
27 /// <param name="A"></param>
28 /// <param name="B"></param>
29 /// <param name="C"></param>
21 public Triangle(Vector3 A, Vector3 B, Vector3 C) 30 public Triangle(Vector3 A, Vector3 B, Vector3 C)
22 { 31 {
23 a = A; 32 a = A;