 +  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 );
-+
++    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;

+    for (i = 0; i < numArcs; i++) {
+      myWorld->addArc(worldSize * ((float)bzfrand() - 0.5f),
+      worldSize * ((float)bzfrand() - 0.5f), 0.0f, 15, 15, 15, 24);
+
+      myWorld->addArc(worldSize * ((float)bzfrand() - 0.5f),
+      worldSize * ((float)bzfrand() - 0.5f), 0.0f, 15, 15, 15, 3);
+
+      myWorld->addArc(worldSize * ((float)bzfrand() - 0.5f),
+      worldSize * ((float)bzfrand() - 0.5f), 0.0f, 15, 15, 15, 6);
+    }
+
+    // make cones
+	const int numCones = int((0.5f + 0.7f * bzfrand()) * actCitySize * actCitySize);
+	float x,y;
+
+    for (i = 0; i < numCones; i++) {
+	  x = worldSize * ((float)bzfrand() - 0.5f);
+	  y = worldSize * ((float)bzfrand() - 0.5f);
+
+      myWorld->addCone(x,y,0.0f, 16);
+      myWorld->addSphere(x + 20,y,20.0f, 4);
+    }
+
+    // make spheres
+	/*
+	const int numSpheres = int((0.5f + 0.7f * bzfrand()) * actCitySize * actCitySize);
+
+    for (i = 0; i < numSpheres; i++) {
+      myWorld->addSphere(worldSize * ((float)bzfrand() - 0.5f),
+      worldSize * ((float)bzfrand() - 0.5f),9.0f, 4);
+    }*/
+
+  }
+
   if (clOptions->useTeleporters) {

+  materials[2].setTexture("wall");
+  materials[3].setTexture("wall");
+  */
+ 
+  materials[0].setDiffuse(diffuse);
+  materials[1].setDiffuse(diffuse);
+  materials[2].setDiffuse(diffuse);
+  materials[3].setDiffuse(diffuse);
+ 
+  const BzMaterial* mats[4];
+  for (int i=0; i < 4; i++)
+     mats[i] = MATERIALMGR.addMaterial(&materials[i]);
+ 
+  ConeObstacle* cone = new ConeObstacle(xform, pos, _size, 0.0f,360, texsize, true, divisions, mats, -1, true, false, false, true );
+ 
+  OBSTACLEMGR.addWorldObstacle(cone);
+}
+
