synched with trunk at revision 32129
authorNick Samarin <nicks1987@bigmir.net>
Sun, 3 Oct 2010 16:28:28 +0000 (16:28 +0000)
committerNick Samarin <nicks1987@bigmir.net>
Sun, 3 Oct 2010 16:28:28 +0000 (16:28 +0000)
43 files changed:
1  2 
extern/SConscript
projectfiles_vc9/blender/BPY_python/BPY_python.vcproj
projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj
projectfiles_vc9/blender/ikplugin/BIK_ikplugin.vcproj
release/scripts/ui/properties_data_modifier.py
release/scripts/ui/properties_game.py
release/scripts/ui/properties_scene.py
source/blender/blenkernel/intern/customdata.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/scene.c
source/blender/blenlib/BLI_math_vector.h
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/object/CMakeLists.txt
source/blender/editors/object/SConscript
source/blender/editors/object/object_intern.h
source/blender/editors/object/object_ops.c
source/blender/editors/space_logic/logic_window.c
source/blender/editors/util/CMakeLists.txt
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesdna/DNA_object_types.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/intern/rna_actuator.c
source/blender/makesrna/intern/rna_modifier.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_scene.c
source/blender/modifiers/MOD_modifiertypes.h
source/blender/modifiers/SConscript
source/blender/modifiers/intern/MOD_util.c
source/creator/CMakeLists.txt
source/gameengine/Converter/BL_BlenderDataConversion.cpp
source/gameengine/Converter/CMakeLists.txt
source/gameengine/Converter/KX_ConvertActuators.cpp
source/gameengine/Converter/SConscript
source/gameengine/Ketsji/CMakeLists.txt
source/gameengine/Ketsji/KX_GameObject.cpp
source/gameengine/Ketsji/KX_GameObject.h
source/gameengine/Ketsji/KX_KetsjiEngine.cpp
source/gameengine/Ketsji/KX_PythonInit.cpp
source/gameengine/Ketsji/KX_Scene.cpp
source/gameengine/Ketsji/SConscript
source/gameengine/Rasterizer/RAS_IRasterizer.h
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h

Simple merge
                                        RelativePath="..\..\..\source\blender\python\generic\noise.c"\r
                                        >\r
                                </File>\r
++                              <File\r
++                                      RelativePath="..\..\..\source\blender\python\generic\py_capi_utils.c"\r
++                                      >\r
++                              </File>\r
                        </Filter>\r
                </Filter>\r
                <Filter\r
                                        RelativePath="..\..\..\source\blender\python\generic\mathutils_vector.h"\r
                                        >\r
                                </File>\r
++                              <File\r
++                                      RelativePath="..\..\..\source\blender\python\generic\py_capi_utils.h"\r
++                                      >\r
++                              </File>\r
                        </Filter>\r
                </Filter>\r
        </Files>\r
@@@ -1,7 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="Windows-1252"?>\r
  <VisualStudioProject\r
        ProjectType="Visual C++"\r
--      Version="9,00"\r
++      Version="9.00"\r
        Name="BIK_ikplugin"\r
        ProjectGUID="{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}"\r
        RootNamespace="BRE_ikplugin"\r
@@@ -44,7 -44,7 +44,7 @@@
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
                                AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\ikplugin;..\..\..\intern\itasc;..\..\..\extern\Eigen2"\r
--                              PreprocessorDefinitions="WIN32,_DEBUG,_LIB"\r
++                              PreprocessorDefinitions="_DEBUG;WIN32;WITH_IK_ITASC"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                                DefaultCharIsUnsigned="true"\r
                                Optimization="2"\r
                                InlineFunctionExpansion="1"\r
                                AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\ikplugin;..\..\..\intern\itasc;..\..\..\extern\Eigen2"\r
