svn merge -r 22371:22571 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
authorAndre Susano Pinto <andresusanopinto@gmail.com>
Mon, 17 Aug 2009 17:43:49 +0000 (17:43 +0000)
committerAndre Susano Pinto <andresusanopinto@gmail.com>
Mon, 17 Aug 2009 17:43:49 +0000 (17:43 +0000)
310 files changed:
CMake/macros.cmake
CMakeLists.txt
SConstruct
config/darwin-config.py
config/linux2-config.py
config/win32-mingw-config.py
config/win32-vc-config.py
extern/glew/CMakeLists.txt
extern/libopenjpeg/CMakeLists.txt
intern/audaspace/CMakeLists.txt
intern/audaspace/Makefile
intern/audaspace/SConscript
intern/audaspace/SDL/AUD_SDLDevice.cpp
intern/audaspace/SDL/AUD_SDLDevice.h
intern/audaspace/SDL/Makefile
intern/audaspace/SRC/Makefile
intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
intern/audaspace/ffmpeg/Makefile
intern/audaspace/intern/AUD_C-API.cpp
intern/audaspace/intern/AUD_C-API.h
intern/audaspace/intern/AUD_ConverterReader.cpp
intern/audaspace/intern/AUD_FloatMixer.cpp
intern/audaspace/intern/AUD_Space.h
intern/audaspace/intern/Makefile
intern/audaspace/jack/AUD_JackDevice.cpp [new file with mode: 0644]
intern/audaspace/jack/AUD_JackDevice.h [new file with mode: 0644]
intern/audaspace/jack/Makefile [new file with mode: 0644]
intern/elbeem/CMakeLists.txt
intern/elbeem/intern/paraloopend.h
intern/ghost/CMakeLists.txt
intern/guardedalloc/BLO_sys_types.h
intern/opennl/superlu/BLO_sys_types.h
intern/smoke/extern/smoke_API.h
intern/smoke/intern/FLUID_3D.cpp
intern/smoke/intern/FLUID_3D.h
intern/smoke/intern/FLUID_3D_SOLVERS.cpp
intern/smoke/intern/FLUID_3D_STATIC.cpp
intern/smoke/intern/VEC3.h
intern/smoke/intern/WAVELET_NOISE.h
intern/smoke/intern/smoke_API.cpp
projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj
projectfiles_vc9/blender/editors/ED_editors.vcproj
projectfiles_vc9/gameengine/converter/KX_converter.vcproj
projectfiles_vc9/gameengine/ketsji/KX_ketsji.vcproj
release/Makefile
release/io/engine_render_pov.py
release/ui/bpy_ops.py
release/ui/buttons_data_armature.py
release/ui/buttons_data_mesh.py
release/ui/buttons_data_modifier.py
release/ui/buttons_game.py
release/ui/buttons_material.py
release/ui/buttons_object.py
release/ui/buttons_object_constraint.py
release/ui/buttons_particle.py
release/ui/buttons_physics_cloth.py
release/ui/buttons_physics_field.py
release/ui/buttons_physics_fluid.py
release/ui/buttons_physics_smoke.py
release/ui/buttons_physics_softbody.py
release/ui/buttons_scene.py
release/ui/buttons_texture.py
release/ui/buttons_world.py
release/ui/space_info.py
release/ui/space_sequencer.py
release/ui/space_time.py [new file with mode: 0644]
release/ui/space_view3d.py
release/ui/space_view3d_toolbar.py
source/Makefile
source/blender/blenfont/CMakeLists.txt
source/blender/blenfont/intern/blf_dir.c
source/blender/blenkernel/BKE_animsys.h
source/blender/blenkernel/BKE_blender.h
source/blender/blenkernel/BKE_brush.h
source/blender/blenkernel/BKE_cloth.h
source/blender/blenkernel/BKE_context.h
source/blender/blenkernel/BKE_global.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/BKE_paint.h [new file with mode: 0644]
source/blender/blenkernel/BKE_pointcache.h
source/blender/blenkernel/BKE_scene.h
source/blender/blenkernel/BKE_sculpt.h
source/blender/blenkernel/BKE_sequence.h
source/blender/blenkernel/BKE_softbody.h
source/blender/blenkernel/BKE_sound.h
source/blender/blenkernel/BKE_unit.h [new file with mode: 0644]
source/blender/blenkernel/BKE_utildefines.h
source/blender/blenkernel/CMakeLists.txt
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/blender.c
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/cloth.c
source/blender/blenkernel/intern/context.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/modifier.c
source/blender/blenkernel/intern/multires.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/paint.c [new file with mode: 0644]
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/particle_system.c
source/blender/blenkernel/intern/pointcache.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/smoke.c
source/blender/blenkernel/intern/softbody.c
source/blender/blenkernel/intern/sound.c
source/blender/blenkernel/intern/unit.c [new file with mode: 0644]
source/blender/blenlib/CMakeLists.txt
source/blender/blenlib/intern/BLI_kdopbvh.c
source/blender/blenlib/intern/BLI_kdtree.c
source/blender/blenlib/intern/boxpack2d.c
source/blender/blenlib/intern/listbase.c
source/blender/blenlib/intern/storage.c
source/blender/blenloader/BLO_sys_types.h
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/CMakeLists.txt
source/blender/editors/animation/anim_channels_defines.c
source/blender/editors/animation/anim_channels_edit.c
source/blender/editors/animation/anim_filter.c
source/blender/editors/animation/keyingsets.c
source/blender/editors/armature/editarmature.c
source/blender/editors/armature/editarmature_sketch.c
source/blender/editors/armature/poseobject.c
source/blender/editors/include/ED_anim_api.h
source/blender/editors/include/ED_object.h
source/blender/editors/include/ED_screen.h
source/blender/editors/include/ED_screen_types.h
source/blender/editors/include/ED_view3d.h
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_panel.c
source/blender/editors/interface/interface_regions.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/mesh/editmesh.c
source/blender/editors/mesh/editmesh_add.c
source/blender/editors/mesh/editmesh_loop.c
source/blender/editors/mesh/editmesh_mods.c
source/blender/editors/mesh/editmesh_tools.c
source/blender/editors/mesh/mesh_layers.c
source/blender/editors/mesh/mesh_ops.c
source/blender/editors/object/editconstraint.c
source/blender/editors/object/object_edit.c
source/blender/editors/object/object_intern.h
source/blender/editors/object/object_modifier.c
source/blender/editors/object/object_ops.c
source/blender/editors/object/object_vgroup.c
source/blender/editors/physics/ed_pointcache.c
source/blender/editors/physics/editparticle.c
source/blender/editors/physics/physics_boids.c
source/blender/editors/preview/previewrender.c
source/blender/editors/screen/CMakeLists.txt
source/blender/editors/screen/Makefile
source/blender/editors/screen/SConscript
source/blender/editors/screen/area.c
source/blender/editors/screen/screen_context.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/screen/screen_ops.c
source/blender/editors/sculpt_paint/paint_image.c
source/blender/editors/sculpt_paint/paint_intern.h
source/blender/editors/sculpt_paint/paint_ops.c
source/blender/editors/sculpt_paint/paint_utils.c
source/blender/editors/sculpt_paint/paint_vertex.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/space_action/action_draw.c
source/blender/editors/space_action/action_intern.h
source/blender/editors/space_action/space_action.c
source/blender/editors/space_buttons/buttons_context.c
source/blender/editors/space_file/Makefile
source/blender/editors/space_file/SConscript
source/blender/editors/space_file/file_panels.c
source/blender/editors/space_graph/graph_buttons.c
source/blender/editors/space_graph/graph_draw.c
source/blender/editors/space_graph/graph_intern.h
source/blender/editors/space_graph/space_graph.c
source/blender/editors/space_image/Makefile
source/blender/editors/space_image/SConscript
source/blender/editors/space_image/image_buttons.c
source/blender/editors/space_image/image_draw.c
source/blender/editors/space_nla/nla_channels.c
source/blender/editors/space_nla/nla_draw.c
source/blender/editors/space_nla/nla_edit.c
source/blender/editors/space_nla/nla_intern.h
source/blender/editors/space_nla/space_nla.c
source/blender/editors/space_node/node_edit.c
source/blender/editors/space_outliner/outliner.c
source/blender/editors/space_sequencer/sequencer_draw.c
source/blender/editors/space_time/space_time.c
source/blender/editors/space_time/time_header.c
source/blender/editors/space_view3d/drawarmature.c
source/blender/editors/space_view3d/drawmesh.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/space_view3d.c
source/blender/editors/space_view3d/view3d_buttons.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/space_view3d/view3d_edit.c
source/blender/editors/space_view3d/view3d_header.c
source/blender/editors/space_view3d/view3d_intern.h
source/blender/editors/space_view3d/view3d_select.c
source/blender/editors/space_view3d/view3d_snap.c
source/blender/editors/space_view3d/view3d_toolbar.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/editors/transform/transform.c
source/blender/editors/transform/transform_conversions.c
source/blender/editors/transform/transform_generics.c
source/blender/editors/transform/transform_manipulator.c
source/blender/editors/transform/transform_orientations.c
source/blender/editors/util/undo.c
source/blender/gpu/GPU_draw.h
source/blender/gpu/GPU_extensions.h
source/blender/gpu/GPU_material.h
source/blender/gpu/intern/gpu_codegen.c
source/blender/gpu/intern/gpu_codegen.h
source/blender/gpu/intern/gpu_draw.c
source/blender/gpu/intern/gpu_extensions.c
source/blender/gpu/intern/gpu_material.c
source/blender/makesdna/DNA_brush_types.h
source/blender/makesdna/DNA_material_types.h
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesdna/DNA_object_force.h
source/blender/makesdna/DNA_object_types.h
source/blender/makesdna/DNA_particle_types.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesdna/DNA_smoke_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_texture_types.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesdna/DNA_windowmanager_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_define.h
source/blender/makesrna/RNA_enum_types.h
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_constraint.c
source/blender/makesrna/intern/rna_context.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_fluidsim.c
source/blender/makesrna/intern/rna_lamp.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_meta.c
source/blender/makesrna/intern/rna_modifier.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_object_force.c
source/blender/makesrna/intern/rna_render.c
source/blender/makesrna/intern/rna_rna.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_screen.c
source/blender/makesrna/intern/rna_sculpt_paint.c
source/blender/makesrna/intern/rna_smoke.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_texture.c
source/blender/makesrna/intern/rna_ui.c
source/blender/makesrna/intern/rna_ui_api.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/makesrna/intern/rna_world.c
source/blender/nodes/CMakeLists.txt
source/blender/python/epy_doc_gen.py
source/blender/python/generic/BGL.c
source/blender/python/generic/BGL.h
source/blender/python/generic/euler.c
source/blender/python/generic/matrix.c
source/blender/python/generic/quat.c
source/blender/python/generic/vector.c
source/blender/python/intern/bpy_interface.c
source/blender/python/intern/bpy_rna.c
source/blender/python/intern/bpy_rna.h
source/blender/python/intern/bpy_ui.c
source/blender/python/intern/bpy_util.c
source/blender/render/extern/include/RE_pipeline.h
source/blender/render/extern/include/RE_shader_ext.h
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/pipeline.c
source/blender/render/intern/source/rayshade.c
source/blender/render/intern/source/rendercore.c
source/blender/render/intern/source/shadeinput.c
source/blender/render/intern/source/shadeoutput.c
source/blender/render/intern/source/strand.c
source/blender/render/intern/source/zbuf.c
source/blender/windowmanager/CMakeLists.txt
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/WM_types.h
source/blender/windowmanager/intern/wm.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_files.c
source/blender/windowmanager/intern/wm_init_exit.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_window.c
source/creator/CMakeLists.txt
source/creator/creator.c
source/gameengine/Converter/BL_BlenderDataConversion.cpp
source/gameengine/Converter/Makefile
source/gameengine/GameLogic/CMakeLists.txt
source/gameengine/GamePlayer/common/Makefile
source/gameengine/Ketsji/BL_BlenderShader.cpp
source/gameengine/Ketsji/CMakeLists.txt
source/gameengine/Ketsji/KX_BlenderMaterial.cpp
source/gameengine/Ketsji/KX_PolygonMaterial.cpp
source/gameengine/Ketsji/Makefile
source/gameengine/Makefile
source/nan_definitions.mk
source/nan_link.mk
tools/Blender.py
tools/btools.py

index 3f706e5ed957318e8ae5f9a49a6dd34f43216b92..e6c4664b68d38050da39f85fbed9385b1abc00b2 100644 (file)
@@ -42,14 +42,21 @@ MACRO(SETUP_LIBDIRS)
   if(COMMAND cmake_policy)
     CMAKE_POLICY(SET CMP0003 NEW)
   endif(COMMAND cmake_policy)
-  LINK_DIRECTORIES(${PYTHON_LIBPATH} ${SDL_LIBPATH} ${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${ICONV_LIBPATH} ${OPENEXR_LIBPATH} ${QUICKTIME_LIBPATH} ${FFMPEG_LIBPATH})
+  LINK_DIRECTORIES(${PYTHON_LIBPATH} ${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${OPENEXR_LIBPATH} ${QUICKTIME_LIBPATH} ${FFMPEG_LIBPATH})
   LINK_DIRECTORIES(${FREETYPE_LIBPATH} ${LIBSAMPLERATE_LIBPATH})
   IF(WITH_INTERNATIONAL)
+    LINK_DIRECTORIES(${ICONV_LIBPATH})
     LINK_DIRECTORIES(${GETTEXT_LIBPATH})
   ENDIF(WITH_INTERNATIONAL)
+  IF(WITH_SDL)
+    LINK_DIRECTORIES(${SDL_LIBPATH})
+  ENDIF(WITH_SDL)
   IF(WITH_OPENAL)
     LINK_DIRECTORIES(${OPENAL_LIBPATH})
   ENDIF(WITH_OPENAL)
+  IF(WITH_JACK)
+    LINK_DIRECTORIES(${JACK_LIBPATH})
+  ENDIF(WITH_JACK)
   IF(WITH_FFTW3)
     LINK_DIRECTORIES(${FFTW3_LIBPATH})
   ENDIF(WITH_FFTW3)    
@@ -62,9 +69,9 @@ ENDMACRO(SETUP_LIBDIRS)
 MACRO(SETUP_LIBLINKS
   target)
   SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
-  #TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
+  #TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIBRARY} ${LLIBS})
 
-  TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${FFTW3_LIB} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIB} ${LLIBS})
+  TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${FFTW3_LIB} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
 
   # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
 
@@ -81,8 +88,8 @@ MACRO(SETUP_LIBLINKS
   ENDIF(WIN32)
 
 
-  TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
-  TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIB} ${LIBSAMPLERATE_LIB})
+  TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${LLIBS})
+  TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIBRARY} ${LIBSAMPLERATE_LIB})
 
   # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
 
@@ -102,8 +109,14 @@ MACRO(SETUP_LIBLINKS
     TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
   ENDIF(WITH_INTERNATIONAL)
   IF(WITH_OPENAL)
-    TARGET_LINK_LIBRARIES(${target} ${OPENAL_LIB})
+    TARGET_LINK_LIBRARIES(${target} ${OPENAL_LIBRARY})
   ENDIF(WITH_OPENAL)
+  IF(WITH_JACK)
+    TARGET_LINK_LIBRARIES(${target} ${JACK_LIB})
+  ENDIF(WITH_JACK)
+  IF(WITH_SDL)
+    TARGET_LINK_LIBRARIES(${target} ${SDL_LIBRARY})
+  ENDIF(WITH_SDL)
   IF(WIN32)
     TARGET_LINK_LIBRARIES(${target} ${ICONV_LIB})
   ENDIF(WIN32)
index 3a24d436ade6a0fa4c85e1d14cc44760d49702d6..029a65eb7390c07dd25d1eec00c3f16e60bf38be 100644 (file)
@@ -69,6 +69,8 @@ OPTION(WITH_OPENAL            "Enable OpenAL Support (http://www.openal.org)"         ON)
 OPTION(WITH_OPENMP             "Enable OpenMP (has to be supported by the compiler)"   OFF)
 OPTION(WITH_WEBPLUGIN          "Enable Web Plugin (Unix only)"                         OFF)
 OPTION(WITH_FFTW3              "Enable FFTW3 support"                          OFF)
+OPTION(WITH_JACK               "Enable Jack Support (http://www.jackaudio.org)"                OFF)
+OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON)
 
 IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
   MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
@@ -94,13 +96,18 @@ IF(UNIX AND NOT APPLE)
     FIND_PACKAGE(OpenAL)
     IF(OPENAL_FOUND)
       SET(WITH_OPENAL ON)
-      SET(OPENAL_LIB ${OPENAL_LIBRARY})
-      SET(OPENAL_INC ${OPENAL_INCLUDE_DIR})
     ELSE(OPENAL_FOUND)
       SET(WITH_OPENAL OFF)
     ENDIF(OPENAL_FOUND)
   ENDIF(WITH_OPENAL)
 
+  IF(WITH_JACK)
+       SET(JACK /usr)
+       SET(JACK_INC ${JACK}/include/jack)
+       SET(JACK_LIB jack)
+       SET(JACK_LIBPATH ${JACK}/lib)
+  ENDIF(WITH_JACK)
+
   FIND_LIBRARY(INTL_LIBRARY
     NAMES intl
     PATHS
@@ -111,34 +118,34 @@ IF(UNIX AND NOT APPLE)
     PATHS
     /sw/lib
   )
+  
   IF(INTL_LIBRARY AND ICONV_LIBRARY)
     SET(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
   ENDIF(INTL_LIBRARY AND ICONV_LIBRARY)
-  
-  FIND_PATH(FREETYPE_INC
-    freetype
-    PATHS
-    /usr/local/include/freetype2
-    /usr/include/freetype2
-    /sw/include/freetype2
-    /opt/local/include/freetype2
-    /opt/csw/include/freetype2
-    /opt/include/freetype2
-    NO_DEFAULT_PATH
-  )
-  SET(FREETYPE_LIB freetype)
 
-  FIND_PACKAGE(PythonLibs)
-  SET(PYTHON_INC "${PYTHON_INCLUDE_PATH}" CACHE STRING "")
-  SET(PYTHON_LIB "${PYTHON_LIBRARIES}" CACHE STRING "")
-  FIND_PACKAGE(PythonInterp)
-  SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
+  FIND_PACKAGE(Freetype)
+  # UNSET(FREETYPE_INCLUDE_DIRS CACHE) # cant use
+
+  # No way to set py31. remove for now.
+  # FIND_PACKAGE(PythonLibs)
+  SET(PYTHON /usr)
+  SET(PYTHON_VERSION 3.1)
+  SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}" CACHE STRING "")
+  # SET(PYTHON_BINARY python) # not used yet
+  SET(PYTHON_LIB python${PYTHON_VERSION} CACHE STRING "")
+  SET(PYTHON_LIBPATH ${PYTHON}/lib CACHE STRING "")
+  
+  # FIND_PACKAGE(PythonInterp) # not used yet
+  # SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
+  
   SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
 
   IF(WITH_SDL)
     FIND_PACKAGE(SDL)
