mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
level editor uses CVS directories
This commit is contained in:
parent
0821c7c48a
commit
e766a6bb62
@ -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 = []
|
||||
|
Loading…
x
Reference in New Issue
Block a user