forked from bartvdbraak/blender
Fix T42330 game engine does not allow texture slots generation.
This commit is contained in:
parent
eaaeae4699
commit
3b7794dab7
@ -1058,7 +1058,7 @@ class TEXTURE_UL_texpaintslots(UIList):
|
||||
|
||||
if self.layout_type in {'DEFAULT', 'COMPACT'}:
|
||||
layout.prop(item, "name", text="", emboss=False, icon_value=icon)
|
||||
if (not mat.use_nodes) and (context.scene.render.engine == 'BLENDER_RENDER'):
|
||||
if (not mat.use_nodes) and context.scene.render.engine in {'BLENDER_RENDER', 'BLENDER_GAME'}:
|
||||
mtex_index = mat.texture_paint_slots[index].index
|
||||
layout.prop(mat, "use_textures", text="", index=mtex_index)
|
||||
elif self.layout_type in {'GRID'}:
|
||||
@ -1115,7 +1115,7 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel):
|
||||
mat, "texture_paint_images",
|
||||
mat, "paint_active_slot", rows=2)
|
||||
|
||||
if (not mat.use_nodes) and (context.scene.render.engine == 'BLENDER_RENDER'):
|
||||
if (not mat.use_nodes) and context.scene.render.engine in {'BLENDER_RENDER', 'BLENDER_GAME'}:
|
||||
row = col.row(align=True)
|
||||
row.operator_menu_enum("paint.add_texture_paint_slot", "type")
|
||||
row.operator("paint.delete_texture_paint_slot", text="", icon='X')
|
||||
|
@ -131,7 +131,9 @@ int get_render_shadow_samples(struct RenderData *r, int samples);
|
||||
float get_render_aosss_error(struct RenderData *r, float error);
|
||||
|
||||
bool BKE_scene_use_new_shading_nodes(struct Scene *scene);
|
||||
|
||||
bool BKE_scene_uses_blender_internal(struct Scene *scene);
|
||||
bool BKE_scene_uses_blender_game(struct Scene *scene);
|
||||
|
||||
void BKE_scene_disable_color_management(struct Scene *scene);
|
||||
bool BKE_scene_check_color_management_enabled(const struct Scene *scene);
|
||||
|
@ -1320,7 +1320,7 @@ void BKE_texpaint_slot_refresh_cache(Scene *scene, Material *ma)
|
||||
short index = 0, i;
|
||||
|
||||
bool use_nodes = BKE_scene_use_new_shading_nodes(scene);
|
||||
bool is_bi = BKE_scene_uses_blender_internal(scene);
|
||||
bool is_bi = BKE_scene_uses_blender_internal(scene) || BKE_scene_uses_blender_game(scene);
|
||||
|
||||
if (!ma)
|
||||
return;
|
||||
|
@ -1905,6 +1905,10 @@ bool BKE_scene_uses_blender_internal(struct Scene *scene)
|
||||
return strcmp("BLENDER_RENDER", scene->r.engine) == 0;
|
||||
}
|
||||
|
||||
bool BKE_scene_uses_blender_game(struct Scene *scene)
|
||||
{
|
||||
return strcmp("BLENDER_GAME", scene->r.engine) == 0;
|
||||
}
|
||||
|
||||
void BKE_scene_base_flag_to_objects(struct Scene *scene)
|
||||
{
|
||||
|
@ -5027,7 +5027,7 @@ static bool proj_paint_add_slot(bContext *C, wmOperator *op)
|
||||
Object *ob = CTX_data_active_object(C);
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
Material *ma;
|
||||
bool is_bi = BKE_scene_uses_blender_internal(scene);
|
||||
bool is_bi = BKE_scene_uses_blender_internal(scene) || BKE_scene_uses_blender_game(scene);
|
||||
Image *ima = NULL;
|
||||
|
||||
if (!ob)
|
||||
@ -5183,7 +5183,7 @@ static int texture_paint_delete_texture_paint_slot_exec(bContext *C, wmOperator
|
||||
Object *ob = CTX_data_active_object(C);
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
Material *ma;
|
||||
bool is_bi = BKE_scene_uses_blender_internal(scene);
|
||||
bool is_bi = BKE_scene_uses_blender_internal(scene) || BKE_scene_uses_blender_game(scene);
|
||||
TexPaintSlot *slot;
|
||||
|
||||
/* not supported for node-based engines */
|
||||
|
Loading…
Reference in New Issue
Block a user