-    SET(SDL_INC ${SDL_INCLUDE_DIR})
-    SET(SDL_LIB ${SDL_LIBRARY})
+    # UNSET(SDLMAIN_LIBRARY CACHE)
+    IF(NOT SDL_FOUND)
+      SET(WITH_SDL OFF)
+    ENDIF(NOT SDL_FOUND)
   ENDIF(WITH_SDL)
 
   FIND_PATH(OPENEXR_INC
@@ -159,10 +166,10 @@ IF(UNIX AND NOT APPLE)
   SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
   
   IF(WITH_FFTW3)
-         SET(FFTW3 /usr)
-         SET(FFTW3_INC ${FFTW3}/include)
-         SET(FFTW3_LIB fftw3)
-         SET(FFTW3_LIBPATH ${FFTW3}/lib)
+    SET(FFTW3 /usr)
+    SET(FFTW3_INC ${FFTW3}/include)
+    SET(FFTW3_LIB fftw3)
+    SET(FFTW3_LIBPATH ${FFTW3}/lib)
   ENDIF(WITH_FFTW3)
 
   SET(LIBSAMPLERATE /usr)
@@ -176,7 +183,13 @@ IF(UNIX AND NOT APPLE)
 
   FIND_PACKAGE(ZLIB REQUIRED)
 
-  SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl")
+  # Could use ${X11_Xinput_LIB} ${X11_X11_LIB} too
+  SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11")
+
+  IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+    # BSD's dont use libdl.so
+    SET(LLIBS "${LLIBS} -ldl")
+  ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 
   IF(WITH_OPENMP)
     SET(LLIBS "${LLIBS} -lgomp")
@@ -211,22 +224,29 @@ IF(WIN32)
   SET(PYTHON ${LIBDIR}/python)
   SET(PYTHON_VERSION 3.1)
   SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
-  SET(PYTHON_BINARY python)
+  # SET(PYTHON_BINARY python) # not used yet
   SET(PYTHON_LIB python31)
   SET(PYTHON_LIBPATH ${PYTHON}/lib)
 
   IF(CMAKE_CL_64)
     SET(WITH_OPENAL OFF)
   ELSE(CMAKE_CL_64)
-       #SET(WITH_OPENAL ON)
-       SET(OPENAL ${LIBDIR}/openal)
-       SET(OPENAL_INC ${OPENAL}/include)
-       SET(OPENAL_LIB wrap_oal)
-       SET(OPENAL_LIBPATH ${OPENAL}/lib)
+    #SET(WITH_OPENAL ON)
+    SET(OPENAL ${LIBDIR}/openal)
+    SET(OPENAL_INCLUDE_DIR ${OPENAL}/include)
+    SET(OPENAL_LIBRARY wrap_oal)
+    SET(OPENAL_LIBPATH ${OPENAL}/lib)
   ENDIF(CMAKE_CL_64)
 
+  IF(WITH_JACK)
+       SET(JACK ${LIBDIR}/jack)
+       SET(JACK_INC ${JACK}/include/jack)
+       SET(JACK_LIB jack)
+       SET(JACK_LIBPATH ${JACK}/lib)
+  ENDIF(WITH_JACK)
+
   IF(CMAKE_CL_64)
-       SET(PNG_LIBRARIES libpng)
+    SET(PNG_LIBRARIES libpng)
   ELSE(CMAKE_CL_64)
     SET(PNG_LIBRARIES libpng_st)
   ENDIF(CMAKE_CL_64)
@@ -248,25 +268,25 @@ IF(WIN32)
   SET(ICONV_LIBPATH ${ICONV}/lib)
   
   IF(WITH_FFTW3)
-         SET(FFTW3 ${LIBDIR}/fftw3)
-         SET(FFTW3_INC ${FFTW3}/include)
-         SET(FFTW3_LIB libfftw)
-         SET(FFTW3_LIBPATH ${FFTW3}/lib)
+      SET(FFTW3 ${LIBDIR}/fftw3)
+      SET(FFTW3_INC ${FFTW3}/include)
+      SET(FFTW3_LIB libfftw)
+      SET(FFTW3_LIBPATH ${FFTW3}/lib)
   ENDIF(WITH_FFTW3)
   
   SET(GETTEXT ${LIBDIR}/gettext)
   SET(GETTEXT_INC ${GETTEXT}/include)
   IF(CMAKE_CL_64)
-       SET(GETTEXT_LIB gettextlib)
+    SET(GETTEXT_LIB gettextlib)
   ELSE(CMAKE_CL_64)
-       SET(GETTEXT_LIB gnu_gettext)
+    SET(GETTEXT_LIB gnu_gettext)
   ENDIF(CMAKE_CL_64)
   SET(GETTEXT_LIBPATH ${GETTEXT}/lib)
 
   SET(FREETYPE ${LIBDIR}/freetype)
-  SET(FREETYPE_INC ${FREETYPE}/include ${FREETYPE}/include/freetype2)
+  SET(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
   SET(FREETYPE_LIBPATH ${FREETYPE}/lib)
-  SET(FREETYPE_LIB freetype2ST)
+  SET(FREETYPE_LIBRARY freetype2ST)
   
   SET(OPENEXR ${LIBDIR}/openexr)
   SET(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/IlmImf ${OPENEXR}/include/Iex ${OPENEXR}/include/Imath)
@@ -317,8 +337,8 @@ IF(WIN32)
   ENDIF(WITH_OPENMP)
 
   SET(SDL ${LIBDIR}/sdl)
-  SET(SDL_INC ${SDL}/include)
-  SET(SDL_LIB SDL)
+  SET(SDL_INCLUDE_DIR ${SDL}/include)
+  SET(SDL_LIBRARY SDL)
   SET(SDL_LIBPATH ${SDL}/lib)
 
   SET(PNG "${LIBDIR}/png")
@@ -353,13 +373,17 @@ IF(APPLE)
     FIND_PACKAGE(OpenAL)
     IF(OPENAL_FOUND)
       SET(WITH_OPENAL ON)
-      SET(OPENAL_LIB ${OPENAL_LIBRARY})
-      SET(OPENAL_INC ${OPENAL_INCLUDE_DIR})
     ELSE(OPENAL_FOUND)
       SET(WITH_OPENAL OFF)
     ENDIF(OPENAL_FOUND)
   ENDIF(WITH_OPENAL)
 
+  IF(WITH_JACK)
+       SET(JACK /usr)
+       SET(JACK_INC ${JACK}/include/jack)
+       SET(JACK_LIB jack)
+       SET(JACK_LIBPATH ${JACK}/lib)
+  ENDIF(WITH_JACK)
 
   SET(PYTHON_VERSION 3.1)
 
@@ -368,7 +392,7 @@ IF(APPLE)
 
     SET(PYTHON ${LIBDIR}/python)
     SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}" CACHE STRING "")
-    SET(PYTHON_BINARY "${PYTHON}/bin/python${PYTHON_VERSION}" CACHE STRING "")
+    # SET(PYTHON_BINARY "${PYTHON}/bin/python${PYTHON_VERSION}" CACHE STRING "") # not used yet
     SET(PYTHON_LIB python${PYTHON_VERSION})
     SET(PYTHON_LIBPATH "${PYTHON}/lib/python${PYTHON_VERSION}" CACHE STRING "")
     #    SET(PYTHON_LINKFLAGS "-u _PyMac_Error")  # won't  build with this enabled
@@ -378,7 +402,7 @@ IF(APPLE)
     SET(PYTHON /System/Library/Frameworks/Python.framework/Versions/)
     SET(PYTHON_VERSION 2.5)
     SET(PYTHON_INC "${PYTHON}${PYTHON_VERSION}/include/python${PYTHON_VERSION}" CACHE STRING "")
-    SET(PYTHON_BINARY ${PYTHON}${PYTHON_VERSION}/bin/python${PYTHON_VERSION} CACHE STRING "")
+    # SET(PYTHON_BINARY ${PYTHON}${PYTHON_VERSION}/bin/python${PYTHON_VERSION} CACHE STRING "") # not used yet
     SET(PYTHON_LIB "")
     SET(PYTHON_LIBPATH ${PYTHON}${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config CACHE STRING "")
     SET(PYTHON_LINKFLAGS "-u _PyMac_Error -framework System -framework Python")
@@ -391,9 +415,9 @@ IF(APPLE)
   
   IF(WITH_FFTW3)
     SET(FFTW3 ${LIBDIR}/fftw3)
-       SET(FFTW3_INC ${FFTW3}/include)
-       SET(FFTW3_LIB libfftw)
-       SET(FFTW3_LIBPATH ${FFTW3}/lib)
+    SET(FFTW3_INC ${FFTW3}/include)
+    SET(FFTW3_LIB libfftw)
+    SET(FFTW3_LIBPATH ${FFTW3}/lib)
   ENDIF(WITH_FFTW3)
 
   SET(PNG_LIBRARIES png)
@@ -404,9 +428,9 @@ IF(APPLE)
   SET(ZLIB_LIBRARIES z)
 
   SET(FREETYPE ${LIBDIR}/freetype)
-  SET(FREETYPE_INC ${FREETYPE}/include ${FREETYPE}/include/freetype2)
+  SET(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
   SET(FREETYPE_LIBPATH ${FREETYPE}/lib)
-  SET(FREETYPE_LIB freetype)
+  SET(FREETYPE_LIBRARY freetype)
 
   SET(OPENEXR ${LIBDIR}/openexr)
   SET(OPENEXR_INC ${OPENEXR}/include/OpenEXR ${OPENEXR}/include)
@@ -420,7 +444,7 @@ IF(APPLE)
 
   SET(LIBSAMPLERATE ${LIBDIR}/samplerate)
   SET(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
-  SET(LIBSAMPLERATE_LIB libsamplerate)
+  SET(LIBSAMPLERATE_LIB samplerate)
   SET(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
 
   SET(LLIBS stdc++ SystemStubs)
@@ -435,8 +459,8 @@ IF(APPLE)
   ENDIF(WITH_OPENMP)
 
   SET(SDL ${LIBDIR}/sdl)
-  SET(SDL_INC ${SDL}/include)
-  SET(SDL_LIB SDL)
+  SET(SDL_INCLUDE_DIR ${SDL}/include)
+  SET(SDL_LIBRARY SDL)
   SET(SDL_LIBPATH ${SDL}/lib)
 
   SET(PNG "${LIBDIR}/png")
@@ -480,6 +504,9 @@ ENDIF(WITH_WEBPLUGIN)
 # Configure OpenGL.
 FIND_PACKAGE(OpenGL)
 INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
+# UNSET(OPENGL_LIBRARIES CACHE) # not compat with older cmake 
+# UNSET(OPENGL_xmesa_INCLUDE_DIR CACHE) # not compat with older cmake 
+
 #-----------------------------------------------------------------------------
 # Extra compile flags
 IF(WITH_GAMEENGINE)
index 5ae8914d77a915fa32e2de9c0b341fdd29cab061..dad9ef544462459734a42c1784ef0fe62890c8d9 100644 (file)
@@ -60,7 +60,6 @@ B = tools.Blender
 platform = sys.platform
 quickie = None
 quickdebug = None
-nsis_build = None
 
 ##### BEGIN SETUP #####
 
@@ -425,8 +424,6 @@ if  env['OURPLATFORM']=='darwin':
                bundle = '%s.app' % prg[0]
                bundledir = os.path.dirname(bundle)
                for dp, dn, df in os.walk(bundle):
-                       if 'CVS' in dn:
-                               dn.remove('CVS')
                        if '.svn' in dn:
                                dn.remove('.svn')
                        dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
@@ -443,8 +440,6 @@ scriptinstall = []
 
 if  env['OURPLATFORM']!='darwin':
                for dp, dn, df in os.walk('bin/.blender'):
-                       if 'CVS' in dn:
-                               dn.remove('CVS')
                        if '.svn' in dn:
                                dn.remove('.svn')
                        
@@ -471,8 +466,6 @@ if  env['OURPLATFORM']!='darwin':
                        scriptpaths=['release/scripts', 'release/ui', 'release/io']
                        for scriptpath in scriptpaths:
                                for dp, dn, df in os.walk(scriptpath):
-                                       if 'CVS' in dn:
-                                               dn.remove('CVS')
                                        if '.svn' in dn:
                                                dn.remove('.svn')
                                        dir=env['BF_INSTALLDIR']+'/.blender/'+os.path.basename(scriptpath)+dp[len(scriptpath):]
@@ -485,8 +478,6 @@ if env['OURPLATFORM']=='linux2':
        icontargetlist = []
 
        for tp, tn, tf in os.walk('release/freedesktop/icons'):
-               if 'CVS' in tn:
-                       tn.remove('CVS')
                if '.svn' in tn:
                        tn.remove('.svn')
                for f in tf:
@@ -509,8 +500,6 @@ if env['OURPLATFORM']=='linuxcross':
 pluglist = []
 plugtargetlist = []
 for tp, tn, tf in os.walk('release/plugins'):
-       if 'CVS' in tn:
-               tn.remove('CVS')
        if '.svn' in tn:
                tn.remove('.svn')
        for f in tf:
@@ -541,8 +530,6 @@ for targetdir,srcfile in zip(plugtargetlist, pluglist):
 textlist = []
 texttargetlist = []
 for tp, tn, tf in os.walk('release/text'):
-       if 'CVS' in tn:
-               tn.remove('CVS')
        if '.svn' in tn:
                tn.remove('.svn')
        for f in tf:
@@ -599,6 +586,8 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc'):
                                                '${LCGDIR}/ffmpeg/lib/libx264-67.dll',
                                                '${LCGDIR}/ffmpeg/lib/xvidcore.dll',
                                                '${LCGDIR}/ffmpeg/lib/swscale-0.dll']
+       if env['WITH_BF_JACK']:
+               dllsources += ['${LCGDIR}/jack/lib/libjack.dll']
        windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
        allinstall += windlls
 
index 5e8d94fbaac9bd9ebb7285e70c1db12a1aea4868..5c0fa9a5086dc5e4ba03e53f4718fe88e7b4a764 100644 (file)
@@ -63,7 +63,7 @@ if BF_PYTHON_VERSION=='3.1':
        # BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
        BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
        BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}'
-       # BF_PYTHON_LINKFLAGS = '-u _PyMac_Error -framework System'
+       # BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System']
 else:
        # python 2.5 etc. uses built-in framework
 
@@ -79,9 +79,9 @@ else:
        BF_PYTHON_BINARY = '${BF_PYTHON}${BF_PYTHON_VERSION}/bin/python${BF_PYTHON_VERSION}'
        BF_PYTHON_LIB = ''
        BF_PYTHON_LIBPATH = '${BF_PYTHON}${BF_PYTHON_VERSION}/lib/python${BF_PYTHON_VERSION}/config'
-       BF_PYTHON_LINKFLAGS = '-u _PyMac_Error -framework System -framework Python'
+       BF_PYTHON_LINKFLAGS = ['-u','_PyMac_Error','-framework','System','-framework','Python']
        if MAC_CUR_VER=='10.3' or  MAC_CUR_VER=='10.4':
-               BF_PYTHON_LINKFLAGS ='-u __dummy '+BF_PYTHON_LINKFLAGS
+               BF_PYTHON_LINKFLAGS = ['-u', '__dummy']+BF_PYTHON_LINKFLAGS
        
 BF_QUIET = '1'
 WITH_BF_OPENMP = '0'
@@ -112,6 +112,13 @@ BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
 BF_LIBSAMPLERATE_LIB = 'samplerate'
 BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
 
+# TODO - set proper paths here (add precompiled to lib/ ? )
+WITH_BF_JACK = False
+BF_JACK = '/usr'
+BF_JACK_INC = '${BF_JACK}/include/jack'
+BF_JACK_LIB = 'jack'
+BF_JACK_LIBPATH = '${BF_JACK}/lib'
+
 WITH_BF_SDL = True
 BF_SDL = LIBDIR + '/sdl' #$(shell sdl-config --prefix)
 BF_SDL_INC = '${BF_SDL}/include' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
@@ -205,14 +212,14 @@ BF_ICONV_LIB = 'iconv'
 WITH_BF_STATICOPENGL = True
 BF_OPENGL_LIB = 'GL GLU'
 BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries'
-BF_OPENGL_LINKFLAGS = '-framework OpenGL'
+BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL']
 
 CFLAGS = ['-pipe','-fPIC','-funsigned-char']
 
 CPPFLAGS = ['-fpascal-strings']
 CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fpascal-strings']
 CXXFLAGS = [ '-pipe','-fPIC','-funsigned-char', '-fpascal-strings']
-PLATFORM_LINKFLAGS = '-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime'
+PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','QuickTime']
 
 #note to build succesfully on 10.3.9 SDK you need to patch  10.3.9 by adding the SystemStubs.a lib from 10.4
 LLIBS = ['stdc++', 'SystemStubs']
@@ -221,12 +228,12 @@ LLIBS = ['stdc++', 'SystemStubs']
 if MAC_MIN_VERS == '10.3':
        CFLAGS = ['-fuse-cxa-atexit']+CFLAGS
        CXXFLAGS = ['-fuse-cxa-atexit']+CXXFLAGS
-       PLATFORM_LINKFLAGS = '-fuse-cxa-atexit '+PLATFORM_LINKFLAGS
+       PLATFORM_LINKFLAGS = ['-fuse-cxa-atexit']+PLATFORM_LINKFLAGS
        LLIBS.append('crt3.o')
        
 if USE_SDK==True:
        SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS]        
-       PLATFORM_LINKFLAGS = '-mmacosx-version-min='+MAC_MIN_VERS+ ' -Wl,-syslibroot,' + MACOSX_SDK+" "+PLATFORM_LINKFLAGS
+       PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS, '-Wl,-syslibroot,' + MACOSX_SDK]+PLATFORM_LINKFLAGS
        CCFLAGS=SDK_FLAGS+CCFLAGS
        CXXFLAGS=SDK_FLAGS+CXXFLAGS
        
index c1707a02cc4df3b9e6213db2ef5c2f04573309db..b8e035c72fba73f0174843c0e5fbbc9e56bf4a58 100644 (file)
@@ -27,6 +27,12 @@ BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
 BF_LIBSAMPLERATE_LIB = 'samplerate'
 BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
 
+WITH_BF_JACK = False
+BF_JACK = '/usr'
+BF_JACK_INC = '${BF_JACK}/include/jack'
+BF_JACK_LIB = 'jack'
+BF_JACK_LIBPATH = '${BF_JACK}/lib'
+
 WITH_BF_SDL = True
 BF_SDL = '/usr' #$(shell sdl-config --prefix)
 BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
index 1570698d261ed4e000e9759ce77b4ca9f8810e20..a7de3f6111e55ad55c22e0f2a68be3142ec1803c 100644 (file)
@@ -31,6 +31,12 @@ BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
 BF_LIBSAMPLERATE_LIB = 'libsamplerate'
 BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
 
+WITH_BF_JACK = False
+BF_JACK = LIBDIR + '/jack'
+BF_JACK_INC = '${BF_JACK}/include'
+BF_JACK_LIB = 'libjack'
+BF_JACK_LIBPATH = '${BF_JACK}/lib'
+
 WITH_BF_SDL = True
 BF_SDL = LIBDIR + '/sdl'
 BF_SDL_INC = '${BF_SDL}/include'
index bb1bc02ccdbdd2209534515a67647956eff2e39e..e9bbd42e915126859e1ea15d245964d63195d94e 100644 (file)
@@ -37,6 +37,12 @@ BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
 BF_LIBSAMPLERATE_LIB = 'libsamplerate'
 BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
 
+WITH_BF_JACK = False
+BF_JACK = LIBDIR + '/jack'
+BF_JACK_INC = '${BF_JACK}/include'
+BF_JACK_LIB = 'libjack'
+BF_JACK_LIBPATH = '${BF_JACK}/lib'
+
 WITH_BF_SDL = True
 BF_SDL = LIBDIR + '/sdl'
 BF_SDL_INC = '${BF_SDL}/include'
index 53ef014927c3fef17e8b29d5c337aeb5d0e8aa86..eea34488e17f4017d24dc3d1c3fd0259279e893f 100644 (file)
 
 SET(INC include src)
 
+IF(UNIX)
+  SET(INC ${INC} ${X11_X11_INCLUDE_PATH})
+ENDIF(UNIX)
+
 SET(SRC
   src/glew.c
 )
 
 BLENDERLIB(extern_glew "${SRC}" "${INC}")
+
index c179d5328b9dd76691fc6a8c969e27524a1bdff3..0a985aceb37b56a88928b3637c7c7cb5bb684332 100644 (file)
@@ -24,7 +24,7 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
-SET(INC . src ${FREETYPE_INC})
+SET(INC . src)
 
 FILE(GLOB SRC *.c except t1_generate_luts.c)
 ADD_DEFINITIONS(-DWITH_OPENJPEG)
index c0716e2057c640f9219a1c7e751b692c2b19f581..940a4b2bedc33cb278deb8d8bafc90b47ad8dad2 100644 (file)
@@ -31,22 +31,28 @@ IF(WITH_FFMPEG)
 ENDIF(WITH_FFMPEG)
 
 IF(WITH_SDL)
-  SET(INC ${INC} SDL ${SDL_INC})
+  SET(INC ${INC} SDL ${SDL_INCLUDE_DIR})
   FILE(GLOB SDLSRC SDL/*.cpp)
   ADD_DEFINITIONS(-DWITH_SDL)
 ENDIF(WITH_SDL)
 
 IF(WITH_OPENAL)
-  SET(INC ${INC} OpenAL ${OPENAL_INC})
+  SET(INC ${INC} OpenAL ${OPENAL_INCLUDE_DIR})
   FILE(GLOB OPENALSRC OpenAL/*.cpp)
   ADD_DEFINITIONS(-DWITH_OPENAL)
 
-  STRING(REGEX MATCH ".*ramework.*" FRAMEWORK ${OPENAL_INC})
+  STRING(REGEX MATCH ".*ramework.*" FRAMEWORK ${OPENAL_INCLUDE_DIR})
   IF(FRAMEWORK)
     ADD_DEFINITIONS(-DAPPLE_FRAMEWORK_FIX)
   ENDIF(FRAMEWORK)
 ENDIF(WITH_OPENAL)
 
-SET(SRC ${SRC} ${FFMPEGSRC} ${SDLSRC} ${OPENALSRC})
+IF(WITH_JACK)
+  SET(INC ${INC} jack ${JACK_INC})
+  FILE(GLOB JACKSRC jack/*.cpp)
+  ADD_DEFINITIONS(-DWITH_JACK)
+ENDIF(WITH_JACK)
+
+SET(SRC ${SRC} ${FFMPEGSRC} ${SDLSRC} ${OPENALSRC} ${JACKSRC})
 
 BLENDERLIB(bf_audaspace "${SRC}" "${INC}")
index 57ebbbd6085f3d03ee936bb44ae9a99dc674131f..2d66dcf67fac97b0734c419f733b5d6939f09ae9 100644 (file)
@@ -51,8 +51,11 @@ install: $(ALL_OR_DEBUG)
        @[ -d $(NAN_AUDASPACE)/include ] || mkdir $(NAN_AUDASPACE)/include
        @[ -d $(NAN_AUDASPACE)/lib/$(DEBUG_DIR) ] || mkdir $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
        @../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libaudaspace.a $(DIR)/$(DEBUG_DIR)libaud_fx.a $(DIR)/$(DEBUG_DIR)libaud_src.a $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)
+
 ifeq ($(OS),darwin)
        ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaudaspace.a
+       ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_src.a
+       ranlib $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_fx.a
 endif
        @../tools/cpifdiff.sh intern/*.h $(NAN_AUDASPACE)/include/
 
index 4cb3e720d466f40985ff9405c7e4bb958b6d8d4c..caae070359a19d1192223b1c02cf11604d7df13d 100644 (file)
@@ -21,4 +21,9 @@ if env['WITH_BF_OPENAL']:
        incs += ' OpenAL ' + env['BF_OPENAL_INC']
        defs.append('WITH_OPENAL')
 
+if env['WITH_BF_JACK']:
+       sources += env.Glob('jack/*.cpp')
+       incs += ' jack ' + env['BF_JACK_INC']
+       defs.append('WITH_JACK')
+
 env.BlenderLib ('bf_audaspace', sources, Split(incs), defs, libtype=['intern'], priority = [25] )
index 9ea5f1a74ee74b3ee89ff6280968228d92b8f78d..dd443e7f5c72559095b8b67515ddb27dff619e15 100644 (file)
 #include "AUD_SDLDevice.h"
 #include "AUD_IReader.h"
 
-#include <SDL.h>
-
-// this is the callback function for SDL, it only calls the class
-void mixAudio(void *data, Uint8* buffer, int length)
+void AUD_SDLDevice::SDL_mix(void *data, Uint8* buffer, int length)
 {
        AUD_SDLDevice* device = (AUD_SDLDevice*)data;
-       device->SDLmix((sample_t *)buffer, length);
+
+       device->mix((sample_t*)buffer, length/AUD_SAMPLE_SIZE(device->m_specs));
 }
 
 AUD_SDLDevice::AUD_SDLDevice(AUD_Specs specs, int buffersize)
@@ -56,7 +54,7 @@ AUD_SDLDevice::AUD_SDLDevice(AUD_Specs specs, int buffersize)
                format.format = AUDIO_S16SYS;
        format.channels = m_specs.channels;
        format.samples = buffersize;
-       format.callback = &mixAudio;
+       format.callback = AUD_SDLDevice::SDL_mix;
        format.userdata = this;
 
        if(SDL_OpenAudio(&format, &obtained) != 0)
@@ -86,11 +84,6 @@ AUD_SDLDevice::~AUD_SDLDevice()
        destroy();
 }
 
-void AUD_SDLDevice::SDLmix(sample_t* buffer, int length)
-{
-       mix(buffer, length/AUD_SAMPLE_SIZE(m_specs));
-}
-
 void AUD_SDLDevice::playing(bool playing)
 {
        SDL_PauseAudio(playing ? 0 : 1);
index 3eb93d287622d906acbb821dab1aa9957002e4cb..e2c6f7631b71caf6946699b93e1a6c0362efd819 100644 (file)
 
 #include "AUD_SoftwareDevice.h"
 
+#include <SDL.h>
+
 /**
  * This device plays back through SDL, the simple direct media layer.
  */
 class AUD_SDLDevice : public AUD_SoftwareDevice
 {
+private:
+       /**
+        * Mixes the next bytes into the buffer.
+        * \param data The SDL device.
+        * \param buffer The target buffer.
+        * \param length The length in bytes to be filled.
+        */
+       static void SDL_mix(void *data, Uint8* buffer, int length);
+
 protected:
        virtual void playing(bool playing);
 
@@ -50,14 +61,6 @@ public:
         * Closes the SDL audio device.
         */
        virtual ~AUD_SDLDevice();
-
-       /**
-        * Mixes the next bytes into the buffer.
-        * \param buffer The target buffer.
-        * \param length The length in bytes to be filled.
-        * \warning This function shall not be called from outside!
-        */
-       void SDLmix(sample_t* buffer, int length);
 };
 
 #endif //AUD_SDLDEVICE
index 7bcdb3f6fd53844016ca7df72972ae02e7f1fbd9..e36b2de41fea340c051ce8962037446baeb798a4 100644 (file)
@@ -28,7 +28,7 @@
 #
 #
 
-LIBNAME = SDLaudaspace
+LIBNAME = aud_sdl
 DIR = $(OCGDIR)/intern/$(LIBNAME)
 
 include nan_compile.mk
index 07804d3b37b8c1175d90220a640b2b7c2fe0f6bc..5cf5f55b11fe5bf18fb22cae02de960a4ef36c14 100644 (file)
@@ -35,6 +35,7 @@ include nan_compile.mk
 
 CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
 
+CPPFLAGS += -I$(LCGDIR)/samplerate/include/
 CPPFLAGS += -I../ffmpeg
 CPPFLAGS += -I../FX
 CPPFLAGS += -I../SDL
index 28356e3b97d51b4de6be03c31e45f10f20787193..b79375c2dc56fed92846b456f6aeb689d7b5b0ba 100644 (file)
@@ -34,7 +34,7 @@ extern "C" {
 #include <libavformat/avformat.h>
 }
 
-// This function transforms a FFMPEG SampleFormat to or own sample format
+// This function transforms a FFMPEG SampleFormat to our own sample format
 static inline AUD_SampleFormat FFMPEG_TO_AUD(SampleFormat fmt)
 {
        switch(fmt)
index 2938c36146e21f04d09b29d86e0939a2640e0ebf..0bfe6494559ecd742ff12df322eac9ab63e97fcb 100644 (file)
@@ -28,7 +28,7 @@
 #
 #
 
-LIBNAME = ffmpegaudaspace
+LIBNAME = aud_ffmpeg
 DIR = $(OCGDIR)/intern/$(LIBNAME)
 
 include nan_compile.mk
index 92a499e84b82b9dc3ecf9be73f6a53be5e377289..d2c8e94c94912e5de77bfcdddac1c01a0884e9c1 100644 (file)
  * ***** END LGPL LICENSE BLOCK *****
  */
 
-/*#define WITH_SDL
-#define WITH_FFMPEG
-#define WITH_OPENAL*/
-
 #include "AUD_NULLDevice.h"
 #include "AUD_I3DDevice.h"
 #include "AUD_StreamBufferFactory.h"
 #include "AUD_OpenALDevice.h"
 #endif
 
+#ifdef WITH_JACK
+#include "AUD_JackDevice.h"
+#endif
+
 #ifdef WITH_FFMPEG
 #include "AUD_FFMPEGFactory.h"
 extern "C" {
@@ -97,6 +97,11 @@ int AUD_init(AUD_DeviceType device, AUD_Specs specs, int buffersize)
                case AUD_OPENAL_DEVICE:
                        dev = new AUD_OpenALDevice(specs, buffersize);
                        break;
+#endif
+#ifdef WITH_JACK
+               case AUD_JACK_DEVICE:
+                       dev = new AUD_JackDevice(specs);
+                       break;
 #endif
                default:
                        return false;
@@ -125,6 +130,9 @@ int* AUD_enumDevices()
 #endif
 #ifdef WITH_OPENAL
        AUD_available_devices[i++] = AUD_OPENAL_DEVICE;
+#endif
+#ifdef WITH_JACK
+       AUD_available_devices[i++] = AUD_JACK_DEVICE;
 #endif
        AUD_available_devices[i++] = AUD_NULL_DEVICE;
        return AUD_available_devices;
index b08f05db1ca579896e328040b9fd7f53cd245ba8..6ec5ec87ad5fb2bd88a65a21836b612921f5076f 100644 (file)
@@ -36,7 +36,8 @@ typedef enum
 {
        AUD_NULL_DEVICE = 0,
        AUD_SDL_DEVICE,
-       AUD_OPENAL_DEVICE
+       AUD_OPENAL_DEVICE,
+       AUD_JACK_DEVICE
 } AUD_DeviceType;
 
 typedef struct
index 2ff4925644c0e86b73bd1b491f84fb636964a882..da25a2b74601ef02ee208eb84c23686419465607 100644 (file)
@@ -60,6 +60,8 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                case AUD_FORMAT_FLOAT64:
                        m_convert = AUD_convert_u8_double;
                        break;
+               default:
+                       break;
                }
                break;
        case AUD_FORMAT_S16:
@@ -86,6 +88,8 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                case AUD_FORMAT_FLOAT64:
                        m_convert = AUD_convert_s16_double;
                        break;
+               default:
+                       break;
                }
                break;
        case AUD_FORMAT_S24:
@@ -110,6 +114,8 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                        case AUD_FORMAT_FLOAT64:
                                m_convert = AUD_convert_double_s24_be;
                                break;
+                       default:
+                               break;
                        }
                else
                        switch(specs.format)
@@ -132,6 +138,8 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                        case AUD_FORMAT_FLOAT64:
                                m_convert = AUD_convert_double_s24_le;
                                break;
+                       default:
+                               break;
                        }
                break;
        case AUD_FORMAT_S32:
