aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Controller.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Controller.cs')
-rw-r--r--Controller.cs75
1 files changed, 43 insertions, 32 deletions
diff --git a/Controller.cs b/Controller.cs
index 0a6fee9..3ace638 100644
--- a/Controller.cs
+++ b/Controller.cs
@@ -58,7 +58,6 @@ namespace OpenSim
58 public Logon _login; 58 public Logon _login;
59 private AgentManager Agent_Manager; 59 private AgentManager Agent_Manager;
60 private PrimManager Prim_Manager; 60 private PrimManager Prim_Manager;
61 // private TextureManager Texture_Manager;
62 private AssetManagement Asset_Manager; 61 private AssetManagement Asset_Manager;
63 private GridManager Grid_Manager; 62 private GridManager Grid_Manager;
64 private InventoryManager Inventory_Manager; 63 private InventoryManager Inventory_Manager;
@@ -72,21 +71,21 @@ namespace OpenSim
72 server = new Server( this ); 71 server = new Server( this );
73 Agent_Manager = new AgentManager( this.server ); 72 Agent_Manager = new AgentManager( this.server );
74 Prim_Manager = new PrimManager( this.server ); 73 Prim_Manager = new PrimManager( this.server );
75 // Texture_Manager = new TextureManager( this.server );
76 Asset_Manager = new AssetManagement( this.server ); 74 Asset_Manager = new AssetManagement( this.server );
77 Prim_Manager.Agent_Manager = Agent_Manager; 75 Prim_Manager.Agent_Manager = Agent_Manager;
78 Agent_Manager.Prim_Manager = Prim_Manager; 76 Agent_Manager.Prim_Manager = Prim_Manager;
79 Agent_Manager.Asset_Manager=Asset_Manager; 77 Agent_Manager.Asset_Manager=Asset_Manager;
80 Inventory_Manager=new InventoryManager(this.server); 78 Inventory_Manager=new InventoryManager(this.server);
81 Asset_Manager.InventoryManager=Inventory_Manager; 79 Asset_Manager.InventoryManager=Inventory_Manager;
82 // Asset_Manager.TextureMan=Texture_Manager;
83 Grid_Manager=new GridManager(this.server,Agent_Manager); 80 Grid_Manager=new GridManager(this.server,Agent_Manager);
81
84 if(Globals.Instance.LoginSever) 82 if(Globals.Instance.LoginSever)
85 { 83 {
86 Console.WriteLine("Starting login Server"); 84 Console.WriteLine("Starting login Server");
87 Login_Manager = new LoginManager(_login); // startup 85 Login_Manager = new LoginManager(_login); // startup
88 Login_Manager.Startup(); // login server 86 Login_Manager.Startup(); // login server
89 } 87 }
88
90 timer1.Enabled = true; 89 timer1.Enabled = true;
91 timer1.Interval = 200; 90 timer1.Interval = 200;
92 timer1.Elapsed +=new ElapsedEventHandler( this.Timer1Tick ); 91 timer1.Elapsed +=new ElapsedEventHandler( this.Timer1Tick );
@@ -103,7 +102,7 @@ namespace OpenSim
103 102
104 //should replace with a switch 103 //should replace with a switch
105 if( pack.Type == PacketType.AgentSetAppearance ) { 104 if( pack.Type == PacketType.AgentSetAppearance ) {
106 // System.Console.WriteLine(pack); 105 //System.Console.WriteLine(pack);
107 //this.richTextBox1.Text=this.richTextBox1.Text+"\n "+pack.Type; 106 //this.richTextBox1.Text=this.richTextBox1.Text+"\n "+pack.Type;
108 107
109 } 108 }
@@ -142,11 +141,8 @@ namespace OpenSim
142 } 141 }
143 else if( pack.Type == PacketType.TransferRequest ) { 142 else if( pack.Type == PacketType.TransferRequest ) {
144 TransferRequestPacket tran = (TransferRequestPacket)pack; 143 TransferRequestPacket tran = (TransferRequestPacket)pack;
145 LLUUID id = new LLUUID( tran.TransferInfo.Params, 0 ); 144 LLUUID id = new LLUUID( tran.TransferInfo.Params, 0 );
146 145 Asset_Manager.AddAssetRequest( User_info, id, tran );
147 // if( ( id == new LLUUID( "66c41e39-38f9-f75a-024e-585989bfab73" ) ) || ( id == new LLUUID( "e0ee49b5a4184df8d3c9a65361fe7f49" ) ) ) {
148 Asset_Manager.AddAssetRequest( User_info, id, tran );
149 // }
150 146
151 } 147 }
152 else if( ( pack.Type == PacketType.StartPingCheck ) ) { 148 else if( ( pack.Type == PacketType.StartPingCheck ) ) {
@@ -156,23 +152,26 @@ namespace OpenSim
156 endping.PingID.PingID = startp.PingID.PingID; 152 endping.PingID.PingID = startp.PingID.PingID;
157 server.SendPacket( endping, true, User_info ); 153 server.SendPacket( endping, true, User_info );
158 } 154 }
159 else if( pack.Type == PacketType.CompleteAgentMovement ) { 155 else if( pack.Type == PacketType.CompleteAgentMovement )
156 {
160 // new client 157 // new client
161 Agent_Manager.AgentJoin( User_info ); 158 Agent_Manager.AgentJoin( User_info );
162 } 159 }
163 else if( pack.Type == PacketType.RequestImage ) { 160 else if( pack.Type == PacketType.RequestImage )
161 {
164 RequestImagePacket image_req = (RequestImagePacket)pack; 162 RequestImagePacket image_req = (RequestImagePacket)pack;
165 for( int i = 0; i < image_req.RequestImage.Length; i++ ) { 163 for( int i = 0; i < image_req.RequestImage.Length; i++ )
164 {
166 this.Asset_Manager.AddTextureRequest( User_info, image_req.RequestImage[ i ].Image ); 165 this.Asset_Manager.AddTextureRequest( User_info, image_req.RequestImage[ i ].Image );
167
168 } 166 }
169 } 167 }
170 else if( pack.Type == PacketType.RegionHandshakeReply ) { 168 else if( pack.Type == PacketType.RegionHandshakeReply ) {
171 //recieved regionhandshake so can now start sending info 169 //recieved regionhandshake so can now start sending info
172 Agent_Manager.SendInitialData( User_info ); 170 Agent_Manager.SendInitialData( User_info );
173 //this.setuptemplates("objectupate164.dat",User_info,false); 171 //this.setuptemplates("objectupate164.dat",User_info,false);
174 } 172 }
175 else if( pack.Type == PacketType.ObjectAdd ) { 173 else if( pack.Type == PacketType.ObjectAdd )
174 {
176 ObjectAddPacket ad = (ObjectAddPacket)pack; 175 ObjectAddPacket ad = (ObjectAddPacket)pack;
177 Prim_Manager.CreatePrim( User_info, ad.ObjectData.RayEnd, ad ); 176 Prim_Manager.CreatePrim( User_info, ad.ObjectData.RayEnd, ad );
178 //this.send_prim(User_info,ad.ObjectData.RayEnd, ad); 177 //this.send_prim(User_info,ad.ObjectData.RayEnd, ad);
@@ -184,7 +183,8 @@ namespace OpenSim
184 //System.Console.WriteLine(pack.ToString()); 183 //System.Console.WriteLine(pack.ToString());
185 MultipleObjectUpdatePacket mupd = (MultipleObjectUpdatePacket)pack; 184 MultipleObjectUpdatePacket mupd = (MultipleObjectUpdatePacket)pack;
186 185
187 for( int i = 0; i < mupd.ObjectData.Length; i++ ) { 186 for( int i = 0; i < mupd.ObjectData.Length; i++ )
187 {
188 if( mupd.ObjectData[ i ].Type == 9 ) //change position 188 if( mupd.ObjectData[ i ].Type == 9 ) //change position
189 { 189 {
190 libsecondlife.LLVector3 pos = new LLVector3( mupd.ObjectData[ i ].Data, 0 ); 190 libsecondlife.LLVector3 pos = new LLVector3( mupd.ObjectData[ i ].Data, 0 );
@@ -203,19 +203,23 @@ namespace OpenSim
203 } 203 }
204 } 204 }
205 } 205 }
206 else if( pack.Type == PacketType.AgentWearablesRequest ) { 206 else if( pack.Type == PacketType.AgentWearablesRequest )
207 {
207 Agent_Manager.SendIntialAvatarAppearance( User_info ); 208 Agent_Manager.SendIntialAvatarAppearance( User_info );
208 } 209 }
209
210 else if( pack.Type == PacketType.AgentUpdate ) 210 else if( pack.Type == PacketType.AgentUpdate )
211 { 211 {
212 AgentUpdatePacket ag = (AgentUpdatePacket)pack; 212 AgentUpdatePacket ag = (AgentUpdatePacket)pack;
213 uint mask = ag.AgentData.ControlFlags & ( 1 ); 213 uint mask = ag.AgentData.ControlFlags & ( 1 );
214 AvatarData m_av = Agent_Manager.GetAgent( User_info.AgentID ); 214 AvatarData m_av = Agent_Manager.GetAgent( User_info.AgentID );
215 if( m_av != null ) { 215 if( m_av != null )
216 if( m_av.Started ) { 216 {
217 if( mask == ( 1 ) ) { 217 if( m_av.Started )
218 if( !m_av.Walk ) { 218 {
219 if( mask == ( 1 ) )
220 {
221 if( !m_av.Walk )
222 {
219 //start walking 223 //start walking
220 Agent_Manager.SendMoveCommand( User_info, false, m_av.Position.X, m_av.Position.Y, m_av.Position.Z, 0, ag.AgentData.BodyRotation ); 224 Agent_Manager.SendMoveCommand( User_info, false, m_av.Position.X, m_av.Position.Y, m_av.Position.Z, 0, ag.AgentData.BodyRotation );
221 Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3( 1, 0, 0 ); 225 Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3( 1, 0, 0 );
@@ -230,8 +234,10 @@ namespace OpenSim
230 m_av.Walk = true; 234 m_av.Walk = true;
231 } 235 }
232 } 236 }
233 else { 237 else
234 if( m_av.Walk ) { 238 {
239 if( m_av.Walk )
240 {
235 //walking but key not pressed so need to stop 241 //walking but key not pressed so need to stop
236 Agent_Manager.SendMoveCommand( User_info, true, m_av.Position.X, m_av.Position.Y, m_av.Position.Z, 0, ag.AgentData.BodyRotation ); 242 Agent_Manager.SendMoveCommand( User_info, true, m_av.Position.X, m_av.Position.Y, m_av.Position.Z, 0, ag.AgentData.BodyRotation );
237 m_av.Walk = false; 243 m_av.Walk = false;
@@ -243,7 +249,8 @@ namespace OpenSim
243 } 249 }
244 } 250 }
245 } 251 }
246 else if( pack.Type == PacketType.ChatFromViewer ) { 252 else if( pack.Type == PacketType.ChatFromViewer )
253 {
247 ChatFromViewerPacket chat = (ChatFromViewerPacket)pack; 254 ChatFromViewerPacket chat = (ChatFromViewerPacket)pack;
248 System.Text.Encoding enc = System.Text.Encoding.ASCII; 255 System.Text.Encoding enc = System.Text.Encoding.ASCII;
249 256
@@ -256,21 +263,25 @@ namespace OpenSim
256 263
257 line = myString; 264 line = myString;
258 comp = line.Split( delimiter ); 265 comp = line.Split( delimiter );
259 if( comp[ 0 ] == "pos" ) { 266 if( comp[ 0 ] == "pos" )
267 {
260 } 268 }
261 else if( comp[ 0 ] == "veloc" ) { 269 else if( comp[ 0 ] == "veloc" )
270 {
262 } 271 }
263 else { 272 else
273 {
264 Agent_Manager.SendChatMessage( User_info, line ); 274 Agent_Manager.SendChatMessage( User_info, line );
265 275
266 } 276 }
267 } 277 }
268 } 278 }
269 } 279 }
270 public void NewUserCallback( User_Agent_info UserInfo ) { 280 public void NewUserCallback( User_Agent_info UserInfo )
281 {
271 Console.WriteLine( "new user - {0} - has joined [session {1}]", UserInfo.AgentID.ToString(), UserInfo.SessionID.ToString() +"curcuit used"+UserInfo.circuitCode); 282 Console.WriteLine( "new user - {0} - has joined [session {1}]", UserInfo.AgentID.ToString(), UserInfo.SessionID.ToString() +"curcuit used"+UserInfo.circuitCode);
272 string first,last; 283 string first,last;
273 LLUUID Base,Inventory; 284 LLUUID Base,Inventory;
274 lock(_login) 285 lock(_login)
275 { 286 {
276 first=_login.first; 287 first=_login.first;