From b46d0ca15f2d8a9eba4283829b450f13188d392e Mon Sep 17 00:00:00 2001 From: Lubos Lenco Date: Mon, 20 Mar 2017 20:07:25 +0100 Subject: [PATCH] Safe project name --- blender/arm/exporter.py | 5 +++++ blender/arm/make.py | 2 +- blender/arm/props.py | 2 +- blender/arm/write_data.py | 2 +- issue_template.md | 3 +-- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/blender/arm/exporter.py b/blender/arm/exporter.py index 7763f41a..b670fc61 100755 --- a/blender/arm/exporter.py +++ b/blender/arm/exporter.py @@ -1461,6 +1461,7 @@ class ArmoryExporter: boneIndexArray = [] boneWeightArray = [] + warn_bones = False mesh_vertex_array = bobject.data.vertices for ev in export_vertex_array: boneCount = 0 @@ -1474,6 +1475,7 @@ class ArmoryExporter: boneIndexArray.append(boneIndex) boneWeightArray.append(boneWeight) if boneCount == 4: # Four bones max - TODO: take biggest weights + warn_bones = True break boneCountArray.append(boneCount) @@ -1482,6 +1484,9 @@ class ArmoryExporter: for i in range(-boneCount, 0): boneWeightArray[i] *= normalizer + if warn_bones: + log.warn(bobject.name + ' - more than 4 bones influence single vertex') + # Write the bone count array. There is one entry per vertex. oskin['bone_count_array'] = boneCountArray diff --git a/blender/arm/make.py b/blender/arm/make.py index 62e876b2..ffc1f188 100755 --- a/blender/arm/make.py +++ b/blender/arm/make.py @@ -406,7 +406,7 @@ def on_compiled(mode): # build, play, play_viewport, publish elif target_name == 'windows': print('VisualStudio 2015 project files are located in ' + files_path + '-build') elif target_name == 'android-native': - print('Android Studio project files are located in ' + files_path + '-build/' + wrd.arm_project_name) + print('Android Studio project files are located in ' + files_path + '-build/' + arm.utils.safefilename(wrd.arm_project_name)) else: print('Makefiles are located in ' + files_path + '-build') return diff --git a/blender/arm/props.py b/blender/arm/props.py index 9f004f5d..3da80a53 100755 --- a/blender/arm/props.py +++ b/blender/arm/props.py @@ -559,7 +559,7 @@ def init_properties_on_load(): wrd = bpy.data.worlds['Arm'] # Outdated project - if wrd.arm_version != arm_version: + if bpy.data.filepath != '' and wrd.arm_version != arm_version: # Call on project load only print('Project updated to sdk v' + arm_version) wrd.arm_version = arm_version arm.make.clean_project() diff --git a/blender/arm/write_data.py b/blender/arm/write_data.py index 73034f41..e6838e9b 100755 --- a/blender/arm/write_data.py +++ b/blender/arm/write_data.py @@ -22,7 +22,7 @@ def write_khafilejs(is_play, export_physics, export_navigation, dce_full=False): with open('khafile.js', 'w') as f: f.write( """// Auto-generated -let project = new Project('""" + wrd.arm_project_name + """'); +let project = new Project('""" + arm.utils.safefilename(wrd.arm_project_name) + """'); project.addSources('Sources'); """) diff --git a/issue_template.md b/issue_template.md index 5ec84e3f..cf2ab51d 100644 --- a/issue_template.md +++ b/issue_template.md @@ -1,4 +1,3 @@ ---- -optional - drag & drop .blend file here +*(optional - drag & drop zipped .blend file here)*