From 0469272b394d226d21ae1290361408d9b2a79489 Mon Sep 17 00:00:00 2001 From: Joe Shochet Date: Thu, 25 Jul 2002 02:36:44 +0000 Subject: [PATCH] phase 3.5 --- direct/src/actor/Actor.py | 7 ++-- .../SpriteParticleRenderer-extensions.py | 2 +- direct/src/leveleditor/LevelEditor.py | 34 ++++++++++++------- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/direct/src/actor/Actor.py b/direct/src/actor/Actor.py index e7f99f734e..4df08beb7b 100644 --- a/direct/src/actor/Actor.py +++ b/direct/src/actor/Actor.py @@ -1160,8 +1160,7 @@ class Actor(PandaObject, NodePath): return None - def loadModel(self, modelPath, partName="modelRoot", lodName="lodRoot", - copy = 1): + def loadModel(self, modelPath, partName="modelRoot", lodName="lodRoot", copy = 1): """loadModel(self, string, string="modelRoot", string="lodRoot", bool = 0) Actor model loader. Takes a model name (ie file path), a part @@ -1179,7 +1178,9 @@ class Actor(PandaObject, NodePath): if (model == None): print "model = None!!!" - + return self.prepareModel(model, partName, lodName) + + def prepareModel(self, model, partName="modelRoot", lodName="lodRoot"): bundle = model.find("**/+PartBundleNode") if (bundle.isEmpty()): Actor.notify.warning("%s is not a character!" % (modelPath)) diff --git a/direct/src/extensions/SpriteParticleRenderer-extensions.py b/direct/src/extensions/SpriteParticleRenderer-extensions.py index 443f4e5f2c..64396e6e0c 100644 --- a/direct/src/extensions/SpriteParticleRenderer-extensions.py +++ b/direct/src/extensions/SpriteParticleRenderer-extensions.py @@ -7,7 +7,7 @@ # Initialize class variable for source file and node for node path textures # Will use instance copy of this in functions below # For now hardcode in a toontown model - sourceFileName = 'phase_5/models/props/suit-particles' + sourceFileName = 'phase_3.5/models/props/suit-particles' sourceNodeName = '**/fire' def getSourceFileName(self): diff --git a/direct/src/leveleditor/LevelEditor.py b/direct/src/leveleditor/LevelEditor.py index 425e66ac0f..8ee222563b 100644 --- a/direct/src/leveleditor/LevelEditor.py +++ b/direct/src/leveleditor/LevelEditor.py @@ -35,7 +35,7 @@ COLOR_TYPES = ['wall_color', 'window_color', 'door_awning_color', 'cornice_color', 'prop_color'] # The list of dna components maintained in the style attribute dictionary -DNA_TYPES = ['wall', 'window', 'sign', 'door', 'cornice', 'toon_landmark', +DNA_TYPES = ['wall', 'window', 'sign', 'door_double', 'door_single', 'cornice', 'toon_landmark', 'prop', 'street'] BUILDING_TYPES = ['10_10', '20', '10_20', '20_10', '10_10_10', '4_21', '3_22', '4_13_8', '3_13_9', '10', @@ -468,7 +468,8 @@ class LevelEditor(NodePath, PandaObject): ('select_baseline_style', self.panel.setSignBaselineStyle), ('select_door_color', self.setDNATargetColor), ('select_door_orientation', self.setDNATargetOrientation), - ('select_door_texture', self.setDNATargetCode, ['door']), + ('select_door_single_texture', self.setDNATargetCode, ['door']), + ('select_door_double_texture', self.setDNATargetCode, ['door']), ('select_door_awning_texture', self.setDNATargetCode, ['door_awning']), ('select_door_awning_color', self.setDNATargetColor), @@ -1506,16 +1507,22 @@ class LevelEditor(NodePath, PandaObject): return newDNACornice 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) if (type == 'landmark_door'): newDNADoor = DNADoor('door') + if not (self.getCurrent('door_double_texture')): + doorStyles = self.styleManager.attributeDictionary['door_double_texture'].getList()[1:] + defaultDoorStyle = whrandom.choice(doorStyles) + self.setCurrent('door_double_texture', defaultDoorStyle) + newDNADoor.setCode(self.getCurrent('door_double_texture')) + newDNADoor.setColor(self.getCurrent('door_color')) elif (type == 'door'): newDNADoor = DNAFlatDoor('door') - newDNADoor.setCode(self.getCurrent('door_texture')) - newDNADoor.setColor(self.getCurrent('door_color')) + if not (self.getCurrent('door_single_texture')): + doorStyles = self.styleManager.attributeDictionary['door_single_texture'].getList()[1:] + defaultDoorStyle = whrandom.choice(doorStyles) + self.setCurrent('door_single_texture', defaultDoorStyle) + newDNADoor.setCode(self.getCurrent('door_single_texture')) + newDNADoor.setColor(self.getCurrent('door_color')) return newDNADoor def createSign(self): @@ -1697,7 +1704,7 @@ class LevelEditor(NodePath, PandaObject): elif direct.gotAlt(modifiers): menuMode = 'door_orientation' else: - menuMode = 'door_texture' + menuMode = 'door_double_texture' else: # Do sign operations if direct.gotControl(modifiers): @@ -1757,7 +1764,7 @@ class LevelEditor(NodePath, PandaObject): elif direct.gotAlt(modifiers): menuMode = 'door_orientation' else: - menuMode = 'door_texture' + menuMode = 'door_single_texture' else: # Do window operations if direct.gotControl(modifiers): @@ -3921,7 +3928,10 @@ class LevelStyleManager: elif (dnaType == 'sign'): attribute.setMenu(self.createDNAPieMenu(dnaType, dnaList, sf = 0.05)) - elif (dnaType == 'door'): + elif (dnaType == 'door_double'): + attribute.setMenu(self.createDNAPieMenu(dnaType, dnaList, + sf = 0.035)) + elif (dnaType == 'door_single'): attribute.setMenu(self.createDNAPieMenu(dnaType, dnaList, sf = 0.035)) elif (dnaType == 'cornice'): @@ -4425,7 +4435,7 @@ class DNAWallStyle: file.write('window_count: %s\n' % self['window_count']) if self['window_awning_texture']: writeAttributes(file, 'window_awning') - if self['door_texture']: + if self['door_single_texture']: writeAttributes(file, 'door') if self['door_awning_texture']: writeAttributes(file, 'door_awning')