gameserver optimisations
[carveJwlIkooP6JGAAIwe30JlM.git] / blender_export.py
index 4b7cf7f0441809e5bed7a87c52dce3ab4dced40d..d397cd793583ac38d90dd36a9ea5bd9fb2717c68 100644 (file)
@@ -910,6 +910,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
 #}
@@ -1851,7 +1855,10 @@ def sr_compile( collection ):
             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)
@@ -2499,6 +2506,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()
@@ -2978,7 +2986,7 @@ class SR_OBJECT_ENT_VOLUME(bpy.types.PropertyGroup):#{
            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'] ):#{
@@ -3583,6 +3591,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 )
 #}
 
 # ---------------------------------------------------------------------------- #