@@ -158,6 +166,8 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                case AUD_FORMAT_FLOAT64:
                        m_convert = AUD_convert_s32_double;
                        break;
+               default:
+                       break;
                }
                break;
        case AUD_FORMAT_FLOAT32:
@@ -184,6 +194,8 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                case AUD_FORMAT_FLOAT64:
                        m_convert = AUD_convert_float_double;
                        break;
+               default:
+                       break;
                }
                break;
        case AUD_FORMAT_FLOAT64:
@@ -210,8 +222,12 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader, AUD_Specs specs) :
                case AUD_FORMAT_FLOAT64:
                        m_convert = AUD_convert_copy<double>;
                        break;
+               default:
+                       break;
                }
                break;
+       default:
+               break;
        }
 
        m_specs.format = specs.format;
index 1678c1698459b8cc5beb6379864fc086ecd0e5c0..f7133b9c30ef470a044ab05fe81ea2ed10d26f20 100644 (file)
@@ -125,6 +125,8 @@ void AUD_FloatMixer::setSpecs(AUD_Specs specs)
        case AUD_FORMAT_FLOAT64:
                m_convert = AUD_convert_float_double;
                break;
+       default:
+               break;
        }
 }
 
index 9c6cc70c314b21f6e802cd35d095995df5b7dd41..123d9c272a085f2876e04ecb105883d9bbde2fce 100644 (file)
@@ -180,7 +180,8 @@ typedef enum
        AUD_ERROR_FILE,
        AUD_ERROR_FFMPEG,
        AUD_ERROR_SDL,
-       AUD_ERROR_OPENAL
+       AUD_ERROR_OPENAL,
+       AUD_ERROR_JACK
 } AUD_Error;
 
 /// Message codes.
index 85dbbf8aa52b44fe49fa696dde511cddae614fc9..2dcc7798f1c4195a74aa392383d7bfd1e4ab8841 100644 (file)
@@ -35,6 +35,7 @@ include nan_compile.mk
 
 CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
 
+CPPFLAGS += -I$(LCGDIR)/samplerate/include/
 CPPFLAGS += -I../ffmpeg
 CPPFLAGS += -I../FX
 CPPFLAGS += -I../SDL
diff --git a/intern/audaspace/jack/AUD_JackDevice.cpp b/intern/audaspace/jack/AUD_JackDevice.cpp
new file mode 100644 (file)
index 0000000..445e68e
--- /dev/null
@@ -0,0 +1,149 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN LGPL LICENSE BLOCK *****
+ *
+ * Copyright 2009 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * AudaSpace is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * ***** END LGPL LICENSE BLOCK *****
+ */
+
+#include "AUD_FloatMixer.h"
+#include "AUD_JackDevice.h"
+#include "AUD_IReader.h"
+#include "AUD_Buffer.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+// AUD_XXX this is not realtime suitable!
+int AUD_JackDevice::jack_mix(jack_nframes_t length, void *data)
+{
+       AUD_JackDevice* device = (AUD_JackDevice*)data;
+       int samplesize = AUD_SAMPLE_SIZE(device->m_specs);
+       if(device->m_buffer->getSize() < samplesize * length)
+               device->m_buffer->resize(samplesize * length);
+       device->mix(device->m_buffer->getBuffer(), length);
+
+       float* in = (float*) device->m_buffer->getBuffer();
+       float* out;
+       int count = device->m_specs.channels;
+
+       for(int i = 0; i < count; i++)
+       {
+               out = (float*)jack_port_get_buffer(device->m_ports[i], length);
+               for(int j = 0; j < length; j++)
+                       out[j] = in[j * count + i];
+       }
+
+       return 0;
+}
+
+void AUD_JackDevice::jack_shutdown(void *data)
+{
+       AUD_JackDevice* device = (AUD_JackDevice*)data;
+       device->m_valid = false;
+}
+
+AUD_JackDevice::AUD_JackDevice(AUD_Specs specs)
+{
+       if(specs.channels == AUD_CHANNELS_INVALID)
+               specs.channels = AUD_CHANNELS_STEREO;
+
+       // jack uses floats
+       m_specs = specs;
+       m_specs.format = AUD_FORMAT_FLOAT32;
+
+       jack_options_t options = JackNullOption;
+       jack_status_t status;
+
+       // open client
+       m_client = jack_client_open("Blender", options, &status);
+       if(m_client == NULL)
+               AUD_THROW(AUD_ERROR_JACK);
+
+       m_buffer = new AUD_Buffer(); AUD_NEW("buffer");
+
+       // set callbacks
+       jack_set_process_callback(m_client, AUD_JackDevice::jack_mix, this);
+       jack_on_shutdown(m_client, AUD_JackDevice::jack_shutdown, this);
+
+       // register our output channels which are called ports in jack
+       m_ports = new jack_port_t*[m_specs.channels]; AUD_NEW("jack_port")
+
+       try
+       {
+               char portname[64];
+               for(int i = 0; i < m_specs.channels; i++)
+               {
+                       sprintf(portname, "out %d", i+1);
+                       m_ports[i] = jack_port_register(m_client, portname,
+                                                                                       JACK_DEFAULT_AUDIO_TYPE,
+                                                                                       JackPortIsOutput, 0);
+                       if(m_ports[i] == NULL)
+                               AUD_THROW(AUD_ERROR_JACK);
+               }
+
+               m_specs.rate = (AUD_SampleRate)jack_get_sample_rate(m_client);
+
+               // activate the client
+               if(jack_activate(m_client))
+                       AUD_THROW(AUD_ERROR_JACK);
+       }
+       catch(AUD_Exception e)
+       {
+               jack_client_close(m_client);
+               delete[] m_ports; AUD_DELETE("jack_port")
+               delete m_buffer; AUD_DELETE("buffer");
+               throw;
+       }
+
+       const char** ports = jack_get_ports(m_client, NULL, NULL,
+                                                                               JackPortIsPhysical | JackPortIsInput);
+       if(ports != NULL)
+       {
+               for(int i = 0; i < m_specs.channels && ports[i]; i++)
+                       jack_connect(m_client, jack_port_name(m_ports[i]), ports[i]);
+
+               free(ports);
+       }
+
+       m_mixer = new AUD_FloatMixer(); AUD_NEW("mixer")
+       m_mixer->setSpecs(m_specs);
+
+       m_valid = true;
+
+       create();
+}
+
+AUD_JackDevice::~AUD_JackDevice()
+{
+       lock();
+       if(m_valid)
+               jack_client_close(m_client);
+       delete[] m_ports; AUD_DELETE("jack_port")
+       delete m_buffer; AUD_DELETE("buffer");
+       unlock();
+
+       destroy();
+}
+
+void AUD_JackDevice::playing(bool playing)
+{
+       // Do nothing.
+}
diff --git a/intern/audaspace/jack/AUD_JackDevice.h b/intern/audaspace/jack/AUD_JackDevice.h
new file mode 100644 (file)
index 0000000..0b09e20
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN LGPL LICENSE BLOCK *****
+ *
+ * Copyright 2009 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * AudaSpace is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * ***** END LGPL LICENSE BLOCK *****
+ */
+
+#ifndef AUD_JACKDEVICE
+#define AUD_JACKDEVICE
+
+#include "AUD_SoftwareDevice.h"
+class AUD_Buffer;
+
+#include <jack.h>
+
+/**
+ * This device plays back through Jack.
+ */
+class AUD_JackDevice : public AUD_SoftwareDevice
+{
+private:
+       /**
+        * The output ports of jack.
+        */
+       jack_port_t** m_ports;
+
+       /**
+        * The jack client.
+        */
+       jack_client_t* m_client;
+
+       /**
+        * The output buffer.
+        */
+       AUD_Buffer* m_buffer;
+
+       /**
+        * Whether the device is valid.
+        */
+       bool m_valid;
+
+       /**
+        * Invalidates the jack device.
+        * \param data The jack device that gets invalidet by jack.
+        */
+       static void jack_shutdown(void *data);
+
+       /**
+        * Mixes the next bytes into the buffer.
+        * \param length The length in samples to be filled.
+        * \param data A pointer to the jack device.
+        * \return 0 what shows success.
+        */
+       static int jack_mix(jack_nframes_t length, void *data);
+
+protected:
+       virtual void playing(bool playing);
+
+public:
+       /**
+        * Creates a Jack client for audio output.
+        * \param specs The wanted audio specification, where only the channel count is important.
+        * \exception AUD_Exception Thrown if the audio device cannot be opened.
+        */
+       AUD_JackDevice(AUD_Specs specs);
+
+       /**
+        * Closes the Jack client.
+        */
+       virtual ~AUD_JackDevice();
+};
+
+#endif //AUD_JACKDEVICE
diff --git a/intern/audaspace/jack/Makefile b/intern/audaspace/jack/Makefile
new file mode 100644 (file)
index 0000000..a6cc911
--- /dev/null
@@ -0,0 +1,40 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): GSR
+#
+# ***** END GPL LICENSE BLOCK *****
+#
+#
+
+LIBNAME = aud_jack
+DIR = $(OCGDIR)/intern/audaspace
+
+include nan_compile.mk
+
+CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
+
+CPPFLAGS += -I../intern
+CPPFLAGS += -I..
+CPPFLAGS += -I.
index 03fd4a3fefc75bd6c24da487f8e8ef9672d6d99a..8b8a3000efde9f5a36a309dbbc2256a447ce6244 100644 (file)
@@ -24,7 +24,7 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
-SET(INC ${PNG_INC} ${ZLIB_INC} ${SDL_INC} extern)
+SET(INC ${PNG_INC} ${ZLIB_INC} extern)
 
 FILE(GLOB SRC intern/*.cpp)
 
index 6bb224b625ac352d968b81e49e88682fe152f032..a396e395126c2da2a30773acdc54c7b9472b0f8d 100644 (file)
@@ -22,9 +22,9 @@
 {
        if(doReduce) {
                // synchronize global vars
-               for(int j=0; j<calcListFull.size() ; j++) mListFull.push_back( calcListFull[j] ); 
-               for(int j=0; j<calcListEmpty.size(); j++) mListEmpty.push_back( calcListEmpty[j] ); 
-               for(int j=0; j<calcListParts.size(); j++) mpParticles->addFullParticle( calcListParts[j] );
+               for(size_t j=0; j<calcListFull.size() ; j++) mListFull.push_back( calcListFull[j] ); 
+               for(size_t j=0; j<calcListEmpty.size(); j++) mListEmpty.push_back( calcListEmpty[j] ); 
+               for(size_t j=0; j<calcListParts.size(); j++) mpParticles->addFullParticle( calcListParts[j] );
                if(calcMaxVlen>mMaxVlen) {  
                        mMxvx = calcMxvx;  
                        mMxvy = calcMxvy;  
index b559d49958c0361ca896cfd991d81cebf0c2bac9..3d588ecfd000f5ef6a4e17a223b9d17f37ac2fc8 100644 (file)
@@ -24,7 +24,7 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
-SET(INC . ../string ${WINTAB_INC})
+SET(INC . ../string)
 
 FILE(GLOB SRC intern/*.cpp)
 
@@ -37,6 +37,7 @@ IF(APPLE)
   LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowX11.cpp")
 ELSE(APPLE)
   IF(WIN32)
+    SET(INC ${INC} ${WINTAB_INC})
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_DisplayManagerCarbon.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_SystemCarbon.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowCarbon.cpp")
@@ -44,6 +45,7 @@ ELSE(APPLE)
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_SystemX11.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowX11.cpp")
   ELSE(WIN32)
+    SET(INC ${INC} ${X11_X11_INCLUDE_PATH})
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_DisplayManagerWin32.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_SystemWin32.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowWin32.cpp")
index 5ed3117c8906103134f4b1b3d411a20c5124bfdd..e3c64f9746a59cfc165aae510acb0bf46ff42d00 100644 (file)
@@ -82,7 +82,7 @@ typedef unsigned long uintptr_t;
 #define _UINTPTR_T_DEFINED
 #endif
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
 
        /* Linux-i386, Linux-Alpha, Linux-ppc */
 #include <stdint.h>
index 411a8582f9617a5feb9be9bcff2232e3b02622c6..56a27ec17cef29ccf8e3bcec558bd0a440797002 100644 (file)
@@ -83,7 +83,7 @@ typedef unsigned long uintptr_t;
 #define _UINTPTR_T_DEFINED
 #endif
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
 
        /* Linux-i386, Linux-Alpha, Linux-ppc */
 #include <stdint.h>
index 52df3891ca003d1c4aaad4986681fd606554c754..f0dba3cc7a4618031e4ef59d7b1e4bd0c4eb74ce 100644 (file)
@@ -36,7 +36,7 @@ struct FLUID_3D *smoke_init(int *res, float *p0, float dt);
 void smoke_free(struct FLUID_3D *fluid);
 
 void smoke_initBlenderRNA(struct FLUID_3D *fluid, float *alpha, float *beta);
-void smoke_step(struct FLUID_3D *fluid);
+void smoke_step(struct FLUID_3D *fluid, size_t framenr);
 
 float *smoke_get_density(struct FLUID_3D *fluid);
 float *smoke_get_heat(struct FLUID_3D *fluid);
@@ -49,6 +49,8 @@ unsigned char *smoke_get_obstacle(struct FLUID_3D *fluid);
 size_t smoke_get_index(int x, int max_x, int y, int max_y, int z);
 size_t smoke_get_index2d(int x, int max_x, int y);
 
+void smoke_dissolve(struct FLUID_3D *fluid, int speed, int log);
+
 // wavelet turbulence functions
 struct WTURBULENCE *smoke_turbulence_init(int *res, int amplify, int noisetype);
 void smoke_turbulence_free(struct WTURBULENCE *wt);
@@ -59,6 +61,8 @@ void smoke_turbulence_get_res(struct WTURBULENCE *wt, int *res);
 void smoke_turbulence_set_noise(struct WTURBULENCE *wt, int type);
 void smoke_initWaveletBlenderRNA(struct WTURBULENCE *wt, float *strength);
 
+void smoke_dissolve_wavelet(struct WTURBULENCE *wt, int speed, int log);
+
 #ifdef __cplusplus
 }
 #endif
