Clean up.
This commit is contained in:
parent
8dc44c5069
commit
7ef3d53945
|
@ -2469,6 +2469,8 @@ class ArmoryExporter(bpy.types.Operator, ExportHelper):
|
|||
reflects.append(at.reflect_prop)
|
||||
x['parameters'] = [t.start_track_name_prop, names, starts, ends, speeds, loops, reflects]
|
||||
else: # Script
|
||||
if t.class_name_prop == '': # Empty class name, skip
|
||||
continue
|
||||
x['type'] = 'Script'
|
||||
if t.type_prop == 'Bundled Script':
|
||||
trait_prefix = 'armory.trait.'
|
||||
|
|
|
@ -67,15 +67,14 @@ class ArmoryProjectPanel(bpy.types.Panel):
|
|||
def draw(self, context):
|
||||
layout = self.layout
|
||||
wrd = bpy.data.worlds[0]
|
||||
layout.prop_search(wrd, "ArmProjectScene", bpy.data, "scenes", "Start Scene")
|
||||
layout.prop_search(wrd, "ArmProjectScene", bpy.data, "scenes", "Scene")
|
||||
layout.prop(wrd, 'ArmProjectName')
|
||||
layout.prop(wrd, 'ArmProjectPackage')
|
||||
row = layout.row()
|
||||
row.prop(wrd, 'ArmProjectWidth')
|
||||
row.prop(wrd, 'ArmProjectHeight')
|
||||
layout.prop_search(wrd, "ArmKhafile", bpy.data, "texts", "Khafile")
|
||||
# row = layout.row()
|
||||
layout.prop(wrd, 'ArmProjectWidth')
|
||||
layout.prop(wrd, 'ArmProjectHeight')
|
||||
layout.prop(wrd, 'ArmProjectSamplesPerPixel')
|
||||
layout.prop(wrd, 'ArmPhysics')
|
||||
layout.operator("arm.kode")
|
||||
|
||||
class ArmoryBuildPanel(bpy.types.Panel):
|
||||
bl_label = "Armory Build"
|
||||
|
@ -86,13 +85,14 @@ class ArmoryBuildPanel(bpy.types.Panel):
|
|||
def draw(self, context):
|
||||
layout = self.layout
|
||||
wrd = bpy.data.worlds[0]
|
||||
layout.prop(wrd, 'ArmProjectTarget')
|
||||
layout.operator("arm.build")
|
||||
row = layout.row(align=True)
|
||||
row.alignment = 'EXPAND'
|
||||
row.operator("arm.folder")
|
||||
row.operator("arm.clean")
|
||||
layout.prop_search(wrd, "ArmKhafile", bpy.data, "texts", "Khafile")
|
||||
layout.operator("arm.kode_studio")
|
||||
# row = layout.row(align=True)
|
||||
# row.alignment = 'EXPAND'
|
||||
# row.operator("arm.folder")
|
||||
layout.operator("arm.clean")
|
||||
layout.prop(wrd, 'ArmProjectTarget')
|
||||
layout.prop(wrd, 'ArmPhysics')
|
||||
layout.prop(wrd, 'ArmCacheShaders')
|
||||
layout.prop(wrd, 'ArmMinimize')
|
||||
layout.prop(wrd, 'ArmOptimizeGeometry')
|
||||
|
@ -108,7 +108,10 @@ class ArmoryPlayPanel(bpy.types.Panel):
|
|||
def draw(self, context):
|
||||
layout = self.layout
|
||||
wrd = bpy.data.worlds[0]
|
||||
if play_project.playproc == None and play_project.compileproc == None:
|
||||
layout.operator("arm.play")
|
||||
else:
|
||||
layout.operator("arm.stop")
|
||||
layout.prop(wrd, 'ArmPlayRuntime')
|
||||
layout.prop(wrd, 'ArmPlayViewportCamera')
|
||||
if wrd.ArmPlayViewportCamera:
|
||||
|
@ -464,9 +467,9 @@ class ArmoryFolderButton(bpy.types.Operator):
|
|||
webbrowser.open('file://' + utils.get_fp())
|
||||
return{'FINISHED'}
|
||||
|
||||
class ArmoryKodeButton(bpy.types.Operator):
|
||||
bl_idname = 'arm.kode'
|
||||
bl_label = 'Open in Kode Studio'
|
||||
class ArmoryKodeStudioButton(bpy.types.Operator):
|
||||
bl_idname = 'arm.kode_studio'
|
||||
bl_label = 'Kode Studio'
|
||||
|
||||
def execute(self, context):
|
||||
user_preferences = bpy.context.user_preferences
|
||||
|
@ -481,13 +484,13 @@ class ArmoryKodeButton(bpy.types.Operator):
|
|||
else:
|
||||
kode_path = sdk_path + '/kode_studio/KodeStudio-linux64/kodestudio'
|
||||
|
||||
subprocess.Popen([kode_path, utils.get_fp()], shell=True)
|
||||
subprocess.Popen([kode_path + ' ' + utils.get_fp()], shell=True)
|
||||
|
||||
return{'FINISHED'}
|
||||
|
||||
class ArmoryCleanButton(bpy.types.Operator):
|
||||
bl_idname = 'arm.clean'
|
||||
bl_label = 'Clean Project'
|
||||
bl_label = 'Clean'
|
||||
|
||||
def execute(self, context):
|
||||
clean_project(self)
|
||||
|
|
|
@ -96,7 +96,7 @@ def initProperties():
|
|||
bpy.types.Armature.armature_cached = bpy.props.BoolProperty(name="Armature Cached", default=False)
|
||||
# For camera
|
||||
bpy.types.Camera.frustum_culling = bpy.props.BoolProperty(name="Frustum Culling", default=True)
|
||||
bpy.types.Camera.pipeline_path = bpy.props.StringProperty(name="Pipeline Path", default="deferred_path")
|
||||
bpy.types.Camera.pipeline_path = bpy.props.StringProperty(name="Render Path", default="deferred_path")
|
||||
bpy.types.Camera.pipeline_id = bpy.props.StringProperty(name="Pipeline ID", default="deferred")
|
||||
# TODO: Specify multiple material ids, merge ids from multiple cameras
|
||||
bpy.types.Camera.pipeline_passes = bpy.props.StringProperty(name="Pipeline passes", default="")
|
||||
|
@ -266,10 +266,10 @@ class DataPropsPanel(bpy.types.Panel):
|
|||
layout.prop(obj.data, 'probe_blending')
|
||||
layout.prop(obj.data, 'frustum_culling')
|
||||
layout.prop_search(obj.data, "pipeline_path", bpy.data, "node_groups")
|
||||
layout.operator("cg.reset_pipelines")
|
||||
layout.operator("arm.reimport_paths_menu")
|
||||
elif obj.type == 'MESH' or obj.type == 'FONT':
|
||||
layout.prop(obj.data, 'static_usage')
|
||||
layout.operator("cg.invalidate_cache")
|
||||
layout.operator("arm.invalidate_cache")
|
||||
elif obj.type == 'LAMP':
|
||||
layout.prop(obj.data, 'light_clip_start')
|
||||
layout.prop(obj.data, 'light_clip_end')
|
||||
|
@ -287,16 +287,32 @@ class ScenePropsPanel(bpy.types.Panel):
|
|||
obj = bpy.context.scene
|
||||
layout.prop(obj, 'game_export')
|
||||
|
||||
class OBJECT_OT_RESETPIPELINESButton(bpy.types.Operator):
|
||||
bl_idname = "cg.reset_pipelines"
|
||||
bl_label = "Reset Pipelines"
|
||||
class ReimportPathsMenu(bpy.types.Menu):
|
||||
bl_label = "Confirm"
|
||||
bl_idname = "OBJECT_MT_reimport_paths_menu"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.operator("arm.reimport_paths")
|
||||
|
||||
class ReimportPathsButton(bpy.types.Operator):
|
||||
bl_label = "Reimport Paths"
|
||||
bl_idname = "arm.reimport_paths_menu"
|
||||
|
||||
def execute(self, context):
|
||||
bpy.ops.wm.call_menu(name=ReimportPathsMenu.bl_idname)
|
||||
return {"FINISHED"}
|
||||
|
||||
class OBJECT_OT_REIMPORTPATHSButton(bpy.types.Operator):
|
||||
bl_idname = "arm.reimport_paths"
|
||||
bl_label = "Reimport Paths"
|
||||
|
||||
def execute(self, context):
|
||||
nodes_renderpath.load_library()
|
||||
return{'FINISHED'}
|
||||
|
||||
class OBJECT_OT_INVALIDATECACHEButton(bpy.types.Operator):
|
||||
bl_idname = "cg.invalidate_cache"
|
||||
bl_idname = "arm.invalidate_cache"
|
||||
bl_label = "Invalidate Cache"
|
||||
|
||||
def execute(self, context):
|
||||
|
@ -321,9 +337,6 @@ class MatsPropsPanel(bpy.types.Panel):
|
|||
layout.prop(mat, 'override_shader_context')
|
||||
if mat.override_shader_context:
|
||||
layout.prop(mat, 'override_shader_context_name')
|
||||
layout.prop(mat, 'stencil_mask')
|
||||
layout.prop(mat, 'skip_context')
|
||||
layout.prop(mat, 'overlay')
|
||||
layout.prop(mat, 'override_cull')
|
||||
if mat.override_cull:
|
||||
layout.prop(mat, 'override_cull_mode')
|
||||
|
@ -333,6 +346,9 @@ class MatsPropsPanel(bpy.types.Panel):
|
|||
# layout.prop(mat, 'override_depthwrite')
|
||||
# if mat.override_depthwrite:
|
||||
# layout.prop(mat, 'override_depthwrite_mode')
|
||||
layout.prop(mat, 'overlay')
|
||||
layout.prop(mat, 'stencil_mask')
|
||||
layout.prop(mat, 'skip_context')
|
||||
|
||||
# Menu in world region
|
||||
class WorldPropsPanel(bpy.types.Panel):
|
||||
|
|
|
@ -170,11 +170,16 @@ class ArmoryEditScriptButton(bpy.types.Operator):
|
|||
user_preferences = bpy.context.user_preferences
|
||||
addon_prefs = user_preferences.addons['armory'].preferences
|
||||
sdk_path = addon_prefs.sdk_path
|
||||
kode_path = sdk_path + '/KodeStudio/KodeStudio.app/Contents/MacOS/Electron'
|
||||
if utils.get_os() == 'win':
|
||||
kode_path = sdk_path + '/kode_studio/KodeStudio-win32/Kode Studio.exe'
|
||||
elif utils.get_os() == 'mac':
|
||||
kode_path = '"' + sdk_path + '/kode_studio/Kode Studio.app/Contents/MacOS/Electron"'
|
||||
else:
|
||||
kode_path = sdk_path + '/kode_studio/KodeStudio-linux64/kodestudio'
|
||||
project_path = utils.get_fp()
|
||||
item = context.object.my_traitlist[context.object.traitlist_index]
|
||||
hx_path = project_path + '/Sources/' + bpy.data.worlds[0].ArmProjectPackage + '/' + item.class_name_prop + '.hx'
|
||||
subprocess.call([kode_path + ' ' + utils.get_fp() + ' ' + hx_path + ' &'], shell=True)
|
||||
subprocess.Popen([kode_path + ' ' + utils.get_fp() + ' ' + hx_path], shell=True)
|
||||
return{'FINISHED'}
|
||||
|
||||
class ArmoryNewScriptDialog(bpy.types.Operator):
|
||||
|
|
Loading…
Reference in a new issue