flagflag  
1: 2009-08-31 (Mon) 17:53:53 iseki source Cur: 2009-08-31 (Mon) 18:16:43 iseki source
Line 1: Line 1:
-*** [#nd8db2af+*** SIMの境界で,座標な不正になった場合に,強制的に ''emergencyPos'' [すなわち(128,128,128)] へ移動させられる件 [#v18a1226] 
-          // Fumi.Iseki +- OpenSim/Region/Framework/Scenes/ScenePre​sence.cs 
-            if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) { +- MakeRootAgent() 
-                m_log.WarnFormat("[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.", pos, Name, UUID);+ if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) { 
 +     m_log.WarnFormat("[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.", pos, Name, UUID); 
 +  
 +     if (pos.X < 0) pos.X = 0; 
 +     else if (pos.X >= (int)Constants.RegionSize) pos.X = (int)Constants.RegionSize - 1; 
 +     if (pos.Y < 0) pos.Y = 0; 
 +     else if (pos.Y >= (int)Constants.RegionSize) pos.Y = (int)Constants.RegionSize - 1; 
 +     if (pos.Z < 0) pos.Z = 0; 
 + } 
 + /* 
 + if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) 
 + 
 +    Vector3 emergencyPos = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128); 
 +  
 +     m_log.WarnFormat( 
 +         "[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", 
 +         pos, Name, UUID, emergencyPos); 
 +  
 +     pos = emergencyPos; 
 + } 
 + */
-               if (pos.X < 0) pos.X = 0; 
-               else if (pos.X >= (int)Constants.RegionSize) pos.X = (int)Constants.RegionSize - 1; 
-               if (pos.Y < 0) pos.Y = 0; 
-               else if (pos.Y >= (int)Constants.RegionSize) pos.Y = (int)Constants.RegionSize - 1; 
-               if (pos.Z < 0) pos.Z = 0; 
-           } 
-/* 
-           if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) 
-           { 
-               Vector3 emergencyPos = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128); 
-                m_log.WarnFormat( +*** 上記の様に変更した場合,CrossToNewRegion() でエラーが出る場合があるので修正する. [#j48d41ec] 
-                    "[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", +- OpenSim/Region/Framework/Scenes/ScenePre​sence.cs 
-                    pos, Name, UUID, emergencyPos); +- CrossToNewRegion() 
- + /// <summary> 
-                pos = emergencyPos+ /// Moves the agent outside the region bounds 
-            } + /// Tells neighbor region that we're crossing to it 
-*/ [#cf17a76c]+ /// If the neighbor accepts, remove the agent's viewable avatar from this scene 
 + /// set them to a child agent
 + /// </summary> 
 + protected void CrossToNewRegion() 
 + { 
 +     // Fumi.Iseki 
 +    if (m_scene==null || m_physicsActor==null) return
 +     InTransit(); 
 +    m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying)
 + }


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

85 user(s) are online (20 user(s) are browsing xpwiki)

Members: 0
Guests: 85

more...

Access Counter

Today : 5834583458345834
Yesterday : 1265612656126561265612656
Total : 2353126523531265235312652353126523531265235312652353126523531265
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com