Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-08-25 05:20:50 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-08-25 05:20:50 +0400
commitc09ed7769715932df9294ab38e7a03de4fcdf471 (patch)
tree3010ec7d1e10d37e98b51433462a2f4c7622f34d
parent6b45d94c9965daecda970322548c550b7f2ef3c0 (diff)
bugfix/aviodance for [#23488] bpy.types.Texture.type donĀ“t update the parameters of texture
bpy.data.textures.new() now has a type argument since changing the type after forces the hacky use of recast_type().
-rw-r--r--release/scripts/io/import_scene_3ds.py9
-rw-r--r--release/scripts/io/import_scene_obj.py11
-rw-r--r--source/blender/makesrna/intern/rna_main_api.c6
3 files changed, 10 insertions, 16 deletions
diff --git a/release/scripts/io/import_scene_3ds.py b/release/scripts/io/import_scene_3ds.py
index f956f29b0e7..95da2637ed5 100644
--- a/release/scripts/io/import_scene_3ds.py
+++ b/release/scripts/io/import_scene_3ds.py
@@ -266,12 +266,10 @@ def read_string(file):
s += struct.unpack('<c', file.read(1))[0]
#print 'string: ',s
+ #remove the null character from the string
s = str(s[:-1], 'ASCII')
# print("read string", s)
-
- #remove the null character from the string
return s
-# return s[:-1]
######################################################
# IMPORT
@@ -300,7 +298,6 @@ def add_texture_to_material(image, texture, material, mapto):
if image:
texture.image = image
-# if image: texture.setImage(image) # double check its an image.
material.add_texture(texture, "UV", mapto)
@@ -414,9 +411,7 @@ def process_next_chunk(file, previous_chunk, importedObjects, IMAGE_SEARCH):
return [float(col)/255 for col in struct.unpack('<3B', temp_data)] # data [0,1,2] == rgb
def read_texture(new_chunk, temp_chunk, name, mapto):
- new_texture = bpy.data.textures.new(name)
- new_texture.type = 'IMAGE'
- new_texture = new_texture.recast_type()
+ new_texture = bpy.data.textures.new(name, type='IMAGE')
img = None
while (new_chunk.bytes_read < new_chunk.length):
diff --git a/release/scripts/io/import_scene_obj.py b/release/scripts/io/import_scene_obj.py
index f20652a6b0a..17ac4c5dee6 100644
--- a/release/scripts/io/import_scene_obj.py
+++ b/release/scripts/io/import_scene_obj.py
@@ -356,18 +356,15 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
#==================================================================================#
def load_material_image(blender_material, context_material_name, imagepath, type):
- texture= bpy.data.textures.new(type)
- texture.type= 'IMAGE'
- texture = texture.recast_type() # Workaround for limitation in rna api.
-# texture= bpy.data.textures.new(type)
-# texture.setType('Image')
+ texture= bpy.data.textures.new(name=type, type='IMAGE')
# Absolute path - c:\.. etc would work here
- image= obj_image_load(imagepath, DIR, IMAGE_SEARCH)
- has_data = image.has_data if image else False
+ image = obj_image_load(imagepath, DIR, IMAGE_SEARCH)
+ has_data = False
if image:
texture.image = image
+ has_data = image.has_data
# Adds textures for materials (rendering)
if type == 'Kd':
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index 4d77bfb9351..4745b88452b 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -348,7 +348,7 @@ void rna_Main_fonts_remove(Main *bmain, ReportList *reports, VFont *vfont)
/* XXX python now has invalid pointer? */
}
-Tex *rna_Main_textures_new(Main *bmain, char* name)
+Tex *rna_Main_textures_new(Main *bmain, char* name, int type)
{
Tex *tex= add_texture(name);
tex->id.us--;
@@ -766,7 +766,7 @@ void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_function_ui_description(func, "Add a new curve to the main database");
parm= RNA_def_string(func, "name", "Curve", 0, "", "New name for the datablock.");
RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "type", object_type_curve_items, 0, "Type", "The type of curve object to add");
+ parm= RNA_def_enum(func, "type", object_type_curve_items, 0, "Type", "The type of curve to add");
RNA_def_property_flag(parm, PROP_REQUIRED);
/* return type */
parm= RNA_def_pointer(func, "curve", "Curve", "", "New curve datablock.");
@@ -841,6 +841,8 @@ void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_function_ui_description(func, "Add a new texture to the main database");
parm= RNA_def_string(func, "name", "Texture", 0, "", "New name for the datablock.");
RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "type", texture_type_items, 0, "Type", "The type of texture to add");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
/* return type */
parm= RNA_def_pointer(func, "texture", "Texture", "", "New texture datablock.");
RNA_def_function_return(func, parm);