index 0e1fe637bb8a11ad30a49dbb673dddc032da1ea3..ff66f29143c3f3369540e341a3340d8173fc0b53 100644 (file)
@@ -101,6 +101,8 @@ FLUID_3D::FLUID_3D(int *res, float *p0, float dt) :
        _h                        = new float[_totalCells];
        _Precond          = new float[_totalCells];
 
+       // DG TODO: check if alloc went fine
+
        for (int x = 0; x < _totalCells; x++)
        {
                _density[x]      = 0.0f;
@@ -219,7 +221,10 @@ void FLUID_3D::step()
 {
        // wipe forces
        for (int i = 0; i < _totalCells; i++)
+       {
                _xForce[i] = _yForce[i] = _zForce[i] = 0.0f;
+               _obstacles[i] &= ~2;
+       }
 
        wipeBoundaries();
 
@@ -683,16 +688,17 @@ void FLUID_3D::advectMacCormack()
 
        const float dt0 = _dt / _dx;
        // use force arrays as temp arrays
-  for (int x = 0; x < _totalCells; x++)
-    _xForce[x] = _yForce[x] = 0.0;
+       for (int x = 0; x < _totalCells; x++)
+               _xForce[x] = _yForce[x] = 0.0;
+
        float* t1 = _xForce;
        float* t2 = _yForce;
 
-       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _densityOld, _density, t1,t2, res, NULL);
-       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _heatOld, _heat, t1,t2, res, NULL);
-       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _xVelocityOld, _xVelocity, t1,t2, res, NULL);
-       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _yVelocityOld, _yVelocity, t1,t2, res, NULL);
-       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _zVelocityOld, _zVelocity, t1,t2, res, NULL);
+       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _densityOld, _density, t1,t2, res, _obstacles);
+       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _heatOld, _heat, t1,t2, res, _obstacles);
+       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _xVelocityOld, _xVelocity, t1,t2, res, _obstacles);
+       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _yVelocityOld, _yVelocity, t1,t2, res, _obstacles);
+       advectFieldMacCormack(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _zVelocityOld, _zVelocity, t1,t2, res, _obstacles);
 
        if(DOMAIN_BC_LEFT == 0) copyBorderX(_xVelocity, res);
        else setZeroX(_xVelocity, res);
index 614ea4e46de0c68107fe41fbf4c3aaf80238bc48..78a4cf076e34682abab70c6f82cc8ee8f9fafd34 100644 (file)
@@ -161,13 +161,13 @@ class FLUID_3D
                static void advectFieldSemiLagrange(const float dt, const float* velx, const float* vely,  const float* velz,
                                float* oldField, float* newField, Vec3Int res);
                static void advectFieldMacCormack(const float dt, const float* xVelocity, const float* yVelocity, const float* zVelocity, 
-                               float* oldField, float* newField, float* temp1, float* temp2, Vec3Int res, const float* obstacles);
+                               float* oldField, float* newField, float* temp1, float* temp2, Vec3Int res, const unsigned char* obstacles);
 
                // maccormack helper functions
                static void clampExtrema(const float dt, const float* xVelocity, const float* yVelocity,  const float* zVelocity,
                                float* oldField, float* newField, Vec3Int res);
                static void clampOutsideRays(const float dt, const float* xVelocity, const float* yVelocity,  const float* zVelocity,
-                               float* oldField, float* newField, Vec3Int res, const float* obstacles, const float *oldAdvection);
+                               float* oldField, float* newField, Vec3Int res, const unsigned char* obstacles, const float *oldAdvection);
 
                // output helper functions
                // static void writeImageSliceXY(const float *field, Vec3Int res, int slice, string prefix, int picCnt, float scale=1.);
