[Durian-svn] [2269] Lots of fixes...
dolf
institute at blender.org
Wed Apr 21 16:01:52 CEST 2010
Revision: 2269
https://blenderinstitute.dyndns.org/durian-svn/?do=log&project=durian&path=/&rev=2269
Author: dolf
Date: 2010-04-21 16:01:51 +0200 (Wed, 21 Apr 2010)
Log Message:
-----------
Lots of fixes... City props are now fault free... and the script has no more swearing, for cam!
Modified Paths:
--------------
pro/props_city/brick_plaster_blending.blend
pro/props_city/cart_rigged.blend
pro/props_city/ceramics.blend
pro/props_city/ceramics_broken.blend
pro/props_city/city_brickwalls.blend
pro/props_city/city_buildings.blend
pro/props_city/city_buildings_destroyed.blend
pro/props_city/crates.blend
pro/props_city/external/dyrob_city_flag.blend
pro/props_city/external/fry_apple_Rotten_fruits.blend
pro/props_city/external/gustavgoransson_trash_banan.blend
pro/props_city/external/zafio_trash_orange.blend
pro/props_city/fruits.blend
pro/props_city/market_pilar.blend
pro/props_city/market_props.blend
pro/props_city/potteries.blend
pro/props_city/rotten_apple.blend
pro/props_city/rotten_banana.blend
pro/props_city/rotten_orange.blend
pro/scenes/04.1_ziggurat/04.1a.blend
pro/scenes/04.1_ziggurat/04.1b.blend
pro/scenes/04.1_ziggurat/04.1b_comp.blend
pro/scenes/04.1_ziggurat/04.1c_comp.blend
pro/scenes/04.1_ziggurat/04.1d.blend
pro/scenes/04.1_ziggurat/04.1e.blend
pro/scenes/04.1_ziggurat/ziggurat_layout.blend
pro/scripts/ui/object_library_load.py
pro/scripts/utilities/findLibError.py
pro/scripts/utilities/findPathError.py
Modified: pro/props_city/brick_plaster_blending.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/cart_rigged.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/ceramics.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/ceramics_broken.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/city_brickwalls.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/city_buildings.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/city_buildings_destroyed.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/crates.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/external/dyrob_city_flag.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/external/fry_apple_Rotten_fruits.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/external/gustavgoransson_trash_banan.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/external/zafio_trash_orange.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/fruits.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/market_pilar.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/market_props.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/potteries.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/rotten_apple.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/rotten_banana.blend
===================================================================
(Binary files differ)
Modified: pro/props_city/rotten_orange.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/04.1a.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/04.1b.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/04.1b_comp.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/04.1c_comp.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/04.1d.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/04.1e.blend
===================================================================
(Binary files differ)
Modified: pro/scenes/04.1_ziggurat/ziggurat_layout.blend
===================================================================
(Binary files differ)
Modified: pro/scripts/ui/object_library_load.py
===================================================================
--- pro/scripts/ui/object_library_load.py 2010-04-21 14:00:12 UTC (rev 2268)
+++ pro/scripts/ui/object_library_load.py 2010-04-21 14:01:51 UTC (rev 2269)
@@ -126,4 +126,5 @@
bpy.types.VIEW3D_PT_tools_objectmode.remove(menu_func)
# EVIL, set user config here, they wont remember to set themselves
+bpy.context.user_preferences.filepaths.use_relative_paths = True
bpy.context.user_preferences.filepaths.compress_file = False
Modified: pro/scripts/utilities/findLibError.py
===================================================================
--- pro/scripts/utilities/findLibError.py 2010-04-21 14:00:12 UTC (rev 2268)
+++ pro/scripts/utilities/findLibError.py 2010-04-21 14:01:51 UTC (rev 2269)
@@ -16,7 +16,7 @@
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*
- * Contributor(s): Campbell Barton
+ * Contributor(s): Campbell Barton (and Dolf messed around a bit)
*
* ***** END GPL LICENSE BLOCK *****
'''
@@ -38,13 +38,17 @@
# SCENES, chicken run needs cleanup
# CHARS, ENV_CAVE, ENV_CITY, ENV_QUEST, ENV_SNOW, MATTES, PROPS, PROPS_CITY, PROPS_SNOW
+# Checking images
+# 04.1 needs checking... going to props_city, env_city first
-search = '/media/data/durian/pro/sets'
+search = '/media/data/durian/pro/props_city'
+
# blender_bin = '/render/blender_$(whoami)/blender/blender'
blender_cmd = 'LD_LIBRARY_PATH=/shared/software/exr/lib /media/data/blender_guest/blender/blender'
VERBOSE = True
+DEBUG = True
def main():
os.system('find %s -name "*.blend" > %s' % (search, blends))
@@ -72,17 +76,22 @@
pyscript = os.path.join(os.getcwd(), os.path.dirname(__file__) + "findPathError.py")
# Also run a py script
-
cmd = '%s -b %s -P %s 1> %s 2>&1' % (blender_cmd, line, pyscript, tempf)
+
# print(cmd)
os.system(cmd)
#os.system('/render/blender_$(whoami)/blender/blender -b %s')
file_lib = open(tempf, 'r')
+ lines = file_lib.readlines()
+
+ if DEBUG:
+ print("".join(lines))
+
context_lib = None
- for out_line in file_lib.readlines():
- if 0: # out_line.startswith('ERROR PATH: ') or out_line.startswith('ABSOLUTE PATH: ') or out_line.startswith('DUPLICATE PATH: ') or out_line.startswith('PACKED PATH: '): # Py Script makes this one
+ for out_line in lines:
+ if out_line.startswith('ERROR PATH: ') or out_line.startswith('ABSOLUTE PATH: ') or out_line.startswith('DUPLICATE PATH: ') or out_line.startswith('PACKED PATH: '): # Py Script makes this one
context_lib = out_line.strip()
errors.setdefault(line, ({}, []))[1].append(out_line.strip())
error_count += 1
@@ -94,7 +103,7 @@
error_total += error_count
if VERBOSE:
- print 'Loaded', line, str(int( (float(i)/tot) * 100.0 )) + '% done, errors:', error_count
+ print 'Loaded', line, str(int( (float(i)/tot) * 100.0 )) + '% done, errors:', error_count, "\n\n"
print 'error total', error_total
Modified: pro/scripts/utilities/findPathError.py
===================================================================
--- pro/scripts/utilities/findPathError.py 2010-04-21 14:00:12 UTC (rev 2268)
+++ pro/scripts/utilities/findPathError.py 2010-04-21 14:01:51 UTC (rev 2269)
@@ -44,13 +44,62 @@
return False
+def image_duplicates():
+ image_dupes = {}
-def report_images():
+ for i in bpy.data.images:
+ if not i.library:
+ name = i.name
+ if ignore_image(i):
+ continue
+
+ filename = i.filename
+ filename_abs = filename
+ if not filename.startswith('//'):
+ pass
+ else:
+ filename_abs = expandpath(filename)
+
+ # lookup duplicates
+ image_dupes.setdefault(filename_abs, []).append(i)
+ return image_dupes
- image_duplicates = {}
+def merge_duplicates():
+
+ image_dupes = image_duplicates()
+
+ change = 0
+
+ for filename_abs in sorted(image_dupes.keys()):
+ value = image_dupes[filename_abs]
+ base_image = value[0]
+ if len(value) > 1:
+ for i in value[1:]:
+ for tex in bpy.data.textures:
+ if tex.library:
+ continue
+ if tex.type == 'IMAGE':
+ if tex.image == i:
+ tex.image = base_image
+ change = 1
+
+ for me in bpy.data.meshes:
+ if me.library:
+ continue
+
+ for uvlay in me.uv_textures:
+ for tf in uvlay.data:
+ if tf.image == i:
+ tf.image = base_image
+ change = 1
+ return change
+
+
+def report_images():
+
for i in bpy.data.images:
if not i.library:
name = i.name
@@ -70,14 +119,14 @@
if i.packed_file:
print("PACKED PATH:", name, filename, 'ABS:', filename_abs)
- # lookup duplicates
- image_duplicates.setdefault(filename_abs, []).append(name)
+ image_dupes = image_duplicates()
- for filename_abs in sorted(image_duplicates.keys()):
- value = image_duplicates[filename_abs]
+ for filename_abs in sorted(image_dupes.keys()):
+ value = image_dupes[filename_abs]
if len(value) > 1:
- print("DUPLICATE PATH:", filename_abs, 'Datablocks:', ' '.join(value))
+ print("DUPLICATE PATH:", filename_abs, 'Datablocks:', ' '.join([i.name for i in value]))
+
def report_modifiers():
for obj in bpy.data.objects:
@@ -97,9 +146,29 @@
if not exists(filename_abs):
print("ERROR PATH:", obj.name, filename, 'ABS:', filename_abs, "(OBJECT MODIFIER)")
+def relpath(path, start=None):
+ """
+ Returns the path relative to the current blend file using the "//" prefix.
+ :arg start: Relative to this path, when not set the current filename is used.
+ :type start: string
+ """
+ if not path.startswith("//"):
+ if start is None:
+ start = os.path.dirname(bpy.data.filename)
+
+ path = path.replace("/d/", "/media/data/durian/")
+ path = os.path.normpath(path)
+ newpath = os.path.relpath(path, start)
+
+ if newpath != path:
+ path = "//" + os.path.normpath(newpath)
+
+ return path
+
+
def make_relative():
- change = False
@@ Diff output truncated at 10240 characters. @@
More information about the Durian-svn
mailing list