def handleWheelCameraSpeed( self, mz ): # look at the rotator for changing the camera speed c = WorldEditor.camera() currentValue = WorldEditor.getOptionString( "camera/speed" ) speeds = ["Slow", "Medium", "Fast", "SuperFast"] iSpeed = 0 if currentValue == speeds[1]: iSpeed = 1 elif currentValue == speeds[2]: iSpeed = 2 elif currentValue == speeds[3]: iSpeed = 3 if mz > 0: iSpeed = iSpeed + 1 if iSpeed > 3: iSpeed = 3 elif mz < 0: iSpeed = iSpeed - 1 if iSpeed < 0: iSpeed = 0 value = speeds[iSpeed] handled = 0 if value != currentValue: c = WorldEditor.camera() WorldEditor.setOptionString( "camera/speed", value ) c.speed = WorldEditor.getOptionFloat( "camera/speed/" + value ) c.turboSpeed = WorldEditor.getOptionFloat( "camera/speed/" + value + "/turbo" ) handled = 1 WorldEditor.addCommentaryMsg( "New camera speed %s" % value, 1 ) return handled
def setObjectTab( self, tabName ): if self.tabName != "": # store the current selection currentFilter = WorldEditor.getOptionString( "tools/selectFilter" ) prevSectionName = "object/" + self.tabName + "/selectFilter" WorldEditor.setOptionString( prevSectionName, currentFilter ) self.tabName = tabName currSectionName = "object/" + self.tabName + "/selectFilter" return WorldEditor.getOptionString( currSectionName )
def doSuperFastCamera(item): WorldEditor.setOptionString("camera/speed", "SuperFast") updateCamera()
def doMediumCamera(item): WorldEditor.setOptionString("camera/speed", "Medium") updateCamera()
def doSlowCamera(item): WorldEditor.setOptionString("camera/speed", "Slow") updateCamera()
def setBrowsePath( self, name ): print "setBrowsePath", name WorldEditor.setOptionString( "itemEditor/browsePath", name )
def ualSelectFilterChange( value ): if( WorldEditor.getOptionString( "tools/selectFilter" ) != value ): WorldEditor.addCommentaryMsg( "Selection Filter: %s" % value ) WorldEditor.setOptionString( "tools/selectFilter", value ) setSelectionFilter( value )
def ownKeyEvent( self, key, modifiers ): if key == KEY_B: if (modifiers & MODIFIER_CTRL) == 0: curr = WorldEditor.getOptionInt( "drawBSP" ) curr = ( curr + 1 ) % 2 WorldEditor.setOptionInt( "drawBSP", curr ) self.showBSPMsg( curr ) elif key == KEY_M: curr = WorldEditor.getOptionInt( "dragOnSelect" ) curr = ( curr + 1 ) % 2 WorldEditor.setOptionInt( "dragOnSelect", curr ) self.dragOnSelectMsg( curr ) elif key == KEY_F8: curr = WorldEditor.getOptionString( "tools/coordFilter" ) if curr == "World": curr = "Local" elif curr == "Local": curr = "View" elif curr == "View": curr = "World" WorldEditor.setOptionString( "tools/coordFilter", curr ) WorldEditor.addCommentaryMsg( "Reference Coordinate System: %s" % curr ) elif key == KEY_L: if modifiers & MODIFIER_CTRL: curr = WorldEditor.getOptionInt( "render/lighting" ) curr = ( curr + 1 ) % 3 WorldEditor.setOptionInt( "render/lighting", curr ) self.lightingModeMsg( curr ) elif key == KEY_G: curr = WorldEditor.getOptionInt( "snaps/xyzEnabled" ) curr = ( curr + 1 )% 2 WorldEditor.setOptionInt( "snaps/xyzEnabled", curr ) self.objectSnapMsg( curr ) elif key == KEY_1 and not modifiers: WorldEditor.setToolMode( "Objects" ) elif key == KEY_2 and not modifiers: WorldEditor.setToolMode( "TerrainTexture" ) elif key == KEY_3 and not modifiers: WorldEditor.setToolMode( "TerrainHeight" ) elif key == KEY_4 and not modifiers: WorldEditor.setToolMode( "TerrainFilter" ) elif key == KEY_5 and not modifiers: WorldEditor.setToolMode( "TerrainMesh" ) elif key == KEY_6 and not modifiers: WorldEditor.setToolMode( "TerrainImpExp" ) elif key == KEY_7 and not modifiers: WorldEditor.setToolMode( "Project" ) t = WorldEditor.tool() sizeSection = '' strengthSection = '' minSizeSection = '' maxSizeSection = '' minStrengthSection = '' maxStrengthSection = '' if t == self.alphaTool: sizeSection = 'terrain/texture/size' minSizeSection = 'terrain/texture/minsizelimit' maxSizeSection = 'terrain/texture/maxsizelimit' strengthSection = 'terrain/texture/strength' minStrengthSection = 'terrain/texture/minstrengthlimit' maxStrengthSection = 'terrain/texture/maxstrengthlimit' elif t == self.heightTool: sizeSection = 'terrain/height/size' minSizeSection = 'terrain/height/minsizelimit' maxSizeSection = 'terrain/height/maxsizelimit' strengthSection = 'terrain/height/strength' minStrengthSection = 'terrain/height/minstrengthlimit' maxStrengthSection = 'terrain/height/maxstrengthlimit' elif t == self.filterTool: sizeSection = 'terrain/filter/size' minSizeSection = 'terrain/filter/minsizelimit' maxSizeSection = 'terrain/filter/maxsizelimit' elif t == self.holeTool: sizeSection = 'terrain/cutRepair/size' minSizeSection = 'terrain/cutRepair/minsizelimit' maxSizeSection = 'terrain/cutRepair/maxsizelimit' if sizeSection: size = WorldEditor.getOptionFloat( sizeSection ) minSize = WorldEditor.getOptionFloat( minSizeSection ) maxSize = WorldEditor.getOptionFloat( maxSizeSection ) if key == KEY_RBRACKET: if not ( modifiers & MODIFIER_SHIFT ): size = size * 1.25 + 1 if size > maxSize: size = maxSize t.size = size WorldEditor.setOptionFloat( sizeSection, size ) WorldEditor.addCommentaryMsg( "Tool size %0.1f" % size ) elif key == KEY_LBRACKET: if not ( modifiers & MODIFIER_SHIFT ): size = size * 0.8 - 1 if size < minSize: size = minSize t.size = size WorldEditor.setOptionFloat( sizeSection, size ) WorldEditor.addCommentaryMsg( "Tool size %0.1f" % size ) if strengthSection: strength = WorldEditor.getOptionFloat( strengthSection ) minStrength = WorldEditor.getOptionFloat( minStrengthSection ) maxStrength = WorldEditor.getOptionFloat( maxStrengthSection ) if key == KEY_RBRACKET and strength >= 0 or key == KEY_LBRACKET and strength < 0: if modifiers & MODIFIER_SHIFT: if strength >= 0: strength = strength * 1.25 + 1 else: strength = strength * 1.25 - 1 if strength > maxStrength: strength = maxStrength t.strength = strength WorldEditor.setOptionFloat( strengthSection, strength ) WorldEditor.addCommentaryMsg( "Tool strength %0.1f" % strength ) elif key == KEY_LBRACKET and strength >= 0 or key == KEY_RBRACKET and strength < 0: if modifiers & MODIFIER_SHIFT: if strength >= 0: strength = strength * 0.8 - 1 else: strength = strength * 0.8 + 1 if strength < minStrength: strength = minStrength t.strength = strength WorldEditor.setOptionFloat( strengthSection, strength ) WorldEditor.addCommentaryMsg( "Tool strength %0.1f" % strength )
def ualSelectFilterChange(value): if (WorldEditor.getOptionString("tools/selectFilter") != value): WorldEditor.addCommentaryMsg("Selection Filter: %s" % value) WorldEditor.setOptionString("tools/selectFilter", value) setSelectionFilter(value)
def cmbCoordFilterChange( value ): WorldEditor.addCommentaryMsg( "Reference Coordinate System: %s" % value ) WorldEditor.setOptionString( "tools/coordFilter", value )
def cmbCoordFilterChange(value): WorldEditor.addCommentaryMsg("Reference Coordinate System: %s" % value) WorldEditor.setOptionString("tools/coordFilter", value)
def doSuperFastCamera( item ): WorldEditor.setOptionString( "camera/speed", "SuperFast" ); updateCamera()
def doMediumCamera( item ): WorldEditor.setOptionString( "camera/speed", "Medium" ); updateCamera()
def doSlowCamera( item ): WorldEditor.setOptionString( "camera/speed", "Slow" ); updateCamera()
def ownKeyEvent( self, key, modifiers ): t = WorldEditor.tool() handled = 1 if key == KEY_RBRACKET: if modifiers & MODIFIER_SHIFT: t.strength = t.strength * 1.25 WorldEditor.addCommentaryMsg( "Tool strength %0.1f" % t.strength, 0 ) else: t.size = t.size * 1.25 WorldEditor.addCommentaryMsg( "Tool size %0.1f" % t.size, 0 ) elif key == KEY_LBRACKET: if modifiers & MODIFIER_SHIFT: t.strength = t.strength * 0.8 WorldEditor.addCommentaryMsg( "Tool strength %0.1f" % t.strength, 0 ) else: t.size = t.size * 0.8 WorldEditor.addCommentaryMsg( "Tool size %0.1f" % t.size, 0 ) elif key == KEY_F6: scv = WorldEditor.getOptionString( "tools/showChunkVisualisation" ) if scv == "true": self.alphatool.delView( self.chunkvis ) WorldEditor.setOptionString( "tools/showChunkVisualisation", "false" ) else: self.alphatool.addView( self.chunkvis ) WorldEditor.setOptionString( "tools/showChunkVisualisation", "true" ) elif key == KEY_F8: WorldEditor.save() elif key == KEY_F9: if not t.applying: if t == self.alphatool: if t.functor == self.alphafunc: t.functor = self.heightfunc self.guiview.visible = 0 WorldEditor.addCommentaryMsg( "Entering height filter mode. Press LMB to apply", 0 ) else: t.functor = self.alphafunc WorldEditor.pushTool( self.ecotool ) WorldEditor.addCommentaryMsg( "Entering ecotype mode. Press Enter to apply", 0 ) elif t == self.ecotool: WorldEditor.popTool() WorldEditor.pushTool( self.objtool ) WorldEditor.addCommentaryMsg( "Entering objt manipln mode. Use LMB to select", 0 ) else: WorldEditor.popTool() self.guiview.visible = 1 WorldEditor.addCommentaryMsg( "Entering alpha mode. Press LMB to apply", 0 ) elif key == KEY_Z: if not t.applying and (modifiers & MODIFIER_CONTROL): if not (modifiers & MODIFIER_SHIFT): what = WorldEditor.undo(0) if what: WorldEditor.addCommentaryMsg( "Undoing: " + what, 1 ) WorldEditor.undo() else: what = WorldEditor.redo(0) if what: WorldEditor.addCommentaryMsg( "Redoing: " + what, 1 ) WorldEditor.redo() elif key == KEY_I and (modifiers & MODIFIER_CONTROL): self.objInfo.browseUp() self.objInfo.showBrowse() elif key == KEY_K and (modifiers & MODIFIER_CONTROL): self.objInfo.browseDown() self.objInfo.showBrowse() elif key == KEY_J and (modifiers & MODIFIER_CONTROL): self.objInfo.browseLeft() self.objInfo.showBrowse() elif key == KEY_L and (modifiers & MODIFIER_CONTROL): self.objInfo.browseRight() self.objInfo.showBrowse() else: handled = 0 return handled