rendered paste bodyIndex: 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);+ csReversibleTransform t(sector->activePortals[i]->matrix, sector->activePortals[i]->transform);+ t.This2Other(wwLoadBox);+ t.This2Other(wwUnloadBox); } LoadSector(wwLoadBox, wwUnloadBox, sector->activePortals[i]->targetSector, depth+1, false, loadMeshes);@@ -709,19 +699,9 @@ 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);+ csReversibleTransform t(sector->portals[i]->matrix, sector->portals[i]->transform);+ t.This2Other(wwLoadBox);+ t.This2Other(wwUnloadBox); } LoadSector(wwLoadBox, wwUnloadBox, sector->portals[i]->targetSector, depth+1, false, loadMeshes); }@@ -761,19 +741,9 @@ 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);+ csReversibleTransform t(sector->portals[i]->matrix, sector->portals[i]->transform);+ t.This2Other(wwLoadBox);+ t.This2Other(wwUnloadBox); } LoadSector(wwLoadBox, wwUnloadBox, sector->portals[i]->targetSector, depth+1, false, loadMeshes); }