mat/lamp/world.textures -> texture_slots
object.materials -> material_slots since neither contain textures or materials directly.
This commit is contained in:
@@ -460,7 +460,7 @@ class _3ds_chunk(object):
|
|||||||
def get_material_images(material):
|
def get_material_images(material):
|
||||||
# blender utility func.
|
# blender utility func.
|
||||||
if material:
|
if material:
|
||||||
return [s.texture.image for s in material.textures if s and s.texture.type == 'IMAGE' and s.texture.image]
|
return [s.texture.image for s in material.texture_slots if s and s.texture.type == 'IMAGE' and s.texture.image]
|
||||||
|
|
||||||
return []
|
return []
|
||||||
# images = []
|
# images = []
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ def write_mtl(scene, filename, copy_images):
|
|||||||
# file.write('map_Kd %s\n' % img.filename.split('\\')[-1].split('/')[-1]) # Diffuse mapping image
|
# file.write('map_Kd %s\n' % img.filename.split('\\')[-1].split('/')[-1]) # Diffuse mapping image
|
||||||
|
|
||||||
elif mat: # No face image. if we havea material search for MTex image.
|
elif mat: # No face image. if we havea material search for MTex image.
|
||||||
for mtex in mat.textures:
|
for mtex in mat.texture_slots:
|
||||||
if mtex and mtex.texture.type == 'IMAGE':
|
if mtex and mtex.texture.type == 'IMAGE':
|
||||||
try:
|
try:
|
||||||
filename = copy_image(mtex.texture.image)
|
filename = copy_image(mtex.texture.image)
|
||||||
@@ -176,7 +176,7 @@ def copy_images(dest_dir):
|
|||||||
|
|
||||||
# Get MTex images
|
# Get MTex images
|
||||||
if mat:
|
if mat:
|
||||||
for mtex in mat.textures:
|
for mtex in mat.texture_slots:
|
||||||
if mtex and mtex.texture.type == 'IMAGE':
|
if mtex and mtex.texture.type == 'IMAGE':
|
||||||
image_tex = mtex.texture.image
|
image_tex = mtex.texture.image
|
||||||
if image_tex:
|
if image_tex:
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel):
|
|||||||
if ob:
|
if ob:
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
|
|
||||||
row.template_list(ob, "materials", ob, "active_material_index", rows=2)
|
row.template_list(ob, "material_slots", ob, "active_material_index", rows=2)
|
||||||
|
|
||||||
col = row.column(align=True)
|
col = row.column(align=True)
|
||||||
col.operator("object.material_slot_add", icon='ZOOMIN', text="")
|
col.operator("object.material_slot_add", icon='ZOOMIN', text="")
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel):
|
|||||||
if tex_collection:
|
if tex_collection:
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
|
|
||||||
row.template_list(idblock, "textures", idblock, "active_texture_index", rows=2)
|
row.template_list(idblock, "texture_slots", idblock, "active_texture_index", rows=2)
|
||||||
|
|
||||||
col = row.column(align=True)
|
col = row.column(align=True)
|
||||||
col.operator("texture.slot_move", text="", icon='TRIA_UP').type = 'UP'
|
col.operator("texture.slot_move", text="", icon='TRIA_UP').type = 'UP'
|
||||||
|
|||||||
@@ -1749,7 +1749,7 @@ void rna_def_mtex_common(StructRNA *srna, const char *begin, const char *activeg
|
|||||||
PropertyRNA *prop;
|
PropertyRNA *prop;
|
||||||
|
|
||||||
/* mtex */
|
/* mtex */
|
||||||
prop= RNA_def_property(srna, "textures", PROP_COLLECTION, PROP_NONE);
|
prop= RNA_def_property(srna, "texture_slots", PROP_COLLECTION, PROP_NONE);
|
||||||
RNA_def_property_struct_type(prop, structname);
|
RNA_def_property_struct_type(prop, structname);
|
||||||
RNA_def_property_collection_funcs(prop, begin, "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_dereference_get", 0, 0, 0);
|
RNA_def_property_collection_funcs(prop, begin, "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_dereference_get", 0, 0, 0);
|
||||||
RNA_def_property_ui_text(prop, "Textures", "Texture slots defining the mapping and influence of textures.");
|
RNA_def_property_ui_text(prop, "Textures", "Texture slots defining the mapping and influence of textures.");
|
||||||
|
|||||||
@@ -1522,11 +1522,11 @@ static void rna_def_object(BlenderRNA *brna)
|
|||||||
RNA_def_property_ui_text(prop, "Proxy Group", "Library group duplicator object this proxy object controls.");
|
RNA_def_property_ui_text(prop, "Proxy Group", "Library group duplicator object this proxy object controls.");
|
||||||
|
|
||||||
/* materials */
|
/* materials */
|
||||||
prop= RNA_def_property(srna, "materials", PROP_COLLECTION, PROP_NONE);
|
prop= RNA_def_property(srna, "material_slots", PROP_COLLECTION, PROP_NONE);
|
||||||
RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol");
|
RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol");
|
||||||
RNA_def_property_struct_type(prop, "MaterialSlot");
|
RNA_def_property_struct_type(prop, "MaterialSlot");
|
||||||
RNA_def_property_collection_funcs(prop, NULL, NULL, NULL, "rna_iterator_array_get", 0, 0, 0); /* don't dereference pointer! */
|
RNA_def_property_collection_funcs(prop, NULL, NULL, NULL, "rna_iterator_array_get", 0, 0, 0); /* don't dereference pointer! */
|
||||||
RNA_def_property_ui_text(prop, "Materials", "Material slots in the object.");
|
RNA_def_property_ui_text(prop, "Material Slots", "Material slots in the object.");
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "active_material", PROP_POINTER, PROP_NONE);
|
prop= RNA_def_property(srna, "active_material", PROP_POINTER, PROP_NONE);
|
||||||
RNA_def_property_struct_type(prop, "Material");
|
RNA_def_property_struct_type(prop, "Material");
|
||||||
|
|||||||
@@ -195,22 +195,22 @@ char *rna_TextureSlot_path(PointerRNA *ptr)
|
|||||||
|
|
||||||
/* find the 'textures' property of the ID-struct */
|
/* find the 'textures' property of the ID-struct */
|
||||||
RNA_id_pointer_create(ptr->id.data, &id_ptr);
|
RNA_id_pointer_create(ptr->id.data, &id_ptr);
|
||||||
prop= RNA_struct_find_property(&id_ptr, "textures");
|
prop= RNA_struct_find_property(&id_ptr, "texture_slots");
|
||||||
|
|
||||||
/* get an iterator for this property, and try to find the relevant index */
|
/* get an iterator for this property, and try to find the relevant index */
|
||||||
if (prop) {
|
if (prop) {
|
||||||
int index= RNA_property_collection_lookup_index(&id_ptr, prop, ptr);
|
int index= RNA_property_collection_lookup_index(&id_ptr, prop, ptr);
|
||||||
|
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
return BLI_sprintfN("textures[%d]", index);
|
return BLI_sprintfN("texture_slots[%d]", index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* this is a compromise for the remaining cases... */
|
/* this is a compromise for the remaining cases... */
|
||||||
if (mtex->tex)
|
if (mtex->tex)
|
||||||
return BLI_sprintfN("textures[\"%s\"]", mtex->tex->id.name+2);
|
return BLI_sprintfN("texture_slots[\"%s\"]", mtex->tex->id.name+2);
|
||||||
else
|
else
|
||||||
return BLI_strdup("textures[0]");
|
return BLI_strdup("texture_slots[0]");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rna_TextureSlot_name_length(PointerRNA *ptr)
|
static int rna_TextureSlot_name_length(PointerRNA *ptr)
|
||||||
|
|||||||
Reference in New Issue
Block a user