Browse Source

fixed black-screen problem with new level specs

Darren Ranalli 22 years ago
parent
commit
f96290f66e
1 changed files with 6 additions and 1 deletions
  1. 6 1
      direct/src/level/DistributedLevel.py

+ 6 - 1
direct/src/level/DistributedLevel.py

@@ -435,6 +435,7 @@ class DistributedLevel(DistributedObject.DistributedObject,
         self.curZoneNum = None
         self.curZoneNum = None
 
 
         self.visChangedThisFrame = 0
         self.visChangedThisFrame = 0
+        self.sentFirstSetZone = 0
 
 
         # listen for camera-ray/floor collision events
         # listen for camera-ray/floor collision events
         def handleCameraRayFloorCollision(collEntry, self=self):
         def handleCameraRayFloorCollision(collEntry, self=self):
@@ -611,8 +612,12 @@ class DistributedLevel(DistributedObject.DistributedObject,
                 for rz in removedZoneNums:
                 for rz in removedZoneNums:
                     self.hideZone(rz)
                     self.hideZone(rz)
 
 
-        if vizZonesChanged:
+        # it's important for us to send a setZone request on the first
+        # frame, whether or not the visibility is different from what
+        # we already have
+        if vizZonesChanged or not self.sentFirstSetZone:
             self.setVisibility(visibleZoneNums.keys())
             self.setVisibility(visibleZoneNums.keys())
+            self.sentFirstSetZone = 1
 
 
         self.curZoneNum = zoneNum
         self.curZoneNum = zoneNum
         self.curVisibleZoneNums = visibleZoneNums
         self.curVisibleZoneNums = visibleZoneNums