X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=blender_export.py;h=8b0bd104b88aef9a9ab0a9b747423b6a0810181d;hb=dd7d6eb0702cd9a0c97ab6da9ec577af0b797b88;hp=5eb5975deefd5ffa90abd7d8ea54d3786604c3f2;hpb=abc4dcca885e5a0bc45322c60b040841f69bbc58;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/blender_export.py b/blender_export.py index 5eb5975..8b0bd10 100644 --- a/blender_export.py +++ b/blender_export.py @@ -382,17 +382,24 @@ class ent_skateshop_worlds(Structure): _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): @@ -910,6 +917,10 @@ def sr_compile_material( mat ):#{ 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 #} @@ -1885,6 +1896,10 @@ def sr_compile( collection ): 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) @@ -2502,6 +2517,7 @@ class SR_MATERIAL_PANEL(bpy.types.Panel): _.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() @@ -3165,7 +3181,8 @@ class SR_OBJECT_ENT_SKATESHOP(bpy.types.PropertyGroup): 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'])) @@ -3174,7 +3191,8 @@ class SR_OBJECT_ENT_SKATESHOP(bpy.types.PropertyGroup): 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'])) @@ -3586,6 +3604,8 @@ class SR_MATERIAL_PROPERTIES(bpy.types.PropertyGroup): 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 ) #} # ---------------------------------------------------------------------------- # @@ -4506,6 +4526,11 @@ def cv_draw():#{ 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 )