level editor uses CVS directories

This commit is contained in:
David Rose 2002-06-26 17:39:37 +00:00
parent 0821c7c48a
commit e766a6bb62

View File

@ -21,6 +21,12 @@ import __builtin__
visualizeZones = base.config.GetBool("visualize-zones", 0)
# Temporary try..except for old Pandas.
try:
dnaDirectory = Filename.expandFrom(base.config.GetString("dna-directory", "$TTMODELS/src/dna"))
except:
dnaDirectory = Filename.fromOsSpecific(base.config.GetString("dna-directory", "/"))
# Colors used by all color menus
DEFAULT_COLORS = [
Vec4(1,1,1,1),
@ -2360,9 +2366,7 @@ class LevelEditor(NodePath, PandaObject):
# STYLE/DNA FILE FUNCTIONS
def loadSpecifiedDNAFile(self):
f = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/DNAFiles')
path = os.path.join(f.toOsSpecific(), self.outputDir)
path = dnaDirectory.toOsSpecific()
if not os.path.isdir(path):
print 'LevelEditor Warning: Invalid default DNA directory!'
print 'Using current directory'
@ -2377,9 +2381,7 @@ class LevelEditor(NodePath, PandaObject):
self.loadDNAFromFile(dnaFilename)
def saveToSpecifiedDNAFile(self):
f = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/DNAFiles')
path = os.path.join(f.toOsSpecific(), self.outputDir)
path = dnaDirectory.toOsSpecific()
if not os.path.isdir(path):
print 'LevelEditor Warning: Invalid DNA save directory!'
print 'Using current directory'
@ -2433,9 +2435,7 @@ class LevelEditor(NodePath, PandaObject):
self.panel.sceneGraphExplorer.update()
def outputDNADefaultFile(self):
f = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/DNAFiles')
file = os.path.join(f.toOsSpecific(), self.outputDir, self.outputFile)
file = os.path.join(dnaDirectory.toOsSpecific(), self.outputFile)
self.outputDNA(file)
def outputDNA(self,filename):
@ -2467,10 +2467,9 @@ class LevelEditor(NodePath, PandaObject):
return
# Valid type, add color to file
filename = self.neighborhood + '_colors.txt'
fname = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/StyleFiles/' +
filename)
f = open(fname.toOsSpecific(), 'a')
fname = Filename(dnaDirectory.getFullpath() +
'/stylefiles/' + filename)
f = open(fname.toOsSpecific(), 'ab')
f.write('%s Vec4(%.2f, %.2f, %.2f, 1.0)\n' %
(tag,
color[0]/255.0,
@ -2478,37 +2477,34 @@ class LevelEditor(NodePath, PandaObject):
color[2]/255.0))
f.close()
def saveStyle(self, filename, style):
# A generic routine to append a new style definition to one of
# the style files.
fname = Filename(dnaDirectory.getFullpath() +
'/stylefiles/' + filename)
# We use binary mode to avoid Windows' end-of-line convention
f = open(fname.toOsSpecific(), 'ab')
# Add a blank line
f.write('\n')
# Now output style details to file
style.output(f)
# Close the file
f.close()
def saveBaselineStyle(self):
if self.panel.currentBaselineDNA:
# Valid baseline, add style to file
filename = self.neighborhood + '_baseline_styles.txt'
fname = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/StyleFiles/' +
filename)
f = open(fname.toOsSpecific(), 'a')
# Add a blank line
f.write('\n')
# Now output style details to file
style = DNABaselineStyle(baseline = self.panel.currentBaselineDNA)
style.output(f)
# Close the file
f.close()
style = DNABaselineStyle(self.panel.currentBaselineDNA)
self.saveStyle(filename, style)
def saveWallStyle(self):
if self.lastWall:
# Valid wall, add style to file
filename = self.neighborhood + '_wall_styles.txt'
fname = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/StyleFiles/' +
filename)
f = open(fname.toOsSpecific(), 'a')
# Add a blank line
f.write('\n')
# Now output style details to file
style = DNAWallStyle(wall = self.lastWall)
style.output(f)
# Close the file
f.close()
style = DNAWallStyle(self.lastWall)
self.saveStyle(filename, style)
def saveBuildingStyle(self):
dnaObject = self.selectedDNARoot
@ -2516,17 +2512,8 @@ class LevelEditor(NodePath, PandaObject):
if DNAClassEqual(dnaObject, DNA_FLAT_BUILDING):
# Valid wall, add style to file
filename = self.neighborhood + '_building_styles.txt'
fname = Filename(self.styleManager.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/StyleFiles/' +
filename)
f = open(fname.toOsSpecific(), 'a')
# Add a blank line
f.write('\n')
# Now output style details to file
style = DNAFlatBuildingStyle(building = dnaObject)
style.output(f)
# Close the file
f.close()
style = DNAFlatBuildingStyle(dnaObject)
self.saveStyle(filename, style)
return
print 'Must select building before saving building style'
@ -3168,8 +3155,6 @@ class LevelEditor(NodePath, PandaObject):
class LevelStyleManager:
"""Class which reads in style files and manages class variables"""
def __init__(self):
# Used to locate the alpha mount on windows (i.e. on what drive)
self.stylePathPrefix = base.config.GetString('style-path-prefix', '')
# The main dictionary holding all attribute objects
self.attributeDictionary = {}
# Create the style samples
@ -4009,10 +3994,11 @@ class LevelStyleManager:
Open the specified file and strip out unwanted whitespace and
empty lines. Return file as list, one file line per element.
"""
fname = Filename(self.stylePathPrefix +
'/alpha/DIRECT/LevelEditor/StyleFiles/' +
filename)
f = open(fname.toOsSpecific(), 'r')
fname = Filename(dnaDirectory.getFullpath() +
'/stylefiles/' + filename)
# We use binary mode to avoid Windows' end-of-line convention
f = open(fname.toOsSpecific(), 'rb')
rawData = f.readlines()
f.close()
styleData = []