All pastes #1852020 Raw Edit

clueless

public text v1 · immutable
#1852020 ·published 2010-03-25 00:44 UTC
rendered paste body
Index: src/common/bgloader/loader.cpp===================================================================--- src/common/bgloader/loader.cpp	(revision 5731)+++ src/common/bgloader/loader.cpp	(working copy)@@ -206,7 +206,7 @@     if(!force)     {         // Check if we've moved.-        if(csVector3(lastPos - pos).Norm() < loadRange/10)+        if(csVector3(lastPos - pos).Norm() < loadRange/10 && lastSector->name == sectorName)         {             return;         }@@ -581,19 +581,9 @@                 csBox3 wwUnloadBox = unloadBox;                 if(sector->activePortals[i]->warp)                 {-                    csVector3& transform = sector->activePortals[i]->transform;-                    wwLoadBox.SetMin(0, wwLoadBox.MinX()-transform.x);-                    wwLoadBox.SetMin(1, wwLoadBox.MinY()-transform.y);-                    wwLoadBox.SetMin(2, wwLoadBox.MinZ()-transform.z);-                    wwLoadBox.SetMax(0, wwLoadBox.MaxX()-transform.x);-                    wwLoadBox.SetMax(1, wwLoadBox.MaxY()-transform.y);-                    wwLoadBox.SetMax(2, wwLoadBox.MaxZ()-transform.z);-                    wwUnloadBox.SetMin(0, wwUnloadBox.MinX()-transform.x);-                    wwUnloadBox.SetMin(1, wwUnloadBox.MinY()-transform.y);-                    wwUnloadBox.SetMin(2, wwUnloadBox.MinZ()-transform.z);-                    wwUnloadBox.SetMax(0, wwUnloadBox.MaxX()-transform.x);-                    wwUnloadBox.SetMax(1, wwUnloadBox.MaxY()-transform.y);-                    wwUnloadBox.SetMax(2, wwUnloadBox.MaxZ()-transform.z);+                    csTransform t(sector->activePortals[i]->matrix.GetInverse(), sector->activePortals[i]->transform);+                    wwLoadBox = t.Other2This(wwLoadBox);+                    wwUnloadBox = t.Other2This(wwUnloadBox);                 }                  LoadSector(wwLoadBox, wwUnloadBox, sector->activePortals[i]->targetSector, depth+1, false, loadMeshes);@@ -709,20 +699,11 @@                 csBox3 wwUnloadBox = unloadBox;                 if(sector->portals[i]->warp)                 {-                    csVector3& transform = sector->portals[i]->transform;-                    wwLoadBox.SetMin(0, wwLoadBox.MinX()-transform.x);-                    wwLoadBox.SetMin(1, wwLoadBox.MinY()-transform.y);-                    wwLoadBox.SetMin(2, wwLoadBox.MinZ()-transform.z);-                    wwLoadBox.SetMax(0, wwLoadBox.MaxX()-transform.x);-                    wwLoadBox.SetMax(1, wwLoadBox.MaxY()-transform.y);-                    wwLoadBox.SetMax(2, wwLoadBox.MaxZ()-transform.z);-                    wwUnloadBox.SetMin(0, wwUnloadBox.MinX()-transform.x);-                    wwUnloadBox.SetMin(1, wwUnloadBox.MinY()-transform.y);-                    wwUnloadBox.SetMin(2, wwUnloadBox.MinZ()-transform.z);-                    wwUnloadBox.SetMax(0, wwUnloadBox.MaxX()-transform.x);-                    wwUnloadBox.SetMax(1, wwUnloadBox.MaxY()-transform.y);-                    wwUnloadBox.SetMax(2, wwUnloadBox.MaxZ()-transform.z);+                    csTransform t(sector->portals[i]->matrix.GetInverse(), sector->portals[i]->transform);+                    wwLoadBox = t.Other2This(wwLoadBox);+                    wwUnloadBox = t.Other2This(wwUnloadBox);                 }+                 LoadSector(wwLoadBox, wwUnloadBox, sector->portals[i]->targetSector, depth+1, false, loadMeshes);             } @@ -761,20 +742,11 @@                 csBox3 wwUnloadBox = unloadBox;                 if(sector->portals[i]->warp)                 {-                    csVector3& transform = sector->portals[i]->transform;-                    wwLoadBox.SetMin(0, wwLoadBox.MinX()-transform.x);-                    wwLoadBox.SetMin(1, wwLoadBox.MinY()-transform.y);-                    wwLoadBox.SetMin(2, wwLoadBox.MinZ()-transform.z);-                    wwLoadBox.SetMax(0, wwLoadBox.MaxX()-transform.x);-                    wwLoadBox.SetMax(1, wwLoadBox.MaxY()-transform.y);-                    wwLoadBox.SetMax(2, wwLoadBox.MaxZ()-transform.z);-                    wwUnloadBox.SetMin(0, wwUnloadBox.MinX()-transform.x);-                    wwUnloadBox.SetMin(1, wwUnloadBox.MinY()-transform.y);-                    wwUnloadBox.SetMin(2, wwUnloadBox.MinZ()-transform.z);-                    wwUnloadBox.SetMax(0, wwUnloadBox.MaxX()-transform.x);-                    wwUnloadBox.SetMax(1, wwUnloadBox.MaxY()-transform.y);-                    wwUnloadBox.SetMax(2, wwUnloadBox.MaxZ()-transform.z);+                    csTransform t(sector->portals[i]->matrix.GetInverse(), sector->portals[i]->transform);+                    wwLoadBox = t.Other2This(wwLoadBox);+                    wwUnloadBox = t.Other2This(wwUnloadBox);                 }+                 LoadSector(wwLoadBox, wwUnloadBox, sector->portals[i]->targetSector, depth+1, false, loadMeshes);             }