('ent_list', 'Entity List', '', 24 ),
('ent_region', 'Region', '', 25 ),
('ent_glider', 'Glider', '', 26 ),
('ent_list', 'Entity List', '', 24 ),
('ent_region', 'Region', '', 25 ),
('ent_glider', 'Glider', '', 26 ),
]
MDL_VERSION_NR = 105
SR_TRIGGERABLE = [ 'ent_audio', 'ent_ccmd', 'ent_gate', 'ent_challenge', \
'ent_relay', 'ent_skateshop', 'ent_objective', 'ent_route',\
]
MDL_VERSION_NR = 105
SR_TRIGGERABLE = [ 'ent_audio', 'ent_ccmd', 'ent_gate', 'ent_challenge', \
'ent_relay', 'ent_skateshop', 'ent_objective', 'ent_route',\
- 'ent_miniworld', 'ent_region', 'ent_glider', 'ent_list' ]
+ 'ent_miniworld', 'ent_region', 'ent_glider', 'ent_list',\
+ 'ent_npc' ]
+class ent_npc(Structure):#{
+ _fields_ = [("transform",mdl_transform),
+ ("id",c_uint32),
+ ("context",c_uint32),
+ ("camera",c_uint32)]
+ sr_functions = { 0: 'proximity', -1: 'leave' }
+#}
+
class ent_water(Structure):
#{
_fields_ = [("transform",mdl_transform),
class ent_water(Structure):
#{
_fields_ = [("transform",mdl_transform),
class volume_trigger(Structure):
#{
_fields_ = [("event",c_uint32),
class volume_trigger(Structure):
#{
_fields_ = [("event",c_uint32),
("id_next",c_uint32),
("filter",c_uint32),("filter2",c_uint32),
("id_win",c_uint32),
("id_next",c_uint32),
("filter",c_uint32),("filter2",c_uint32),
("id_win",c_uint32),
class ent_relay(Structure):#{
_fields_ = [("targets",(c_uint32*2)*4),
class ent_relay(Structure):#{
_fields_ = [("targets",(c_uint32*2)*4),
+ elif ent_type == 'ent_npc':#{
+ obj_data = obj.SR_data.ent_npc[0]
+ npc = ent_npc()
+ compile_obj_transform( obj, npc.transform )
+ npc.id = obj_data.au
+ npc.context = obj_data.context
+ npc.camera = sr_entity_id( obj_data.cam )
+ sr_ent_push( npc )
+ #}
elif ent_type == 'ent_cubemap':#{
cubemap = ent_cubemap()
co = obj.matrix_world @ Vector((0,0,0))
elif ent_type == 'ent_cubemap':#{
cubemap = ent_cubemap()
co = obj.matrix_world @ Vector((0,0,0))
+class SR_OBJECT_ENT_NPC(bpy.types.PropertyGroup):#{
+ au: bpy.props.IntProperty()
+ context: bpy.props.IntProperty()
+ cam: bpy.props.PointerProperty( \
+ type=bpy.types.Object, name="Viewpoint", \
+ poll=lambda self,obj: sr_filter_ent_type(obj,['ent_camera']))
+#}
+
ent_miniworld: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_MINIWORLD)
ent_list: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_LIST)
ent_glider: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_GLIDER)
ent_miniworld: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_MINIWORLD)
ent_list: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_LIST)
ent_glider: bpy.props.CollectionProperty(type=SR_OBJECT_ENT_GLIDER)
SR_OBJECT_ENT_RELAY,SR_OBJECT_ENT_MINIWORLD,\
SR_OBJECT_ENT_LIST_ENTRY, SR_UL_ENT_LIST, SR_OBJECT_ENT_LIST, \
SR_OT_ENT_LIST_NEW_ITEM, SR_OT_ENT_LIST_DEL_ITEM,\
SR_OBJECT_ENT_RELAY,SR_OBJECT_ENT_MINIWORLD,\
SR_OBJECT_ENT_LIST_ENTRY, SR_UL_ENT_LIST, SR_OBJECT_ENT_LIST, \
SR_OT_ENT_LIST_NEW_ITEM, SR_OT_ENT_LIST_DEL_ITEM,\
\
SR_OBJECT_PROPERTIES, SR_LIGHT_PROPERTIES, SR_BONE_PROPERTIES,
SR_MESH_PROPERTIES, SR_MATERIAL_PROPERTIES \
\
SR_OBJECT_PROPERTIES, SR_LIGHT_PROPERTIES, SR_BONE_PROPERTIES,
SR_MESH_PROPERTIES, SR_MATERIAL_PROPERTIES \