33from ... import level
44
55
6- def get_level_material (lvl , shader_id , texture_id ):
7- material_key = (shader_id , texture_id )
6+ def get_level_material (lvl , visual ):
7+ material_key = (visual . shader_id , visual . texture_id )
88 bpy_material = lvl .materials .get (material_key , None )
99
1010 if bpy_material :
1111 return bpy_material
1212
1313 if lvl .shaders and lvl .textures :
14- shader_raw = lvl .shaders [shader_id ]
15- texture_raw = lvl .textures [texture_id ]
14+ shader_raw = lvl .shaders [visual . shader_id ]
15+ texture_raw = lvl .textures [visual . texture_id ]
1616
1717 else :
18- shader_raw = lvl .shaders_or_textures [shader_id ]
19- texture_raw = lvl .shaders_or_textures [texture_id ]
18+ shader_raw = lvl .shaders_or_textures [visual . shader_id ]
19+ texture_raw = lvl .shaders_or_textures [visual . texture_id ]
2020
2121 shader_data = shader_raw + '/' + texture_raw
2222 bpy_material , bpy_image = level .shaders .import_shader (
@@ -25,7 +25,7 @@ def get_level_material(lvl, shader_id, texture_id):
2525 shader_data
2626 )
2727 lvl .materials [material_key ] = bpy_material
28- lvl .images [texture_id ] = bpy_image
28+ lvl .images [visual . texture_id ] = bpy_image
2929
3030 return bpy_material
3131
@@ -37,6 +37,14 @@ def assign_level_material(bpy_mesh, visual, lvl):
3737 ):
3838 shader_id = visual .shader_id
3939 bpy_material = lvl .materials [shader_id ]
40+
41+ if visual .format_version == fmt .FORMAT_VERSION_4 :
42+ trees = (fmt .ModelType_v4 .TREE_ST , fmt .ModelType_v4 .TREE_PM )
43+
44+ if visual .model_type in trees :
45+ bpy_material .xray .light_vert_color = ''
46+ bpy_material .xray .sun_vert_color = ''
47+
4048 else :
4149 bpy_material = get_level_material (
4250 lvl ,
0 commit comments