 +  const float _size[3] = {8.0f, 8.0f, 15.0f};
 +  const float diffuse[4] = {0.5f, 0.5f, 0.5f, 0.5f};
 +  const float texsize[2] = {-4.0f, -4.0f};
-+
++ 
 +  const float flipScale[3] = {1.0f, 1.0f, 1.0f};
 +  const float flipShift[3] = {0.0f, 0.0f, 0.0f};
 +  const float flipShear[3] = {0.0f, 0.0f, 0.0f};
-+
-+
++ 
++ 
 +  xform.addScale(flipScale);
 +  xform.addShift(flipShift);
 +  xform.addShear(flipShear);
-+
++ 
 +  BzMaterial materials[4];
 +  /*
 +  materials[0].setTexture("boxwall");

 "[-fb] "
 "[-filterCallsigns] "
 "[-filterChat] "
@@ -165,6 +166,7 @@
 "\t-disableBots: disallow clients from using autopilot or robots\n"
 "\t+f: always have flag <id> available\n"
 "\t-f: never randomly generate flag <id>\n"

+  materials[3].setTexture("boxwall");
+  materials[4].setTexture("wall");
+  materials[5].setTexture("wall");
+ 
+  const BzMaterial* mats[6];
+ 
+  for (int i=0; i < 6; i++)
+    mats[i] = MATERIALMGR.addMaterial(&materials[i]);
+ 
+  ArcObstacle* arc = new ArcObstacle(xform, pos, _size, 0.0f,360, 1,texsize, true, divisions, mats, -1, false, false, false, true );
+  OBSTACLEMGR.addWorldObstacle(arc);
+}
 
+void WorldInfo::addCone(float x, float y, float z, int divisions)
+{
+  MeshTransform xform;
