_fields_ = [("id_display",c_uint32),
("id_info",c_uint32)]
#}
+class ent_skateshop_server(Structure):
+#{
+ _fields_ = [("id_lever",c_uint32)]
+#}
class ent_skateshop_anon_union(Union):
#{
_fields_ = [("boards",ent_skateshop_boards),
("character",ent_skateshop_characters),
- ("worlds",ent_skateshop_worlds)]
+ ("worlds",ent_skateshop_worlds),
+ ("server",ent_skateshop_server)]
#}
class ent_skateshop(Structure):
#{
_fields_ = [("transform",mdl_transform), ("type",c_uint32),
("id_camera",c_uint32),
("_anonymous_union",ent_skateshop_anon_union)]
+
+ sr_functions = { 0: 'trigger' }
#}
class ent_swspreview(Structure):
class ent_miniworld(Structure):#{
_fields_ = [("transform",mdl_transform),
("pstr_world",c_uint32),
- ("purpose",c_int32),
+ ("camera",c_uint32),
("proxy",c_uint32)]
sr_functions = { 0: 'zone', 1: 'leave' }
m.tex_diffuse = sr_compile_texture(inf['tex_diffuse'])
#}
+ if mat.SR_data.tex_diffuse_rt >= 0:#{
+ m.tex_diffuse = 0x80000000 | mat.SR_data.tex_diffuse_rt
+ #}
+
sr_compile.material_data.extend( bytearray(m) )
return index
#}
if obj_data.target:#{
volume.target = sr_entity_id( obj_data.target )
volume._anon.trigger.event = obj_data.target_event
- volume._anon.trigger.event_leave = obj_data.target_event_leave
+
+ ev = 0xffffffff if obj_data.target_event_leave < 0 else \
+ obj_data.target_event_leave
+ volume._anon.trigger.event_leave = ev
#}
sr_ent_push(volume)
worldshop.id_display = sr_entity_id( obj_data.mark_display )
worldshop.id_info = sr_entity_id( obj_data.mark_info )
#}
+ elif skateshop.type == 3:#{
+ server = skateshop._anonymous_union.server
+ server.id_lever = sr_entity_id( obj_data.mark_display )
+ #}
skateshop.id_camera = sr_entity_id( obj_data.cam )
compile_obj_transform( obj, skateshop.transform )
sr_ent_push(skateshop)
compile_obj_transform( obj, miniworld.transform )
miniworld.pstr_world = sr_compile_string( obj_data.world )
miniworld.proxy = sr_entity_id( obj_data.proxy )
+ miniworld.camera = sr_entity_id( obj_data.camera )
sr_ent_push( miniworld )
#}
elif ent_type == 'ent_prop':#{
_.layout.prop( active_mat.SR_data, "shader" )
_.layout.prop( active_mat.SR_data, "surface_prop" )
_.layout.prop( active_mat.SR_data, "collision" )
+ _.layout.prop( active_mat.SR_data, "tex_diffuse_rt" )
if active_mat.SR_data.collision:#{
box = _.layout.box()
proxy: bpy.props.PointerProperty( \
type=bpy.types.Object, name='proxy', \
poll=lambda self,obj: sr_filter_ent_type(obj,['ent_prop']))
+ camera: bpy.props.PointerProperty( \
+ type=bpy.types.Object, name="Camera", \
+ poll=lambda self,obj: sr_filter_ent_type(obj,['ent_camera']))
#}
class SR_UL_ROUTE_NODE_LIST(bpy.types.UIList):
type=bpy.types.Object, name="Target", \
poll=lambda self,obj: sr_filter_ent_type(obj,SR_TRIGGERABLE))
target_event: bpy.props.IntProperty( name="Enter Ev" )
- target_event_leave: bpy.props.IntProperty( name="Leave Ev" )
+ target_event_leave: bpy.props.IntProperty( name="Leave Ev", default=-1 )
@staticmethod
def inspect_target( layout, data, propname, evs = ['_event'] ):#{
tipo: bpy.props.EnumProperty( name='Type',
items=[('0','boards',''),
('1','character',''),
- ('2','world','')] )
+ ('2','world',''),
+ ('4','server','')] )
mark_rack: bpy.props.PointerProperty( \
type=bpy.types.Object, name="Board Rack", \
poll=lambda self,obj: sr_filter_ent_type(obj,['ent_marker']))
poll=lambda self,obj: sr_filter_ent_type(obj,['ent_marker']))
mark_info: bpy.props.PointerProperty( \
type=bpy.types.Object, name="Selected Board Info", \
- poll=lambda self,obj: sr_filter_ent_type(obj,['ent_marker']))
+ poll=lambda self,obj: sr_filter_ent_type(obj,\
+ ['ent_marker','ent_prop']))
cam: bpy.props.PointerProperty( \
type=bpy.types.Object, name="Viewpoint", \
poll=lambda self,obj: sr_filter_ent_type(obj,['ent_camera']))
cubemap: bpy.props.PointerProperty( \
type=bpy.types.Object, name="cubemap", \
poll=lambda self,obj: sr_filter_ent_type(obj,['ent_cubemap']))
+
+ tex_diffuse_rt: bpy.props.IntProperty( name="diffuse: RT index", default=-1 )
#}
# ---------------------------------------------------------------------------- #
display = None
info = None
#}
+ elif data.tipo == '4':#{
+ rack = None
+ display = None
+ info = None
+ #}
if rack:
cv_draw_ucube( rack.matrix_world, cc, rack_cu, rack_co )