index 9d546009a8c91a11d7120ad5fb1d2da8a0f3df94..a35beaa05d7bb80ccf6b1fb16ff7f49de11dee3c 100644 (file)
@@ -26,7 +26,8 @@
 
 void FLUID_3D::solvePressurePre(float* field, float* b, unsigned char* skip)
 {
-       size_t x, y, z, index;
+       int x, y, z;
+       size_t index;
 
        // i = 0
        int i = 0;
@@ -197,7 +198,8 @@ void FLUID_3D::solvePressurePre(float* field, float* b, unsigned char* skip)
 //////////////////////////////////////////////////////////////////////
 void FLUID_3D::solvePressure(float* field, float* b, unsigned char* skip)
 {
-       size_t x, y, z, index;
+       int x, y, z;
+       size_t index;
 
        // i = 0
        int i = 0;
@@ -348,7 +350,8 @@ void FLUID_3D::solvePressure(float* field, float* b, unsigned char* skip)
 //////////////////////////////////////////////////////////////////////
 void FLUID_3D::solveHeat(float* field, float* b, unsigned char* skip)
 {
-       size_t x, y, z, index;
+       int x, y, z;
+       size_t index;
        const float heatConst = _dt * _heatDiffusion / (_dx * _dx);
 
        // i = 0
index ebb351dc323921b28cae7c2b96b62f7ae7b5c742..4474129beea7a89f6e7f51572855ef9960fc42b6 100644 (file)
@@ -338,7 +338,7 @@ void FLUID_3D::advectFieldSemiLagrange(const float dt, const float* velx, const
 // comments are the pseudocode from selle's paper
 //////////////////////////////////////////////////////////////////////
 void FLUID_3D::advectFieldMacCormack(const float dt, const float* xVelocity, const float* yVelocity, const float* zVelocity,
-               float* oldField, float* newField, float* temp1, float* temp2, Vec3Int res, const float* obstacles)
+               float* oldField, float* newField, float* temp1, float* temp2, Vec3Int res, const unsigned char* obstacles)
 {
        float* phiHatN  = temp1;
        float* phiHatN1 = temp2;
@@ -459,7 +459,7 @@ void FLUID_3D::clampExtrema(const float dt, const float* velx, const float* vely
 // incorrect
 //////////////////////////////////////////////////////////////////////
 void FLUID_3D::clampOutsideRays(const float dt, const float* velx, const float* vely, const float* velz,
-               float* oldField, float* newField, Vec3Int res, const float* obstacles, const float *oldAdvection)
+               float* oldField, float* newField, Vec3Int res, const unsigned char* obstacles, const float *oldAdvection)
 {
        const int sx= res[0];
        const int sy= res[1];
index 607f68279a2a4fed2e89217c75ba753556557233..98c4555ac5f009ba235396264f79f878a6b32b22 100644 (file)
@@ -926,7 +926,9 @@ inline void hsvToRgb( VECTOR_TYPE &V )
 
 //! global string for formatting vector output in utilities.cpp
 //extern const char *globVecFormatStr;
+#if 0
 static const char *globVecFormatStr = "[%6.4f,%6.4f,%6.4f]";
+#endif
 
 /*************************************************************************
   Outputs the object in human readable form using the format
index 493ed1642fc123c389af20204d8dcb86c30b34dc..4c2e7514af762b66e24f7b6041c7d439e4055283 100644 (file)
@@ -220,7 +220,7 @@ static bool loadTile(float* const noiseTileData, std::string filename)
        }
 
        // dimensions
-       int gridSize = noiseTileSize * noiseTileSize * noiseTileSize;
+       size_t gridSize = noiseTileSize * noiseTileSize * noiseTileSize;
 
        // noiseTileData memory is managed by caller
        size_t bread = fread((void*)noiseTileData, sizeof(float), gridSize, file);
@@ -228,7 +228,7 @@ static bool loadTile(float* const noiseTileData, std::string filename)
        printf("Noise tile file '%s' loaded.\n", filename.c_str());
 
        if (bread != gridSize) {
-               printf("loadTile: Noise tile '%s' is wrong size %d.\n", filename.c_str(), bread);
+               printf("loadTile: Noise tile '%s' is wrong size %d.\n", filename.c_str(), (int)bread);
                return false;
        } 
        return true;
index c4dd23146c2e0f045eadf27ac73a249c350f9f7c..2e95a576eaf7d8862894f3ecc3c531740fd7744e 100644 (file)
@@ -63,7 +63,18 @@ extern "C" void smoke_turbulence_free(WTURBULENCE *wt)
         wt = NULL;
 }
 
-extern "C" void smoke_step(FLUID_3D *fluid)
+extern "C" size_t smoke_get_index(int x, int max_x, int y, int max_y, int z /*, int max_z */)
+{
+       // // const int index = x + y * smd->res[0] + z * smd->res[0]*smd->res[1];
+       return x + y * max_x + z * max_x*max_y;
+}
+
+extern "C" size_t smoke_get_index2d(int x, int max_x, int y /*, int max_y, int z, int max_z */)
+{
+       return x + y * max_x;
+}
+
+extern "C" void smoke_step(FLUID_3D *fluid, size_t framenr)
 {
        fluid->step();
 }
@@ -79,6 +90,88 @@ extern "C" void smoke_initBlenderRNA(FLUID_3D *fluid, float *alpha, float *beta)
        fluid->initBlenderRNA(alpha, beta);
 }
 
+extern "C" void smoke_dissolve(FLUID_3D *fluid, int speed, int log)
+{
+       float *density = fluid->_density;
+       //float *densityOld = fluid->_densityOld;
+       float *heat = fluid->_heat;
+
+       if(log)
+       {
+               /* max density/speed = dydx */
+               float dydx = 1.0 / (float)speed;
+               size_t size= fluid->_xRes * fluid->_yRes * fluid->_zRes;
+
+               for(size_t i = 0; i < size; i++)
+               {
+                       density[i] *= (1.0 - dydx);
+
+                       if(density[i] < 0.0f)
+                               density[i] = 0.0f;
+
+                       heat[i] *= (1.0 - dydx);
+
+                       if(heat[i] < 0.0f)
+                               heat[i] = 0.0f;
+               }
+       }
+       else // linear falloff
+       {
+               /* max density/speed = dydx */
+               float dydx = 1.0 / (float)speed;
+               size_t size= fluid->_xRes * fluid->_yRes * fluid->_zRes;
+
+               for(size_t i = 0; i < size; i++)
+               {
+                       density[i] -= dydx;
+
+                       if(density[i] < 0.0f)
+                               density[i] = 0.0f;
+
+                       heat[i] -= dydx;
+
+                       if(heat[i] < 0.0f)
+                               heat[i] = 0.0f;
+                               
+               }
+       }
+}
+
+extern "C" void smoke_dissolve_wavelet(WTURBULENCE *wt, int speed, int log)
+{
+       float *density = wt->getDensityBig();
+       Vec3Int r = wt->getResBig();
+
+       if(log)
+       {
+               /* max density/speed = dydx */
+               float dydx = 1.0 / (float)speed;
+               size_t size= r[0] * r[1] * r[2];
+
+               for(size_t i = 0; i < size; i++)
+               {
+                       density[i] *= (1.0 - dydx);
+
+                       if(density[i] < 0.0f)
+                               density[i] = 0.0f;
+               }
+       }
+       else // linear falloff
+       {
+               /* max density/speed = dydx */
+               float dydx = 1.0 / (float)speed;
+               size_t size= r[0] * r[1] * r[2];
+
+               for(size_t i = 0; i < size; i++)
+               {
+                       density[i] -= dydx;
+
+                       if(density[i] < 0.0f)
+                               density[i] = 0.0f;                              
+               }
+       }
+}
+
 extern "C" void smoke_initWaveletBlenderRNA(WTURBULENCE *wt, float *strength)
 {
        wt->initBlenderRNA(strength);
@@ -134,17 +227,6 @@ extern "C" unsigned char *smoke_get_obstacle(FLUID_3D *fluid)
        return fluid->_obstacles;
 }
 
-extern "C" size_t smoke_get_index(int x, int max_x, int y, int max_y, int z /*, int max_z */)
-{
-       // // const int index = x + y * smd->res[0] + z * smd->res[0]*smd->res[1];
-       return x + y * max_x + z * max_x*max_y;
-}
-
-extern "C" size_t smoke_get_index2d(int x, int max_x, int y /*, int max_y, int z, int max_z */)
-{
-       return x + y * max_x;
-}
-
 extern "C" void smoke_turbulence_set_noise(WTURBULENCE *wt, int type)
 {
        wt->setNoise(type);
index 94e5ca75a7cf1147f5208a693b6ac49d4a9cc921..7ba3aac65f068a9092c1a0e06c813c2efb206b09 100644 (file)
@@ -43,7 +43,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="_DEBUG,WIN32,_LIB"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="3"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_OPENEXR;WITH_DDS;WITH_BULLET;WITH_FFMPEG"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG;WIN32;_LIB;UNWRAPPER;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG,WIN32,_LIB"\r
                                StringPooling="true"\r
                                RuntimeLibrary="2"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FFMPEG"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\editors\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenloader;..\..\..\source\kernel\gen_system;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG;WIN32;_LIB;UNWRAPPER;WITH_FFMPEG"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                                RelativePath="..\..\..\source\blender\blenkernel\intern\texture.c"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\blenkernel\intern\unit.c"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\..\source\blender\blenkernel\intern\world.c"\r
                                >\r
                                RelativePath="..\..\..\source\blender\blenkernel\BKE_texture.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\blenkernel\BKE_unit.h"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\..\source\blender\blenkernel\BKE_utildefines.h"\r
                                >\r
index 5849b00737798dfdcb692a0bd0790f3799c9327c..174ceb5ca99a2ead830ea709dab1b85cbbb50f71 100644 (file)
@@ -43,7 +43,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.6;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\editors\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.6;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\editors\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER=1;WITH_QUICKTIME;INTERNATIONAL;WITH_FREETYPE2;WITH_INTERNATIONAL;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.6;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\editors\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.6;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\editors\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER=1;WITH_QUICKTIME;INTERNATIONAL;WITH_BF_INTERNATIONAL;WITH_FREETYPE2;WITH_OPENEXR;WITH_DDS;WITH_BULLET = 1;WITH_FFMPEG"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        Name="animation"\r
                        >\r
                        <File\r
-                               RelativePath="..\..\..\source\blender\editors\animation\anim_channels.c"\r
+                               RelativePath="..\..\..\source\blender\editors\animation\anim_channels_defines.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\editors\animation\anim_channels_edit.c"\r
                                >\r
                        </File>\r
                        <File\r
index daeeceee30c6f1e3b7305c5ea50dda4a961abe9d..d179fe03dc7b780cb071cf140cef4f6dfa56b1ca 100644 (file)
@@ -43,7 +43,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="WIN32,_LIB,_DEBUG"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="3"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="WIN32,_LIB,_DEBUG"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"\r
                                StringPooling="true"\r
                                RuntimeLibrary="2"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="WIN32,_LIB,_DEBUG"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\ode;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\gameengine\soundsystem\snd_blenderwavecache;..\..\..\source\sumo\include;..\..\..\source\sumo\Fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
index 3c24da4dd31b4c178393935ec0d31d34133a09b5..f709e0b7d29611c579b1874c7a19933dcf7e3a62 100644 (file)
@@ -43,7 +43,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID"\r
                                StringPooling="true"\r
                                RuntimeLibrary="2"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="3"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                InlineFunctionExpansion="1"\r
-                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace"\r
+                               AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\python\generic;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\physics;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\network;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\physics\sumo;..\..\..\source\gameengine\physics\dummy;..\..\..\source\gameengine\physics\BlOde;..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\source\gameengine\physics\common;..\..\..\source\gameengine\physics\sumo\include;..\..\..\source\gameengine\physics\common\dummy;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\physics\sumo\fuzzics\include;..\..\..\source\sumo\include;..\..\..\source\sumo\fuzzics\include;..\..\..\source\gameengine\physics\bullet;..\..\..\source\blender\python\api2_2x;..\..\..\source\blender\gpu;..\..\..\intern\audaspace\intern"\r
                                PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
index 24827014b16e7e7d1111195f6fd630c349a2403f..94bb902646d5256b3eef881a7b0e27a737260432 100644 (file)
@@ -35,16 +35,6 @@ BLENDNAME=blender-$(VERSION)-$(CONFIG_GUESS)-py$(NAN_PYTHON_VERSION)$(TYPE)
 export DISTDIR=$(NAN_OBJDIR)/$(BLENDNAME)
 export CONFDIR=$(DISTDIR)/.blender
 
-ifeq ($(OS),beos)
-   TAR="zip"
-   TARFLAGS="-ry9"
-   EXT0=""
-   EXT1=".zip"
-   COMPRESS=""
-   EXT2=""
-   NOPLUGINS?=true
-endif
-
 ifeq ($(OS),$(findstring $(OS), "freebsd irix linux openbsd solaris"))
    TAR="tar"
    TARFLAGS="cf"
index ea419bb0ace6ac66a35dcb55f00c37371f597157..ba9e7377535217be891bca3bcfd224308c08621a 100644 (file)
@@ -727,7 +727,7 @@ class PovrayRender(bpy.types.RenderEngine):
                                result = self.begin_result(0, 0, x, y)
                                lay = result.layers[0]
                                # possible the image wont load early on.
-                               try:            lay.rect_from_file(self.temp_file_out, 0, 0)
+                               try:            lay.load_from_file(self.temp_file_out)
                                except: pass
                                self.end_result(result)
                        
index 1d79f1a331f978186fef2ff849e50ed8d62e057c..aa9bfb460f0b5f0b86c1e94f050ab69daea87916 100644 (file)
@@ -111,48 +111,3 @@ class bpy_ops_submodule_op(object):
 
 import bpy
 bpy.ops = bpy_ops()
-
-
-
-
-# A bit out of place but add button conversion code here
-module_type = type(__builtins__)
-import types
-mod = types.ModuleType('button_convert')
-
-import sys
-sys.modules['button_convert'] = mod
-
-def convert(expr):
-       
-       def replace(string, unit, scaler):
-               # in need of regex
-               change = True
-               while change:
-                       change = False
-                       i = string.find(unit)
-                       if i != -1:
-                               if i>0 and not string[i-1].isalpha():
-                                       i_end = i+len(unit)
-                                       if i_end+1 >= len(string) or (not string[i_end+1].isalpha()):
-                                               string = string.replace(unit, scaler)
-                                               change = True
-               # print(string)
-               return string
-       
-       #imperial
-       expr = replace(expr, 'mi', '*1609.344')
-       expr = replace(expr, 'yd', '*0.9144')
-       expr = replace(expr, 'ft', '*0.3048')
-       expr = replace(expr, 'in', '*0.0254')
-       
-       # metric
-       expr = replace(expr, 'km', '*1000')
-       expr = replace(expr, 'm', '')
-       expr = replace(expr, 'cm', '*0.01')
-       expr = replace(expr, 'mm', '*0.001')
-       
-       return expr
-
-mod.convert = convert
-
index 6f467ee30da6ba22168a40d1e34f425902775ad8..681b8ba89544cd370d3f68131a2517f0a5aee623 100644 (file)
@@ -43,7 +43,7 @@ class DATA_PT_skeleton(DataButtonsPanel):
                col = split.column()
                col.itemR(arm, "rest_position")
                col.itemL(text="Deform:")
-               col.itemR(arm, "deform_vertexgroups", text="Vertes Groups")
+               col.itemR(arm, "deform_vertexgroups", text="Vertex Groups")
                col.itemR(arm, "deform_envelope", text="Envelopes")
                col.itemR(arm, "deform_quaternion", text="Quaternion")
                col.itemR(arm, "deform_bbone_rest", text="B-Bones Rest")
index 3930d1029da705b5a4df8b4a74dc457a3348feaf..d6ca0817edcd497d6f4c4deee26c848d30c12fa6 100644 (file)
@@ -106,12 +106,15 @@ class DATA_PT_vertex_groups(DataButtonsPanel):
                        row.itemR(group, "name")
 
                if context.edit_object:
-                       row = layout.row(align=True)
-
-                       row.itemO("object.vertex_group_assign", text="Assign")
-                       row.itemO("object.vertex_group_remove_from", text="Remove")
-                       row.itemO("object.vertex_group_select", text="Select")
-                       row.itemO("object.vertex_group_deselect", text="Deselect")
+                       row = layout.row()
+                       
+                       sub = row.row(align=True)
+                       sub.itemO("object.vertex_group_assign", text="Assign")
+                       sub.itemO("object.vertex_group_remove_from", text="Remove")
+                       
+                       sub = row.row(align=True)
+                       sub.itemO("object.vertex_group_select", text="Select")
+                       sub.itemO("object.vertex_group_deselect", text="Deselect")
 
                        layout.itemR(context.tool_settings, "vertex_group_weight", text="Weight")
 
@@ -159,7 +162,7 @@ class DATA_PT_shape_keys(DataButtonsPanel):
                                        row.itemR(kb, "value", slider=True)
                                        
                                        split = layout.split()
-                                       sub = split.column()
+                                       sub = split.column(align=True)
                                        sub.enabled = ob.shape_key_lock == False
                                        sub.itemL(text="Range:")
                                        sub.itemR(kb, "slider_min", text="Min")
index 63204cfbc3dac76e43296d60b67437df7b3da01b..6dd11457ec9e411666d701a92b6d64d154e8bbc7 100644 (file)
@@ -333,7 +333,7 @@ class DATA_PT_modifiers(DataButtonsPanel):
                layout.itemL(text="See Soft Body panel.")
        
        def SUBSURF(self, layout, ob, md):
-               layout.itemR(md, "subdivision_type")
+               layout.row().itemR(md, "subdivision_type", expand=True)
                
                flow = layout.column_flow()
                flow.itemR(md, "levels", text="Preview")
@@ -349,9 +349,12 @@ class DATA_PT_modifiers(DataButtonsPanel):
                        layout.item_pointerR(md, "uv_layer", ob.data, "uv_layers")
                        #layout.itemR(md, "projectors")
                        layout.itemR(md, "image")
-                       layout.itemR(md, "horizontal_aspect_ratio")
-                       layout.itemR(md, "vertical_aspect_ratio")
                        layout.itemR(md, "override_image")
+                       layout.itemL(text="Aspect Ratio:")
+                       col = layout.column(align=True)
+                       col.itemR(md, "horizontal_aspect_ratio", text="Horizontal")
+                       col.itemR(md, "vertical_aspect_ratio", text="Vertical")
+                       
                        #"Projectors" don't work.
                
        def WAVE(self, layout, ob, md):
index ee6260202e89db390d42c6dd1573fc78c4e3e964..b662254f1bbd95f8ef02109b2c53c877035f31b2 100644 (file)
@@ -19,72 +19,133 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel):
                
                ob = context.active_object
                game = ob.game
+               soft = ob.game.soft_body
 
                layout.itemR(game, "physics_type")
                layout.itemS()
                
-               split = layout.split()
-               
-               col = split.column()
-               col.itemR(game, "actor")
-               col.itemR(game, "ghost")
-               col.itemR(ob, "restrict_render", text="Invisible") # out of place but useful
-               
-               col = split.column()
-               col.itemR(game, "do_fh", text="Use Material Physics")
-               col.itemR(game, "rotation_fh", text="Rotate From Normal")
-               col.itemR(game, "no_sleeping")
-               
-               layout.itemS()
-               
-               split = layout.split()
-               
-               col = split.column()
-               col.itemL(text="Attributes:")
-               sub = col.column(align=True)
-               sub.itemR(game, "mass")
-               sub.itemR(game, "radius")
-               sub.itemR(game, "form_factor")
-               
-               col.itemS()
-               
-               col.itemL(text="Damping:")
-               sub = col.column(align=True)
-               sub.itemR(game, "damping", text="Translation", slider=True)
-               sub.itemR(game, "rotation_damping", text="Rotation", slider=True)
-               
-               col = split.column()
-               col.itemL(text="Velocity:")
-               sub = col.column(align=True)
-               sub.itemR(game, "minimum_velocity", text="Minimum")
-               sub.itemR(game, "maximum_velocity", text="Maximum")
-               
-               col.itemS()
-               
-               col.itemR(game, "anisotropic_friction")
-               sub = col.column()
-               sub.active = game.anisotropic_friction
-               sub.itemR(game, "friction_coefficients", text="", slider=True)
-               
-               layout.itemS()
-               
-               split = layout.split()
-               
-               col = split.column()
-               col.itemL(text="Lock Translation:")
-               col.itemR(game, "lock_x_axis", text="X")
-               col.itemR(game, "lock_y_axis", text="Y")
-               col.itemR(game, "lock_z_axis", text="Z")
+               #if game.physics_type == 'DYNAMIC':
+               if game.physics_type in ('DYNAMIC', 'RIGID_BODY'):
+
+                       split = layout.split()
+                       
+                       col = split.column()
+                       col.itemR(game, "actor")
+                       col.itemR(game, "ghost")
+                       col.itemR(ob, "restrict_render", text="Invisible") # out of place but useful
+                       
+                       col = split.column()
+                       col.itemR(game, "material_physics")
+                       col.itemR(game, "rotate_from_normal")
+                       col.itemR(game, "no_sleeping")
+                       
+                       layout.itemS()
+                       
+                       split = layout.split()
+                       
+                       col = split.column()
+                       col.itemL(text="Attributes:")
+                       sub = col.column()
+                       sub.itemR(game, "mass")
+                       sub.itemR(game, "radius")
+                       sub.itemR(game, "form_factor")
+                       
+                       col = split.column()
+                       sub = col.column()
+                       sub.active = (game.physics_type == 'RIGID_BODY')
+                       sub.itemR(game, "anisotropic_friction")
+                       subsub = sub.column()
+                       subsub.active = game.anisotropic_friction
+                       subsub.itemR(game, "friction_coefficients", text="", slider=True)
+                       
+                       split = layout.split()
+                       
+                       col = split.column()
+                       col.itemL(text="Velocity:")
+                       sub = col.column(align=True)
+                       sub.itemR(game, "minimum_velocity", text="Minimum")
+                       sub.itemR(game, "maximum_velocity", text="Maximum")
+                       
+                       col = split.column()
+                       col.itemL(text="Damping:")
+                       sub = col.column(align=True)
+                       sub.itemR(game, "damping", text="Translation", slider=True)
+                       sub.itemR(game, "rotation_damping", text="Rotation", slider=True)
+                       
+                       layout.itemS()
+                       
+                       split = layout.split()
+                       
+                       col = split.column()
+                       col.itemL(text="Lock Translation:")
+                       col.itemR(game, "lock_x_axis", text="X")
+                       col.itemR(game, "lock_y_axis", text="Y")
+                       col.itemR(game, "lock_z_axis", text="Z")
+                       
+                       col = split.column()
+                       col.itemL(text="Lock Rotation:")
+                       col.itemR(game, "lock_x_rot_axis", text="X")
+                       col.itemR(game, "lock_y_rot_axis", text="Y")
+                       col.itemR(game, "lock_z_rot_axis", text="Z")
                
-               col = split.column()
-               col.itemL(text="Lock Rotation:")
-               col.itemR(game, "lock_x_rot_axis", text="X")
-               col.itemR(game, "lock_y_rot_axis", text="Y")
-               col.itemR(game, "lock_z_rot_axis", text="Z")
+               elif game.physics_type == 'SOFT_BODY':
 
+                       col = layout.column()
+                       col.itemR(game, "actor")
+                       col.itemR(game, "ghost")
+                       col.itemR(ob, "restrict_render", text="Invisible")
+                       
+                       layout.itemS()
+                       
+                       split = layout.split()
+                       
+                       col = split.column()
+                       col.itemL(text="Attributes:")
+                       col.itemR(game, "mass")
+                       col.itemR(soft, "welding")
+                       col.itemR(soft, "position_iterations")
+                       col.itemR(soft, "linstiff", slider=True)
+                       col.itemR(soft, "dynamic_friction", slider=True)
+                       col.itemR(soft, "margin", slider=True)
+                       col.itemR(soft, "bending_const", text="Bending Constraints")
+                       
+                       
+                       col = split.column()
+                       col.itemR(soft, "shape_match")
+                       sub = col.column()
+                       sub.active = soft.shape_match
+                       sub.itemR(soft, "threshold", slider=True)
+                       
+                       col.itemS()
+                       
+                       col.itemL(text="Cluster Collision:")
+                       col.itemR(soft, "cluster_rigid_to_softbody")
+                       col.itemR(soft, "cluster_soft_to_softbody")
+                       sub  = col.column()
+                       sub.active = (soft.cluster_rigid_to_softbody or soft.cluster_soft_to_softbody)
+                       sub.itemR(soft, "cluster_iterations", text="Iterations")
+               
+               elif game.physics_type == 'STATIC':
+                       
+                       col = layout.column()
+                       col.itemR(game, "actor")
+                       col.itemR(game, "ghost")
+                       col.itemR(ob, "restrict_render", text="Invisible")
+                       
+               elif game.physics_type in ('SENSOR', 'INVISIBLE', 'NO_COLLISION', 'OCCLUDE'):
+                       
+                       col = layout.column()
+                       col.itemR(ob, "restrict_render", text="Invisible")
+                       
 class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel):
        __label__ = "Collision Bounds"
 
+       def poll(self, context):
+               ob = context.active_object
+               game = ob.game
+               rd = context.scene.render_data
+               return (game.physics_type in ('DYNAMIC', 'RIGID_BODY', 'SENSOR', 'SOFT_BODY', 'STATIC')) and (rd.engine == 'BLENDER_GAME')
+
        def draw_header(self, context):
                layout = self.layout
                
index 056bd5d6c10a929719f1bebbf17638b4ff51e703..ff587d47668ace337ead3aacf74126136e66daa3 100644 (file)
@@ -60,15 +60,16 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel):
                        split.template_ID(ob, "active_material", new="material.new")
                        row = split.row()
                        if slot:
-                               row.itemR(slot, "link", expand=True)
+                               row.itemR(slot, "link", text="")
                        else:
                                row.itemL()
                elif mat:
                        split.template_ID(space, "pin_id")
                        split.itemS()
+
+               layout.itemR(mat, "type", expand=True)
        
-class MATERIAL_PT_material(MaterialButtonsPanel):
-       __idname__= "MATERIAL_PT_material"
+class MATERIAL_PT_shading(MaterialButtonsPanel):
        __label__ = "Shading"
        COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME'])
 
@@ -81,30 +82,34 @@ class MATERIAL_PT_material(MaterialButtonsPanel):
                space = context.space_data
 
                if mat:
-                       layout.itemR(mat, "type", expand=True)
 
                        if mat.type in ('SURFACE', 'WIRE', 'VOLUME'):
                                split = layout.split()
        
                                col = split.column()
-                               col.itemR(mat, "alpha", slider=True)
-                               col.itemR(mat, "ambient", slider=True)
+                               col.active = not mat.shadeless
+                               col.itemR(mat, "ambient")
                                col.itemR(mat, "emit")
-                               col.itemR(mat, "translucency", slider=True)
+                               col.itemR(mat, "translucency")
                                
                                col = split.column()
-                               col.itemR(mat, "z_transparency")
                                col.itemR(mat, "shadeless")     
-                               col.itemR(mat, "tangent_shading")
-                               col.itemR(mat, "cubic", slider=True)
+                               sub = col.column()
+                               sub.active = not mat.shadeless
+                               sub.itemR(mat, "tangent_shading")
+                               sub.itemR(mat, "cubic")
                                
                        elif mat.type == 'HALO':
-                               layout.itemR(mat, "alpha", slider=True)
+                               layout.itemR(mat, "alpha")
                        
 class MATERIAL_PT_strand(MaterialButtonsPanel):
        __label__ = "Strand"
        __default_closed__ = True
        COMPAT_ENGINES = set(['BLENDER_RENDER'])
+
+       def poll(self, context):
+               mat = context.material
+               return mat and (mat.type in ('SURFACE', 'WIRE')) and (context.scene.render_data.engine in self.COMPAT_ENGINES)
        
        def draw(self, context):
                layout = self.layout
@@ -191,8 +196,9 @@ class MATERIAL_PT_options(MaterialButtonsPanel):
                col.itemR(mat, "vertex_color_light")
                col.itemR(mat, "object_color")
 
-class MATERIAL_PT_shadows(MaterialButtonsPanel):
-       __label__ = "Shadows"
+class MATERIAL_PT_shadow(MaterialButtonsPanel):
+       __label__ = "Shadow"
+       __default_closed__ = True
        COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME'])
 
        def draw(self, context):
@@ -207,16 +213,18 @@ class MATERIAL_PT_shadows(MaterialButtonsPanel):
                col.itemR(mat, "transparent_shadows", text="Receive Transparent")
                col.itemR(mat, "only_shadow", text="Shadows Only")
                col.itemR(mat, "cast_shadows_only", text="Cast Only")
-               col.itemR(mat, "shadow_casting_alpha", text="Casting Alpha", slider=True)
+               col.itemR(mat, "shadow_casting_alpha", text="Casting Alpha")
                
                col = split.column()
-               col.itemR(mat, "ray_shadow_bias", text="Auto Ray Bias")
+               col.itemR(mat, "cast_buffer_shadows")
                sub = col.column()
-               subsub = sub.column()
-               subsub.active = (not mat.ray_shadow_bias)
-               subsub.itemR(mat, "shadow_ray_bias", text="Ray Shadow Bias")
-               sub.itemR(mat, "cast_buffer_shadows")
+               sub.active = mat.cast_buffer_shadows
                sub.itemR(mat, "shadow_buffer_bias", text="Buffer Bias")
+               col.itemR(mat, "ray_shadow_bias", text="Auto Ray Bias")
+               sub = col.column()
+               sub.active = (not mat.ray_shadow_bias)
+               sub.itemR(mat, "shadow_ray_bias", text="Ray Bias")
+               
 
 class MATERIAL_PT_diffuse(MaterialButtonsPanel):
        __label__ = "Diffuse"
@@ -237,7 +245,7 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel):
                col.itemR(mat, "diffuse_color", text="")
                sub = col.column()
                sub.active = (not mat.shadeless)
-               sub.itemR(mat, "diffuse_reflection", text="Intensity", slider=True)
+               sub.itemR(mat, "diffuse_reflection", text="Intensity")
                
                col = split.column()
                col.active = (not mat.shadeless)
@@ -253,7 +261,7 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel):
                elif mat.diffuse_shader == 'TOON':
                        row = col.row()
                        row.itemR(mat, "diffuse_toon_size", text="Size")
-                       row.itemR(mat, "diffuse_toon_smooth", text="Smooth", slider=True)
+                       row.itemR(mat, "diffuse_toon_smooth", text="Smooth")
                elif mat.diffuse_shader == 'FRESNEL':
                        row = col.row()
                        row.itemR(mat, "diffuse_fresnel", text="Fresnel")
@@ -291,7 +299,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel):
                
                col = split.column()
                col.itemR(mat, "specular_color", text="")
-               col.itemR(mat, "specular_reflection", text="Intensity", slider=True)
+               col.itemR(mat, "specular_reflection", text="Intensity")
 
                col = split.column()
                col.itemR(mat, "specular_shader", text="")
@@ -309,7 +317,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel):
                elif mat.specular_shader == 'TOON':
                        row = col.row()
                        row.itemR(mat, "specular_toon_size", text="Size")
-                       row.itemR(mat, "specular_toon_smooth", text="Smooth", slider=True)
+                       row.itemR(mat, "specular_toon_smooth", text="Smooth")
                
                if mat.use_specular_ramp:
                        layout.itemS()
@@ -352,8 +360,8 @@ class MATERIAL_PT_sss(MaterialButtonsPanel):
                col = split.column(align=True)
                col.itemR(sss, "color", text="")
                col.itemL(text="Blend:")
-               col.itemR(sss, "color_factor", text="Color", slider=True)
-               col.itemR(sss, "texture_factor", text="Texture", slider=True)
+               col.itemR(sss, "color_factor", text="Color")
+               col.itemR(sss, "texture_factor", text="Texture")
                col.itemL(text="Scattering Weight:")
                col.itemR(sss, "front")
                col.itemR(sss, "back")
@@ -365,14 +373,14 @@ class MATERIAL_PT_sss(MaterialButtonsPanel):
                col.itemR(sss, "radius", text="RGB Radius")
                col.itemR(sss, "error_tolerance")
 
-class MATERIAL_PT_raymir(MaterialButtonsPanel):
-       __label__ = "Ray Mirror"
+class MATERIAL_PT_mirror(MaterialButtonsPanel):
+       __label__ = "Mirror"
        __default_closed__ = True
        COMPAT_ENGINES = set(['BLENDER_RENDER'])
        
        def poll(self, context):
                mat = context.material
-               return mat and (mat.type in 'SURFACE', 'WIRE') and (context.scene.render_data.engine in self.COMPAT_ENGINES)
+               return mat and (mat.type in ('SURFACE', 'WIRE')) and (context.scene.render_data.engine in self.COMPAT_ENGINES)
        
        def draw_header(self, context):
                layout = self.layout
@@ -392,13 +400,13 @@ class MATERIAL_PT_raymir(MaterialButtonsPanel):
                split = layout.split()
                
                col = split.column()
-               col.itemR(raym, "reflect", text="Reflectivity", slider=True)
+               col.itemR(raym, "reflect", text="Reflectivity")
                col.itemR(mat, "mirror_color", text="")
                col.itemL(text="Fresnel:")
                col.itemR(raym, "fresnel", text="Amount")
                sub = col.column()
                sub.active = raym.fresnel > 0
-               sub.itemR(raym, "fresnel_fac", text="Blend", slider=True)
+               sub.itemR(raym, "fresnel_factor", text="Blend")
                col.itemS()
                col.itemS()
                sub = col.split(percentage=0.4)
@@ -409,29 +417,28 @@ class MATERIAL_PT_raymir(MaterialButtonsPanel):
                col.itemR(raym, "depth")
                col.itemR(raym, "distance", text="Max Dist")
                col.itemL(text="Gloss:")
-               col.itemR(raym, "gloss", text="Amount", slider=True)
+               col.itemR(raym, "gloss", text="Amount")
                sub = col.column()
                sub.active = raym.gloss < 1
-               sub.itemR(raym, "gloss_threshold", slider=True, text="Threshold")
+               sub.itemR(raym, "gloss_threshold", text="Threshold")
                sub.itemR(raym, "gloss_samples", text="Samples")
-               sub.itemR(raym, "gloss_anisotropic", slider=True, text="Anisotropic")
+               sub.itemR(raym, "gloss_anisotropic", text="Anisotropic")
                
                
-class MATERIAL_PT_raytransp(MaterialButtonsPanel):
-       __label__= "Ray Transparency"
+class MATERIAL_PT_transp(MaterialButtonsPanel):
+       __label__= "Transparency"
        __default_closed__ = True
        COMPAT_ENGINES = set(['BLENDER_RENDER'])
                
        def poll(self, context):
                mat = context.material
-               return mat and (mat.type in 'SURFACE', 'WIRE') and (context.scene.render_data.engine in self.COMPAT_ENGINES)
+               return mat and (mat.type in ('SURFACE', 'WIRE')) and (context.scene.render_data.engine in self.COMPAT_ENGINES)
 
        def draw_header(self, context):
                layout = self.layout
                
-               rayt = context.material.raytrace_transparency
-
-               layout.itemR(rayt, "enabled", text="")
+               mat = context.material
+               layout.itemR(mat, "transparency", text="")
 
        def draw(self, context):
                layout = self.layout
@@ -439,36 +446,47 @@ class MATERIAL_PT_raytransp(MaterialButtonsPanel):
                mat = context.material
                rayt = context.material.raytrace_transparency
                
