_fields_ = [("transform",mdl_transform),
("submesh_start",c_uint32),
("submesh_count",c_uint32),
- ("flags",c_uint32)]
+ ("flags",c_uint32),
+ ("pstr_alias",c_uint32)]
#}
def obj_ent_type( obj ):
if mat.SR_data.shader == 'standard': m.shader = 0
if mat.SR_data.shader == 'standard_cutout': m.shader = 1
+ if mat.SR_data.shader == 'foliage': m.shader = 10
if mat.SR_data.shader == 'terrain_blend':#{
m.shader = 2
#}
if mat.SR_data.shader in ['standard', 'standard_cutout', 'terrain_blend', \
- 'vertex_blend', 'fxglow', 'cubemap' ]: #{
+ 'vertex_blend', 'fxglow', 'cubemap', \
+ 'foliage' ]: #{
if 'tex_diffuse' in inf:
m.tex_diffuse = sr_compile_texture(inf['tex_diffuse'])
#}
#}
#--------------------------
- print( F'[SR] {i: 3}/{mesh_count} {obj.name:<40}', end='\r' )
+ print( F'[SR] {i: 3}/{mesh_count} {obj.name:<40}' )
sr_compile_mesh( obj )
#}
#}
#}
elif ent_type == 'ent_prop':#{
prop = ent_prop()
+ obj_data = obj.SR_data.ent_prop[0]
compile_obj_transform( obj, prop.transform )
prop.submesh_start, prop.submesh_count, _ = \
sr_compile_mesh_internal( obj )
- prop.flags = 0
+ prop.flags = obj_data.flags
+ prop.pstr_alias = sr_compile_string( obj_data.alias )
sr_ent_push( prop )
#}
#}
class SR_OBJECT_ENT_MARKER(bpy.types.PropertyGroup):
#{
alias: bpy.props.StringProperty()
+ flags: bpy.props.IntProperty()
#}
class SR_OBJECT_ENT_GLYPH(bpy.types.PropertyGroup):
ent_volume: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_VOLUME)
ent_audio: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_AUDIO)
ent_marker: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_MARKER)
+ ent_prop: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_MARKER)
ent_glyph: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_GLYPH)
ent_font: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_FONT)
ent_traffic: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_TRAFFIC)
('boundary','Boundary',''),
('fxglow','FX Glow',''),
('cubemap','Cubemap',''),
- ('walking','Walking','')
+ ('walking','Walking',''),
+ ('foliage','Foliage','')
])
surface_prop: bpy.props.EnumProperty(