All pastes #1851269 Raw Edit

clueless

public text v1 · immutable
#1851269 ·published 2010-03-24 09:14 UTC
rendered paste body
Index: src/client/zonehandler.cpp===================================================================--- src/client/zonehandler.cpp	(revision 5731)+++ src/client/zonehandler.cpp	(working copy)@@ -184,8 +184,11 @@     if (celclient->GetMainPlayer())         oldsector = celclient->GetMainPlayer()->GetSector(); -    if (oldsector && newsector)-        connected = celclient->GetWorld()->Connected(newsector, oldsector);+    if (oldsector && newsector && celclient->GetWorld())+    {+        celclient->GetWorld()->BuildWarpCache(); // we need an up-to-date warp cache here+        connected = celclient->GetWorld()->Connected(oldsector, newsector);+    }      ZoneLoadInfo* zone = FindZone(sectorToLoad);     if (zone == NULL)Index: src/common/engine/psworld.h===================================================================--- src/common/engine/psworld.h	(revision 5731)+++ src/common/engine/psworld.h	(working copy)@@ -97,7 +97,6 @@      csArray<sectorTransformation> transarray; -    void BuildWarpCache(); public:     psWorld();     ~psWorld();@@ -129,6 +128,7 @@     static float Matrix2YRot(const csMatrix3& mat);      void DumpWarpCache();+    void BuildWarpCache(); };  Index: src/common/engine/psworld.cpp===================================================================--- src/common/engine/psworld.cpp	(revision 5731)+++ src/common/engine/psworld.cpp	(working copy)@@ -151,7 +151,7 @@         return true; // No need to transform, pos ok.      int i = engine->GetSectors()->Find((iSector*)from);-    if (i == -1)+    if (i == csArrayItemNotFound)     {         return false; // Didn't find transformation, pos not ok.      }@@ -172,7 +172,7 @@         return true;      int i = engine->GetSectors()->Find((iSector*)from);-    if (i == -1)+    if (i == csArrayItemNotFound)         return false;      csReversibleTransform* transform = transarray[i].Get((iSector*)to);