*** empty log message ***
This commit is contained in:
parent
7eea241bdb
commit
d80d57919a
|
|
@ -237,6 +237,7 @@ except NameError:
|
|||
# Precompute class types for type comparisons
|
||||
DNA_CORNICE = DNACornice.getClassType()
|
||||
DNA_DOOR = DNADoor.getClassType()
|
||||
DNA_FLAT_DOOR = DNAFlatDoor.getClassType()
|
||||
DNA_FLAT_BUILDING = DNAFlatBuilding.getClassType()
|
||||
DNA_NODE = DNANode.getClassType()
|
||||
DNA_GROUP = DNAGroup.getClassType()
|
||||
|
|
@ -1460,7 +1461,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
newDNALandmarkBuilding.setCode(landmarkType)
|
||||
newDNALandmarkBuilding.setPos(VBase3(0))
|
||||
newDNALandmarkBuilding.setHpr(VBase3(0))
|
||||
newDNADoor = self.createDoor()
|
||||
newDNADoor = self.createDoor('landmark_door')
|
||||
newDNALandmarkBuilding.add(newDNADoor)
|
||||
# Now place new landmark building in the world
|
||||
self.initDNANode(newDNALandmarkBuilding)
|
||||
|
|
@ -1498,12 +1499,15 @@ class LevelEditor(NodePath, PandaObject):
|
|||
newDNACornice.setColor(self.getCurrent('cornice_color'))
|
||||
return newDNACornice
|
||||
|
||||
def createDoor(self):
|
||||
def createDoor(self, type):
|
||||
if not (self.getCurrent('door_texture')):
|
||||
doorStyles = self.styleManager.attributeDictionary['door_texture'].getList()[:-1]
|
||||
defaultDoorStyle = doorStyles[randint(0, len(doorStyles) - 1)]
|
||||
self.setCurrent('door_texture', defaultDoorStyle)
|
||||
newDNADoor = DNADoor('door')
|
||||
if (type == 'landmark_door'):
|
||||
newDNADoor = DNADoor('door')
|
||||
elif (type == 'door'):
|
||||
newDNADoor = DNAFlatDoor('door')
|
||||
newDNADoor.setCode(self.getCurrent('door_texture'))
|
||||
newDNADoor.setColor(self.getCurrent('door_color'))
|
||||
return newDNADoor
|
||||
|
|
@ -1562,7 +1566,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
|
||||
def removeDoor(self, door, parent):
|
||||
self.setCurrent('door_color', door.getColor())
|
||||
DNARemoveChildOfClass(parent, DNA_DOOR)
|
||||
DNARemoveChildOfClass(parent, DNA_FLAT_DOOR)
|
||||
|
||||
def removeWindows(self, windows, parent):
|
||||
# And record number of windows
|
||||
|
|
@ -1601,7 +1605,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
self.DNATarget = wall
|
||||
self.DNATargetParent = dnaObject
|
||||
elif string.find(menuMode,'door') >= 0:
|
||||
self.DNATarget = DNAGetChildOfClass(wall, DNA_DOOR)
|
||||
self.DNATarget = DNAGetChildOfClass(wall, DNA_FLAT_DOOR)
|
||||
self.DNATargetParent = wall
|
||||
elif string.find(menuMode, 'window') >= 0:
|
||||
self.DNATarget = DNAGetChildOfClass(wall, DNA_WINDOWS)
|
||||
|
|
@ -1753,8 +1757,6 @@ class LevelEditor(NodePath, PandaObject):
|
|||
menuMode = 'door_orientation'
|
||||
else:
|
||||
menuMode = 'door_texture'
|
||||
# MRM: Temp for now
|
||||
menuMode = 'window_texture'
|
||||
else:
|
||||
# Do window operations
|
||||
if direct.fControl:
|
||||
|
|
@ -1776,6 +1778,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
if ((objClass.eq(DNA_WALL)) or
|
||||
(objClass.eq(DNA_WINDOWS)) or
|
||||
(objClass.eq(DNA_DOOR)) or
|
||||
(objClass.eq(DNA_FLAT_DOOR)) or
|
||||
(objClass.eq(DNA_CORNICE)) or
|
||||
(objClass.eq(DNA_PROP))
|
||||
):
|
||||
|
|
@ -1813,9 +1816,9 @@ class LevelEditor(NodePath, PandaObject):
|
|||
elif (type == 'sign'):
|
||||
self.DNATarget = self.createSign()
|
||||
elif (type == 'landmark_door'):
|
||||
self.DNATarget = self.createDoor()
|
||||
self.DNATarget = self.createDoor('landmark_door')
|
||||
elif (type == 'door'):
|
||||
self.DNATarget = self.createDoor()
|
||||
self.DNATarget = self.createDoor('door')
|
||||
elif (type == 'windows'):
|
||||
# Make sure window_count n.e. 0
|
||||
if self.getCurrent('window_count') == 0:
|
||||
|
|
@ -1881,6 +1884,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
if ((objClass.eq(DNA_WALL)) or
|
||||
(objClass.eq(DNA_WINDOWS)) or
|
||||
(objClass.eq(DNA_DOOR)) or
|
||||
(objClass.eq(DNA_FLAT_DOOR)) or
|
||||
(objClass.eq(DNA_CORNICE)) or
|
||||
(objClass.eq(DNA_PROP)) or
|
||||
(objClass.eq(DNA_SIGN)) or
|
||||
|
|
@ -2458,6 +2462,8 @@ class LevelEditor(NodePath, PandaObject):
|
|||
tag = 'window_color:'
|
||||
elif classType.eq(DNA_DOOR):
|
||||
tag = 'door_color:'
|
||||
elif classType.eq(DNA_FLAT_DOOR):
|
||||
tag = 'door_color:'
|
||||
elif classType.eq(DNA_CORNICE):
|
||||
tag = 'cornice_color:'
|
||||
elif classType.eq(DNA_PROP):
|
||||
|
|
@ -2718,7 +2724,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
marker.setColor(0,0,1)
|
||||
marker.setScale(0.5)
|
||||
elif (type == DNASuitPoint.SIDEDOORPOINT):
|
||||
marker.setColor(0,0.2,0.4)
|
||||
marker.setColor(0,0.6,0.2)
|
||||
marker.setScale(0.5)
|
||||
# Highlight if necessary
|
||||
if suitPoint in self.visitedPoints:
|
||||
|
|
@ -2747,6 +2753,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
# Make a new dna edge
|
||||
if DNAClassEqual(self.DNAParent, DNA_VIS_GROUP):
|
||||
zoneId = self.DNAParent.getName()
|
||||
|
||||
suitEdge = DNASuitEdge(
|
||||
self.startSuitPoint, self.endSuitPoint, zoneId)
|
||||
DNASTORE.storeSuitEdge(suitEdge)
|
||||
|
|
@ -2763,7 +2770,28 @@ class LevelEditor(NodePath, PandaObject):
|
|||
self.point2edgeDict[point].append(suitEdge)
|
||||
else:
|
||||
self.point2edgeDict[point] = [suitEdge]
|
||||
|
||||
|
||||
# If this is a building point, you need edges in both directions
|
||||
# so just make the other edge automatically
|
||||
if ((self.startSuitPoint.getPointType() == DNASuitPoint.FRONTDOORPOINT)
|
||||
or (self.startSuitPoint.getPointType() == DNASuitPoint.SIDEDOORPOINT)):
|
||||
|
||||
suitEdge = DNASuitEdge(
|
||||
self.endSuitPoint, self.startSuitPoint, zoneId)
|
||||
DNASTORE.storeSuitEdge(suitEdge)
|
||||
# Add edge to the current vis group so it can be written out
|
||||
self.DNAParent.addSuitEdge(suitEdge)
|
||||
# Draw a line to represent the edge
|
||||
edgeLine = self.drawSuitEdge(suitEdge, self.NPParent)
|
||||
# Store the line in a dict so we can hide/show them
|
||||
self.edgeDict[suitEdge] = edgeLine
|
||||
|
||||
for point in [self.startSuitPoint, self.endSuitPoint]:
|
||||
if self.point2edgeDict.has_key(point):
|
||||
self.point2edgeDict[point].append(suitEdge)
|
||||
else:
|
||||
self.point2edgeDict[point] = [suitEdge]
|
||||
|
||||
print 'Added dnaSuitEdge to zone: ' + zoneId
|
||||
else:
|
||||
print 'Error: DNAParent is not a dnaVisGroup. Did not add edge'
|
||||
|
|
@ -2822,7 +2850,7 @@ class LevelEditor(NodePath, PandaObject):
|
|||
elif (type == DNASuitPoint.FRONTDOORPOINT):
|
||||
marker.setColor(0,0,1)
|
||||
elif (type == DNASuitPoint.SIDEDOORPOINT):
|
||||
marker.setColor(0,0.2,0.4)
|
||||
marker.setColor(0,0.6,0.2)
|
||||
for edge in self.edgeDict.values():
|
||||
edge.clearColor()
|
||||
self.visitedPoints = []
|
||||
|
|
@ -3014,6 +3042,9 @@ class LevelEditor(NodePath, PandaObject):
|
|||
block=block[2:block.find(':')]
|
||||
print ("associate point with building: " + str(block))
|
||||
self.selectedSuitPoint.setLandmarkBuildingIndex(int(block))
|
||||
marker = self.pointDict[self.selectedSuitPoint]
|
||||
marker.setColor(1,0,0,1)
|
||||
marker.setScale(1.0)
|
||||
|
||||
def findHighestLandmarkBlock(self, dnaRoot, npRoot):
|
||||
npc=npRoot.findAllMatches("**/*:toon_landmark_*")
|
||||
|
|
@ -3111,7 +3142,8 @@ class LevelEditor(NodePath, PandaObject):
|
|||
|
||||
# Get the suit point for this lb
|
||||
for point, marker in self.pointDict.items():
|
||||
if (point.getPointType() == DNASuitPoint.FRONTDOORPOINT):
|
||||
if ((point.getPointType() == DNASuitPoint.FRONTDOORPOINT)
|
||||
or (point.getPointType() == DNASuitPoint.SIDEDOORPOINT)):
|
||||
lbIndex = point.getLandmarkBuildingIndex()
|
||||
if (lbIndex == int(block)):
|
||||
marker.setColor(1,0,0,1)
|
||||
|
|
@ -3129,6 +3161,9 @@ class LevelEditor(NodePath, PandaObject):
|
|||
if (point.getPointType() == DNASuitPoint.FRONTDOORPOINT):
|
||||
marker.setColor(0,0,1,1)
|
||||
marker.setScale(0.5)
|
||||
elif (point.getPointType() == DNASuitPoint.SIDEDOORPOINT):
|
||||
marker.setColor(0,0.6,0.2,1)
|
||||
marker.setScale(0.5)
|
||||
self.showLandmarkBlockToggleGroup=None
|
||||
|
||||
def pdbBreak(self):
|
||||
|
|
@ -3670,7 +3705,7 @@ class LevelStyleManager:
|
|||
windows.add(awning)
|
||||
# Add a door if necessary
|
||||
if style['door_texture']:
|
||||
door = DNADoor()
|
||||
door = DNAFlatDoor()
|
||||
# Set the door's attributes
|
||||
door.setCode(style['door_texture'])
|
||||
door.setColor(style['door_color'])
|
||||
|
|
@ -3715,7 +3750,11 @@ class LevelStyleManager:
|
|||
color = child.getColor()
|
||||
print ('door_color: Vec4(%.3f, %.3f, %.3f, 1.0)' %
|
||||
(color[0], color[1], color[2]))
|
||||
# MRM: Check for awnings here
|
||||
elif DNAClassEqual(child, DNA_FLAT_DOOR):
|
||||
print 'door_texture: ' + child.getCode()
|
||||
color = child.getColor()
|
||||
print ('door_color: Vec4(%.3f, %.3f, %.3f, 1.0)' %
|
||||
(color[0], color[1], color[2]))
|
||||
elif DNAClassEqual(child, DNA_CORNICE):
|
||||
print 'cornice_texture: ' + child.getCode()
|
||||
color = child.getColor()
|
||||
|
|
@ -4325,6 +4364,9 @@ class DNAWallStyle:
|
|||
elif DNAClassEqual(child, DNA_DOOR):
|
||||
self.door_texture = child.getCode()
|
||||
self.door_color = child.getColor()
|
||||
elif DNAClassEqual(child, DNA_FLAT_DOOR):
|
||||
self.door_texture = child.getCode()
|
||||
self.door_color = child.getColor()
|
||||
# MRM: Check for awnings here
|
||||
elif DNAClassEqual(child, DNA_CORNICE):
|
||||
self.cornice_texture = child.getCode()
|
||||
|
|
@ -5454,6 +5496,7 @@ class LevelEditorPanel(Pmw.MegaToplevel):
|
|||
if ((objClass.eq(DNA_WALL)) or
|
||||
(objClass.eq(DNA_WINDOWS)) or
|
||||
(objClass.eq(DNA_DOOR)) or
|
||||
(objClass.eq(DNA_FLAT_DOOR)) or
|
||||
(objClass.eq(DNA_CORNICE)) or
|
||||
(objClass.eq(DNA_PROP)) or
|
||||
(objClass.eq(DNA_SIGN)) or
|
||||
|
|
|
|||
Loading…
Reference in New Issue