-               layout.active = rayt.enabled and (not mat.shadeless)
+               row= layout.row()
+               row.itemR(mat, "transparency_method", expand=True)
+               row.active = mat.transparency and (not mat.shadeless)
                
                split = layout.split()
                
                col = split.column()
-               col.itemR(rayt, "ior")
-               col.itemR(rayt, "falloff")
-               col.itemR(rayt, "limit")
-               
-               col = split.column()
-               col.itemR(rayt, "depth")
-               col.itemR(rayt, "filter", slider=True)
-               col.itemR(rayt, "specular_opacity", slider=True, text="Spec Opacity")
-               
-               split = layout.split()
+               col.itemL(text="Transparency:")
+               row = col.row()
+               row.itemR(mat, "alpha")
+               row.active = mat.transparency
+               row = col.row()
+               row.itemR(mat, "specular_alpha", text="Specular")
+               row.active = mat.transparency and (not mat.shadeless)
                
                col = split.column()
+               col.active = mat.transparency and (not mat.shadeless)
                col.itemL(text="Fresnel:")
                col.itemR(rayt, "fresnel", text="Amount")
                sub = col.column()
                sub.active = rayt.fresnel > 0
-               sub.itemR(rayt, "fresnel_fac", text="Blend", slider=True)
-               
-               col = split.column()
-               col.itemL(text="Gloss:")
-               col.itemR(rayt, "gloss", text="Amount", slider=True)
-               sub = col.column()
-               sub.active = rayt.gloss < 1
-               sub.itemR(rayt, "gloss_threshold", slider=True, text="Threshold")
-               sub.itemR(rayt, "gloss_samples", text="Samples")
+               sub.itemR(rayt, "fresnel_factor", text="Blend")
+
+               if mat.transparency_method == 'RAYTRACE':
+                       split = layout.split()
+                       split.active = mat.transparency and (not mat.shadeless)
+
+                       col = split.column()
+                       col.itemR(rayt, "ior")
+                       col.itemR(rayt, "filter")
+                       col.itemR(rayt, "falloff")
+                       col.itemR(rayt, "limit")
+                       col.itemR(rayt, "depth")
+                       
+                       col = split.column()
+                       col.itemL(text="Gloss:")
+                       col.itemR(rayt, "gloss", text="Amount")
+                       sub = col.column()
+                       sub.active = rayt.gloss < 1
+                       sub.itemR(rayt, "gloss_threshold", text="Threshold")
+                       sub.itemR(rayt, "gloss_samples", text="Samples")
                
 class MATERIAL_PT_halo(MaterialButtonsPanel):
        __label__= "Halo"
@@ -490,7 +508,7 @@ class MATERIAL_PT_halo(MaterialButtonsPanel):
                col.itemR(mat, "diffuse_color", text="")
                col.itemR(halo, "size")
                col.itemR(halo, "hardness")
-               col.itemR(halo, "add", slider=True)
+               col.itemR(halo, "add")
                col.itemL(text="Options:")
                col.itemR(halo, "use_texture", text="Texture")
                col.itemR(halo, "use_vertex_normal", text="Vertex Normal")
@@ -524,14 +542,15 @@ class MATERIAL_PT_halo(MaterialButtonsPanel):
 
 bpy.types.register(MATERIAL_PT_context_material)
 bpy.types.register(MATERIAL_PT_preview)
-bpy.types.register(MATERIAL_PT_material)
 bpy.types.register(MATERIAL_PT_diffuse)
 bpy.types.register(MATERIAL_PT_specular)
-bpy.types.register(MATERIAL_PT_raymir)
-bpy.types.register(MATERIAL_PT_raytransp)
+bpy.types.register(MATERIAL_PT_shading)
+bpy.types.register(MATERIAL_PT_transp)
+bpy.types.register(MATERIAL_PT_mirror)
 bpy.types.register(MATERIAL_PT_sss)
 bpy.types.register(MATERIAL_PT_halo)
 bpy.types.register(MATERIAL_PT_physics)
 bpy.types.register(MATERIAL_PT_strand)
 bpy.types.register(MATERIAL_PT_options)
-bpy.types.register(MATERIAL_PT_shadows)
+bpy.types.register(MATERIAL_PT_shadow)
+
index d59ed604c55f034569258ea7d4f07a85794c9880..5bd4bbbd6bdffa8ee0d6950f7cd7e7af85150b57 100644 (file)
@@ -51,7 +51,9 @@ class OBJECT_PT_relations(ObjectButtonsPanel):
                col.itemR(ob, "parent", text="")
 
                sub = col.column()
-               sub.itemR(ob, "parent_type", text="Type")
+               split = sub.split(percentage=0.3)
+               split.itemL(text="Type:")
+               split.itemR(ob, "parent_type", text="")
                parent = ob.parent
                if parent and ob.parent_type == 'BONE' and parent.type == 'ARMATURE':
                        sub.item_pointerR(ob, "parent_bone", parent.data, "bones", text="")
index 5ee6aba1f0589000b515172738e450af37deeeae..505fa57fa0b96e9125a942cd760547d80ece1d96 100644 (file)
@@ -361,9 +361,9 @@ class ConstraintButtonsPanel(bpy.types.Panel):
        def STRETCH_TO(self, layout, con):
                self.target_template(layout, con)
                
-               col = layout.column(align=True)
-               col.itemR(con, "original_length", text="Rest Length")
-               col.itemO("constraint.stretchto_reset")
+               row = layout.row()
+               row.itemR(con, "original_length", text="Rest Length")
+               row.itemO("constraint.stretchto_reset", text="Reset")
                
                col = layout.column()
                col.itemR(con, "bulge", text="Volume Variation")
@@ -395,19 +395,21 @@ class ConstraintButtonsPanel(bpy.types.Panel):
                
                row = layout.row()
                row.itemR(con, "disable_linked_collision", text="No Collision")
-               row.itemR(con, "draw_pivot")
+               row.itemR(con, "draw_pivot", text="Display Pivot")
                
                split = layout.split()
                
-               col = split.column()
-               col.itemR(con, "pivot_x")
-               col.itemR(con, "pivot_y")
-               col.itemR(con, "pivot_z")
+               col = split.column(align=True)
+               col.itemL(text="Pivot:")
+               col.itemR(con, "pivot_x", text="X")
+               col.itemR(con, "pivot_y", text="Y")
+               col.itemR(con, "pivot_z", text="Z")
                
-               col = split.column()
-               col.itemR(con, "axis_x")
-               col.itemR(con, "axis_y")
-               col.itemR(con, "axis_z")
+               col = split.column(align=True)
+               col.itemL(text="Axis:")
+               col.itemR(con, "axis_x", text="X")
+               col.itemR(con, "axis_y", text="Y")
+               col.itemR(con, "axis_z", text="Z")
                
                #Missing: Limit arrays (not wrapped in RNA yet) 
        
index f35d15bbb80ceadf47f7f24088bb776adc1b23eb..07ad3b7841ca651b89bcfc9ce13d6a9c12737136 100644 (file)
@@ -32,7 +32,7 @@ class PARTICLE_PT_particles(ParticleButtonsPanel):
                if ob:
                        row = layout.row()
 
-                       row.template_list(ob, "particle_systems", ob, "active_particle_system_index")
+                       row.template_list(ob, "particle_systems", ob, "active_particle_system_index", rows=2)
 
                        col = row.column(align=True)
                        col.itemO("object.particle_system_add", icon="ICON_ZOOMIN", text="")
@@ -151,6 +151,13 @@ class PARTICLE_PT_cache(ParticleButtonsPanel):
                psys = context.particle_system
                part = psys.settings
                cache = psys.point_cache
+               layout.set_context_pointer("PointCache", cache)
+               
+               row = layout.row()
+               row.template_list(cache, "point_cache_list", cache, "active_point_cache_index", rows=2 )
+               col = row.column(align=True)
+               col.itemO("ptcache.add_new", icon="ICON_ZOOMIN", text="")
+               col.itemO("ptcache.remove", icon="ICON_ZOOMOUT", text="")
                
                row = layout.row()
                row.itemL(text="File Name:")
@@ -166,37 +173,38 @@ class PARTICLE_PT_cache(ParticleButtonsPanel):
                        
                        layout.itemL(text=cache.info)
                        
-                       split = layout.split()
+                       #split = layout.split()
                        
-                       col = split.column(align=True)
-                       col.itemR(part, "start")
-                       col.itemR(part, "end")
+                       #col = split.column(align=True)
+                       #col.itemR(part, "start")
+                       #col.itemR(part, "end")
 
-                       col = split.column(align=True)
-                       col.itemR(part, "lifetime")
-                       col.itemR(part, "random_lifetime", slider=True)
+                       #col = split.column(align=True)
+                       #col.itemR(part, "lifetime")
+                       #col.itemR(part, "random_lifetime", slider=True)
                else:
                        layout.itemR(cache, "name", text="")
                        
                        row = layout.row()
                
                        if cache.baked == True:
-                               row.itemO("ptcache.free_bake_particle_system", text="Free Bake")
+                               row.itemO("ptcache.free_bake", text="Free Bake")
                        else:
-                               row.item_booleanO("ptcache.cache_particle_system", "bake", True, text="Bake")
+                               row.item_booleanO("ptcache.bake", "bake", True, text="Bake")
                
                        subrow = row.row()
                        subrow.enabled = (cache.frames_skipped or cache.outdated) and particle_panel_enabled(psys)
-                       subrow.itemO("ptcache.cache_particle_system", text="Calculate to Current Frame")
+                       subrow.itemO("ptcache.bake", "bake", False, text="Calculate to Current Frame")
                        
                        row = layout.row()
                        row.enabled = particle_panel_enabled(psys)
-                       row.itemO("ptcache.bake_from_particles_cache", text="Current Cache to Bake")
+                       row.itemO("ptcache.bake_from_cache", text="Current Cache to Bake")
                        row.itemR(cache, "step");
                
                        row = layout.row()
-                       row.enabled = particle_panel_enabled(psys)
-                       row.itemR(cache, "quick_cache")
+                       subrow = row.row()
+                       subrow.enabled = particle_panel_enabled(psys)
+                       subrow.itemR(cache, "quick_cache")
                        row.itemR(cache, "disk_cache")
                
                        layout.itemL(text=cache.info)
@@ -206,7 +214,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel):
                        row = layout.row()
                        row.item_booleanO("ptcache.bake_all", "bake", True, text="Bake All Dynamics")
                        row.itemO("ptcache.free_bake_all", text="Free All Bakes")
-                       layout.itemO("ptcache.bake_all", text="Update All Dynamics to current frame")
+                       layout.itemO("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame")
                
                # for particles these are figured out automatically
                #row.itemR(cache, "start_frame")
@@ -703,9 +711,8 @@ class PARTICLE_PT_draw(ParticleButtonsPanel):
                col = row.column()
                col.itemR(part, "material_color", text="Use material color")
                
-               if (path):
-                       box = col.box()                         
-                       box.itemR(part, "draw_step")
+               if (path):                      
+                       col.itemR(part, "draw_step")
                else:
                        subcol = col.column()
                        subcol.active = part.material_color==False
index 1bd1c507ccf205aaf7868f932100a312e02933b1..d18df9e5003553d578c2c1702d1c9670b60ae1c7 100644 (file)
@@ -16,6 +16,7 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel):
 
        def draw(self, context):
                layout = self.layout
+               
                md = context.cloth
                ob = context.object
 
@@ -41,27 +42,29 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel):
                        split = layout.split()
                        
                        col = split.column()
-                       col.itemR(cloth, "quality", slider=True)
+                       col.itemL(text="Quality:")
+                       col.itemR(cloth, "quality", text="Steps",slider=True)
                        col.itemL(text="Gravity:")
                        col.itemR(cloth, "gravity", text="")
 
                        col.itemR(cloth, "pin_cloth", text="Pin")
-                       colsub = col.column(align=True)
-                       colsub.active = cloth.pin_cloth
-                       colsub.itemR(cloth, "pin_stiffness", text="Stiffness")
-                       colsub.item_pointerR(cloth, "mass_vertex_group", ob, "vertex_groups", text="")
+                       sub = col.column(align=True)
+                       sub.active = cloth.pin_cloth
+                       sub.itemR(cloth, "pin_stiffness", text="Stiffness")
+                       sub.item_pointerR(cloth, "mass_vertex_group", ob, "vertex_groups", text="")
                        
                        col = split.column()
                        col.itemL(text="Presets...")
+                       col.itemL(text="TODO!")
                        col.itemL(text="Material:")
-                       colsub = col.column(align=True)
-                       colsub.itemR(cloth, "mass")
-                       colsub.itemR(cloth, "structural_stiffness", text="Structural")
-                       colsub.itemR(cloth, "bending_stiffness", text="Bending")
+                       sub = col.column(align=True)
+                       sub.itemR(cloth, "mass")
+                       sub.itemR(cloth, "structural_stiffness", text="Structural")
+                       sub.itemR(cloth, "bending_stiffness", text="Bending")
                        col.itemL(text="Damping:")