--                              PreprocessorDefinitions="WIN32,NDEBUG,_LIB"\r
++                              PreprocessorDefinitions="_DEBUG;WIN32;WITH_IK_ITASC"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                                EnableFunctionLevelLinking="true"\r
@@@ -426,11 -388,8 +388,16 @@@ class DATA_PT_modifiers(ModifierButtons
          col.label(text="Mirror Object:")
          col.prop(md, "mirror_object", text="")
  
-     def MULTIRES(self, layout, ob, md, wide_ui):
-         if wide_ui:
-             layout.row().prop(md, "subdivision_type", expand=True)
-         else:
-             layout.row().prop(md, "subdivision_type", text="")
++    def NAVMESH(self, layout, ob, md):
++        split = layout.split()
++        if ob.mode == 'EDIT':
++            col = split.column()
++            col.operator("object.assign_navpolygon", text="Assign poly idx")
++            col = split.column()
++            col.operator("object.assign_new_navpolygon", text="Assign new poly idx")
++
+     def MULTIRES(self, layout, ob, md):
+         layout.row().prop(md, "subdivision_type", expand=True)
  
          split = layout.split()
          col = split.column()
@@@ -193,34 -181,9 +181,34 @@@ class PHYSICS_PT_game_collision_bounds(
          col = split.column()
          col.prop(game, "collision_margin", text="Margin", slider=True)
  
-         if wide_ui:
-             col = split.column()
-         col.prop(game, "collision_compound", text="Compound")
+         col = split.column()
+         col.prop(game, "use_collision_compound", text="Compound")
  
-         return (game.physics_type in ('DYNAMIC', 'RIGID_BODY', 'SENSOR', 'SOFT_BODY', 'STATIC')) and (rd.engine == 'BLENDER_GAME')
 +class PHYSICS_PT_game_obstacles(PhysicsButtonsPanel, bpy.types.Panel):
 +    bl_label = "Create obstacle"
 +    COMPAT_ENGINES = {'BLENDER_GAME'}
++
++    @classmethod
 +    def poll(self, context):
 +        game = context.object.game
 +        rd = context.scene.render
-         wide_ui = context.region.width > narrowui
++        return (game.physics_type in ('DYNAMIC', 'RIGID_BODY', 'SENSOR', 'SOFT_BODY', 'STATIC'))  and (rd.engine in cls.COMPAT_ENGINES)
 +
 +    def draw_header(self, context):
 +        game = context.active_object.game
 +
 +        self.layout.prop(game, "create_obstacle", text="")
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
 +        game = context.active_object.game
 +
 +        layout.active = game.create_obstacle
 +
 +        split = layout.split()
 +        col = split.column()
 +        col.prop(game, "obstacle_radius", text="Radius")
  
  class RenderButtonsPanel():
      bl_space_type = 'PROPERTIES'
@@@ -546,20 -490,6 +515,19 @@@ class WORLD_PT_game_physics(WorldButton
              col.label(text="Logic Steps:")
              col.prop(gs, "logic_step_max", text="Max")
  
-         gs = context.scene.game_data
-         wide_ui = context.region.width > narrowui
 +class WORLD_PT_game_physics_obstacles(WorldButtonsPanel, bpy.types.Panel):
 +    bl_label = "Obstacle simulation"
 +    COMPAT_ENGINES = {'BLENDER_GAME'}
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
++        gs = context.scene.game_settings
 +
 +        layout.prop(gs, "obstacle_simulation", text = "Type")
 +        if gs.obstacle_simulation != 'None':
 +            layout.prop(gs, "level_height")
 +            layout.prop(gs, "show_obstacle_simulation")
  
  def register():
      pass
@@@ -333,78 -309,6 +309,77 @@@ class ANIM_OT_keying_set_export(bpy.typ
          wm.add_fileselect(self)
          return {'RUNNING_MODAL'}
  
-         rd = context.scene.game_data.recast_data
-         wide_ui = context.region.width > narrowui
 +class SCENE_PT_navmesh(SceneButtonsPanel, bpy.types.Panel):
 +    bl_label = "Navmesh"
 +    bl_default_closed = True
 +    COMPAT_ENGINES = {'BLENDER_RENDER'}
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
-         if wide_ui:
-             col = split.column()
++        rd = context.scene.game_settings.recast_data
 +
 +        layout.operator("object.create_navmesh", text='Build navigation mesh')
 +
 +        layout.label(text="Rasterization:")
 +        split = layout.split()
 +
 +        col = split.column()
 +        col.prop(rd, "cell_size")
-         if wide_ui:
-             col = split.column()
++        col = split.column()
 +        col.prop(rd, "cell_height")
 +
 +        layout.separator()
 +
 +        layout.label(text="Agent:")
 +        split = layout.split()
++
 +        col = split.column()
 +        row = col.row()
 +        row.prop(rd, "agent_height")
 +        row = col.row()
 +        row.prop(rd, "agent_radius")
-         if wide_ui:
-             col = split.column()
++
++        col = split.column()
 +        row = col.row()
 +        row.prop(rd, "max_slope")
 +        row = col.row()
 +        row.prop(rd, "max_climb")
 +
 +        layout.separator()
 +
 +        layout.label(text="Region:")
 +        split = layout.split()
 +        col = split.column()
 +        col.prop(rd, "region_min_size")
-         if wide_ui:
-             col = split.column()
++
++        col = split.column()
 +        col.prop(rd, "region_merge_size")
 +
 +        layout.separator()
 +
 +        layout.label(text="Polygonization:")
 +        split = layout.split()
 +        col = split.column()
 +        row = col.row()
 +        row.prop(rd, "edge_max_len")
 +        row = col.row()
 +        row.prop(rd, "edge_max_error")
-         if wide_ui:
-             col = split.column()
++
++        col = split.column()
 +        row = col.row()
 +        row.prop(rd, "verts_per_poly")
 +
 +        layout.separator()
 +
 +        layout.label(text="Detail Mesh:")
 +        split = layout.split()
 +        col = split.column()
 +        col.prop(rd, "sample_dist")
++
++        col = split.column()
 +        col.prop(rd, "sample_max_error")
 +
  
  def register():
      pass
@@@ -11156,24 -11115,14 +11157,31 @@@ static void do_versions(FileData *fd, L
                }
                
        }
+       {
+               ParticleSettings *part;
+               for(part = main->particle.first; part; part = part->id.next) {
+                       if(part->boids)
+                               part->boids->pitch = 1.0f;
+               }
+       }
  
 +      // init facing axis property of steering actuators
 +      {                                       
 +              Object *ob;
 +              for(ob = main->object.first; ob; ob = ob->id.next) {
 +                      bActuator *act;
 +                      for(act= ob->actuators.first; act; act= act->next) {
 +                              if(act->type==ACT_STEERING) {
 +                                      bSteeringActuator* stact = act->data;
 +                                      if (stact->facingaxis==0)
 +                                      {
 +                                              stact->facingaxis=1;
 +                                      }                                               
 +                              }
 +                      }
 +              }
 +      }
 +
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! */
        /* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */
  
@@@ -4328,54 -4323,11 +4324,54 @@@ static void draw_actuator_visibility(ui
        uiLayout *row;
        row = uiLayoutRow(layout, 0);
  
-       uiItemR(row, ptr, "visible", 0, NULL, 0);
-       uiItemR(row, ptr, "occlusion", 0, NULL, 0);
-       uiItemR(row, ptr, "children", 0, NULL, 0);
+       uiItemR(row, ptr, "use_visible", 0, NULL, 0);
+       uiItemR(row, ptr, "use_occlusion", 0, NULL, 0);
+       uiItemR(row, ptr, "apply_to_children", 0, NULL, 0);
  }
  
 +static void draw_actuator_steering(uiLayout *layout, PointerRNA *ptr)
 +{
 +      uiLayout *row;
 +      uiLayout *col;
 +
 +      uiItemR(layout, ptr, "mode", 0, NULL, 0);
 +      uiItemR(layout, ptr, "target", 0, NULL, 0);
 +      uiItemR(layout, ptr, "navmesh", 0, NULL, 0);    
 +
 +      row = uiLayoutRow(layout, 0);
 +      uiItemR(row, ptr, "distance", 0, NULL, 0);
 +      uiItemR(row, ptr, "velocity", 0, NULL, 0);
 +      row = uiLayoutRow(layout, 0);
 +      uiItemR(row, ptr, "acceleration", 0, NULL, 0);
 +      uiItemR(row, ptr, "turn_speed", 0, NULL, 0);
 +      
 +      row = uiLayoutRow(layout, 0);
 +      col = uiLayoutColumn(row, 0);
 +      uiItemR(col, ptr, "facing", 0, NULL, 0);
 +      col = uiLayoutColumn(row, 0);
 +      uiItemR(col, ptr, "facing_axis", 0, NULL, 0);
 +      if (!RNA_boolean_get(ptr, "facing"))
 +      {
 +              uiLayoutSetActive(col, 0);
 +      }
 +      col = uiLayoutColumn(row, 0);
 +      uiItemR(col, ptr, "normal_up", 0, NULL, 0);
 +      if (!RNA_pointer_get(ptr, "navmesh").data)
 +      {
 +              uiLayoutSetActive(col, 0);
 +      }
 +
 +      row = uiLayoutRow(layout, 0);
 +      uiItemR(row, ptr, "self_terminated", 0, NULL, 0);
 +      if (RNA_enum_get(ptr, "mode")==ACT_STEERING_PATHFOLLOWING)
 +      {
 +              uiItemR(row, ptr, "update_period", 0, NULL, 0); 
 +              row = uiLayoutRow(layout, 0);
 +      }
 +      uiItemR(row, ptr, "show_visualization", 0, NULL, 0);    
 +}
 +
 +
  void draw_brick_actuator(uiLayout *layout, PointerRNA *ptr, bContext *C)
  {
        uiLayout *box;
  #
  # ***** END GPL LICENSE BLOCK *****
  
 -FILE(GLOB SRC *.c)
 +FILE(GLOB SRC *.c *.cpp)
  
  SET(INC
+       ../include
        ../../blenkernel
        ../../blenlib
-       ../include
-       ../../../../intern/guardedalloc
 +      ../../../../extern/recastnavigation/Recast/Include
        ../../makesdna
        ../../makesrna
        ../../windowmanager
@@@ -66,7 -66,9 +66,11 @@@ typedef enum ModifierType 
        eModifierType_ShapeKey,
        eModifierType_Solidify,
        eModifierType_Screw,
+       /* placeholder, keep this so durian files load in
+        * trunk with the correct modifier once its merged */
 +      eModifierType_NavMesh,
+       eModifierType_Warp,
++
        NUM_MODIFIER_TYPES
  } ModifierType;
  
@@@ -1328,18 -1340,9 +1347,18 @@@ static void rna_def_object_game_setting
        RNA_def_property_pointer_sdna(prop, NULL, "bsoft");
        RNA_def_property_ui_text(prop, "Soft Body Settings", "Settings for Bullet soft body simulation");
  
 +      prop= RNA_def_property(srna, "create_obstacle", PROP_BOOLEAN, PROP_NONE);
 +      RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_HASOBSTACLE);
 +      RNA_def_property_ui_text(prop, "Create obstacle", "Create representation for obstacle simulation");
 +
 +      prop= RNA_def_property(srna, "obstacle_radius", PROP_FLOAT, PROP_NONE|PROP_UNIT_LENGTH);
 +      RNA_def_property_float_sdna(prop, NULL, "obstacleRad");
 +      RNA_def_property_range(prop, 0.0, 1000.0);
 +      RNA_def_property_ui_text(prop, "Obstacle Radius", "Radius of object representation in obstacle simulation");
 +
        /* state */
  
-       prop= RNA_def_property(srna, "visible_state", PROP_BOOLEAN, PROP_LAYER_MEMBER);
+       prop= RNA_def_property(srna, "states_visible", PROP_BOOLEAN, PROP_LAYER_MEMBER);
        RNA_def_property_boolean_sdna(prop, NULL, "state", 1);
        RNA_def_property_array(prop, OB_MAX_STATES);
        RNA_def_property_ui_text(prop, "State", "State determining which controllers are displayed");
Simple merge
@@@ -490,15 -553,14 +553,15 @@@ ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux"
                bf_ngnetwork 
                extern_bullet 
                bf_loopbacknetwork 
-               bf_ITASC
+               bf_intern_itasc
                bf_common 
-               bf_moto 
+               bf_intern_moto 
                bf_python
-               bf_gen_python
+               bf_python_ext
                extern_binreloc
                extern_glew
-               extern_libopenjpeg
+               extern_openjpeg
 +              extern_recastnavigation
                bf_videotex
                bf_rna
                bf_dna
Simple merge
Simple merge