-                       colsub = col.column(align=True)
-                       colsub.itemR(cloth, "spring_damping", text="Spring")
-                       colsub.itemR(cloth, "air_damping", text="Air")
+                       sub = col.column(align=True)
+                       sub.itemR(cloth, "spring_damping", text="Spring")
+                       sub.itemR(cloth, "air_damping", text="Air")
                        
                        # Disabled for now
                        """
@@ -85,6 +88,13 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel):
                layout = self.layout
 
                cache = context.cloth.point_cache
+               layout.set_context_pointer("PointCache", cache)
+               
+               row = layout.row()
+               row.template_list(cache, "point_cache_list", cache, "active_point_cache_index")
+               col = row.column(align=True)
+               col.itemO("ptcache.add_new", icon="ICON_ZOOMIN", text="")
+               col.itemO("ptcache.remove", icon="ICON_ZOOMOUT", text="")
                
                row = layout.row()
                row.itemR(cache, "name")
@@ -96,17 +106,17 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel):
                row = layout.row()
                
                if cache.baked == True:
-                       row.itemO("ptcache.free_bake_cloth", text="Free Bake")
+                       row.itemO("ptcache.free_bake", text="Free Bake")
                else:
-                       row.item_booleanO("ptcache.cache_cloth", "bake", True, text="Bake")
+                       row.item_booleanO("ptcache.bake", "bake", True, text="Bake")
                
                subrow = row.row()
                subrow.enabled = cache.frames_skipped or cache.outdated
-               subrow.itemO("ptcache.cache_cloth", text="Calculate to Current Frame")
+               subrow.itemO("ptcache.bake", "bake", False, text="Calculate to Current Frame")
                        
                row = layout.row()
                #row.enabled = particle_panel_enabled(psys)
-               row.itemO("ptcache.bake_from_cloth_cache", text="Current Cache to Bake")
+               row.itemO("ptcache.bake_from_cache", text="Current Cache to Bake")
                row.itemR(cache, "step");
        
                row = layout.row()
@@ -121,7 +131,7 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel):
                row = layout.row()
                row.itemO("ptcache.bake_all", "bake", True, text="Bake All Dynamics")
                row.itemO("ptcache.free_bake_all", text="Free All Bakes")
-               layout.itemO("ptcache.bake_all", text="Update All Dynamics to current frame")
+               layout.itemO("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame")
                
 class PHYSICS_PT_cloth_collision(PhysicButtonsPanel):
        __label__ = "Cloth Collision"
@@ -143,14 +153,14 @@ class PHYSICS_PT_cloth_collision(PhysicButtonsPanel):
                
                layout.active = cloth.enable_collision
                
-               col = split.column(align=True)
+               col = split.column()
                col.itemR(cloth, "collision_quality", slider=True, text="Quality")
                col.itemR(cloth, "min_distance", slider=True, text="Distance")
                col.itemR(cloth, "friction")
                
-               col = split.column(align=True)
+               col = split.column()
                col.itemR(cloth, "enable_self_collision", text="Self Collision")
-               col = col.column(align=True)
+               col = col.column()
                col.active = cloth.enable_self_collision
                col.itemR(cloth, "self_collision_quality", slider=True, text="Quality")
                col.itemR(cloth, "self_min_distance", slider=True, text="Distance")
@@ -179,15 +189,15 @@ class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel):
                
                col = split.column()
                col.itemL(text="Structural Stiffness:")
-               colsub = col.column(align=True)
-               colsub.itemR(cloth, "structural_stiffness_max", text="Max")
-               colsub.item_pointerR(cloth, "structural_stiffness_vertex_group", ob, "vertex_groups", text="")
+               sub = col.column(align=True)
+               sub.itemR(cloth, "structural_stiffness_max", text="Max")
+               sub.item_pointerR(cloth, "structural_stiffness_vertex_group", ob, "vertex_groups", text="")
                
                col = split.column()
                col.itemL(text="Bending Stiffness:")
-               colsub = col.column(align=True)
-               colsub.itemR(cloth, "bending_stiffness_max", text="Max")
-               colsub.item_pointerR(cloth, "bending_vertex_group", ob, "vertex_groups", text="")
+               sub = col.column(align=True)
+               sub.itemR(cloth, "bending_stiffness_max", text="Max")
+               sub.item_pointerR(cloth, "bending_vertex_group", ob, "vertex_groups", text="")
                
 bpy.types.register(PHYSICS_PT_cloth)
 bpy.types.register(PHYSICS_PT_cloth_cache)
index 3b054f7d55711aa24e252ebff149fde9d3bb8267..02802779c040be0b5937b9e22d677e0317992092 100644 (file)
@@ -165,46 +165,66 @@ class PHYSICS_PT_collision(PhysicButtonsPanel):
                ob = context.object
                rd = context.scene.render_data
                return (ob and ob.type == 'MESH') and (not rd.use_game_engine)
-
-       def draw_header(self, context):
-               settings = context.object.collision
-               self.layout.itemR(settings, "enabled", text="")
-
+       
        def draw(self, context):
                layout = self.layout
                
                md = context.collision
-               settings = context.object.collision
 
-               layout.active = settings.enabled
-               
                split = layout.split()
+               split.operator_context = 'EXEC_DEFAULT'
+
+               if md:
+                       # remove modifier + settings
+                       split.set_context_pointer("modifier", md)
+                       split.itemO("object.modifier_remove", text="Remove")
+                       col = split.column()
+                       
+                       #row = split.row(align=True)
+                       #row.itemR(md, "render", text="")
+                       #row.itemR(md, "realtime", text="")
+                       
+                       coll = md.settings
+                       
+               else:
+                       # add modifier
+                       split.item_enumO("object.modifier_add", "type", 'COLLISION', text="Add")
+                       split.itemL()
+                       
+                       coll = None
+               
+               if coll:
+                       settings = context.object.collision
+
+                       layout.active = settings.enabled
+               
+                       split = layout.split()
                
-               col = split.column()
-               col.itemL(text="Particle:")
-               col.itemR(settings, "permeability", slider=True)
-               col.itemL(text="Particle Damping:")
-               sub = col.column(align=True)
-               sub.itemR(settings, "damping_factor", text="Factor", slider=True)
-               sub.itemR(settings, "random_damping", text="Random", slider=True)
+                       col = split.column()
+                       col.itemL(text="Particle:")
+                       col.itemR(settings, "permeability", slider=True)
+                       col.itemL(text="Particle Damping:")
+                       sub = col.column(align=True)
+                       sub.itemR(settings, "damping_factor", text="Factor", slider=True)
+                       sub.itemR(settings, "random_damping", text="Random", slider=True)
                
-               col.itemL(text="Soft Body and Cloth:")
-               sub = col.column(align=True)
-               sub.itemR(settings, "outer_thickness", text="Outer", slider=True)
-               sub.itemR(settings, "inner_thickness", text="Inner", slider=True)
+                       col.itemL(text="Soft Body and Cloth:")
+                       sub = col.column(align=True)
+                       sub.itemR(settings, "outer_thickness", text="Outer", slider=True)
+                       sub.itemR(settings, "inner_thickness", text="Inner", slider=True)
                
-               layout.itemL(text="Force Fields:")
-               layout.itemR(md, "absorption", text="Absorption")
+                       layout.itemL(text="Force Fields:")
+                       layout.itemR(md, "absorption", text="Absorption")
                
-               col = split.column()
-               col.itemL(text="")
-               col.itemR(settings, "kill_particles")
-               col.itemL(text="Particle Friction:")
-               sub = col.column(align=True)
-               sub.itemR(settings, "friction_factor", text="Factor", slider=True)
-               sub.itemR(settings, "random_friction", text="Random", slider=True)
-               col.itemL(text="Soft Body Damping:")
-               col.itemR(settings, "damping", text="Factor", slider=True)
+                       col = split.column()
+                       col.itemL(text="")
+                       col.itemR(settings, "kill_particles")
+                       col.itemL(text="Particle Friction:")
+                       sub = col.column(align=True)
+                       sub.itemR(settings, "friction_factor", text="Factor", slider=True)
+                       sub.itemR(settings, "random_friction", text="Random", slider=True)
+                       col.itemL(text="Soft Body Damping:")
+                       col.itemR(settings, "damping", text="Factor", slider=True)
                
 bpy.types.register(PHYSICS_PT_field)
 bpy.types.register(PHYSICS_PT_collision)
index be695d664489b22f351fef12c5a23eb104415869..0ad87120a7f359aa57578e019770392b8f1ce4b6 100644 (file)
@@ -51,10 +51,9 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel):
                                
                                col = split.column()
                                col.itemL(text="Resolution:")
-                               sub = col.column()
-                               sub.itemR(fluid, "resolution", text="Final")
-                               sub.itemL(text="Render Display:")
-                               sub.itemR(fluid, "render_display_mode", text="")
+                               col.itemR(fluid, "resolution", text="Final")
+                               col.itemL(text="Render Display:")
+                               col.itemR(fluid, "render_display_mode", text="")
                                col.itemL(text="Time:")
                                sub = col.column(align=True)
                                sub.itemR(fluid, "start_time", text="Start")
@@ -66,8 +65,8 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel):
                                col.itemL(text="Viewport Display:")
                                col.itemR(fluid, "viewport_display_mode", text="")
                                col.itemL()
-                               col.itemR(fluid, "reverse_frames")
                                col.itemR(fluid, "generate_speed_vectors")
+                               col.itemR(fluid, "reverse_frames")
                                
                                layout.itemR(fluid, "path", text="")
                                
@@ -93,12 +92,12 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel):
                                
                                col = split.column()
                                col.itemL(text="Slip Type:")
-                               sub = col.column(align=True)
-                               sub.itemR(fluid, "slip_type", text="")
+                               col.itemR(fluid, "slip_type", text="")
                                if fluid.slip_type == 'PARTIALSLIP':
-                                       sub.itemR(fluid, "partial_slip_amount", slider=True, text="Amount")
+                                       col.itemR(fluid, "partial_slip_amount", slider=True, text="Amount")
                                        
-                               col.itemR(fluid, "impact_factor")
+                               col.itemL(text="Impact:")
+                               col.itemR(fluid, "impact_factor", text="Factor")
                                
                        elif fluid.type == 'INFLOW':
                                split = layout.split()
@@ -124,22 +123,23 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel):
                                split.column()
                                
                        elif fluid.type == 'PARTICLE':
-                               split = layout.split()
+                               split = layout.split(percentage=0.5)
                                
                                col = split.column()
                                col.itemL(text="Influence:")
-                               sub = col.column(align=True)
-                               sub.itemR(fluid, "particle_influence", text="Size")
-                               sub.itemR(fluid, "alpha_influence", text="Alpha")
-                               
-                               layout.itemR(fluid, "path", text="")
+                               col.itemR(fluid, "particle_influence", text="Size")
+                               col.itemR(fluid, "alpha_influence", text="Alpha")
                                
                                col = split.column()
                                col.itemL(text="Type:")
                                col.itemR(fluid, "drops")
                                col.itemR(fluid, "floats")
+                               col = split.column()
+                               col.itemL()
                                col.itemR(fluid, "tracer")
                                
+                               layout.itemR(fluid, "path", text="")
+                               
                        elif fluid.type == 'CONTROL':
                                split = layout.split()
                                
index caafb3d58f2a612075076546992fbeedd8decbff..a225aedbe236f5c4ac09999ad8b384ac125d1137 100644 (file)
@@ -41,66 +41,119 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel):
                        layout.itemR(md, "smoke_type", expand=True)
                
                        if md.smoke_type == 'TYPE_DOMAIN':
-                               split = layout.split()
                                
-                               col = split.column()
-                               col.itemL(text="Behavior:")
-                               col.itemR(md.domain_settings, "alpha")
-                               col.itemR(md.domain_settings, "beta")
+                               domain = md.domain_settings
                                
-                               col.itemL(text="Resolution:")
-                               col.itemR(md.domain_settings, "maxres", text="Low")
-                               sub = col.column()
-                               sub.active = md.domain_settings.highres
-                               sub.itemR(md.domain_settings, "amplify", text="High")
-                               col.itemR(md.domain_settings, "highres", text="Use High Resolution")
+                               split = layout.split()
                                
                                col = split.column()
+                               col.itemL(text="Resolution:")
+                               col.itemR(domain, "maxres", text="Divisions")
+
                                col.itemL(text="Display:")
-                               col.itemR(md.domain_settings, "visibility")
-                               col.itemR(md.domain_settings, "color", slider=True)
+                               col.itemR(domain, "visibility", text="Resolution")
+                               col.itemR(domain, "color", slider=True)
                                sub = col.column()
-                               sub.active = md.domain_settings.highres
-                               sub.itemR(md.domain_settings, "viewhighres")
-                               
-                               layout.itemL(text="Noise Type:")
-                               layout.itemR(md.domain_settings, "noise_type", expand=True)
+                               sub.active = domain.highres
+                               sub.itemR(domain, "viewhighres")
                                
-                               split = layout.split()
                                col = split.column()
-                               col.itemR(md.domain_settings, "strength")
-                               sub = split.column()
-                               
-                               split = layout.split()
-                               
-                               col = split.column()
-                               col.itemL(text="Flow Group:")
-                               col.itemR(md.domain_settings, "fluid_group", text="")
+                               col.itemL(text="Behavior:")
+                               col.itemR(domain, "alpha")
+                               col.itemR(domain, "beta")
+                               col.itemR(domain, "dissolve_smoke", text="Dissolve")
+                               sub = col.column()
+                               sub.active = domain.dissolve_smoke
+                               sub.itemR(domain, "dissolve_speed", text="Speed")
+                               sub.itemR(domain, "dissolve_smoke_log", text="Slow")
                                
-                               #col.itemL(text="Effector Group:")
-                               #col.itemR(md.domain_settings, "eff_group", text="")
+                       elif md.smoke_type == 'TYPE_FLOW':
                                
-                               col = split.column()
-                               col.itemL(text="Collision Group:")
-                               col.itemR(md.domain_settings, "coll_group", text="")
+                               flow = md.flow_settings
                                
-                       elif md.smoke_type == 'TYPE_FLOW':
                                split = layout.split()
                                
                                col = split.column()
-                               col.itemR(md.flow_settings, "outflow")
+                               col.itemR(flow, "outflow")
                                col.itemL(text="Particle System:")
-                               col.item_pointerR(md.flow_settings, "psys", ob, "particle_systems", text="")
+                               col.item_pointerR(flow, "psys", ob, "particle_systems", text="")
                                
                                if md.flow_settings.outflow:                            
                                        col = split.column()
                                else:
                                        col = split.column()
                                        col.itemL(text="Behavior:")
-                                       col.itemR(md.flow_settings, "temperature")
-                                       col.itemR(md.flow_settings, "density")
+                                       col.itemR(flow, "temperature")
+                                       col.itemR(flow, "density")
                                        
                        #elif md.smoke_type == 'TYPE_COLL':
                        #       layout.itemS()
+                       
+class PHYSICS_PT_smoke_highres(PhysicButtonsPanel):
+       __label__ = "Smoke High Resolution"
+       __default_closed__ = True
+       
+       def poll(self, context):
+               md = context.smoke
+               if md:
+                               return (md.smoke_type == 'TYPE_DOMAIN')
+               
+               return False
+
+       def draw_header(self, context):
+               layout = self.layout
+               
+               high = context.smoke.domain_settings
+       
+               layout.itemR(high, "highres", text="")
+               
+       def draw(self, context):
+               layout = self.layout
+               
+               high = context.smoke.domain_settings
+               
+               layout.active = high.highres
+               
+               split = layout.split()
+               
+               col = split.column()
+               col.itemL(text="Resolution:")
+               col.itemR(high, "amplify", text="Divisions")
+               
+               sub = split.column()
+               sub.itemL(text="Noise Method:")
+               sub.row().itemR(high, "noise_type", text="")
+               sub.itemR(high, "strength")
+                       
+class PHYSICS_PT_smoke_groups(PhysicButtonsPanel):
+       __label__ = "Smoke Groups"
+       __default_closed__ = True
+       
+       def poll(self, context):
+               md = context.smoke
+               if md:
+                               return (md.smoke_type == 'TYPE_DOMAIN')
+               
+               return False
+
+       def draw(self, context):
+               layout = self.layout
+               
+               group = context.smoke.domain_settings
+               
+               split = layout.split()
+               
+               col = split.column()
+               col.itemL(text="Flow Group:")
+               col.itemR(group, "fluid_group", text="")
+                               
+               #col.itemL(text="Effector Group:")
+               #col.itemR(group, "eff_group", text="")
+                               
+               col = split.column()
+               col.itemL(text="Collision Group:")
+               col.itemR(group, "coll_group", text="")
 
-bpy.types.register(PHYSICS_PT_smoke)
\ No newline at end of file
+bpy.types.register(PHYSICS_PT_smoke)
+bpy.types.register(PHYSICS_PT_smoke_highres)
+bpy.types.register(PHYSICS_PT_smoke_groups)
\ No newline at end of file
index c17d6e3bcf9fca7db109c28e6e604ebbef6dea11..d0d3475c11b598329503634dbef4440d1dc411df 100644 (file)
@@ -63,6 +63,13 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel):
                layout = self.layout
 
                cache = context.soft_body.point_cache
+               layout.set_context_pointer("PointCache", cache)
+               
+               row = layout.row()
+               row.template_list(cache, "point_cache_list", cache, "active_point_cache_index")
+               col = row.column(align=True)
+               col.itemO("ptcache.add_new", icon="ICON_ZOOMIN", text="")
+               col.itemO("ptcache.remove", icon="ICON_ZOOMOUT", text="")
                
                row = layout.row()
                row.itemR(cache, "name")
@@ -74,16 +81,16 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel):
                row = layout.row()
                
                if cache.baked == True:
-                       row.itemO("ptcache.free_bake_softbody", text="Free Bake")
+                       row.itemO("ptcache.free_bake", text="Free Bake")
                else:
-                       row.item_booleanO("ptcache.cache_softbody", "bake", True, text="Bake")
+                       row.item_booleanO("ptcache.bake", "bake", True, text="Bake")
                
                sub = row.row()
                sub.enabled = cache.frames_skipped or cache.outdated
-               sub.itemO("ptcache.cache_softbody", text="Calculate to Current Frame")
+               sub.itemO("ptcache.bake", "bake", False, text="Calculate to Current Frame")
                        
                row = layout.row()
-               row.itemO("ptcache.bake_from_softbody_cache", text="Current Cache to Bake")
+               row.itemO("ptcache.bake_from_cache", text="Current Cache to Bake")
                row.itemR(cache, "step");
        
                row = layout.row()
@@ -97,7 +104,7 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel):
                row = layout.row()
                row.itemO("ptcache.bake_all", "bake", True, text="Bake All Dynamics")
                row.itemO("ptcache.free_bake_all", text="Free All Bakes")
-               layout.itemO("ptcache.bake_all", text="Update All Dynamics to current frame")
+               layout.itemO("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame")
                
 class PHYSICS_PT_softbody_goal(PhysicButtonsPanel):
        __label__ = "Soft Body Goal"
index 4410b16e6029205746793b4043a22f7249f5ba2b..6dcec8d2efeb501f312a39f535017e84e48500f7 100644 (file)
@@ -430,6 +430,25 @@ class SCENE_PT_stamp(RenderButtonsPanel):
                sub.active = rd.stamp_note
                sub.itemR(rd, "stamp_note_text", text="")
 
+class SCENE_PT_unit(RenderButtonsPanel):
+       __label__ = "Units"
+       __default_closed__ = True
+       COMPAT_ENGINES = set(['BLENDER_RENDER'])
+
+       def draw(self, context):
+               layout = self.layout
+               
+               unit = context.scene.unit_settings
+               
+               col = layout.column()
+               col.row().itemR(unit, "system", expand=True)
+               
+               row = layout.row()
+               row.active = (unit.system != 'NONE')
+               row.itemR(unit, "scale_length", text="Scale")
+               row.itemR(unit, "use_separate")
+
+
 bpy.types.register(SCENE_PT_render)
 bpy.types.register(SCENE_PT_layers)
 bpy.types.register(SCENE_PT_dimensions)
@@ -440,3 +459,4 @@ bpy.types.register(SCENE_PT_encoding)
 bpy.types.register(SCENE_PT_performance)
 bpy.types.register(SCENE_PT_post_processing)
 bpy.types.register(SCENE_PT_stamp)
+bpy.types.register(SCENE_PT_unit)
index f3d5d96cc28d0e90f79932db8c99b0d369e3c941..51a90b2c9ee25bf24f9537a4420cfb496055d9f6 100644 (file)
@@ -67,8 +67,6 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel):
                                                                        context.texture_paint_object \
                                                                        ):
                        split.itemR(space, "brush_texture", text="Brush", toggle=True)
-               
-               layout.itemS()
 
                if tex:
                        split = layout.split(percentage=0.2)
@@ -137,9 +135,20 @@ class TEXTURE_PT_mapping(TextureButtonsPanel):
                        row.itemR(tex, "y_mapping", text="")
                        row.itemR(tex, "z_mapping", text="")
 
-               row = layout.row()
-               row.column().itemR(tex, "offset")
-               row.column().itemR(tex, "size")
+               if br:
+                       layout.itemR(tex, "brush_map_mode", expand=True)
+                       
+                       row = layout.row()
+                       row.active = tex.brush_map_mode in ('FIXED', 'TILED')
+                       row.itemR(tex, "angle")
+
+                       row = layout.row()
+                       row.active = tex.brush_map_mode in ('TILED', '3D')
+                       row.column().itemR(tex, "size")
+               else:
+                       row = layout.row()
+                       row.column().itemR(tex, "offset")
+                       row.column().itemR(tex, "size")
 
 class TEXTURE_PT_influence(TextureButtonsPanel):
        __label__ = "Influence"
index 62c720d09d1988bf105c8e07e99c28452a489448..7840a4946f25b290b44e5c115d4f1f53842656f1 100644 (file)
@@ -55,8 +55,8 @@ class WORLD_PT_world(WorldButtonsPanel):
                if world:
                
                        row = layout.row()
-                       row.itemR(world, "blend_sky")
                        row.itemR(world, "paper_sky")
+                       row.itemR(world, "blend_sky")
                        row.itemR(world, "real_sky")
                        
                        row = layout.row()
@@ -83,10 +83,11 @@ class WORLD_PT_mist(WorldButtonsPanel):
                layout.active = world.mist.enabled
 
                flow = layout.column_flow()
+               flow.itemR(world.mist, "intensity", slider=True)
                flow.itemR(world.mist, "start")
                flow.itemR(world.mist, "depth")
                flow.itemR(world.mist, "height")
-               flow.itemR(world.mist, "intensity", slider=True)
+               
 
                layout.itemR(world.mist, "falloff")
                
@@ -146,12 +147,12 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel):
                        col.itemL(text="Sampling:")
                        col.itemR(ao, "sample_method", text="")
 
-                       sub = col.column(align=True)
+                       sub = col.column()
                        sub.itemR(ao, "samples")
 
                        if ao.sample_method == 'ADAPTIVE_QMC':
                                sub.itemR(ao, "threshold")
-                               sub.itemR(ao, "adapt_to_speed")
+                               sub.itemR(ao, "adapt_to_speed", slider=True)
                        elif ao.sample_method == 'CONSTANT_JITTERED':
                                sub.itemR(ao, "bias")
                                                
index 9c08a0fe3d2ec0b9a865a51482756179663888e4..af2dac02ccb773bf49a9e9a68fa618fa01c7c5d2 100644 (file)
@@ -5,9 +5,10 @@ class INFO_HT_header(bpy.types.Header):
        __space_type__ = "USER_PREFERENCES"
 
        def draw(self, context):
+               layout = self.layout
+               
                st = context.space_data
                rd = context.scene.render_data
-               layout = self.layout
                
                layout.template_header()
 
@@ -21,8 +22,8 @@ class INFO_HT_header(bpy.types.Header):
                                row.itemM("INFO_MT_render")
                        row.itemM("INFO_MT_help")
 
-               layout.template_ID(context.window, "screen") #, new="screen.new", open="scene.unlink")
-               layout.template_ID(context.screen, "scene") #, new="screen.new", unlink="scene.unlink")
+               layout.template_ID(context.window, "screen", new="screen.new", unlink="screen.delete")
+               layout.template_ID(context.screen, "scene", new="scene.new", unlink="scene.delete")
 
                if rd.multiple_engines:
                        layout.itemR(rd, "engine", text="")
@@ -142,6 +143,7 @@ class INFO_MT_render(bpy.types.Menu):
 
        def draw(self, context):
                layout = self.layout
+               
                rd = context.scene.render_data
 
                layout.itemO("screen.render", text="Render Image")
@@ -174,6 +176,7 @@ class INFO_PT_tabs(bpy.types.Panel):
 
        def draw(self, context):
                layout = self.layout
+               
                userpref = context.user_preferences
 
                layout.itemR(userpref, "active_section", expand=True)
@@ -189,100 +192,98 @@ class INFO_PT_view(bpy.types.Panel):
 
        def draw(self, context):
                layout = self.layout
+               
                userpref = context.user_preferences
                view = userpref.view
 
                split = layout.split()
-               col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-               colsplitcol.itemL(text="Display:")
-               colsplitcol.itemR(view, "tooltips")
-               colsplitcol.itemR(view, "display_object_info", text="Object Info")
-               colsplitcol.itemR(view, "use_large_cursors")
-               colsplitcol.itemR(view, "show_view_name", text="View Name")
-               colsplitcol.itemR(view, "show_playback_fps", text="Playback FPS")
-               colsplitcol.itemR(view, "global_scene")
-               colsplitcol.itemR(view, "pin_floating_panels")
-               colsplitcol.itemR(view, "object_center_size")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               
-               colsplitcol.itemR(view, "show_mini_axis")
-               colsub = colsplitcol.column()
-               colsub.enabled = view.show_mini_axis
-               colsub.itemR(view, "mini_axis_size")
-               colsub.itemR(view, "mini_axis_brightness")
                
-
+               col = split.column()
+               sub = col.split(percentage=0.85)
                
+               sub1 = sub.column()
+               sub1.itemL(text="Display:")
+               sub1.itemR(view, "tooltips")
+               sub1.itemR(view, "display_object_info", text="Object Info")
+               sub1.itemR(view, "use_large_cursors")
+               sub1.itemR(view, "show_view_name", text="View Name")
+               sub1.itemR(view, "show_playback_fps", text="Playback FPS")
+               sub1.itemR(view, "global_scene")
+               sub1.itemR(view, "pin_floating_panels")
+               sub1.itemR(view, "object_center_size")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemR(view, "show_mini_axis")
+               sub2 = sub1.column()
+               sub2.enabled = view.show_mini_axis
+               sub2.itemR(view, "mini_axis_size")
+               sub2.itemR(view, "mini_axis_brightness")
                
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-               colsplitcol.itemL(text="View Manipulation:")
-               colsplitcol.itemR(view, "auto_depth")
-               colsplitcol.itemR(view, "global_pivot")
-               colsplitcol.itemR(view, "zoom_to_mouse")
-               colsplitcol.itemR(view, "rotate_around_selection")
-               colsplitcol.itemL(text="Zoom Style:")
-               row = colsplitcol.row()
-               row.itemR(view, "viewport_zoom_style", expand=True)
-               colsplitcol.itemL(text="Orbit Style:")
-               row = colsplitcol.row()
-               row.itemR(view, "view_rotation", expand=True)
-               colsplitcol.itemR(view, "perspective_orthographic_switch")
-               colsplitcol.itemR(view, "smooth_view")
-               colsplitcol.itemR(view, "rotation_angle")
-               colsplitcol.itemL(text="NDOF Device:")
-               colsplitcol.itemR(view, "ndof_pan_speed", text="Pan Speed")
-               colsplitcol.itemR(view, "ndof_rotate_speed", text="Orbit Speed")
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub.column()
+               sub1.itemL(text="View Manipulation:")
+               sub1.itemR(view, "auto_depth")
+               sub1.itemR(view, "global_pivot")
+               sub1.itemR(view, "zoom_to_mouse")
+               sub1.itemR(view, "rotate_around_selection")
+               sub1.itemS()
+               sub1.itemL(text="Zoom Style:")
+               sub1.row().itemR(view, "viewport_zoom_style", expand=True)
+               sub1.itemL(text="Orbit Style:")
+               sub1.row().itemR(view, "view_rotation", expand=True)
+               sub1.itemR(view, "perspective_orthographic_switch")
+               sub1.itemR(view, "smooth_view")
+               sub1.itemR(view, "rotation_angle")
+               sub1.itemS()
+               sub1.itemL(text="NDOF Device:")
+               sub1.itemR(view, "ndof_pan_speed", text="Pan Speed")
+               sub1.itemR(view, "ndof_rotate_speed", text="Orbit Speed")
                
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-               colsplitcol.itemL(text="Mouse Buttons:")
-               colsplitcol.itemR(view, "left_mouse_button_select")
-               colsplitcol.itemR(view, "right_mouse_button_select")
-               colsplitcol.itemR(view, "emulate_3_button_mouse")
-               colsplitcol.itemR(view, "use_middle_mouse_paste")
-               colsplitcol.itemR(view, "middle_mouse_rotate")
-               colsplitcol.itemR(view, "middle_mouse_pan")
-               colsplitcol.itemR(view, "wheel_invert_zoom")
-               colsplitcol.itemR(view, "wheel_scroll_lines")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               
-               colsplitcol.itemL(text="Menus:")
-               colsplitcol.itemR(view, "open_mouse_over")
-               colsplitcol.itemL(text="Menu Open Delay:")
-               colsplitcol.itemR(view, "open_toplevel_delay", text="Top Level")
-               colsplitcol.itemR(view, "open_sublevel_delay", text="Sub Level")
-
+               sub = col.split(percentage=0.85)
                
+               sub1 = sub.column()
+               sub1.itemL(text="Mouse Buttons:")
+               sub1.itemR(view, "left_mouse_button_select")
+               sub1.itemR(view, "right_mouse_button_select")
+               sub1.itemR(view, "emulate_3_button_mouse")
+               sub1.itemR(view, "use_middle_mouse_paste")
+               sub1.itemR(view, "middle_mouse_rotate")
+               sub1.itemR(view, "middle_mouse_pan")
+               sub1.itemR(view, "wheel_invert_zoom")
+               sub1.itemR(view, "wheel_scroll_lines")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemL(text="Menus:")
+               sub1.itemR(view, "open_mouse_over")
+               sub1.itemL(text="Menu Open Delay:")
+               sub1.itemR(view, "open_toplevel_delay", text="Top Level")
+               sub1.itemR(view, "open_sublevel_delay", text="Sub Level")
+
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub.column()
                #manipulator
-               colsplitcol.itemR(view, "use_manipulator")
-               colsub = colsplitcol.column()
-               colsub.enabled = view.use_manipulator
-               colsub.itemR(view, "manipulator_size", text="Size")
-               colsub.itemR(view, "manipulator_handle_size", text="Handle Size")
-               colsub.itemR(view, "manipulator_hotspot", text="Hotspot")       
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-                               
-               colsplitcol.itemL(text="Toolbox:")
-               colsplitcol.itemR(view, "use_column_layout")
-               colsplitcol.itemL(text="Open Toolbox Delay:")
-               colsplitcol.itemR(view, "open_left_mouse_delay", text="Hold LMB")
-               colsplitcol.itemR(view, "open_right_mouse_delay", text="Hold RMB")
+               sub1.itemR(view, "use_manipulator")
+               sub2 = sub1.column()
+               sub2.enabled = view.use_manipulator
+               sub2.itemR(view, "manipulator_size", text="Size")
+               sub2.itemR(view, "manipulator_handle_size", text="Handle Size")
+               sub2.itemR(view, "manipulator_hotspot", text="Hotspot") 
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()                    
+               sub1.itemL(text="Toolbox:")
+               sub1.itemR(view, "use_column_layout")
+               sub1.itemL(text="Open Toolbox Delay:")
+               sub1.itemR(view, "open_left_mouse_delay", text="Hold LMB")
+               sub1.itemR(view, "open_right_mouse_delay", text="Hold RMB")
 
-               
 class INFO_PT_edit(bpy.types.Panel):
        __space_type__ = "USER_PREFERENCES"
        __label__ = "Edit"
@@ -294,92 +295,91 @@ class INFO_PT_edit(bpy.types.Panel):
 
        def draw(self, context):
                layout = self.layout
+               
                userpref = context.user_preferences
                edit = userpref.edit
                view = userpref.view
                
                split = layout.split()
+               
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-
-               colsplitcol.itemL(text="Materials:")
-               colsplitcol.itemR(edit, "material_linked_object", text="Linked to Object")
-               colsplitcol.itemR(edit, "material_linked_obdata", text="Linked to ObData")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               
-               colsplitcol.itemL(text="New Objects:")
-               colsplitcol.itemR(edit, "enter_edit_mode")
-               colsplitcol.itemR(edit, "align_to_view")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               
-               colsplitcol.itemL(text="Transform:")
-               colsplitcol.itemR(edit, "drag_immediately")
+               sub = col.split(percentage=0.85)
                
+               sub1 = sub.column()
+               sub1.itemL(text="Materials:")
+               sub1.itemR(edit, "material_linked_object", text="Linked to Object")
+               sub1.itemR(edit, "material_linked_obdata", text="Linked to ObData")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemL(text="New Objects:")
+               sub1.itemR(edit, "enter_edit_mode")
+               sub1.itemR(edit, "align_to_view")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemL(text="Transform:")
+               sub1.itemR(edit, "drag_immediately")
+
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-               colsplitcol.itemL(text="Snap:")
-               colsplitcol.itemR(edit, "snap_translate", text="Translate")
-               colsplitcol.itemR(edit, "snap_rotate", text="Rotate")
-               colsplitcol.itemR(edit, "snap_scale", text="Scale")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               
-               colsplitcol.itemL(text="Grease Pencil:")
-               colsplitcol.itemR(edit, "grease_pencil_manhattan_distance", text="Manhattan Distance")
-               colsplitcol.itemR(edit, "grease_pencil_euclidean_distance", text="Euclidean Distance")
-               colsplitcol.itemR(edit, "grease_pencil_smooth_stroke", text="Smooth Stroke")
-               # colsplitcol.itemR(edit, "grease_pencil_simplify_stroke", text="Simplify Stroke")
-               colsplitcol.itemR(edit, "grease_pencil_eraser_radius", text="Eraser Radius")
+               sub = col.split(percentage=0.85)
                
+               sub1 = sub.column()
+               sub1.itemL(text="Snap:")
+               sub1.itemR(edit, "snap_translate", text="Translate")
+               sub1.itemR(edit, "snap_rotate", text="Rotate")
+               sub1.itemR(edit, "snap_scale", text="Scale")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemL(text="Grease Pencil:")
+               sub1.itemR(edit, "grease_pencil_manhattan_distance", text="Manhattan Distance")
+               sub1.itemR(edit, "grease_pencil_euclidean_distance", text="Euclidean Distance")
+               sub1.itemR(edit, "grease_pencil_smooth_stroke", text="Smooth Stroke")
+               # sub1.itemR(edit, "grease_pencil_simplify_stroke", text="Simplify Stroke")
+               sub1.itemR(edit, "grease_pencil_eraser_radius", text="Eraser Radius")
                
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-
-               colsplitcol.itemL(text="Keyframing:")
-               colsplitcol.itemR(edit, "use_visual_keying")
-               colsplitcol.itemR(edit, "new_interpolation_type")
-               colsplitcol.itemR(edit, "auto_keying_enable", text="Auto Keyframing")
-               colsub = colsplitcol.column()
-               colsub.enabled = edit.auto_keying_enable
-               row = colsub.row()
-               row.itemR(edit, "auto_keying_mode", expand=True)
-               colsub.itemR(edit, "auto_keyframe_insert_available", text="Only Insert Available")
-               colsub.itemR(edit, "auto_keyframe_insert_needed", text="Only Insert Needed")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               
-               colsplitcol.itemL(text="Undo:")
-               colsplitcol.itemR(edit, "global_undo")
-               colsplitcol.itemR(edit, "undo_steps", text="Steps")
-               colsplitcol.itemR(edit, "undo_memory_limit", text="Memory Limit")
-               colsplitcol.itemS()
-               colsplitcol.itemS()
-               colsplitcol.itemS()
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub.column()
+               sub1.itemL(text="Keyframing:")
+               sub1.itemR(edit, "use_visual_keying")
+               sub1.itemR(edit, "new_interpolation_type")
+               sub1.itemS()
+               sub1.itemR(edit, "auto_keying_enable", text="Auto Keyframing")
+               sub2 = sub1.column()
+               sub2.enabled = edit.auto_keying_enable
+               sub2.row().itemR(edit, "auto_keying_mode", expand=True)
+               sub2.itemR(edit, "auto_keyframe_insert_available", text="Only Insert Available")
+               sub2.itemR(edit, "auto_keyframe_insert_needed", text="Only Insert Needed")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemL(text="Undo:")
+               sub1.itemR(edit, "global_undo")
+               sub1.itemR(edit, "undo_steps", text="Steps")
+               sub1.itemR(edit, "undo_memory_limit", text="Memory Limit")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
 
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-               colsplitcol.itemL(text="Duplicate:")
-               colsplitcol.itemR(edit, "duplicate_mesh", text="Mesh")
-               colsplitcol.itemR(edit, "duplicate_surface", text="Surface")
-               colsplitcol.itemR(edit, "duplicate_curve", text="Curve")
-               colsplitcol.itemR(edit, "duplicate_text", text="Text")
-               colsplitcol.itemR(edit, "duplicate_metaball", text="Metaball")
-               colsplitcol.itemR(edit, "duplicate_armature", text="Armature")
-               colsplitcol.itemR(edit, "duplicate_lamp", text="Lamp")
-               colsplitcol.itemR(edit, "duplicate_material", text="Material")
-               colsplitcol.itemR(edit, "duplicate_texture", text="Texture")
-               colsplitcol.itemR(edit, "duplicate_ipo", text="F-Curve")
-               colsplitcol.itemR(edit, "duplicate_action", text="Action")
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub.column()
+               sub1.itemL(text="Duplicate:")
+               sub1.itemR(edit, "duplicate_mesh", text="Mesh")
+               sub1.itemR(edit, "duplicate_surface", text="Surface")
+               sub1.itemR(edit, "duplicate_curve", text="Curve")
+               sub1.itemR(edit, "duplicate_text", text="Text")
+               sub1.itemR(edit, "duplicate_metaball", text="Metaball")
+               sub1.itemR(edit, "duplicate_armature", text="Armature")
+               sub1.itemR(edit, "duplicate_lamp", text="Lamp")
+               sub1.itemR(edit, "duplicate_material", text="Material")
+               sub1.itemR(edit, "duplicate_texture", text="Texture")
+               sub1.itemR(edit, "duplicate_ipo", text="F-Curve")
+               sub1.itemR(edit, "duplicate_action", text="Action")
                
 class INFO_PT_system(bpy.types.Panel):
        __space_type__ = "USER_PREFERENCES"
@@ -392,61 +392,75 @@ class INFO_PT_system(bpy.types.Panel):
 
        def draw(self, context):
                layout = self.layout
+               
                userpref = context.user_preferences
                system = userpref.system
                lan = userpref.language
                
                split = layout.split()
+               
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
-               colsplitcol.itemR(system, "emulate_numpad")     
-               colsplitcol.itemS()
-               colsplitcol.itemS()
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub.column()
+               sub1.itemR(system, "emulate_numpad")    
+               sub1.itemS()
+               sub1.itemS()
+               
                #Weight Colors
-               colsplitcol.itemL(text="Weight Colors:")
-               colsplitcol.itemR(system, "use_weight_color_range", text="Use Custom Range")
+               sub1.itemL(text="Weight Colors:")
+               sub1.itemR(system, "use_weight_color_range", text="Use Custom Range")
                
-               colsub = colsplitcol.column()
-               colsub.active = system.use_weight_color_range
-               colsub.template_color_ramp(system.weight_color_range, expand=True)
-               colsplitcol.itemS()
-               colsplitcol.itemS()
+               sub2 = sub1.column()
+               sub2.active = system.use_weight_color_range
+               sub2.template_color_ramp(system.weight_color_range, expand=True)
+               sub1.itemS()
+               sub1.itemS()
                
                #sequencer
-               colsplitcol.itemL(text="Sequencer:")
-               colsplitcol.itemR(system, "prefetch_frames")
-               colsplitcol.itemR(system, "memory_cache_limit")
+               sub1.itemL(text="Sequencer:")
+               sub1.itemR(system, "prefetch_frames")
+               sub1.itemR(system, "memory_cache_limit")
                
                col = split.column()    
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub .column()
                #System
-               colsplitcol.itemL(text="System:")
-               colsplitcol.itemR(lan, "dpi")
-               colsplitcol.itemR(system, "enable_all_codecs")
-               colsplitcol.itemR(system, "auto_run_python_scripts")
-               colsplitcol.itemR(system, "frame_server_port")
-               colsplitcol.itemR(system, "game_sound")
-               colsplitcol.itemR(system, "filter_file_extensions")
-               colsplitcol.itemR(system, "hide_dot_files_datablocks")
-               colsplitcol.itemR(system, "audio_mixing_buffer")
-               colsplitcol.itemR(lan, "scrollback", text="Console Scrollback")
+               sub1.itemL(text="System:")
+               sub1.itemR(lan, "dpi")
+               sub1.itemR(system, "auto_run_python_scripts")
+               sub1.itemR(system, "frame_server_port")
+               sub1.itemR(system, "filter_file_extensions")
+               sub1.itemR(system, "hide_dot_files_datablocks")
+               sub1.itemR(lan, "scrollback", text="Console Scrollback")
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemL(text="Sound:")
+               sub1.itemR(system, "audio_device")
+               sub2 = sub1.column()
+               sub2.active = system.audio_device != 'AUDIO_DEVICE_NULL'
+               sub2.itemR(system, "enable_all_codecs")
+               sub2.itemR(system, "game_sound")
+               sub2.itemR(system, "audio_channels")
+               sub2.itemR(system, "audio_mixing_buffer")
+               sub2.itemR(system, "audio_sample_rate")
+               sub2.itemR(system, "audio_sample_format")
                
                col = split.column()
-               colsplit = col.split(percentage=0.85)
-               colsplitcol = colsplit.column()
+               sub = col.split(percentage=0.85)
+               
+               sub1 = sub.column()
                #OpenGL
-               colsplitcol.itemL(text="OpenGL:")
-               colsplitcol.itemR(system, "clip_alpha", slider=True)
-               colsplitcol.itemR(system, "use_mipmaps")
-               colsplitcol.itemL(text="Window Draw Method:")
-               row = colsplitcol.row()
-               row.itemR(system, "window_draw_method", expand=True)
-               colsplitcol.itemL(text="Textures:")
-               colsplitcol.itemR(system, "gl_texture_limit", text="Limit Size")
-               colsplitcol.itemR(system, "texture_time_out", text="Time Out")
-               colsplitcol.itemR(system, "texture_collection_rate", text="Collection Rate")            
+               sub1.itemL(text="OpenGL:")
+               sub1.itemR(system, "clip_alpha", slider=True)
+               sub1.itemR(system, "use_mipmaps")
+               sub1.itemL(text="Window Draw Method:")
+               sub1.row().itemR(system, "window_draw_method", expand=True)
+               sub1.itemL(text="Textures:")
+               sub1.itemR(system, "gl_texture_limit", text="Limit Size")
+               sub1.itemR(system, "texture_time_out", text="Time Out")
+               sub1.itemR(system, "texture_collection_rate", text="Collection Rate")           
                
 class INFO_PT_filepaths(bpy.types.Panel):
        __space_type__ = "USER_PREFERENCES"
@@ -459,53 +473,55 @@ class INFO_PT_filepaths(bpy.types.Panel):
 
        def draw(self, context):
                layout = self.layout
+               
                userpref = context.user_preferences
                paths = userpref.filepaths
                
                split = layout.split()
+               
                col = split.column()
                col.itemL(text="File Paths:")
-               splitcol = col.split(percentage=0.3)
-               
-               splitcol.itemL(text="Fonts:")
-               splitcol.itemR(paths, "fonts_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Textures:")
-               splitcol.itemR(paths, "textures_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Texture Plugins:")
-               splitcol.itemR(paths, "texture_plugin_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Sequence Plugins:")
-               splitcol.itemR(paths, "sequence_plugin_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Render Output:")
-               splitcol.itemR(paths, "render_output_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Scripts:")
-               splitcol.itemR(paths, "python_scripts_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Sounds:")
-               splitcol.itemR(paths, "sounds_directory", text="")
-               splitcol = col.split(percentage=0.3)
-               splitcol.itemL(text="Temp:")
-               splitcol.itemR(paths, "temporary_directory", text="")
+               sub = col.split(percentage=0.3)
+               
+               sub.itemL(text="Fonts:")
+               sub.itemR(paths, "fonts_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Textures:")
+               sub.itemR(paths, "textures_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Texture Plugins:")
+               sub.itemR(paths, "texture_plugin_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Sequence Plugins:")
+               sub.itemR(paths, "sequence_plugin_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Render Output:")
+               sub.itemR(paths, "render_output_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Scripts:")
+               sub.itemR(paths, "python_scripts_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Sounds:")
+               sub.itemR(paths, "sounds_directory", text="")
+               sub = col.split(percentage=0.3)
+               sub.itemL(text="Temp:")
+               sub.itemR(paths, "temporary_directory", text="")
                
                col = split.column()
-               colsplit = col.split(percentage=0.2)
-               colsplitcol = colsplit.column()
-               colsplitcol = colsplit.column()
-               colsplitcol.itemL(text="Save & Load:")
-               colsplitcol.itemR(paths, "use_relative_paths")
-               colsplitcol.itemR(paths, "compress_file")
-               colsplitcol.itemL(text="Auto Save:")
-               colsplitcol.itemR(paths, "save_version")
-               colsplitcol.itemR(paths, "recent_files")
-               colsplitcol.itemR(paths, "save_preview_images")
-               colsplitcol.itemR(paths, "auto_save_temporary_files")
-               colsub = colsplitcol.column()
-               colsub.enabled = paths.auto_save_temporary_files
-               colsub.itemR(paths, "auto_save_time")
+               sub = col.split(percentage=0.2)
+               sub1 = sub.column()
+               sub2 = sub.column()
+               sub2.itemL(text="Save & Load:")
+               sub2.itemR(paths, "use_relative_paths")
+               sub2.itemR(paths, "compress_file")
+               sub2.itemL(text="Auto Save:")
+               sub2.itemR(paths, "save_version")
+               sub2.itemR(paths, "recent_files")
+               sub2.itemR(paths, "save_preview_images")
+               sub2.itemR(paths, "auto_save_temporary_files")
+               sub3 = sub2.column()
+               sub3.enabled = paths.auto_save_temporary_files
+               sub3.itemR(paths, "auto_save_time")
 
 class INFO_PT_language(bpy.types.Panel):
        __space_type__ = "USER_PREFERENCES"
@@ -518,6 +534,7 @@ class INFO_PT_language(bpy.types.Panel):
 
        def draw(self, context):
                layout = self.layout
+               
                userpref = context.user_preferences
                lan = userpref.language
                
@@ -614,4 +631,3 @@ bpy.ops.add(HELP_OT_blender_website)
 bpy.ops.add(HELP_OT_blender_eshop)
 bpy.ops.add(HELP_OT_developer_community)
 bpy.ops.add(HELP_OT_user_community)
-
index 4cba4d0af3a7729049754917f2f3685ee9e11ecc..a29e0fad895d42da57dbe506d6c7d209ac86c8e7 100644 (file)
@@ -10,18 +10,17 @@ class SEQUENCER_HT_header(bpy.types.Header):
        __space_type__ = "SEQUENCE_EDITOR"
 
        def draw(self, context):
+               layout = self.layout
                
                st = context.space_data
-               layout = self.layout
 
                layout.template_header()
                
                if context.area.show_menus:
                        row = layout.row()
+                       row.itemR(st, "display_mode", text="")
                        row.itemM("SEQUENCER_MT_view")
                        
-                       row.itemR(st, "display_mode")
-                       
                        layout.itemS()
                        
                        if st.display_mode == 'SEQUENCER':
@@ -32,14 +31,15 @@ class SEQUENCER_HT_header(bpy.types.Header):
                                layout.itemS()
                                row.itemO("sequencer.reload")
                        else:
-                               row.itemR(st, "display_channel") # text="Chan"
+                               row.itemR(st, "display_channel", text="Channel")
 
 class SEQUENCER_MT_view(bpy.types.Menu):
        __space_type__ = "SEQUENCE_EDITOR"
-       __label__ = "View (TODO)"
+       __label__ = "View"
        
        def draw(self, context):
                layout = self.layout
+               
                st = context.space_data
                
                layout.column()
@@ -76,6 +76,7 @@ class SEQUENCER_MT_view(bpy.types.Menu):
                layout.itemO("sequencer.view_all")
                layout.itemO("sequencer.view_selected")
                layout.itemS()
+               layout.itemO("screen.screen_full_area", text="Toggle Full Screen")
                """
        
 
@@ -106,6 +107,7 @@ class SEQUENCER_MT_select(bpy.types.Menu):
 
        def draw(self, context):
                layout = self.layout
+               
                st = context.space_data
                
                layout.column()
@@ -126,17 +128,18 @@ class SEQUENCER_MT_marker(bpy.types.Menu):
 
        def draw(self, context):
                layout = self.layout
+        &n