forked from bartvdbraak/blender
Merged changes to revision 25007.
The following files were according to the Math Lib reorganization (see the commit log of revision 24464 for more information): source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h The file release/scripts/ui/properties_render.py was also updated according the RNA UI API renaming in revision 24795.
This commit is contained in:
commit
837e9dcade
@ -1,4 +1,4 @@
|
|||||||
# $Id$
|
# $Id$
|
||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
@ -70,7 +70,6 @@ OPTION(WITH_PYTHON "Enable Embedded Python API" ON)
|
|||||||
OPTION(WITH_SDL "Enable SDL for sound and joystick support" ON)
|
OPTION(WITH_SDL "Enable SDL for sound and joystick support" ON)
|
||||||
OPTION(WITH_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
|
OPTION(WITH_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
|
||||||
OPTION(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON)
|
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_WEBPLUGIN "Enable Web Plugin (Unix only)" OFF)
|
||||||
OPTION(WITH_FFTW3 "Enable FFTW3 support" OFF)
|
OPTION(WITH_FFTW3 "Enable FFTW3 support" OFF)
|
||||||
OPTION(WITH_JACK "Enable Jack Support (http://www.jackaudio.org)" OFF)
|
OPTION(WITH_JACK "Enable Jack Support (http://www.jackaudio.org)" OFF)
|
||||||
@ -82,27 +81,23 @@ OPTION(WITH_BUILDINFO "Include extra build details" ON)
|
|||||||
OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON)
|
OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON)
|
||||||
OPTION(WITH_OPENCOLLADA "Enable OpenCollada Support (http://www.opencollada.org/)" OFF)
|
OPTION(WITH_OPENCOLLADA "Enable OpenCollada Support (http://www.opencollada.org/)" OFF)
|
||||||
|
|
||||||
|
# Unix defaults to OpenMP On
|
||||||
|
IF (UNIX)
|
||||||
|
OPTION(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
|
||||||
|
ELSE(UNIX)
|
||||||
|
OPTION(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" OFF)
|
||||||
|
ENDIF(UNIX)
|
||||||
|
|
||||||
IF (APPLE)
|
IF (APPLE)
|
||||||
OPTION(WITH_COCOA "Use Cocoa framework instead of deprecated Carbon" ON)
|
OPTION(WITH_COCOA "Use Cocoa framework instead of deprecated Carbon" ON)
|
||||||
OPTION(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF)
|
OPTION(USE_QTKIT "Use QtKit instead of Carbon quicktime (needed for having partial quicktime for 64bit)" OFF)
|
||||||
|
OPTION(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF)
|
||||||
ENDIF (APPLE)
|
ENDIF (APPLE)
|
||||||
|
|
||||||
IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
||||||
MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
|
MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
|
||||||
ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
||||||
|
|
||||||
IF (WITH_OPENCOLLADA AND NOT APPLE)
|
|
||||||
SET(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
|
|
||||||
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA})
|
|
||||||
SET(OPENCOLLADA_LIB OpenCollada)
|
|
||||||
SET(PCRE /usr CACHE FILEPATH "PCRE Directory")
|
|
||||||
SET(PCRE_LIBPATH ${PCRE}/lib)
|
|
||||||
SET(PCRE_LIB pcre)
|
|
||||||
SET(EXPAT /usr CACHE FILEPATH "Expat Directory")
|
|
||||||
SET(EXPAT_LIBPATH ${EXPAT}/lib)
|
|
||||||
SET(EXPAT_LIB expat)
|
|
||||||
ENDIF (WITH_OPENCOLLADA AND NOT APPLE)
|
|
||||||
|
|
||||||
# For alternate Python locations the commandline can be used to override detected/default cache settings, e.g:
|
# For alternate Python locations the commandline can be used to override detected/default cache settings, e.g:
|
||||||
# On Unix:
|
# On Unix:
|
||||||
# cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G "Unix Makefiles" ../blender
|
# cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G "Unix Makefiles" ../blender
|
||||||
@ -119,6 +114,8 @@ INCLUDE(CMake/macros.cmake)
|
|||||||
#Platform specifics
|
#Platform specifics
|
||||||
|
|
||||||
IF(UNIX AND NOT APPLE)
|
IF(UNIX AND NOT APPLE)
|
||||||
|
|
||||||
|
|
||||||
IF(WITH_OPENAL)
|
IF(WITH_OPENAL)
|
||||||
FIND_PACKAGE(OpenAL)
|
FIND_PACKAGE(OpenAL)
|
||||||
IF(OPENAL_FOUND)
|
IF(OPENAL_FOUND)
|
||||||
@ -217,6 +214,20 @@ IF(UNIX AND NOT APPLE)
|
|||||||
|
|
||||||
FIND_PACKAGE(ZLIB REQUIRED)
|
FIND_PACKAGE(ZLIB REQUIRED)
|
||||||
|
|
||||||
|
IF (WITH_OPENCOLLADA)
|
||||||
|
SET(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
|
||||||
|
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
|
||||||
|
SET(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa Buffer)
|
||||||
|
SET(OPENCOLLADA_INC ${OPENCOLLADA})
|
||||||
|
SET(PCRE /usr CACHE FILEPATH "PCRE Directory")
|
||||||
|
SET(PCRE_LIBPATH ${PCRE}/lib)
|
||||||
|
SET(PCRE_LIB pcre)
|
||||||
|
SET(EXPAT /usr CACHE FILEPATH "Expat Directory")
|
||||||
|
SET(EXPAT_LIBPATH ${EXPAT}/lib)
|
||||||
|
SET(EXPAT_LIB expat)
|
||||||
|
ENDIF (WITH_OPENCOLLADA)
|
||||||
|
|
||||||
|
|
||||||
# Could use ${X11_Xinput_LIB} ${X11_X11_LIB} too
|
# Could use ${X11_Xinput_LIB} ${X11_X11_LIB} too
|
||||||
SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11")
|
SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11")
|
||||||
|
|
||||||
@ -232,7 +243,7 @@ IF(UNIX AND NOT APPLE)
|
|||||||
ENDIF(WITH_OPENMP)
|
ENDIF(WITH_OPENMP)
|
||||||
|
|
||||||
|
|
||||||
SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -DXP_UNIX -Wno-char-subscripts")
|
SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -Wno-char-subscripts")
|
||||||
|
|
||||||
SET(PLATFORM_LINKFLAGS "-pthread")
|
SET(PLATFORM_LINKFLAGS "-pthread")
|
||||||
|
|
||||||
@ -400,6 +411,16 @@ IF(WIN32)
|
|||||||
|
|
||||||
SET(WINTAB_INC ${LIBDIR}/wintab/include)
|
SET(WINTAB_INC ${LIBDIR}/wintab/include)
|
||||||
|
|
||||||
|
SET(OPENCOLLADA ${LIBDIR}/opencollada)
|
||||||
|
SET(OPENCOLLADA_INC ${OPENCOLLADA}/include)
|
||||||
|
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
|
||||||
|
SET(OPENCOLLADA_LIB OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser UTF xml2 )
|
||||||
|
#pcre is bundled with openCollada
|
||||||
|
#SET(PCRE ${LIBDIR}/pcre)
|
||||||
|
#SET(PCRE_LIBPATH ${PCRE}/lib)
|
||||||
|
SET(PCRE_LIB pcre)
|
||||||
|
|
||||||
|
|
||||||
IF(CMAKE_CL_64)
|
IF(CMAKE_CL_64)
|
||||||
SET(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib;MSVCRT.lib ")
|
SET(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib;MSVCRT.lib ")
|
||||||
ELSE(CMAKE_CL_64)
|
ELSE(CMAKE_CL_64)
|
||||||
@ -510,11 +531,21 @@ IF(APPLE)
|
|||||||
SET(LLIBS stdc++ SystemStubs)
|
SET(LLIBS stdc++ SystemStubs)
|
||||||
|
|
||||||
IF (WITH_COCOA)
|
IF (WITH_COCOA)
|
||||||
SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -DGHOST_COCOA")
|
SET(PLATFORM_CFLAGS "-pipe -funsigned-char -DGHOST_COCOA")
|
||||||
SET(PLATFORM_LINKFLAGS "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime")
|
SET(PLATFORM_LINKFLAGS "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio")
|
||||||
|
IF(USE_QTKIT)
|
||||||
|
SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -DUSE_QTKIT")
|
||||||
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QTKit")
|
||||||
|
IF(CMAKE_OSX_ARCHITECTURES MATCHES i386)
|
||||||
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QuickTime")
|
||||||
|
#libSDL still needs 32bit carbon quicktime
|
||||||
|
ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES i386)
|
||||||
|
ELSEIF(WITH_QUICKTIME)
|
||||||
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QuickTime")
|
||||||
|
ENDIF(USE_QTKIT)
|
||||||
ELSE (WITH_COCOA)
|
ELSE (WITH_COCOA)
|
||||||
SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
|
SET(PLATFORM_CFLAGS "-pipe -funsigned-char")
|
||||||
SET(PLATFORM_LINKFLAGS "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime")
|
SET(PLATFORM_LINKFLAGS "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime")
|
||||||
ENDIF (WITH_COCOA)
|
ENDIF (WITH_COCOA)
|
||||||
|
|
||||||
IF(WITH_OPENMP)
|
IF(WITH_OPENMP)
|
||||||
@ -532,10 +563,10 @@ IF(APPLE)
|
|||||||
#SET(PCRE ${LIBDIR}/pcre)
|
#SET(PCRE ${LIBDIR}/pcre)
|
||||||
#SET(PCRE_LIBPATH ${PCRE}/lib)
|
#SET(PCRE_LIBPATH ${PCRE}/lib)
|
||||||
SET(PCRE_LIB pcre)
|
SET(PCRE_LIB pcre)
|
||||||
#native OSX libxml2 is used
|
#libxml2 is used
|
||||||
#SET(EXPAT ${LIBDIR}/expat)
|
#SET(EXPAT ${LIBDIR}/expat)
|
||||||
#SET(EXPAT_LIBPATH ${EXPAT}/lib)
|
#SET(EXPAT_LIBPATH ${EXPAT}/lib)
|
||||||
#SET(EXPAT_LIB expat)
|
SET(EXPAT_LIB)
|
||||||
ENDIF (WITH_OPENCOLLADA)
|
ENDIF (WITH_OPENCOLLADA)
|
||||||
|
|
||||||
SET(SDL ${LIBDIR}/sdl)
|
SET(SDL ${LIBDIR}/sdl)
|
||||||
@ -556,15 +587,23 @@ IF(APPLE)
|
|||||||
|
|
||||||
SET(EXETYPE MACOSX_BUNDLE)
|
SET(EXETYPE MACOSX_BUNDLE)
|
||||||
|
|
||||||
|
SET(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g")
|
||||||
|
SET(CMAKE_CXX_FLAGS_DEBUG "-fno-strict-aliasing -g")
|
||||||
IF(CMAKE_OSX_ARCHITECTURES MATCHES "i386")
|
IF(CMAKE_OSX_ARCHITECTURES MATCHES "i386")
|
||||||
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
|
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "-O3 -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
|
SET(CMAKE_C_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
|
||||||
ELSEIF(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
|
ELSEIF(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
|
||||||
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
|
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "-O3 -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
|
SET(CMAKE_C_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
|
||||||
|
ELSE(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
|
||||||
|
SET(CMAKE_C_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
|
||||||
|
SET(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
|
||||||
ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES "i386")
|
ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES "i386")
|
||||||
|
|
||||||
|
# Better warnings
|
||||||
|
SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wdeclaration-after-statement")
|
||||||
|
SET(CXX_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-sign-compare")
|
||||||
|
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
||||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||||
|
@ -225,6 +225,11 @@ if env['WITH_GHOST_COCOA'] == True:
|
|||||||
env.Append(CXXFLAGS=['-DGHOST_COCOA'])
|
env.Append(CXXFLAGS=['-DGHOST_COCOA'])
|
||||||
env.Append(CPPFLAGS=['-DGHOST_COCOA'])
|
env.Append(CPPFLAGS=['-DGHOST_COCOA'])
|
||||||
|
|
||||||
|
if env['USE_QTKIT'] == True:
|
||||||
|
env.Append(CFLAGS=['-DUSE_QTKIT'])
|
||||||
|
env.Append(CXXFLAGS=['-DUSE_QTKIT'])
|
||||||
|
env.Append(CPPFLAGS=['-DUSE_QTKIT'])
|
||||||
|
|
||||||
#check for additional debug libnames
|
#check for additional debug libnames
|
||||||
|
|
||||||
if env.has_key('BF_DEBUG_LIBS'):
|
if env.has_key('BF_DEBUG_LIBS'):
|
||||||
|
@ -13,7 +13,6 @@ USE_SDK=True
|
|||||||
#############################################################################
|
#############################################################################
|
||||||
################### Cocoa & architecture settings ##################
|
################### Cocoa & architecture settings ##################
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
WITH_GHOST_COCOA=True
|
WITH_GHOST_COCOA=True
|
||||||
MACOSX_ARCHITECTURE = 'i386' # valid archs: ppc, i386, ppc64, x86_64
|
MACOSX_ARCHITECTURE = 'i386' # valid archs: ppc, i386, ppc64, x86_64
|
||||||
|
|
||||||
@ -31,30 +30,36 @@ elif cmd_res[0]=='9':
|
|||||||
elif cmd_res[0]=='10':
|
elif cmd_res[0]=='10':
|
||||||
MAC_CUR_VER='10.6'
|
MAC_CUR_VER='10.6'
|
||||||
|
|
||||||
if MACOSX_ARCHITECTURE == 'ppc':
|
|
||||||
LCGDIR = '#../lib/darwin-6.1-powerpc'
|
|
||||||
else :
|
|
||||||
LCGDIR = '#../lib/darwin-9.x.universal'
|
|
||||||
LIBDIR = '${LCGDIR}'
|
|
||||||
|
|
||||||
BF_PYTHON_VERSION = '3.1'
|
BF_PYTHON_VERSION = '3.1'
|
||||||
|
|
||||||
if MACOSX_ARCHITECTURE == 'ppc' and BF_PYTHON_VERSION == '2.3':
|
if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
|
||||||
|
USE_QTKIT=True # Carbon quicktime is not available for 64bit
|
||||||
|
|
||||||
|
|
||||||
|
# Default target OSX settings per architecture
|
||||||
|
# Can be customized
|
||||||
|
|
||||||
|
if MACOSX_ARCHITECTURE == 'ppc':
|
||||||
MAC_MIN_VERS = '10.3'
|
MAC_MIN_VERS = '10.3'
|
||||||
MACOSX_SDK='/Developer/SDKs/MacOSX10.3.9.sdk'
|
MACOSX_SDK='/Developer/SDKs/MacOSX10.3.9.sdk'
|
||||||
CC = 'gcc'
|
LCGDIR = '#../lib/darwin-6.1-powerpc'
|
||||||
CXX = 'g++'
|
CC = 'gcc-3.3'
|
||||||
elif MACOSX_ARCHITECTURE == 'i386' or MACOSX_ARCHITECTURE == 'ppc':
|
CXX = 'g++-3.3'
|
||||||
|
elif MACOSX_ARCHITECTURE == 'i386':
|
||||||
MAC_MIN_VERS = '10.4'
|
MAC_MIN_VERS = '10.4'
|
||||||
MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk'
|
MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk'
|
||||||
|
LCGDIR = '#../lib/darwin-8.x.i386'
|
||||||
CC = 'gcc-4.0'
|
CC = 'gcc-4.0'
|
||||||
CXX = 'g++-4.0'
|
CXX = 'g++-4.0'
|
||||||
else :
|
else :
|
||||||
MAC_MIN_VERS = '10.5'
|
MAC_MIN_VERS = '10.5'
|
||||||
MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk'
|
MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk'
|
||||||
|
LCGDIR = '#../lib/darwin-9.x.universal'
|
||||||
CC = 'gcc-4.2'
|
CC = 'gcc-4.2'
|
||||||
CXX = 'g++-4.2'
|
CXX = 'g++-4.2'
|
||||||
|
|
||||||
|
LIBDIR = '${LCGDIR}'
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
################### Dependency settings ##################
|
################### Dependency settings ##################
|
||||||
#############################################################################
|
#############################################################################
|
||||||
@ -229,10 +234,7 @@ BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
|
|||||||
BF_FREETYPE_LIB = 'freetype'
|
BF_FREETYPE_LIB = 'freetype'
|
||||||
BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
|
BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
|
||||||
|
|
||||||
if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
|
WITH_BF_QUICKTIME = True
|
||||||
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME ( disable for 64bit atm )
|
|
||||||
else:
|
|
||||||
WITH_BF_QUICKTIME = True
|
|
||||||
|
|
||||||
WITH_BF_ICONV = True
|
WITH_BF_ICONV = True
|
||||||
BF_ICONV = '/usr'
|
BF_ICONV = '/usr'
|
||||||
@ -285,7 +287,10 @@ else:
|
|||||||
PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
|
PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
|
||||||
|
|
||||||
if WITH_BF_QUICKTIME == True:
|
if WITH_BF_QUICKTIME == True:
|
||||||
PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime']
|
if USE_QTKIT == True:
|
||||||
|
PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QTKit']
|
||||||
|
else:
|
||||||
|
PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-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
|
#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']
|
LLIBS = ['stdc++', 'SystemStubs']
|
||||||
|
@ -161,7 +161,7 @@ CXX = 'CC'
|
|||||||
|
|
||||||
CCFLAGS = ['-pipe','-fPIC', '-n32']
|
CCFLAGS = ['-pipe','-fPIC', '-n32']
|
||||||
|
|
||||||
CPPFLAGS = ['-DXP_UNIX']
|
CPPFLAGS = []
|
||||||
CXXFLAGS = ['-pipe','-fPIC', '-n32']
|
CXXFLAGS = ['-pipe','-fPIC', '-n32']
|
||||||
REL_CFLAGS = ['-O2']
|
REL_CFLAGS = ['-O2']
|
||||||
REL_CCFLAGS = ['-O2']
|
REL_CCFLAGS = ['-O2']
|
||||||
|
@ -155,9 +155,9 @@ WITH_BF_COLLADA = False
|
|||||||
BF_COLLADA = '#source/blender/collada'
|
BF_COLLADA = '#source/blender/collada'
|
||||||
BF_COLLADA_INC = '${BF_COLLADA}'
|
BF_COLLADA_INC = '${BF_COLLADA}'
|
||||||
BF_COLLADA_LIB = 'bf_collada'
|
BF_COLLADA_LIB = 'bf_collada'
|
||||||
BF_OPENCOLLADA = ''
|
BF_OPENCOLLADA = '/usr'
|
||||||
BF_OPENCOLLADA_LIB = 'OpenCollada'
|
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre Buffer ftoa'
|
||||||
BF_OPENCOLLADA_LIBPATH = '/usr/lib'
|
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
|
||||||
BF_PCRE = ''
|
BF_PCRE = ''
|
||||||
BF_PCRE_LIB = 'pcre'
|
BF_PCRE_LIB = 'pcre'
|
||||||
BF_PCRE_LIBPATH = '/usr/lib'
|
BF_PCRE_LIBPATH = '/usr/lib'
|
||||||
@ -165,6 +165,8 @@ BF_EXPAT = '/usr'
|
|||||||
BF_EXPAT_LIB = 'expat'
|
BF_EXPAT_LIB = 'expat'
|
||||||
BF_EXPAT_LIBPATH = '/usr/lib'
|
BF_EXPAT_LIBPATH = '/usr/lib'
|
||||||
|
|
||||||
|
WITH_BF_OPENMP = True
|
||||||
|
|
||||||
##
|
##
|
||||||
CC = 'gcc'
|
CC = 'gcc'
|
||||||
CXX = 'g++'
|
CXX = 'g++'
|
||||||
@ -173,7 +175,7 @@ CXX = 'g++'
|
|||||||
|
|
||||||
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
||||||
|
|
||||||
CPPFLAGS = ['-DXP_UNIX']
|
CPPFLAGS = []
|
||||||
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
||||||
REL_CFLAGS = ['-O2']
|
REL_CFLAGS = ['-O2']
|
||||||
REL_CCFLAGS = ['-O2']
|
REL_CCFLAGS = ['-O2']
|
||||||
|
@ -119,7 +119,7 @@ CXX = 'i586-mingw32msvc-g++'
|
|||||||
|
|
||||||
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
|
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
|
||||||
|
|
||||||
CPPFLAGS = [ '-DXP_UNIX', '-DWIN32', '-DFREE_WINDOWS' ]
|
CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS']
|
||||||
CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
|
CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
|
||||||
REL_CFLAGS = [ '-O2' ]
|
REL_CFLAGS = [ '-O2' ]
|
||||||
REL_CCFLAGS = [ '-O2' ]
|
REL_CCFLAGS = [ '-O2' ]
|
||||||
|
@ -136,7 +136,7 @@ CXX = 'g++'
|
|||||||
|
|
||||||
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
||||||
|
|
||||||
CPPFLAGS = ['-DXP_UNIX', '-DSUN_OGL_NO_VERTEX_MACROS']
|
CPPFLAGS = ['-DSUN_OGL_NO_VERTEX_MACROS']
|
||||||
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
|
||||||
REL_CFLAGS = ['-O2']
|
REL_CFLAGS = ['-O2']
|
||||||
REL_CCFLAGS = ['-O2']
|
REL_CCFLAGS = ['-O2']
|
||||||
|
@ -136,7 +136,7 @@ CXX = 'g++'
|
|||||||
|
|
||||||
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
|
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
|
||||||
|
|
||||||
CPPFLAGS = [ '-DXP_UNIX', '-DWIN32', '-DFREE_WINDOWS' ]
|
CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS']
|
||||||
CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
|
CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
|
||||||
REL_CFLAGS = [ '-O2' ]
|
REL_CFLAGS = [ '-O2' ]
|
||||||
REL_CCFLAGS = [ '-O2' ]
|
REL_CCFLAGS = [ '-O2' ]
|
||||||
|
@ -152,6 +152,10 @@ BT_DECLARE_ALIGNED_ALLOCATOR();
|
|||||||
{
|
{
|
||||||
return (proxyType == STATIC_PLANE_PROXYTYPE);
|
return (proxyType == STATIC_PLANE_PROXYTYPE);
|
||||||
}
|
}
|
||||||
|
static SIMD_FORCE_INLINE bool isSoftBody(int proxyType)
|
||||||
|
{
|
||||||
|
return (proxyType == SOFTBODY_SHAPE_PROXYTYPE);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
@ -31,6 +31,7 @@ subject to the following restrictions:
|
|||||||
#include "LinearMath/btAabbUtil2.h"
|
#include "LinearMath/btAabbUtil2.h"
|
||||||
#include "LinearMath/btQuickprof.h"
|
#include "LinearMath/btQuickprof.h"
|
||||||
#include "LinearMath/btStackAlloc.h"
|
#include "LinearMath/btStackAlloc.h"
|
||||||
|
#include "BulletSoftBody/btSoftBody.h"
|
||||||
|
|
||||||
//#define USE_BRUTEFORCE_RAYBROADPHASE 1
|
//#define USE_BRUTEFORCE_RAYBROADPHASE 1
|
||||||
//RECALCULATE_AABB is slower, but benefit is that you don't need to call 'stepSimulation' or 'updateAabbs' before using a rayTest
|
//RECALCULATE_AABB is slower, but benefit is that you don't need to call 'stepSimulation' or 'updateAabbs' before using a rayTest
|
||||||
@ -411,6 +412,31 @@ void btCollisionWorld::rayTestSingle(const btTransform& rayFromTrans,const btTra
|
|||||||
// restore
|
// restore
|
||||||
collisionObject->internalSetTemporaryCollisionShape(saveCollisionShape);
|
collisionObject->internalSetTemporaryCollisionShape(saveCollisionShape);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (collisionShape->isSoftBody()) {
|
||||||
|
btSoftBody* softBody = static_cast<btSoftBody*>(collisionObject);
|
||||||
|
btSoftBody::sRayCast softResult;
|
||||||
|
if (softBody->rayTest(rayFromTrans.getOrigin(), rayToTrans.getOrigin(), softResult))
|
||||||
|
{
|
||||||
|
btCollisionWorld::LocalShapeInfo shapeInfo;
|
||||||
|
shapeInfo.m_shapePart = 0;
|
||||||
|
shapeInfo.m_triangleIndex = softResult.index;
|
||||||
|
// get the normal
|
||||||
|
btVector3 normal = softBody->m_faces[softResult.index].m_normal;
|
||||||
|
btVector3 rayDir = rayToTrans.getOrigin() - rayFromTrans.getOrigin();
|
||||||
|
if (normal.dot(rayDir) > 0) {
|
||||||
|
// normal always point toward origin of the ray
|
||||||
|
normal = -normal;
|
||||||
|
}
|
||||||
|
btCollisionWorld::LocalRayResult rayResult
|
||||||
|
(collisionObject,
|
||||||
|
&shapeInfo,
|
||||||
|
normal,
|
||||||
|
softResult.fraction);
|
||||||
|
bool normalInWorldSpace = true;
|
||||||
|
resultCallback.addSingleResult(rayResult,normalInWorldSpace);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,6 +72,10 @@ public:
|
|||||||
{
|
{
|
||||||
return btBroadphaseProxy::isCompound(getShapeType());
|
return btBroadphaseProxy::isCompound(getShapeType());
|
||||||
}
|
}
|
||||||
|
SIMD_FORCE_INLINE bool isSoftBody() const
|
||||||
|
{
|
||||||
|
return btBroadphaseProxy::isSoftBody(getShapeType());
|
||||||
|
}
|
||||||
|
|
||||||
///isInfinite is used to catch simulation error (aabb check)
|
///isInfinite is used to catch simulation error (aabb check)
|
||||||
SIMD_FORCE_INLINE bool isInfinite() const
|
SIMD_FORCE_INLINE bool isInfinite() const
|
||||||
|
2
extern/glew/CMakeLists.txt
vendored
2
extern/glew/CMakeLists.txt
vendored
@ -34,5 +34,7 @@ SET(SRC
|
|||||||
src/glew.c
|
src/glew.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ADD_DEFINITIONS(-DGLEW_STATIC)
|
||||||
|
|
||||||
BLENDERLIB(extern_glew "${SRC}" "${INC}")
|
BLENDERLIB(extern_glew "${SRC}" "${INC}")
|
||||||
|
|
||||||
|
2
extern/glew/SConscript
vendored
2
extern/glew/SConscript
vendored
@ -6,7 +6,7 @@ Import('env')
|
|||||||
|
|
||||||
sources = ['src/glew.c']
|
sources = ['src/glew.c']
|
||||||
|
|
||||||
defs = ''
|
defs = 'GLEW_STATIC'
|
||||||
incs = 'include'
|
incs = 'include'
|
||||||
|
|
||||||
env.BlenderLib ( 'extern_glew', sources, Split(incs), Split(defs), libtype=['extern','player'], priority=[50,230])
|
env.BlenderLib ( 'extern_glew', sources, Split(incs), Split(defs), libtype=['extern','player'], priority=[50,230])
|
||||||
|
2580
extern/glew/include/GL/glew.h
vendored
2580
extern/glew/include/GL/glew.h
vendored
File diff suppressed because it is too large
Load Diff
377
extern/glew/include/GL/glxew.h
vendored
377
extern/glew/include/GL/glxew.h
vendored
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
** The OpenGL Extension Wrangler Library
|
** The OpenGL Extension Wrangler Library
|
||||||
** Copyright (C) 2002-2006, Milan Ikits <milan ikits[]ieee org>
|
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
** Copyright (C) 2002-2006, Marcelo E. Magallon <mmagallo[]debian org>
|
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
** Copyright (C) 2002, Lev Povalahev
|
** Copyright (C) 2002, Lev Povalahev
|
||||||
** All rights reserved.
|
** All rights reserved.
|
||||||
**
|
**
|
||||||
@ -30,22 +30,50 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** The contents of this file are subject to the GLX Public License Version 1.0
|
* Mesa 3-D graphics library
|
||||||
** (the "License"). You may not use this file except in compliance with the
|
* Version: 7.0
|
||||||
** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
|
*
|
||||||
** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
|
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||||
** or at http://www.sgi.com/software/opensource/glx/license.html.
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
|
* to deal in the Software without restriction, including without limitation
|
||||||
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
* and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
* Software is furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright (c) 2007 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Software distributed under the License is distributed on an "AS IS"
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
|
** copy of this software and/or associated documentation files (the
|
||||||
** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
|
** "Materials"), to deal in the Materials without restriction, including
|
||||||
** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
|
** without limitation the rights to use, copy, modify, merge, publish,
|
||||||
** language governing rights and limitations under the License.
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
** permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
** the following conditions:
|
||||||
**
|
**
|
||||||
** The Original Software is GLX version 1.2 source code, released February,
|
** The above copyright notice and this permission notice shall be included
|
||||||
** 1999. The developer of the Original Software is Silicon Graphics, Inc.
|
** in all copies or substantial portions of the Materials.
|
||||||
** Those portions of the Subject Software created by Silicon Graphics, Inc.
|
**
|
||||||
** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __glxew_h__
|
#ifndef __glxew_h__
|
||||||
@ -55,9 +83,13 @@
|
|||||||
#ifdef __glxext_h_
|
#ifdef __glxext_h_
|
||||||
#error glxext.h included before glxew.h
|
#error glxext.h included before glxew.h
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef GLX_H
|
||||||
|
#error glx.h included before glxew.h
|
||||||
|
#endif
|
||||||
|
|
||||||
#define __glxext_h_
|
#define __glxext_h_
|
||||||
#define __GLX_glx_h__
|
#define __GLX_glx_h__
|
||||||
|
#define GLX_H
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
@ -100,7 +132,13 @@ extern "C" {
|
|||||||
|
|
||||||
typedef XID GLXDrawable;
|
typedef XID GLXDrawable;
|
||||||
typedef XID GLXPixmap;
|
typedef XID GLXPixmap;
|
||||||
|
#ifdef __sun
|
||||||
|
typedef struct __glXContextRec *GLXContext;
|
||||||
|
#else
|
||||||
typedef struct __GLXcontextRec *GLXContext;
|
typedef struct __GLXcontextRec *GLXContext;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef unsigned int GLXVideoDeviceNV;
|
||||||
|
|
||||||
extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
|
extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
|
||||||
extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
|
extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
|
||||||
@ -111,7 +149,7 @@ extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
|
|||||||
extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
|
extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
|
||||||
extern void glXDestroyContext (Display *dpy, GLXContext ctx);
|
extern void glXDestroyContext (Display *dpy, GLXContext ctx);
|
||||||
extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
|
extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
|
||||||
extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLuint mask);
|
extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
|
||||||
extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
|
extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
|
||||||
extern GLXContext glXGetCurrentContext (void);
|
extern GLXContext glXGetCurrentContext (void);
|
||||||
extern GLXDrawable glXGetCurrentDrawable (void);
|
extern GLXDrawable glXGetCurrentDrawable (void);
|
||||||
@ -220,8 +258,24 @@ typedef XID GLXFBConfigID;
|
|||||||
typedef XID GLXWindow;
|
typedef XID GLXWindow;
|
||||||
typedef XID GLXPbuffer;
|
typedef XID GLXPbuffer;
|
||||||
typedef struct __GLXFBConfigRec *GLXFBConfig;
|
typedef struct __GLXFBConfigRec *GLXFBConfig;
|
||||||
typedef struct { int event_type; int draw_type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; unsigned int buffer_mask; unsigned int aux_buffer; int x, y; int width, height; int count; } GLXPbufferClobberEvent;
|
|
||||||
typedef union __GLXEvent { GLXPbufferClobberEvent glxpbufferclobber; long pad[24]; } GLXEvent;
|
typedef struct {
|
||||||
|
int event_type;
|
||||||
|
int draw_type;
|
||||||
|
unsigned long serial;
|
||||||
|
Bool send_event;
|
||||||
|
Display *display;
|
||||||
|
GLXDrawable drawable;
|
||||||
|
unsigned int buffer_mask;
|
||||||
|
unsigned int aux_buffer;
|
||||||
|
int x, y;
|
||||||
|
int width, height;
|
||||||
|
int count;
|
||||||
|
} GLXPbufferClobberEvent;
|
||||||
|
typedef union __GLXEvent {
|
||||||
|
GLXPbufferClobberEvent glxpbufferclobber;
|
||||||
|
long pad[24];
|
||||||
|
} GLXEvent;
|
||||||
|
|
||||||
typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
|
typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
|
||||||
typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
|
typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
|
||||||
@ -289,6 +343,25 @@ extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
|
|||||||
|
|
||||||
#endif /* GLX_3DFX_multisample */
|
#endif /* GLX_3DFX_multisample */
|
||||||
|
|
||||||
|
/* ------------------------- GLX_ARB_create_context ------------------------ */
|
||||||
|
|
||||||
|
#ifndef GLX_ARB_create_context
|
||||||
|
#define GLX_ARB_create_context 1
|
||||||
|
|
||||||
|
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
|
||||||
|
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
|
||||||
|
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||||
|
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||||
|
#define GLX_CONTEXT_FLAGS_ARB 0x2094
|
||||||
|
|
||||||
|
typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
|
||||||
|
|
||||||
|
#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
|
||||||
|
|
||||||
|
#define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context)
|
||||||
|
|
||||||
|
#endif /* GLX_ARB_create_context */
|
||||||
|
|
||||||
/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
|
/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
|
||||||
|
|
||||||
#ifndef GLX_ARB_fbconfig_float
|
#ifndef GLX_ARB_fbconfig_float
|
||||||
@ -301,6 +374,17 @@ extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
|
|||||||
|
|
||||||
#endif /* GLX_ARB_fbconfig_float */
|
#endif /* GLX_ARB_fbconfig_float */
|
||||||
|
|
||||||
|
/* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_ARB_framebuffer_sRGB
|
||||||
|
#define GLX_ARB_framebuffer_sRGB 1
|
||||||
|
|
||||||
|
#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
|
||||||
|
|
||||||
|
#define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB)
|
||||||
|
|
||||||
|
#endif /* GLX_ARB_framebuffer_sRGB */
|
||||||
|
|
||||||
/* ------------------------ GLX_ARB_get_proc_address ----------------------- */
|
/* ------------------------ GLX_ARB_get_proc_address ----------------------- */
|
||||||
|
|
||||||
#ifndef GLX_ARB_get_proc_address
|
#ifndef GLX_ARB_get_proc_address
|
||||||
@ -388,6 +472,29 @@ typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, i
|
|||||||
|
|
||||||
#endif /* GLX_ATI_render_texture */
|
#endif /* GLX_ATI_render_texture */
|
||||||
|
|
||||||
|
/* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_EXT_fbconfig_packed_float
|
||||||
|
#define GLX_EXT_fbconfig_packed_float 1
|
||||||
|
|
||||||
|
#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
|
||||||
|
#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
|
||||||
|
|
||||||
|
#define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
|
||||||
|
|
||||||
|
#endif /* GLX_EXT_fbconfig_packed_float */
|
||||||
|
|
||||||
|
/* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_EXT_framebuffer_sRGB
|
||||||
|
#define GLX_EXT_framebuffer_sRGB 1
|
||||||
|
|
||||||
|
#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
|
||||||
|
|
||||||
|
#define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
|
||||||
|
|
||||||
|
#endif /* GLX_EXT_framebuffer_sRGB */
|
||||||
|
|
||||||
/* ------------------------- GLX_EXT_import_context ------------------------ */
|
/* ------------------------- GLX_EXT_import_context ------------------------ */
|
||||||
|
|
||||||
#ifndef GLX_EXT_import_context
|
#ifndef GLX_EXT_import_context
|
||||||
@ -422,6 +529,53 @@ typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context
|
|||||||
|
|
||||||
#endif /* GLX_EXT_scene_marker */
|
#endif /* GLX_EXT_scene_marker */
|
||||||
|
|
||||||
|
/* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_EXT_texture_from_pixmap
|
||||||
|
#define GLX_EXT_texture_from_pixmap 1
|
||||||
|
|
||||||
|
#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
|
||||||
|
#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
|
||||||
|
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
|
||||||
|
#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
|
||||||
|
#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
|
||||||
|
#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
|
||||||
|
#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
|
||||||
|
#define GLX_Y_INVERTED_EXT 0x20D4
|
||||||
|
#define GLX_TEXTURE_FORMAT_EXT 0x20D5
|
||||||
|
#define GLX_TEXTURE_TARGET_EXT 0x20D6
|
||||||
|
#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
|
||||||
|
#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
|
||||||
|
#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
|
||||||
|
#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
|
||||||
|
#define GLX_TEXTURE_1D_EXT 0x20DB
|
||||||
|
#define GLX_TEXTURE_2D_EXT 0x20DC
|
||||||
|
#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
|
||||||
|
#define GLX_FRONT_LEFT_EXT 0x20DE
|
||||||
|
#define GLX_FRONT_RIGHT_EXT 0x20DF
|
||||||
|
#define GLX_BACK_LEFT_EXT 0x20E0
|
||||||
|
#define GLX_BACK_RIGHT_EXT 0x20E1
|
||||||
|
#define GLX_AUX0_EXT 0x20E2
|
||||||
|
#define GLX_AUX1_EXT 0x20E3
|
||||||
|
#define GLX_AUX2_EXT 0x20E4
|
||||||
|
#define GLX_AUX3_EXT 0x20E5
|
||||||
|
#define GLX_AUX4_EXT 0x20E6
|
||||||
|
#define GLX_AUX5_EXT 0x20E7
|
||||||
|
#define GLX_AUX6_EXT 0x20E8
|
||||||
|
#define GLX_AUX7_EXT 0x20E9
|
||||||
|
#define GLX_AUX8_EXT 0x20EA
|
||||||
|
#define GLX_AUX9_EXT 0x20EB
|
||||||
|
|
||||||
|
typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
|
||||||
|
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
|
||||||
|
|
||||||
|
#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
|
||||||
|
#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
|
||||||
|
|
||||||
|
#define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap)
|
||||||
|
|
||||||
|
#endif /* GLX_EXT_texture_from_pixmap */
|
||||||
|
|
||||||
/* -------------------------- GLX_EXT_visual_info -------------------------- */
|
/* -------------------------- GLX_EXT_visual_info -------------------------- */
|
||||||
|
|
||||||
#ifndef GLX_EXT_visual_info
|
#ifndef GLX_EXT_visual_info
|
||||||
@ -540,6 +694,46 @@ typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
|
|||||||
|
|
||||||
#endif /* GLX_NV_float_buffer */
|
#endif /* GLX_NV_float_buffer */
|
||||||
|
|
||||||
|
/* -------------------------- GLX_NV_present_video ------------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_NV_present_video
|
||||||
|
#define GLX_NV_present_video 1
|
||||||
|
|
||||||
|
#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
|
||||||
|
|
||||||
|
typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
|
||||||
|
typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
|
||||||
|
|
||||||
|
#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
|
||||||
|
#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
|
||||||
|
|
||||||
|
#define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video)
|
||||||
|
|
||||||
|
#endif /* GLX_NV_present_video */
|
||||||
|
|
||||||
|
/* --------------------------- GLX_NV_swap_group --------------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_NV_swap_group
|
||||||
|
#define GLX_NV_swap_group 1
|
||||||
|
|
||||||
|
typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
|
||||||
|
typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
|
||||||
|
typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
|
||||||
|
typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
|
||||||
|
typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
|
||||||
|
typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
|
||||||
|
|
||||||
|
#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
|
||||||
|
#define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV)
|
||||||
|
#define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV)
|
||||||
|
#define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV)
|
||||||
|
#define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV)
|
||||||
|
#define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV)
|
||||||
|
|
||||||
|
#define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group)
|
||||||
|
|
||||||
|
#endif /* GLX_NV_swap_group */
|
||||||
|
|
||||||
/* ----------------------- GLX_NV_vertex_array_range ----------------------- */
|
/* ----------------------- GLX_NV_vertex_array_range ----------------------- */
|
||||||
|
|
||||||
#ifndef GLX_NV_vertex_array_range
|
#ifndef GLX_NV_vertex_array_range
|
||||||
@ -555,6 +749,40 @@ typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
|
|||||||
|
|
||||||
#endif /* GLX_NV_vertex_array_range */
|
#endif /* GLX_NV_vertex_array_range */
|
||||||
|
|
||||||
|
/* -------------------------- GLX_NV_video_output -------------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_NV_video_output
|
||||||
|
#define GLX_NV_video_output 1
|
||||||
|
|
||||||
|
#define GLX_VIDEO_OUT_COLOR_NV 0x20C3
|
||||||
|
#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
|
||||||
|
#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
|
||||||
|
#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
|
||||||
|
#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
|
||||||
|
#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
|
||||||
|
#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
|
||||||
|
#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
|
||||||
|
#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
|
||||||
|
#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
|
||||||
|
|
||||||
|
typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
|
||||||
|
typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
|
||||||
|
typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||||
|
typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
|
||||||
|
typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
|
||||||
|
typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
|
||||||
|
|
||||||
|
#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
|
||||||
|
#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
|
||||||
|
#define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV)
|
||||||
|
#define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV)
|
||||||
|
#define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV)
|
||||||
|
#define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV)
|
||||||
|
|
||||||
|
#define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output)
|
||||||
|
|
||||||
|
#endif /* GLX_NV_video_output */
|
||||||
|
|
||||||
/* -------------------------- GLX_OML_swap_method -------------------------- */
|
/* -------------------------- GLX_OML_swap_method -------------------------- */
|
||||||
|
|
||||||
#ifndef GLX_OML_swap_method
|
#ifndef GLX_OML_swap_method
|
||||||
@ -683,6 +911,73 @@ typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLX
|
|||||||
|
|
||||||
#endif /* GLX_SGIX_fbconfig */
|
#endif /* GLX_SGIX_fbconfig */
|
||||||
|
|
||||||
|
/* --------------------------- GLX_SGIX_hyperpipe -------------------------- */
|
||||||
|
|
||||||
|
#ifndef GLX_SGIX_hyperpipe
|
||||||
|
#define GLX_SGIX_hyperpipe 1
|
||||||
|
|
||||||
|
#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
|
||||||
|
#define GLX_PIPE_RECT_SGIX 0x00000001
|
||||||
|
#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
|
||||||
|
#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
|
||||||
|
#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
|
||||||
|
#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
|
||||||
|
#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
|
||||||
|
#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
|
||||||
|
#define GLX_BAD_HYPERPIPE_SGIX 92
|
||||||
|
#define GLX_HYPERPIPE_ID_SGIX 0x8030
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
|
||||||
|
int networkId;
|
||||||
|
} GLXHyperpipeNetworkSGIX;
|
||||||
|
typedef struct {
|
||||||
|
char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
|
||||||
|
int XOrigin;
|
||||||
|
int YOrigin;
|
||||||
|
int maxHeight;
|
||||||
|
int maxWidth;
|
||||||
|
} GLXPipeRectLimits;
|
||||||
|
typedef struct {
|
||||||
|
char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
|
||||||
|
int channel;
|
||||||
|
unsigned int participationType;
|
||||||
|
int timeSlice;
|
||||||
|
} GLXHyperpipeConfigSGIX;
|
||||||
|
typedef struct {
|
||||||
|
char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
|
||||||
|
int srcXOrigin;
|
||||||
|
int srcYOrigin;
|
||||||
|
int srcWidth;
|
||||||
|
int srcHeight;
|
||||||
|
int destXOrigin;
|
||||||
|
int destYOrigin;
|
||||||
|
int destWidth;
|
||||||
|
int destHeight;
|
||||||
|
} GLXPipeRect;
|
||||||
|
|
||||||
|
typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
|
||||||
|
typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
|
||||||
|
typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
|
||||||
|
typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
|
||||||
|
typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
|
||||||
|
typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
|
||||||
|
typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
|
||||||
|
typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
|
||||||
|
|
||||||
|
#define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
|
||||||
|
#define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
|
||||||
|
#define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
|
||||||
|
#define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
|
||||||
|
#define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
|
||||||
|
#define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
|
||||||
|
#define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
|
||||||
|
#define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
|
||||||
|
|
||||||
|
#define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
|
||||||
|
|
||||||
|
#endif /* GLX_SGIX_hyperpipe */
|
||||||
|
|
||||||
/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
|
/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
|
||||||
|
|
||||||
#ifndef GLX_SGIX_pbuffer
|
#ifndef GLX_SGIX_pbuffer
|
||||||
@ -911,6 +1206,8 @@ extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
|
|||||||
extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
|
extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
|
||||||
extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
|
extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
|
||||||
|
|
||||||
|
extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB;
|
||||||
|
|
||||||
extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
|
extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
|
||||||
extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
|
extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
|
||||||
extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
|
extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
|
||||||
@ -920,6 +1217,9 @@ extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
|
|||||||
extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
|
extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
|
||||||
extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
|
extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
|
||||||
|
|
||||||
|
extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
|
||||||
|
extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
|
||||||
|
|
||||||
extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
|
extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
|
||||||
|
|
||||||
extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
|
extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
|
||||||
@ -930,9 +1230,26 @@ extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
|
|||||||
|
|
||||||
extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
|
extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
|
||||||
|
|
||||||
|
extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV;
|
||||||
|
extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV;
|
||||||
|
|
||||||
|
extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV;
|
||||||
|
extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV;
|
||||||
|
extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV;
|
||||||
|
extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV;
|
||||||
|
extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV;
|
||||||
|
extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV;
|
||||||
|
|
||||||
extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
|
extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
|
||||||
extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
|
extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
|
||||||
|
|
||||||
|
extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV;
|
||||||
|
extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV;
|
||||||
|
extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV;
|
||||||
|
extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV;
|
||||||
|
extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV;
|
||||||
|
extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV;
|
||||||
|
|
||||||
#ifdef GLX_OML_sync_control
|
#ifdef GLX_OML_sync_control
|
||||||
extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
|
extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
|
||||||
extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
|
extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
|
||||||
@ -948,6 +1265,15 @@ extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
|
|||||||
extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
|
extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
|
||||||
extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
|
extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
|
||||||
|
|
||||||
|
extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
|
||||||
|
extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
|
||||||
|
extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
|
||||||
|
extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
|
||||||
|
extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
|
||||||
|
extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
|
||||||
|
extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
|
||||||
|
extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
|
||||||
|
|
||||||
extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
|
extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
|
||||||
extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
|
extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
|
||||||
extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
|
extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
|
||||||
@ -991,13 +1317,18 @@ GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
|
|||||||
GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
|
GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
|
GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
|
GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
|
GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
|
GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
|
GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
|
GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
|
GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
|
GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
|
GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
|
||||||
@ -1006,7 +1337,10 @@ GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
|
|||||||
GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
|
GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
|
GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
|
GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_NV_present_video;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
|
GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_NV_video_output;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
|
GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
|
GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
|
||||||
@ -1014,6 +1348,7 @@ GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
|
|||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
|
||||||
|
GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
|
||||||
GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
|
GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
|
||||||
@ -1041,12 +1376,12 @@ extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
|
|||||||
#define glxewInit() glxewContextInit(glxewGetContext())
|
#define glxewInit() glxewContextInit(glxewGetContext())
|
||||||
#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
|
#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
|
||||||
|
|
||||||
#define GLXEW_GET_VAR(x) glxewGetContext()->x
|
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
|
||||||
#define GLXEW_GET_FUN(x) x
|
#define GLXEW_GET_FUN(x) x
|
||||||
|
|
||||||
#else /* GLEW_MX */
|
#else /* GLEW_MX */
|
||||||
|
|
||||||
#define GLXEW_GET_VAR(x) x
|
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||||
#define GLXEW_GET_FUN(x) x
|
#define GLXEW_GET_FUN(x) x
|
||||||
|
|
||||||
extern GLboolean glxewIsSupported (const char* name);
|
extern GLboolean glxewIsSupported (const char* name);
|
||||||
|
239
extern/glew/include/GL/wglew.h
vendored
239
extern/glew/include/GL/wglew.h
vendored
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
** The OpenGL Extension Wrangler Library
|
** The OpenGL Extension Wrangler Library
|
||||||
** Copyright (C) 2002-2006, Milan Ikits <milan ikits[]ieee org>
|
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
** Copyright (C) 2002-2006, Marcelo E. Magallon <mmagallo[]debian org>
|
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
** Copyright (C) 2002, Lev Povalahev
|
** Copyright (C) 2002, Lev Povalahev
|
||||||
** All rights reserved.
|
** All rights reserved.
|
||||||
**
|
**
|
||||||
@ -29,6 +29,29 @@
|
|||||||
** THE POSSIBILITY OF SUCH DAMAGE.
|
** THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright (c) 2007 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
** copy of this software and/or associated documentation files (the
|
||||||
|
** "Materials"), to deal in the Materials without restriction, including
|
||||||
|
** without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
** permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
** the following conditions:
|
||||||
|
**
|
||||||
|
** The above copyright notice and this permission notice shall be included
|
||||||
|
** in all copies or substantial portions of the Materials.
|
||||||
|
**
|
||||||
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef __wglew_h__
|
#ifndef __wglew_h__
|
||||||
#define __wglew_h__
|
#define __wglew_h__
|
||||||
#define __WGLEW_H__
|
#define __WGLEW_H__
|
||||||
@ -118,6 +141,26 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
|
|||||||
|
|
||||||
#endif /* WGL_ARB_buffer_region */
|
#endif /* WGL_ARB_buffer_region */
|
||||||
|
|
||||||
|
/* ------------------------- WGL_ARB_create_context ------------------------ */
|
||||||
|
|
||||||
|
#ifndef WGL_ARB_create_context
|
||||||
|
#define WGL_ARB_create_context 1
|
||||||
|
|
||||||
|
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
|
||||||
|
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
|
||||||
|
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||||
|
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||||
|
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
||||||
|
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
||||||
|
|
||||||
|
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
|
||||||
|
|
||||||
|
#define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB)
|
||||||
|
|
||||||
|
#define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context)
|
||||||
|
|
||||||
|
#endif /* WGL_ARB_create_context */
|
||||||
|
|
||||||
/* ----------------------- WGL_ARB_extensions_string ----------------------- */
|
/* ----------------------- WGL_ARB_extensions_string ----------------------- */
|
||||||
|
|
||||||
#ifndef WGL_ARB_extensions_string
|
#ifndef WGL_ARB_extensions_string
|
||||||
@ -131,11 +174,25 @@ typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
|
|||||||
|
|
||||||
#endif /* WGL_ARB_extensions_string */
|
#endif /* WGL_ARB_extensions_string */
|
||||||
|
|
||||||
|
/* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_ARB_framebuffer_sRGB
|
||||||
|
#define WGL_ARB_framebuffer_sRGB 1
|
||||||
|
|
||||||
|
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
|
||||||
|
|
||||||
|
#define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB)
|
||||||
|
|
||||||
|
#endif /* WGL_ARB_framebuffer_sRGB */
|
||||||
|
|
||||||
/* ----------------------- WGL_ARB_make_current_read ----------------------- */
|
/* ----------------------- WGL_ARB_make_current_read ----------------------- */
|
||||||
|
|
||||||
#ifndef WGL_ARB_make_current_read
|
#ifndef WGL_ARB_make_current_read
|
||||||
#define WGL_ARB_make_current_read 1
|
#define WGL_ARB_make_current_read 1
|
||||||
|
|
||||||
|
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||||
|
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||||
|
|
||||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
|
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
|
||||||
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||||
|
|
||||||
@ -386,11 +443,24 @@ typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
|
|||||||
|
|
||||||
#endif /* WGL_EXT_extensions_string */
|
#endif /* WGL_EXT_extensions_string */
|
||||||
|
|
||||||
|
/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_EXT_framebuffer_sRGB
|
||||||
|
#define WGL_EXT_framebuffer_sRGB 1
|
||||||
|
|
||||||
|
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
|
||||||
|
|
||||||
|
#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB)
|
||||||
|
|
||||||
|
#endif /* WGL_EXT_framebuffer_sRGB */
|
||||||
|
|
||||||
/* ----------------------- WGL_EXT_make_current_read ----------------------- */
|
/* ----------------------- WGL_EXT_make_current_read ----------------------- */
|
||||||
|
|
||||||
#ifndef WGL_EXT_make_current_read
|
#ifndef WGL_EXT_make_current_read
|
||||||
#define WGL_EXT_make_current_read 1
|
#define WGL_EXT_make_current_read 1
|
||||||
|
|
||||||
|
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
||||||
|
|
||||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
|
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
|
||||||
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||||
|
|
||||||
@ -509,6 +579,17 @@ typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixel
|
|||||||
|
|
||||||
#endif /* WGL_EXT_pixel_format */
|
#endif /* WGL_EXT_pixel_format */
|
||||||
|
|
||||||
|
/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_EXT_pixel_format_packed_float
|
||||||
|
#define WGL_EXT_pixel_format_packed_float 1
|
||||||
|
|
||||||
|
#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
|
||||||
|
|
||||||
|
#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float)
|
||||||
|
|
||||||
|
#endif /* WGL_EXT_pixel_format_packed_float */
|
||||||
|
|
||||||
/* -------------------------- WGL_EXT_swap_control ------------------------- */
|
/* -------------------------- WGL_EXT_swap_control ------------------------- */
|
||||||
|
|
||||||
#ifndef WGL_EXT_swap_control
|
#ifndef WGL_EXT_swap_control
|
||||||
@ -690,6 +771,60 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWO
|
|||||||
|
|
||||||
#endif /* WGL_NV_float_buffer */
|
#endif /* WGL_NV_float_buffer */
|
||||||
|
|
||||||
|
/* -------------------------- WGL_NV_gpu_affinity -------------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_NV_gpu_affinity
|
||||||
|
#define WGL_NV_gpu_affinity 1
|
||||||
|
|
||||||
|
#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
|
||||||
|
#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
|
||||||
|
|
||||||
|
DECLARE_HANDLE(HGPUNV);
|
||||||
|
typedef struct _GPU_DEVICE {
|
||||||
|
DWORD cb;
|
||||||
|
CHAR DeviceName[32];
|
||||||
|
CHAR DeviceString[128];
|
||||||
|
DWORD Flags;
|
||||||
|
RECT rcVirtualScreen;
|
||||||
|
} GPU_DEVICE, *PGPU_DEVICE;
|
||||||
|
|
||||||
|
typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
|
||||||
|
|
||||||
|
#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV)
|
||||||
|
#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV)
|
||||||
|
#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV)
|
||||||
|
#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV)
|
||||||
|
#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV)
|
||||||
|
|
||||||
|
#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity)
|
||||||
|
|
||||||
|
#endif /* WGL_NV_gpu_affinity */
|
||||||
|
|
||||||
|
/* -------------------------- WGL_NV_present_video ------------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_NV_present_video
|
||||||
|
#define WGL_NV_present_video 1
|
||||||
|
|
||||||
|
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
|
||||||
|
|
||||||
|
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
|
||||||
|
|
||||||
|
typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList);
|
||||||
|
typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue);
|
||||||
|
|
||||||
|
#define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV)
|
||||||
|
#define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV)
|
||||||
|
#define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV)
|
||||||
|
|
||||||
|
#define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video)
|
||||||
|
|
||||||
|
#endif /* WGL_NV_present_video */
|
||||||
|
|
||||||
/* ---------------------- WGL_NV_render_depth_texture ---------------------- */
|
/* ---------------------- WGL_NV_render_depth_texture ---------------------- */
|
||||||
|
|
||||||
#ifndef WGL_NV_render_depth_texture
|
#ifndef WGL_NV_render_depth_texture
|
||||||
@ -719,6 +854,29 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWO
|
|||||||
|
|
||||||
#endif /* WGL_NV_render_texture_rectangle */
|
#endif /* WGL_NV_render_texture_rectangle */
|
||||||
|
|
||||||
|
/* --------------------------- WGL_NV_swap_group --------------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_NV_swap_group
|
||||||
|
#define WGL_NV_swap_group 1
|
||||||
|
|
||||||
|
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
||||||
|
|
||||||
|
#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
|
||||||
|
#define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV)
|
||||||
|
#define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV)
|
||||||
|
#define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV)
|
||||||
|
#define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV)
|
||||||
|
#define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV)
|
||||||
|
|
||||||
|
#define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group)
|
||||||
|
|
||||||
|
#endif /* WGL_NV_swap_group */
|
||||||
|
|
||||||
/* ----------------------- WGL_NV_vertex_array_range ----------------------- */
|
/* ----------------------- WGL_NV_vertex_array_range ----------------------- */
|
||||||
|
|
||||||
#ifndef WGL_NV_vertex_array_range
|
#ifndef WGL_NV_vertex_array_range
|
||||||
@ -734,6 +892,45 @@ typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
|
|||||||
|
|
||||||
#endif /* WGL_NV_vertex_array_range */
|
#endif /* WGL_NV_vertex_array_range */
|
||||||
|
|
||||||
|
/* -------------------------- WGL_NV_video_output -------------------------- */
|
||||||
|
|
||||||
|
#ifndef WGL_NV_video_output
|
||||||
|
#define WGL_NV_video_output 1
|
||||||
|
|
||||||
|
#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
|
||||||
|
#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
|
||||||
|
#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
|
||||||
|
#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
|
||||||
|
#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
|
||||||
|
#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
|
||||||
|
#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
|
||||||
|
#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
|
||||||
|
#define WGL_VIDEO_OUT_FRAME 0x20C8
|
||||||
|
#define WGL_VIDEO_OUT_FIELD_1 0x20C9
|
||||||
|
#define WGL_VIDEO_OUT_FIELD_2 0x20CA
|
||||||
|
#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
|
||||||
|
#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
|
||||||
|
|
||||||
|
DECLARE_HANDLE(HPVIDEODEV);
|
||||||
|
|
||||||
|
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||||
|
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
|
||||||
|
|
||||||
|
#define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV)
|
||||||
|
#define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV)
|
||||||
|
#define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV)
|
||||||
|
#define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV)
|
||||||
|
#define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV)
|
||||||
|
#define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV)
|
||||||
|
|
||||||
|
#define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output)
|
||||||
|
|
||||||
|
#endif /* WGL_NV_video_output */
|
||||||
|
|
||||||
/* -------------------------- WGL_OML_sync_control ------------------------- */
|
/* -------------------------- WGL_OML_sync_control ------------------------- */
|
||||||
|
|
||||||
#ifndef WGL_OML_sync_control
|
#ifndef WGL_OML_sync_control
|
||||||
@ -777,6 +974,8 @@ WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB;
|
|||||||
WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
|
WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
|
||||||
WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
|
WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
|
||||||
|
|
||||||
|
WGLEW_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB;
|
||||||
|
|
||||||
WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
|
WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
|
||||||
|
|
||||||
WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
|
WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
|
||||||
@ -855,9 +1054,33 @@ WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
|
|||||||
WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
|
WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
|
||||||
WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
|
WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
|
||||||
|
|
||||||
|
WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
|
||||||
|
WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV;
|
||||||
|
WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV;
|
||||||
|
WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV;
|
||||||
|
WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV;
|
||||||
|
|
||||||
|
WGLEW_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV;
|
||||||
|
WGLEW_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV;
|
||||||
|
WGLEW_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV;
|
||||||
|
|
||||||
|
WGLEW_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV;
|
||||||
|
WGLEW_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV;
|
||||||
|
WGLEW_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV;
|
||||||
|
WGLEW_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV;
|
||||||
|
WGLEW_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV;
|
||||||
|
WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV;
|
||||||
|
|
||||||
WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
|
WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
|
||||||
WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
|
WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
|
||||||
|
|
||||||
|
WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV;
|
||||||
|
WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV;
|
||||||
|
WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV;
|
||||||
|
WGLEW_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV;
|
||||||
|
WGLEW_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV;
|
||||||
|
WGLEW_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV;
|
||||||
|
|
||||||
WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
|
WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
|
||||||
WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
|
WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
|
||||||
WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
|
WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
|
||||||
@ -867,7 +1090,9 @@ WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML;
|
|||||||
WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
|
WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
|
WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
|
WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
|
||||||
@ -879,10 +1104,12 @@ WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
|
|||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
|
WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
|
WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
|
WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
|
||||||
@ -891,9 +1118,13 @@ WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
|
|||||||
WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
|
WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
|
WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
|
WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_NV_present_video;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
|
WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
|
WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
|
WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
|
||||||
|
WGLEW_EXPORT GLboolean __WGLEW_NV_video_output;
|
||||||
WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
|
WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
|
||||||
|
|
||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
@ -911,12 +1142,12 @@ GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name);
|
|||||||
#define wglewInit() wglewContextInit(wglewGetContext())
|
#define wglewInit() wglewContextInit(wglewGetContext())
|
||||||
#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
|
#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
|
||||||
|
|
||||||
#define WGLEW_GET_VAR(x) wglewGetContext()->x
|
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
|
||||||
#define WGLEW_GET_FUN(x) wglewGetContext()->x
|
#define WGLEW_GET_FUN(x) wglewGetContext()->x
|
||||||
|
|
||||||
#else /* GLEW_MX */
|
#else /* GLEW_MX */
|
||||||
|
|
||||||
#define WGLEW_GET_VAR(x) x
|
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||||
#define WGLEW_GET_FUN(x) x
|
#define WGLEW_GET_FUN(x) x
|
||||||
|
|
||||||
GLEWAPI GLboolean wglewIsSupported (const char* name);
|
GLEWAPI GLboolean wglewIsSupported (const char* name);
|
||||||
|
4
extern/glew/make/msvc_9_0/glew.vcproj
vendored
4
extern/glew/make/msvc_9_0/glew.vcproj
vendored
@ -43,7 +43,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\include"
|
AdditionalIncludeDirectories="..\..\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;GLEW_STATIC"
|
||||||
MinimalRebuild="false"
|
MinimalRebuild="false"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -115,7 +115,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\include"
|
AdditionalIncludeDirectories="..\..\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
3520
extern/glew/src/glew.c
vendored
3520
extern/glew/src/glew.c
vendored
File diff suppressed because it is too large
Load Diff
@ -341,6 +341,10 @@
|
|||||||
RelativePath="..\..\intern\AUD_C-API.cpp"
|
RelativePath="..\..\intern\AUD_C-API.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\intern\AUD_C-API.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\intern\AUD_ChannelMapperFactory.cpp"
|
RelativePath="..\..\intern\AUD_ChannelMapperFactory.cpp"
|
||||||
>
|
>
|
||||||
@ -758,10 +762,6 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<File
|
|
||||||
RelativePath="..\..\AUD_C-API.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
|
@ -406,6 +406,17 @@ extern GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle,
|
|||||||
GHOST_TButtonMask mask,
|
GHOST_TButtonMask mask,
|
||||||
int* isDown);
|
int* isDown);
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************************
|
||||||
|
** Drag'n'drop operations
|
||||||
|
***************************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells if the ongoing drag'n'drop object can be accepted upon mouse drop
|
||||||
|
*/
|
||||||
|
extern void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, GHOST_TInt8 canAccept);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the event type.
|
* Returns the event type.
|
||||||
* @param eventhandle The handle to the event
|
* @param eventhandle The handle to the event
|
||||||
|
@ -351,6 +351,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const = 0;
|
virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const = 0;
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************************
|
||||||
|
** Access to clipboard.
|
||||||
|
***************************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the selection buffer
|
* Returns the selection buffer
|
||||||
* @return Returns "unsinged char" from X11 XA_CUT_BUFFER0 buffer
|
* @return Returns "unsinged char" from X11 XA_CUT_BUFFER0 buffer
|
||||||
@ -363,6 +368,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
|
virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* Initialize the system.
|
* Initialize the system.
|
||||||
|
@ -148,6 +148,17 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0;
|
virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells if the ongoing drag'n'drop object can be accepted upon mouse drop
|
||||||
|
*/
|
||||||
|
virtual void setAcceptDragOperation(bool canAccept) = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns acceptance of the dropped object
|
||||||
|
* Usually called by the "object dropped" event handling function
|
||||||
|
*/
|
||||||
|
virtual bool canAcceptDragOperation() const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the state of the window (normal, minimized, maximized).
|
* Returns the state of the window (normal, minimized, maximized).
|
||||||
* @return The state of the window.
|
* @return The state of the window.
|
||||||
|
@ -168,6 +168,12 @@ typedef enum {
|
|||||||
GHOST_kEventWindowSize,
|
GHOST_kEventWindowSize,
|
||||||
GHOST_kEventWindowMove,
|
GHOST_kEventWindowMove,
|
||||||
|
|
||||||
|
GHOST_kEventDraggingEntered,
|
||||||
|
GHOST_kEventDraggingUpdated,
|
||||||
|
GHOST_kEventDraggingExited,
|
||||||
|
GHOST_kEventDraggingDropDone,
|
||||||
|
GHOST_kEventDraggingDropOnIcon,
|
||||||
|
|
||||||
GHOST_kEventTimer,
|
GHOST_kEventTimer,
|
||||||
|
|
||||||
GHOST_kNumEventTypes
|
GHOST_kNumEventTypes
|
||||||
@ -368,6 +374,30 @@ typedef struct {
|
|||||||
} GHOST_TEventWheelData;
|
} GHOST_TEventWheelData;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GHOST_kDragnDropTypeUnknown =0,
|
||||||
|
GHOST_kDragnDropTypeFilenames, /*Array of strings representing file names (full path) */
|
||||||
|
GHOST_kDragnDropTypeString, /* Unformatted text UTF-8 string */
|
||||||
|
GHOST_kDragnDropTypeBitmap /*Bitmap image data */
|
||||||
|
} GHOST_TDragnDropTypes;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/** The x-coordinate of the cursor position. */
|
||||||
|
GHOST_TInt32 x;
|
||||||
|
/** The y-coordinate of the cursor position. */
|
||||||
|
GHOST_TInt32 y;
|
||||||
|
/** The dropped item type */
|
||||||
|
GHOST_TDragnDropTypes dataType;
|
||||||
|
/** The "dropped content" */
|
||||||
|
GHOST_TEventDataPtr data;
|
||||||
|
} GHOST_TEventDragnDropData;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int count;
|
||||||
|
GHOST_TUns8 **strings;
|
||||||
|
} GHOST_TStringArray;
|
||||||
|
|
||||||
|
|
||||||
/* original patch used floats, but the driver return ints and uns. We will calibrate in view, no sense on doing conversions twice */
|
/* original patch used floats, but the driver return ints and uns. We will calibrate in view, no sense on doing conversions twice */
|
||||||
/* as all USB device controls are likely to use ints, this is also more future proof */
|
/* as all USB device controls are likely to use ints, this is also more future proof */
|
||||||
//typedef struct {
|
//typedef struct {
|
||||||
|
@ -404,6 +404,13 @@ GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, GHOST_TInt8 canAccept)
|
||||||
|
{
|
||||||
|
GHOST_IWindow* window = (GHOST_IWindow*) windowhandle;
|
||||||
|
|
||||||
|
window->setAcceptDragOperation(canAccept);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
GHOST_TEventType GHOST_GetEventType(GHOST_EventHandle eventhandle)
|
GHOST_TEventType GHOST_GetEventType(GHOST_EventHandle eventhandle)
|
||||||
{
|
{
|
||||||
|
@ -155,11 +155,11 @@ GHOST_TSuccess GHOST_DisplayManagerCocoa::setCurrentDisplaySetting(GHOST_TUns8 d
|
|||||||
NULL);*/
|
NULL);*/
|
||||||
|
|
||||||
#ifdef GHOST_DEBUG
|
#ifdef GHOST_DEBUG
|
||||||
printf("GHOST_DisplayManagerCocoa::setCurrentDisplaySetting(): switching to:\n");
|
/* printf("GHOST_DisplayManagerCocoa::setCurrentDisplaySetting(): switching to:\n");
|
||||||
printf(" setting.xPixels=%d\n", getValue(displayModeValues, kCGDisplayWidth));
|
printf(" setting.xPixels=%d\n", getValue(displayModeValues, kCGDisplayWidth));
|
||||||
printf(" setting.yPixels=%d\n", getValue(displayModeValues, kCGDisplayHeight));
|
printf(" setting.yPixels=%d\n", getValue(displayModeValues, kCGDisplayHeight));
|
||||||
printf(" setting.bpp=%d\n", getValue(displayModeValues, kCGDisplayBitsPerPixel));
|
printf(" setting.bpp=%d\n", getValue(displayModeValues, kCGDisplayBitsPerPixel));
|
||||||
printf(" setting.frequency=%d\n", getValue(displayModeValues, kCGDisplayRefreshRate));
|
printf(" setting.frequency=%d\n", getValue(displayModeValues, kCGDisplayRefreshRate)); */
|
||||||
#endif // GHOST_DEBUG
|
#endif // GHOST_DEBUG
|
||||||
|
|
||||||
//CGDisplayErr err = ::CGDisplaySwitchToMode(m_displayIDs[display], displayModeValues);
|
//CGDisplayErr err = ::CGDisplaySwitchToMode(m_displayIDs[display], displayModeValues);
|
||||||
|
122
intern/ghost/intern/GHOST_EventDragnDrop.h
Normal file
122
intern/ghost/intern/GHOST_EventDragnDrop.h
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
/**
|
||||||
|
* $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): Damien Plisson 11/2009
|
||||||
|
*
|
||||||
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _GHOST_EVENT_DRAGNDROP_H_
|
||||||
|
#define _GHOST_EVENT_DRAGNDROP_H_
|
||||||
|
|
||||||
|
#include "GHOST_Event.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drag & drop event
|
||||||
|
*
|
||||||
|
* The dragging sequence is performed in four phases:
|
||||||
|
*
|
||||||
|
* <li> Start sequence (GHOST_kEventDraggingEntered) that tells a drag'n'drop operation has started. Already gives the object data type,
|
||||||
|
* and the entering mouse location
|
||||||
|
*
|
||||||
|
* <li> Update mouse position (GHOST_kEventDraggingUpdated) sent upon each mouse move until the drag'n'drop operation stops, to give the updated mouse position.
|
||||||
|
* Useful to highlight a potential destination, and update the status (through GHOST_setAcceptDragOperation) telling if the object can be dropped at
|
||||||
|
* the current cursor position.
|
||||||
|
*
|
||||||
|
* <li> Abort drag'n'drop sequence (GHOST_kEventDraggingExited) sent when the user moved the mouse outside the window.
|
||||||
|
*
|
||||||
|
* <li> Send the dropped data (GHOST_kEventDraggingDropDone)
|
||||||
|
*
|
||||||
|
* <li> Outside of the normal sequence, dropped data can be sent (GHOST_kEventDraggingDropOnIcon). This can happen when the user drops an object
|
||||||
|
* on the application icon. (Also used in OSX to pass the filename of the document the user doubled-clicked in the finder)
|
||||||
|
*
|
||||||
|
* <br><br>Note that the mouse positions are given in Blender coordinates (y=0 at bottom)
|
||||||
|
*
|
||||||
|
* <br>Currently supported object types :
|
||||||
|
* <li>UTF-8 string
|
||||||
|
* <li>array of strings representing filenames (GHOST_TStringArray)
|
||||||
|
* <li>bitmap image
|
||||||
|
*/
|
||||||
|
class GHOST_EventDragnDrop : public GHOST_Event
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
* @param time The time this event was generated.
|
||||||
|
* @param type The type of this event.
|
||||||
|
* @param dataType The type of the drop candidate object
|
||||||
|
* @param window The window where the event occured
|
||||||
|
* @param x The x-coordinate of the location the cursor was at at the time of the event.
|
||||||
|
* @param y The y-coordinate of the location the cursor was at at the time of the event.
|
||||||
|
* @param data The "content" dropped in the window
|
||||||
|
*/
|
||||||
|
GHOST_EventDragnDrop(GHOST_TUns64 time, GHOST_TEventType type, GHOST_TDragnDropTypes dataType, GHOST_IWindow* window,
|
||||||
|
int x, int y, GHOST_TEventDataPtr data)
|
||||||
|
: GHOST_Event(time, type, window)
|
||||||
|
{
|
||||||
|
m_dragnDropEventData.x = x;
|
||||||
|
m_dragnDropEventData.y = y;
|
||||||
|
m_dragnDropEventData.dataType = dataType;
|
||||||
|
m_dragnDropEventData.data = data;
|
||||||
|
m_data = &m_dragnDropEventData;
|
||||||
|
}
|
||||||
|
|
||||||
|
~GHOST_EventDragnDrop()
|
||||||
|
{
|
||||||
|
//Free the dropped object data
|
||||||
|
if (m_dragnDropEventData.data == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (m_dragnDropEventData.dataType) {
|
||||||
|
case GHOST_kDragnDropTypeBitmap:
|
||||||
|
//Not currently implemented
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeFilenames:
|
||||||
|
{
|
||||||
|
GHOST_TStringArray *strArray = (GHOST_TStringArray*)m_dragnDropEventData.data;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i=0;i<strArray->count;i++)
|
||||||
|
free(strArray->strings[i]);
|
||||||
|
|
||||||
|
free(strArray);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeString:
|
||||||
|
free(m_dragnDropEventData.data);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/** The x,y-coordinates of the cursor position. */
|
||||||
|
GHOST_TEventDragnDropData m_dragnDropEventData;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _GHOST_EVENT_DRAGNDROP_H_
|
||||||
|
|
@ -33,6 +33,7 @@
|
|||||||
#include "GHOST_EventPrinter.h"
|
#include "GHOST_EventPrinter.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "GHOST_EventKey.h"
|
#include "GHOST_EventKey.h"
|
||||||
|
#include "GHOST_EventDragnDrop.h"
|
||||||
#include "GHOST_Debug.h"
|
#include "GHOST_Debug.h"
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@ -98,6 +99,76 @@ bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GHOST_kEventDraggingEntered:
|
||||||
|
{
|
||||||
|
GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData();
|
||||||
|
std::cout << "GHOST_kEventDraggingEntered, dragged object type : " << dragnDropData->dataType;
|
||||||
|
std::cout << " mouse at x=" << dragnDropData->x << " y=" << dragnDropData->y;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHOST_kEventDraggingUpdated:
|
||||||
|
{
|
||||||
|
GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData();
|
||||||
|
std::cout << "GHOST_kEventDraggingUpdated, dragged object type : " << dragnDropData->dataType;
|
||||||
|
std::cout << " mouse at x=" << dragnDropData->x << " y=" << dragnDropData->y;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHOST_kEventDraggingExited:
|
||||||
|
{
|
||||||
|
GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData();
|
||||||
|
std::cout << "GHOST_kEventDraggingExited, dragged object type : " << dragnDropData->dataType;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHOST_kEventDraggingDropDone:
|
||||||
|
{
|
||||||
|
GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData();
|
||||||
|
std::cout << "GHOST_kEventDraggingDropDone, dragged object type : " << dragnDropData->dataType;
|
||||||
|
std::cout << " mouse at x=" << dragnDropData->x << " y=" << dragnDropData->y;
|
||||||
|
switch (dragnDropData->dataType) {
|
||||||
|
case GHOST_kDragnDropTypeString:
|
||||||
|
std::cout << " string received = " << (char*)dragnDropData->data;
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeFilenames:
|
||||||
|
{
|
||||||
|
GHOST_TStringArray *strArray = (GHOST_TStringArray*)dragnDropData->data;
|
||||||
|
int i;
|
||||||
|
std::cout << "\nReceived " << strArray->count << " filenames";
|
||||||
|
for (i=0;i<strArray->count;i++)
|
||||||
|
std::cout << " Filename #" << i << ": " << strArray->strings[i];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHOST_kEventDraggingDropOnIcon:
|
||||||
|
{
|
||||||
|
GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData();
|
||||||
|
std::cout << "GHOST_kEventDraggingDropOnIcon, dragged object type : " << dragnDropData->dataType;
|
||||||
|
switch (dragnDropData->dataType) {
|
||||||
|
case GHOST_kDragnDropTypeString:
|
||||||
|
std::cout << " string received = " << (char*)dragnDropData->data;
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeFilenames:
|
||||||
|
{
|
||||||
|
GHOST_TStringArray *strArray = (GHOST_TStringArray*)dragnDropData->data;
|
||||||
|
int i;
|
||||||
|
std::cout << "\nReceived " << strArray->count << " filenames";
|
||||||
|
for (i=0;i<strArray->count;i++)
|
||||||
|
std::cout << " Filename #" << i << ": " << strArray->strings[i];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case GHOST_kEventQuit:
|
case GHOST_kEventQuit:
|
||||||
std::cout << "GHOST_kEventQuit";
|
std::cout << "GHOST_kEventQuit";
|
||||||
break;
|
break;
|
||||||
|
@ -275,7 +275,6 @@ GHOST_TSuccess GHOST_System::getButtonState(GHOST_TButtonMask mask, bool& isDown
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GHOST_TSuccess GHOST_System::init()
|
GHOST_TSuccess GHOST_System::init()
|
||||||
{
|
{
|
||||||
m_timerManager = new GHOST_TimerManager ();
|
m_timerManager = new GHOST_TimerManager ();
|
||||||
|
@ -194,11 +194,25 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles a window event. Called by GHOST_WindowCocoa window delegate
|
* Handles a window event. Called by GHOST_WindowCocoa window delegate
|
||||||
* @param eventPtr An NSEvent pointer (casted to void* to enable compilation in standard C++)
|
* @param eventType The type of window event
|
||||||
|
* @param window The window on which the event occured
|
||||||
* @return Indication whether the event was handled.
|
* @return Indication whether the event was handled.
|
||||||
*/
|
*/
|
||||||
GHOST_TSuccess handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa* window);
|
GHOST_TSuccess handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa* window);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles a drag'n'drop destination event. Called by GHOST_WindowCocoa window subclass
|
||||||
|
* @param eventType The type of drag'n'drop event
|
||||||
|
* @param draggedObjectType The type object concerned (currently array of file names, string, TIFF image)
|
||||||
|
* @param mouseX x mouse coordinate (in cocoa base window coordinates)
|
||||||
|
* @param mouseY y mouse coordinate
|
||||||
|
* @param window The window on which the event occured
|
||||||
|
* @return Indication whether the event was handled.
|
||||||
|
*/
|
||||||
|
GHOST_TSuccess handleDraggingEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType,
|
||||||
|
GHOST_WindowCocoa* window, int mouseX, int mouseY, void* data);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* Initializes the system.
|
* Initializes the system.
|
||||||
@ -232,6 +246,9 @@ protected:
|
|||||||
/** Start time at initialization. */
|
/** Start time at initialization. */
|
||||||
GHOST_TUns64 m_start_time;
|
GHOST_TUns64 m_start_time;
|
||||||
|
|
||||||
|
/** Event has been processed directly by Cocoa and has sent a ghost event to be dispatched */
|
||||||
|
bool m_outsideLoopEventProcessed;
|
||||||
|
|
||||||
/** Mouse buttons state */
|
/** Mouse buttons state */
|
||||||
GHOST_TUns32 m_pressedMouseButtons;
|
GHOST_TUns32 m_pressedMouseButtons;
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include "GHOST_EventCursor.h"
|
#include "GHOST_EventCursor.h"
|
||||||
#include "GHOST_EventWheel.h"
|
#include "GHOST_EventWheel.h"
|
||||||
#include "GHOST_EventNDOF.h"
|
#include "GHOST_EventNDOF.h"
|
||||||
|
#include "GHOST_EventDragnDrop.h"
|
||||||
|
|
||||||
#include "GHOST_TimerManager.h"
|
#include "GHOST_TimerManager.h"
|
||||||
#include "GHOST_TimerTask.h"
|
#include "GHOST_TimerTask.h"
|
||||||
@ -413,6 +414,7 @@ extern "C" int GHOST_HACK_getFirstFile(char buf[FIRSTFILEBUFLG]) {
|
|||||||
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
|
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
|
||||||
{
|
{
|
||||||
NSLog(@"\nGet open file event from cocoa : %@",filename);
|
NSLog(@"\nGet open file event from cocoa : %@",filename);
|
||||||
|
systemCocoa->handleDraggingEvent(GHOST_kEventDraggingDropOnIcon, GHOST_kDragnDropTypeFilenames, nil, 0, 0, [NSArray arrayWithObject:filename]);
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -447,12 +449,12 @@ GHOST_SystemCocoa::GHOST_SystemCocoa()
|
|||||||
m_pressedMouseButtons =0;
|
m_pressedMouseButtons =0;
|
||||||
m_cursorDelta_x=0;
|
m_cursorDelta_x=0;
|
||||||
m_cursorDelta_y=0;
|
m_cursorDelta_y=0;
|
||||||
|
m_outsideLoopEventProcessed = false;
|
||||||
m_displayManager = new GHOST_DisplayManagerCocoa ();
|
m_displayManager = new GHOST_DisplayManagerCocoa ();
|
||||||
GHOST_ASSERT(m_displayManager, "GHOST_SystemCocoa::GHOST_SystemCocoa(): m_displayManager==0\n");
|
GHOST_ASSERT(m_displayManager, "GHOST_SystemCocoa::GHOST_SystemCocoa(): m_displayManager==0\n");
|
||||||
m_displayManager->initialize();
|
m_displayManager->initialize();
|
||||||
|
|
||||||
//NSEvent timeStamp is given in system uptime, state start date is boot time
|
//NSEvent timeStamp is given in system uptime, state start date is boot time
|
||||||
//FIXME : replace by Cocoa equivalent
|
|
||||||
int mib[2];
|
int mib[2];
|
||||||
struct timeval boottime;
|
struct timeval boottime;
|
||||||
size_t len;
|
size_t len;
|
||||||
@ -558,17 +560,13 @@ GHOST_TSuccess GHOST_SystemCocoa::init()
|
|||||||
GHOST_TUns64 GHOST_SystemCocoa::getMilliSeconds() const
|
GHOST_TUns64 GHOST_SystemCocoa::getMilliSeconds() const
|
||||||
{
|
{
|
||||||
//Cocoa equivalent exists in 10.6 ([[NSProcessInfo processInfo] systemUptime])
|
//Cocoa equivalent exists in 10.6 ([[NSProcessInfo processInfo] systemUptime])
|
||||||
int mib[2];
|
struct timeval currentTime;
|
||||||
struct timeval boottime;
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
mib[0] = CTL_KERN;
|
gettimeofday(¤tTime, NULL);
|
||||||
mib[1] = KERN_BOOTTIME;
|
|
||||||
len = sizeof(struct timeval);
|
|
||||||
|
|
||||||
sysctl(mib, 2, &boottime, &len, NULL, 0);
|
//Return timestamp of system uptime
|
||||||
|
|
||||||
return ((boottime.tv_sec*1000)+(boottime.tv_usec/1000));
|
return ((currentTime.tv_sec*1000)+(currentTime.tv_usec/1000)-m_start_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -742,6 +740,8 @@ bool GHOST_SystemCocoa::processEvents(bool waitForEvent)
|
|||||||
bool anyProcessed = false;
|
bool anyProcessed = false;
|
||||||
NSEvent *event;
|
NSEvent *event;
|
||||||
|
|
||||||
|
m_outsideLoopEventProcessed = false;
|
||||||
|
|
||||||
// SetMouseCoalescingEnabled(false, NULL);
|
// SetMouseCoalescingEnabled(false, NULL);
|
||||||
//TODO : implement timer ??
|
//TODO : implement timer ??
|
||||||
|
|
||||||
@ -840,7 +840,7 @@ bool GHOST_SystemCocoa::processEvents(bool waitForEvent)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
return anyProcessed;
|
return anyProcessed || m_outsideLoopEventProcessed;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Note: called from NSWindow delegate
|
//Note: called from NSWindow delegate
|
||||||
@ -877,9 +877,108 @@ GHOST_TSuccess GHOST_SystemCocoa::handleWindowEvent(GHOST_TEventType eventType,
|
|||||||
return GHOST_kFailure;
|
return GHOST_kFailure;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_outsideLoopEventProcessed = true;
|
||||||
return GHOST_kSuccess;
|
return GHOST_kSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Note: called from NSWindow subclass
|
||||||
|
GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType,
|
||||||
|
GHOST_WindowCocoa* window, int mouseX, int mouseY, void* data)
|
||||||
|
{
|
||||||
|
if (!validWindow(window)) {
|
||||||
|
return GHOST_kFailure;
|
||||||
|
}
|
||||||
|
switch(eventType)
|
||||||
|
{
|
||||||
|
case GHOST_kEventDraggingEntered:
|
||||||
|
case GHOST_kEventDraggingUpdated:
|
||||||
|
case GHOST_kEventDraggingExited:
|
||||||
|
pushEvent(new GHOST_EventDragnDrop(getMilliSeconds(),eventType,draggedObjectType,window,mouseX,mouseY,NULL));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHOST_kEventDraggingDropDone:
|
||||||
|
case GHOST_kEventDraggingDropOnIcon:
|
||||||
|
{
|
||||||
|
GHOST_TUns8 * temp_buff;
|
||||||
|
GHOST_TStringArray *strArray;
|
||||||
|
NSArray *droppedArray;
|
||||||
|
size_t pastedTextSize;
|
||||||
|
NSString *droppedStr;
|
||||||
|
GHOST_TEventDataPtr eventData;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (!data) return GHOST_kFailure;
|
||||||
|
|
||||||
|
switch (draggedObjectType) {
|
||||||
|
case GHOST_kDragnDropTypeBitmap:
|
||||||
|
//TODO: implement bitmap conversion to a blender friendly format
|
||||||
|
return GHOST_kFailure;
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeFilenames:
|
||||||
|
droppedArray = (NSArray*)data;
|
||||||
|
|
||||||
|
strArray = (GHOST_TStringArray*)malloc(sizeof(GHOST_TStringArray));
|
||||||
|
if (!strArray) return GHOST_kFailure;
|
||||||
|
|
||||||
|
strArray->count = [droppedArray count];
|
||||||
|
if (strArray->count == 0) return GHOST_kFailure;
|
||||||
|
|
||||||
|
strArray->strings = (GHOST_TUns8**) malloc(strArray->count*sizeof(GHOST_TUns8*));
|
||||||
|
|
||||||
|
for (i=0;i<strArray->count;i++)
|
||||||
|
{
|
||||||
|
droppedStr = [droppedArray objectAtIndex:i];
|
||||||
|
|
||||||
|
pastedTextSize = [droppedStr lengthOfBytesUsingEncoding:NSISOLatin1StringEncoding];
|
||||||
|
temp_buff = (GHOST_TUns8*) malloc(pastedTextSize+1);
|
||||||
|
|
||||||
|
if (!temp_buff) {
|
||||||
|
strArray->count = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
strncpy((char*)temp_buff, [droppedStr cStringUsingEncoding:NSISOLatin1StringEncoding], pastedTextSize);
|
||||||
|
temp_buff[pastedTextSize] = '\0';
|
||||||
|
|
||||||
|
strArray->strings[i] = temp_buff;
|
||||||
|
}
|
||||||
|
|
||||||
|
eventData = (GHOST_TEventDataPtr) strArray;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHOST_kDragnDropTypeString:
|
||||||
|
droppedStr = (NSString*)data;
|
||||||
|
pastedTextSize = [droppedStr lengthOfBytesUsingEncoding:NSISOLatin1StringEncoding];
|
||||||
|
|
||||||
|
temp_buff = (GHOST_TUns8*) malloc(pastedTextSize+1);
|
||||||
|
|
||||||
|
if (temp_buff == NULL) {
|
||||||
|
return GHOST_kFailure;
|
||||||
|
}
|
||||||
|
|
||||||
|
strncpy((char*)temp_buff, [droppedStr cStringUsingEncoding:NSISOLatin1StringEncoding], pastedTextSize);
|
||||||
|
|
||||||
|
temp_buff[pastedTextSize] = '\0';
|
||||||
|
|
||||||
|
eventData = (GHOST_TEventDataPtr) temp_buff;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return GHOST_kFailure;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pushEvent(new GHOST_EventDragnDrop(getMilliSeconds(),eventType,draggedObjectType,window,mouseX,mouseY,eventData));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return GHOST_kFailure;
|
||||||
|
}
|
||||||
|
m_outsideLoopEventProcessed = true;
|
||||||
|
return GHOST_kSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
GHOST_TUns8 GHOST_SystemCocoa::handleQuitRequest()
|
GHOST_TUns8 GHOST_SystemCocoa::handleQuitRequest()
|
||||||
{
|
{
|
||||||
GHOST_Window* window = (GHOST_Window*)m_windowManager->getActiveWindow();
|
GHOST_Window* window = (GHOST_Window*)m_windowManager->getActiveWindow();
|
||||||
@ -908,6 +1007,7 @@ GHOST_TUns8 GHOST_SystemCocoa::handleQuitRequest()
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventQuit, NULL) );
|
pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventQuit, NULL) );
|
||||||
|
m_outsideLoopEventProcessed = true;
|
||||||
return GHOST_kExitNow;
|
return GHOST_kExitNow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -980,7 +1080,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
case NSLeftMouseDown:
|
case NSLeftMouseDown:
|
||||||
case NSRightMouseDown:
|
case NSRightMouseDown:
|
||||||
case NSOtherMouseDown:
|
case NSOtherMouseDown:
|
||||||
pushEvent(new GHOST_EventButton([event timestamp], GHOST_kEventButtonDown, window, convertButton([event buttonNumber])));
|
pushEvent(new GHOST_EventButton([event timestamp]*1000, GHOST_kEventButtonDown, window, convertButton([event buttonNumber])));
|
||||||
//Handle tablet events combined with mouse events
|
//Handle tablet events combined with mouse events
|
||||||
switch ([event subtype]) {
|
switch ([event subtype]) {
|
||||||
case NX_SUBTYPE_TABLET_POINT:
|
case NX_SUBTYPE_TABLET_POINT:
|
||||||
@ -998,7 +1098,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
case NSLeftMouseUp:
|
case NSLeftMouseUp:
|
||||||
case NSRightMouseUp:
|
case NSRightMouseUp:
|
||||||
case NSOtherMouseUp:
|
case NSOtherMouseUp:
|
||||||
pushEvent(new GHOST_EventButton([event timestamp], GHOST_kEventButtonUp, window, convertButton([event buttonNumber])));
|
pushEvent(new GHOST_EventButton([event timestamp]*1000, GHOST_kEventButtonUp, window, convertButton([event buttonNumber])));
|
||||||
//Handle tablet events combined with mouse events
|
//Handle tablet events combined with mouse events
|
||||||
switch ([event subtype]) {
|
switch ([event subtype]) {
|
||||||
case NX_SUBTYPE_TABLET_POINT:
|
case NX_SUBTYPE_TABLET_POINT:
|
||||||
@ -1042,7 +1142,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
y_accum += -[event deltaY]; //Strange Apple implementation (inverted coordinates for the deltaY) ...
|
y_accum += -[event deltaY]; //Strange Apple implementation (inverted coordinates for the deltaY) ...
|
||||||
window->setCursorGrabAccum(x_accum, y_accum);
|
window->setCursorGrabAccum(x_accum, y_accum);
|
||||||
|
|
||||||
pushEvent(new GHOST_EventCursor([event timestamp], GHOST_kEventCursorMove, window, x_warp+x_accum, y_warp+y_accum));
|
pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x_warp+x_accum, y_warp+y_accum));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GHOST_kGrabWrap: //Wrap cursor at area/window boundaries
|
case GHOST_kGrabWrap: //Wrap cursor at area/window boundaries
|
||||||
@ -1086,14 +1186,14 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
|
|
||||||
//Post event
|
//Post event
|
||||||
window->getCursorGrabInitPos(x_cur, y_cur);
|
window->getCursorGrabInitPos(x_cur, y_cur);
|
||||||
pushEvent(new GHOST_EventCursor([event timestamp], GHOST_kEventCursorMove, window, x_cur + x_accum, y_cur + y_accum));
|
pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x_cur + x_accum, y_cur + y_accum));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
//Normal cursor operation: send mouse position in window
|
//Normal cursor operation: send mouse position in window
|
||||||
NSPoint mousePos = [event locationInWindow];
|
NSPoint mousePos = [event locationInWindow];
|
||||||
pushEvent(new GHOST_EventCursor([event timestamp], GHOST_kEventCursorMove, window, mousePos.x, mousePos.y));
|
pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, mousePos.x, mousePos.y));
|
||||||
m_cursorDelta_x=0;
|
m_cursorDelta_x=0;
|
||||||
m_cursorDelta_y=0; //Mouse motion occured between two cursor warps, so we can reset the delta counter
|
m_cursorDelta_y=0; //Mouse motion occured between two cursor warps, so we can reset the delta counter
|
||||||
}
|
}
|
||||||
@ -1109,7 +1209,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
|
|||||||
if (deltaF == 0.0) break; //discard trackpad delta=0 events
|
if (deltaF == 0.0) break; //discard trackpad delta=0 events
|
||||||
|
|
||||||
delta = deltaF > 0.0 ? 1 : -1;
|
delta = deltaF > 0.0 ? 1 : -1;
|
||||||
pushEvent(new GHOST_EventWheel([event timestamp], window, delta));
|
pushEvent(new GHOST_EventWheel([event timestamp]*1000, window, delta));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1168,26 +1268,26 @@ GHOST_TSuccess GHOST_SystemCocoa::handleKeyEvent(void *eventPtr)
|
|||||||
break; //Cmd-Q is directly handled by Cocoa
|
break; //Cmd-Q is directly handled by Cocoa
|
||||||
|
|
||||||
if ([event type] == NSKeyDown) {
|
if ([event type] == NSKeyDown) {
|
||||||
pushEvent( new GHOST_EventKey([event timestamp], GHOST_kEventKeyDown, window, keyCode, ascii) );
|
pushEvent( new GHOST_EventKey([event timestamp]*1000, GHOST_kEventKeyDown, window, keyCode, ascii) );
|
||||||
//printf("\nKey pressed keyCode=%u ascii=%i %c",keyCode,ascii,ascii);
|
//printf("\nKey pressed keyCode=%u ascii=%i %c",keyCode,ascii,ascii);
|
||||||
} else {
|
} else {
|
||||||
pushEvent( new GHOST_EventKey([event timestamp], GHOST_kEventKeyUp, window, keyCode, ascii) );
|
pushEvent( new GHOST_EventKey([event timestamp]*1000, GHOST_kEventKeyUp, window, keyCode, ascii) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NSFlagsChanged:
|
case NSFlagsChanged:
|
||||||
modifiers = [event modifierFlags];
|
modifiers = [event modifierFlags];
|
||||||
if ((modifiers & NSShiftKeyMask) != (m_modifierMask & NSShiftKeyMask)) {
|
if ((modifiers & NSShiftKeyMask) != (m_modifierMask & NSShiftKeyMask)) {
|
||||||
pushEvent( new GHOST_EventKey([event timestamp], (modifiers & NSShiftKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftShift) );
|
pushEvent( new GHOST_EventKey([event timestamp]*1000, (modifiers & NSShiftKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftShift) );
|
||||||
}
|
}
|
||||||
if ((modifiers & NSControlKeyMask) != (m_modifierMask & NSControlKeyMask)) {
|
if ((modifiers & NSControlKeyMask) != (m_modifierMask & NSControlKeyMask)) {
|
||||||
pushEvent( new GHOST_EventKey([event timestamp], (modifiers & NSControlKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftControl) );
|
pushEvent( new GHOST_EventKey([event timestamp]*1000, (modifiers & NSControlKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftControl) );
|
||||||
}
|
}
|
||||||
if ((modifiers & NSAlternateKeyMask) != (m_modifierMask & NSAlternateKeyMask)) {
|
if ((modifiers & NSAlternateKeyMask) != (m_modifierMask & NSAlternateKeyMask)) {
|
||||||
pushEvent( new GHOST_EventKey([event timestamp], (modifiers & NSAlternateKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftAlt) );
|
pushEvent( new GHOST_EventKey([event timestamp]*1000, (modifiers & NSAlternateKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftAlt) );
|
||||||
}
|
}
|
||||||
if ((modifiers & NSCommandKeyMask) != (m_modifierMask & NSCommandKeyMask)) {
|
if ((modifiers & NSCommandKeyMask) != (m_modifierMask & NSCommandKeyMask)) {
|
||||||
pushEvent( new GHOST_EventKey([event timestamp], (modifiers & NSCommandKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyCommand) );
|
pushEvent( new GHOST_EventKey([event timestamp]*1000, (modifiers & NSCommandKeyMask)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyCommand) );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_modifierMask = modifiers;
|
m_modifierMask = modifiers;
|
||||||
@ -1220,7 +1320,7 @@ GHOST_TUns8* GHOST_SystemCocoa::getClipboard(bool selection) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
NSArray *supportedTypes =
|
NSArray *supportedTypes =
|
||||||
[NSArray arrayWithObjects: @"public.utf8-plain-text", nil];
|
[NSArray arrayWithObjects: NSStringPboardType, nil];
|
||||||
|
|
||||||
NSString *bestType = [[NSPasteboard generalPasteboard]
|
NSString *bestType = [[NSPasteboard generalPasteboard]
|
||||||
availableTypeFromArray:supportedTypes];
|
availableTypeFromArray:supportedTypes];
|
||||||
@ -1230,14 +1330,14 @@ GHOST_TUns8* GHOST_SystemCocoa::getClipboard(bool selection) const
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSString * textPasted = [pasteBoard stringForType:@"public.utf8-plain-text"];
|
NSString * textPasted = [pasteBoard stringForType:NSStringPboardType];
|
||||||
|
|
||||||
if (textPasted == nil) {
|
if (textPasted == nil) {
|
||||||
[pool drain];
|
[pool drain];
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
pastedTextSize = [textPasted lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
|
pastedTextSize = [textPasted lengthOfBytesUsingEncoding:NSISOLatin1StringEncoding];
|
||||||
|
|
||||||
temp_buff = (GHOST_TUns8*) malloc(pastedTextSize+1);
|
temp_buff = (GHOST_TUns8*) malloc(pastedTextSize+1);
|
||||||
|
|
||||||
@ -1246,7 +1346,7 @@ GHOST_TUns8* GHOST_SystemCocoa::getClipboard(bool selection) const
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
strncpy((char*)temp_buff, [textPasted UTF8String], pastedTextSize);
|
strncpy((char*)temp_buff, [textPasted cStringUsingEncoding:NSISOLatin1StringEncoding], pastedTextSize);
|
||||||
|
|
||||||
temp_buff[pastedTextSize] = '\0';
|
temp_buff[pastedTextSize] = '\0';
|
||||||
|
|
||||||
@ -1274,13 +1374,13 @@ void GHOST_SystemCocoa::putClipboard(GHOST_TInt8 *buffer, bool selection) const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSArray *supportedTypes = [NSArray arrayWithObject:@"public.utf8-plain-text"];
|
NSArray *supportedTypes = [NSArray arrayWithObject:NSStringPboardType];
|
||||||
|
|
||||||
[pasteBoard declareTypes:supportedTypes owner:nil];
|
[pasteBoard declareTypes:supportedTypes owner:nil];
|
||||||
|
|
||||||
textToCopy = [NSString stringWithUTF8String:buffer];
|
textToCopy = [NSString stringWithCString:buffer encoding:NSISOLatin1StringEncoding];
|
||||||
|
|
||||||
[pasteBoard setString:textToCopy forType:@"public.utf8-plain-text"];
|
[pasteBoard setString:textToCopy forType:NSStringPboardType];
|
||||||
|
|
||||||
[pool drain];
|
[pool drain];
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,9 @@
|
|||||||
*
|
*
|
||||||
* Contributor(s): none yet.
|
* Contributor(s): none yet.
|
||||||
*
|
*
|
||||||
|
* Part of this code has been taken from Qt, under LGPL license
|
||||||
|
* Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
*
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -126,6 +129,8 @@ GHOST_SystemX11(
|
|||||||
m_xclip_out= XInternAtom(m_display, "XCLIP_OUT", False);
|
m_xclip_out= XInternAtom(m_display, "XCLIP_OUT", False);
|
||||||
m_incr= XInternAtom(m_display, "INCR", False);
|
m_incr= XInternAtom(m_display, "INCR", False);
|
||||||
m_utf8_string= XInternAtom(m_display, "UTF8_STRING", False);
|
m_utf8_string= XInternAtom(m_display, "UTF8_STRING", False);
|
||||||
|
m_last_warp = 0;
|
||||||
|
|
||||||
|
|
||||||
// compute the initial time
|
// compute the initial time
|
||||||
timeval tv;
|
timeval tv;
|
||||||
@ -310,6 +315,61 @@ static void SleepTillEvent(Display *display, GHOST_TInt64 maxSleep) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This function borrowed from Qt's X11 support
|
||||||
|
* qclipboard_x11.cpp
|
||||||
|
* */
|
||||||
|
struct init_timestamp_data
|
||||||
|
{
|
||||||
|
Time timestamp;
|
||||||
|
};
|
||||||
|
|
||||||
|
static Bool init_timestamp_scanner(Display*, XEvent *event, XPointer arg)
|
||||||
|
{
|
||||||
|
init_timestamp_data *data =
|
||||||
|
reinterpret_cast<init_timestamp_data*>(arg);
|
||||||
|
switch(event->type)
|
||||||
|
{
|
||||||
|
case ButtonPress:
|
||||||
|
case ButtonRelease:
|
||||||
|
data->timestamp = event->xbutton.time;
|
||||||
|
break;
|
||||||
|
case MotionNotify:
|
||||||
|
data->timestamp = event->xmotion.time;
|
||||||
|
break;
|
||||||
|
case KeyPress:
|
||||||
|
case KeyRelease:
|
||||||
|
data->timestamp = event->xkey.time;
|
||||||
|
break;
|
||||||
|
case PropertyNotify:
|
||||||
|
data->timestamp = event->xproperty.time;
|
||||||
|
break;
|
||||||
|
case EnterNotify:
|
||||||
|
case LeaveNotify:
|
||||||
|
data->timestamp = event->xcrossing.time;
|
||||||
|
break;
|
||||||
|
case SelectionClear:
|
||||||
|
data->timestamp = event->xselectionclear.time;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Time
|
||||||
|
GHOST_SystemX11::
|
||||||
|
lastEventTime(Time default_time) {
|
||||||
|
init_timestamp_data data;
|
||||||
|
data.timestamp = default_time;
|
||||||
|
XEvent ev;
|
||||||
|
XCheckIfEvent(m_display, &ev, &init_timestamp_scanner, (XPointer)&data);
|
||||||
|
|
||||||
|
return data.timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
GHOST_SystemX11::
|
GHOST_SystemX11::
|
||||||
processEvents(
|
processEvents(
|
||||||
@ -405,10 +465,15 @@ GHOST_SystemX11::processEvent(XEvent *xe)
|
|||||||
window->getCursorGrabAccum(x_accum, y_accum);
|
window->getCursorGrabAccum(x_accum, y_accum);
|
||||||
|
|
||||||
if(x_new != xme.x_root || y_new != xme.y_root) {
|
if(x_new != xme.x_root || y_new != xme.y_root) {
|
||||||
/* when wrapping we don't need to add an event because the
|
if (xme.time > m_last_warp) {
|
||||||
* setCursorPosition call will cause a new event after */
|
/* when wrapping we don't need to add an event because the
|
||||||
setCursorPosition(x_new, y_new); /* wrap */
|
* setCursorPosition call will cause a new event after */
|
||||||
window->setCursorGrabAccum(x_accum + (xme.x_root - x_new), y_accum + (xme.y_root - y_new));
|
setCursorPosition(x_new, y_new); /* wrap */
|
||||||
|
window->setCursorGrabAccum(x_accum + (xme.x_root - x_new), y_accum + (xme.y_root - y_new));
|
||||||
|
m_last_warp = lastEventTime(xme.time);
|
||||||
|
} else {
|
||||||
|
setCursorPosition(x_new, y_new); /* wrap but don't accumulate */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
g_event = new
|
g_event = new
|
||||||
@ -907,7 +972,7 @@ setCursorPosition(
|
|||||||
int rely = y-cy;
|
int rely = y-cy;
|
||||||
|
|
||||||
XWarpPointer(m_display,None,None,0,0,0,0,relx,rely);
|
XWarpPointer(m_display,None,None,0,0,0,0,relx,rely);
|
||||||
XFlush(m_display);
|
XSync(m_display, 0); /* Sync to process all requests */
|
||||||
|
|
||||||
return GHOST_kSuccess;
|
return GHOST_kSuccess;
|
||||||
}
|
}
|
||||||
|
@ -266,6 +266,10 @@ private :
|
|||||||
/// A vector of keyboard key masks
|
/// A vector of keyboard key masks
|
||||||
char m_keyboard_vector[32];
|
char m_keyboard_vector[32];
|
||||||
|
|
||||||
|
/* to prevent multiple warp, we store the time of the last warp event
|
||||||
|
* and stop accumulating all events generated before that */
|
||||||
|
Time m_last_warp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the ghost window associated with the
|
* Return the ghost window associated with the
|
||||||
* X11 window xwind
|
* X11 window xwind
|
||||||
@ -281,6 +285,11 @@ private :
|
|||||||
XEvent *xe
|
XEvent *xe
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Time
|
||||||
|
lastEventTime(
|
||||||
|
Time default_time
|
||||||
|
);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
generateWindowExposeEvents(
|
generateWindowExposeEvents(
|
||||||
);
|
);
|
||||||
|
@ -53,6 +53,7 @@ GHOST_Window::GHOST_Window(
|
|||||||
m_stereoVisual(stereoVisual)
|
m_stereoVisual(stereoVisual)
|
||||||
{
|
{
|
||||||
m_isUnsavedChanges = false;
|
m_isUnsavedChanges = false;
|
||||||
|
m_canAcceptDragOperation = false;
|
||||||
|
|
||||||
m_cursorGrabAccumPos[0] = 0;
|
m_cursorGrabAccumPos[0] = 0;
|
||||||
m_cursorGrabAccumPos[1] = 0;
|
m_cursorGrabAccumPos[1] = 0;
|
||||||
@ -108,6 +109,8 @@ GHOST_TSuccess GHOST_Window::setCursorGrab(GHOST_TGrabCursorMode mode, GHOST_Rec
|
|||||||
m_cursorGrabBounds.m_l= m_cursorGrabBounds.m_r= -1;
|
m_cursorGrabBounds.m_l= m_cursorGrabBounds.m_r= -1;
|
||||||
else if (bounds) {
|
else if (bounds) {
|
||||||
m_cursorGrabBounds= *bounds;
|
m_cursorGrabBounds= *bounds;
|
||||||
|
} else { /* if bounds not defined, use window */
|
||||||
|
getClientBounds(m_cursorGrabBounds);
|
||||||
}
|
}
|
||||||
m_cursorGrab = mode;
|
m_cursorGrab = mode;
|
||||||
return GHOST_kSuccess;
|
return GHOST_kSuccess;
|
||||||
@ -154,6 +157,15 @@ GHOST_TSuccess GHOST_Window::setCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GHOST_Window::setAcceptDragOperation(bool canAccept)
|
||||||
|
{
|
||||||
|
m_canAcceptDragOperation = canAccept;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GHOST_Window::canAcceptDragOperation() const
|
||||||
|
{
|
||||||
|
return m_canAcceptDragOperation;
|
||||||
|
}
|
||||||
|
|
||||||
GHOST_TSuccess GHOST_Window::setModifiedState(bool isUnsavedChanges)
|
GHOST_TSuccess GHOST_Window::setModifiedState(bool isUnsavedChanges)
|
||||||
{
|
{
|
||||||
|
@ -183,6 +183,17 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual GHOST_TSuccess getCursorGrabBounds(GHOST_Rect& bounds);
|
virtual GHOST_TSuccess getCursorGrabBounds(GHOST_Rect& bounds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells if the ongoing drag'n'drop object can be accepted upon mouse drop
|
||||||
|
*/
|
||||||
|
virtual void setAcceptDragOperation(bool canAccept);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns acceptance of the dropped object
|
||||||
|
* Usually called by the "object dropped" event handling function
|
||||||
|
*/
|
||||||
|
virtual bool canAcceptDragOperation() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the window "modified" status, indicating unsaved changes
|
* Sets the window "modified" status, indicating unsaved changes
|
||||||
* @param isUnsavedChanges Unsaved changes or not
|
* @param isUnsavedChanges Unsaved changes or not
|
||||||
@ -294,6 +305,9 @@ protected:
|
|||||||
/** The current shape of the cursor */
|
/** The current shape of the cursor */
|
||||||
GHOST_TStandardCursor m_cursorShape;
|
GHOST_TStandardCursor m_cursorShape;
|
||||||
|
|
||||||
|
/** The acceptance of the "drop candidate" of the current drag'n'drop operation */
|
||||||
|
bool m_canAcceptDragOperation;
|
||||||
|
|
||||||
/** Modified state : are there unsaved changes */
|
/** Modified state : are there unsaved changes */
|
||||||
bool m_isUnsavedChanges;
|
bool m_isUnsavedChanges;
|
||||||
|
|
||||||
|
@ -40,6 +40,8 @@
|
|||||||
#include "GHOST_Window.h"
|
#include "GHOST_Window.h"
|
||||||
#include "STR_String.h"
|
#include "STR_String.h"
|
||||||
|
|
||||||
|
@class CocoaWindow;
|
||||||
|
|
||||||
class GHOST_SystemCocoa;
|
class GHOST_SystemCocoa;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -264,7 +266,7 @@ protected:
|
|||||||
virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY);
|
virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY);
|
||||||
|
|
||||||
/** The window containing the OpenGL view */
|
/** The window containing the OpenGL view */
|
||||||
NSWindow *m_window;
|
CocoaWindow *m_window;
|
||||||
|
|
||||||
/** The openGL view */
|
/** The openGL view */
|
||||||
NSOpenGLView *m_openGLView;
|
NSOpenGLView *m_openGLView;
|
||||||
|
@ -124,16 +124,91 @@ extern "C" {
|
|||||||
//We need to subclass it to tell that even borderless (fullscreen), it can become key (receive user events)
|
//We need to subclass it to tell that even borderless (fullscreen), it can become key (receive user events)
|
||||||
@interface CocoaWindow: NSWindow
|
@interface CocoaWindow: NSWindow
|
||||||
{
|
{
|
||||||
|
GHOST_SystemCocoa *systemCocoa;
|
||||||
|
GHOST_WindowCocoa *associatedWindow;
|
||||||
|
GHOST_TDragnDropTypes m_draggedObjectType;
|
||||||
}
|
}
|
||||||
|
- (void)setSystemAndWindowCocoa:(GHOST_SystemCocoa *)sysCocoa windowCocoa:(GHOST_WindowCocoa *)winCocoa;
|
||||||
@end
|
@end
|
||||||
@implementation CocoaWindow
|
@implementation CocoaWindow
|
||||||
|
- (void)setSystemAndWindowCocoa:(GHOST_SystemCocoa *)sysCocoa windowCocoa:(GHOST_WindowCocoa *)winCocoa
|
||||||
|
{
|
||||||
|
systemCocoa = sysCocoa;
|
||||||
|
associatedWindow = winCocoa;
|
||||||
|
}
|
||||||
|
|
||||||
-(BOOL)canBecomeKeyWindow
|
-(BOOL)canBecomeKeyWindow
|
||||||
{
|
{
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//The drag'n'drop dragging destination methods
|
||||||
|
- (NSDragOperation)draggingEntered:(id < NSDraggingInfo >)sender
|
||||||
|
{
|
||||||
|
NSPoint mouseLocation = [sender draggingLocation];
|
||||||
|
NSPasteboard *draggingPBoard = [sender draggingPasteboard];
|
||||||
|
|
||||||
|
if ([[draggingPBoard types] containsObject:NSTIFFPboardType]) m_draggedObjectType = GHOST_kDragnDropTypeBitmap;
|
||||||
|
else if ([[draggingPBoard types] containsObject:NSFilenamesPboardType]) m_draggedObjectType = GHOST_kDragnDropTypeFilenames;
|
||||||
|
else if ([[draggingPBoard types] containsObject:NSStringPboardType]) m_draggedObjectType = GHOST_kDragnDropTypeString;
|
||||||
|
else return NSDragOperationNone;
|
||||||
|
|
||||||
|
associatedWindow->setAcceptDragOperation(FALSE); //Drag operation needs to be accepted explicitly by the event manager
|
||||||
|
systemCocoa->handleDraggingEvent(GHOST_kEventDraggingEntered, m_draggedObjectType, associatedWindow, mouseLocation.x, mouseLocation.y, nil);
|
||||||
|
return NSDragOperationCopy;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)wantsPeriodicDraggingUpdates
|
||||||
|
{
|
||||||
|
return NO; //No need to overflow blender event queue. Events shall be sent only on changes
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender
|
||||||
|
{
|
||||||
|
NSPoint mouseLocation = [sender draggingLocation];
|
||||||
|
|
||||||
|
systemCocoa->handleDraggingEvent(GHOST_kEventDraggingUpdated, m_draggedObjectType, associatedWindow, mouseLocation.x, mouseLocation.y, nil);
|
||||||
|
return NSDragOperationCopy;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)draggingExited:(id < NSDraggingInfo >)sender
|
||||||
|
{
|
||||||
|
systemCocoa->handleDraggingEvent(GHOST_kEventDraggingExited, m_draggedObjectType, associatedWindow, 0, 0, nil);
|
||||||
|
m_draggedObjectType = GHOST_kDragnDropTypeUnknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)prepareForDragOperation:(id < NSDraggingInfo >)sender
|
||||||
|
{
|
||||||
|
if (associatedWindow->canAcceptDragOperation())
|
||||||
|
return YES;
|
||||||
|
else
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)performDragOperation:(id < NSDraggingInfo >)sender
|
||||||
|
{
|
||||||
|
NSPoint mouseLocation = [sender draggingLocation];
|
||||||
|
NSPasteboard *draggingPBoard = [sender draggingPasteboard];
|
||||||
|
id data;
|
||||||
|
|
||||||
|
switch (m_draggedObjectType) {
|
||||||
|
case GHOST_kDragnDropTypeBitmap:
|
||||||
|
data = [draggingPBoard dataForType:NSTIFFPboardType];
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeFilenames:
|
||||||
|
data = [draggingPBoard propertyListForType:NSFilenamesPboardType];
|
||||||
|
break;
|
||||||
|
case GHOST_kDragnDropTypeString:
|
||||||
|
data = [draggingPBoard stringForType:NSStringPboardType];
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return NO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
systemCocoa->handleDraggingEvent(GHOST_kEventDraggingDropDone, m_draggedObjectType, associatedWindow, mouseLocation.x, mouseLocation.y, (void*)data);
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
@ -207,6 +282,8 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[m_window setSystemAndWindowCocoa:systemCocoa windowCocoa:this];
|
||||||
|
|
||||||
//Forbid to resize the window below the blender defined minimum one
|
//Forbid to resize the window below the blender defined minimum one
|
||||||
minSize.width = 320;
|
minSize.width = 320;
|
||||||
minSize.height = 240;
|
minSize.height = 240;
|
||||||
@ -259,6 +336,9 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
|
|||||||
|
|
||||||
[m_window setAcceptsMouseMovedEvents:YES];
|
[m_window setAcceptsMouseMovedEvents:YES];
|
||||||
|
|
||||||
|
[m_window registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,
|
||||||
|
NSStringPboardType, NSTIFFPboardType, nil]];
|
||||||
|
|
||||||
if (state == GHOST_kWindowStateFullScreen)
|
if (state == GHOST_kWindowStateFullScreen)
|
||||||
setState(GHOST_kWindowStateFullScreen);
|
setState(GHOST_kWindowStateFullScreen);
|
||||||
|
|
||||||
@ -778,13 +858,16 @@ GHOST_TSuccess GHOST_WindowCocoa::installDrawingContext(GHOST_TDrawingContextTyp
|
|||||||
|
|
||||||
if (!s_firstOpenGLcontext) s_firstOpenGLcontext = tmpOpenGLContext;
|
if (!s_firstOpenGLcontext) s_firstOpenGLcontext = tmpOpenGLContext;
|
||||||
#ifdef WAIT_FOR_VSYNC
|
#ifdef WAIT_FOR_VSYNC
|
||||||
|
{
|
||||||
|
GLint swapInt = 1;
|
||||||
/* wait for vsync, to avoid tearing artifacts */
|
/* wait for vsync, to avoid tearing artifacts */
|
||||||
[tmpOpenGLContext setValues:1 forParameter:NSOpenGLCPSwapInterval];
|
[tmpOpenGLContext setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
[m_openGLView setOpenGLContext:tmpOpenGLContext];
|
[m_openGLView setOpenGLContext:tmpOpenGLContext];
|
||||||
[tmpOpenGLContext setView:m_openGLView];
|
[tmpOpenGLContext setView:m_openGLView];
|
||||||
|
|
||||||
m_openGLContext = tmpOpenGLContext;
|
m_openGLContext = tmpOpenGLContext;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GHOST_kDrawingContextTypeNone:
|
case GHOST_kDrawingContextTypeNone:
|
||||||
|
@ -364,6 +364,10 @@
|
|||||||
RelativePath="..\..\intern\GHOST_EventCursor.h"
|
RelativePath="..\..\intern\GHOST_EventCursor.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\intern\GHOST_EventDragnDrop.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\intern\GHOST_EventKey.h"
|
RelativePath="..\..\intern\GHOST_EventKey.h"
|
||||||
>
|
>
|
||||||
|
@ -73,6 +73,12 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
short MEM_freeN(void *vmemh);
|
short MEM_freeN(void *vmemh);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return zero if memory is not in allocated list
|
||||||
|
*/
|
||||||
|
short MEM_testN(void *vmemh);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Duplicates a block of memory, and returns a pointer to the
|
* Duplicates a block of memory, and returns a pointer to the
|
||||||
* newly allocated block. */
|
* newly allocated block. */
|
||||||
@ -102,6 +108,9 @@ extern "C" {
|
|||||||
* blocks. */
|
* blocks. */
|
||||||
void MEM_printmemlist(void);
|
void MEM_printmemlist(void);
|
||||||
|
|
||||||
|
/** calls the function on all allocated memory blocks. */
|
||||||
|
void MEM_callbackmemlist(void (*func)(void*));
|
||||||
|
|
||||||
/** Print statistics about memory usage */
|
/** Print statistics about memory usage */
|
||||||
void MEM_printmemlist_stats(void);
|
void MEM_printmemlist_stats(void);
|
||||||
|
|
||||||
|
@ -460,6 +460,47 @@ static void MEM_printmemlist_internal( int pydict )
|
|||||||
mem_unlock_thread();
|
mem_unlock_thread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MEM_callbackmemlist(void (*func)(void*)) {
|
||||||
|
MemHead *membl;
|
||||||
|
|
||||||
|
mem_lock_thread();
|
||||||
|
|
||||||
|
membl = membase->first;
|
||||||
|
if (membl) membl = MEMNEXT(membl);
|
||||||
|
|
||||||
|
while(membl) {
|
||||||
|
func(membl+1);
|
||||||
|
if(membl->next)
|
||||||
|
membl= MEMNEXT(membl->next);
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
|
||||||
|
mem_unlock_thread();
|
||||||
|
}
|
||||||
|
|
||||||
|
short MEM_testN(void *vmemh) {
|
||||||
|
MemHead *membl;
|
||||||
|
|
||||||
|
mem_lock_thread();
|
||||||
|
|
||||||
|
membl = membase->first;
|
||||||
|
if (membl) membl = MEMNEXT(membl);
|
||||||
|
|
||||||
|
while(membl) {
|
||||||
|
if (vmemh == membl+1)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
if(membl->next)
|
||||||
|
membl= MEMNEXT(membl->next);
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
|
||||||
|
mem_unlock_thread();
|
||||||
|
|
||||||
|
print_error("Memoryblock %p: pointer not in memlist\n", vmemh);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void MEM_printmemlist( void ) {
|
void MEM_printmemlist( void ) {
|
||||||
MEM_printmemlist_internal(0);
|
MEM_printmemlist_internal(0);
|
||||||
}
|
}
|
||||||
@ -500,7 +541,6 @@ short MEM_freeN(void *vmemh) /* anders compileertie niet meer */
|
|||||||
}
|
}
|
||||||
|
|
||||||
mem_lock_thread();
|
mem_lock_thread();
|
||||||
|
|
||||||
if ((memh->tag1 == MEMTAG1) && (memh->tag2 == MEMTAG2) && ((memh->len & 0x3) == 0)) {
|
if ((memh->tag1 == MEMTAG1) && (memh->tag2 == MEMTAG2) && ((memh->len & 0x3) == 0)) {
|
||||||
memt = (MemTail *)(((char *) memh) + sizeof(MemHead) + memh->len);
|
memt = (MemTail *)(((char *) memh) + sizeof(MemHead) + memh->len);
|
||||||
if (memt->tag3 == MEMTAG3){
|
if (memt->tag3 == MEMTAG3){
|
||||||
|
@ -387,6 +387,10 @@
|
|||||||
RelativePath="..\..\..\source\blender\python\generic\Geometry.c"
|
RelativePath="..\..\..\source\blender\python\generic\Geometry.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\python\generic\IDProp.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\python\generic\Mathutils.c"
|
RelativePath="..\..\..\source\blender\python\generic\Mathutils.c"
|
||||||
>
|
>
|
||||||
|
@ -157,13 +157,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blenderplayer", "..\gameeng
|
|||||||
{9C71A793-C177-4CAB-8EC5-923D500B39F8} = {9C71A793-C177-4CAB-8EC5-923D500B39F8}
|
{9C71A793-C177-4CAB-8EC5-923D500B39F8} = {9C71A793-C177-4CAB-8EC5-923D500B39F8}
|
||||||
{F90BD995-FFA4-4B18-81E8-FA4322C939E8} = {F90BD995-FFA4-4B18-81E8-FA4322C939E8}
|
{F90BD995-FFA4-4B18-81E8-FA4322C939E8} = {F90BD995-FFA4-4B18-81E8-FA4322C939E8}
|
||||||
{BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23} = {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}
|
{BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23} = {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}
|
||||||
{8154A59A-CAED-403D-AB94-BC4E7C032666} = {8154A59A-CAED-403D-AB94-BC4E7C032666}
|
|
||||||
{3648FB9A-C36F-43AB-AED0-1F1361E67FC7} = {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}
|
{3648FB9A-C36F-43AB-AED0-1F1361E67FC7} = {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}
|
||||||
{542A9FA1-B7FF-441C-AE15-054DB31D3488} = {542A9FA1-B7FF-441C-AE15-054DB31D3488}
|
{542A9FA1-B7FF-441C-AE15-054DB31D3488} = {542A9FA1-B7FF-441C-AE15-054DB31D3488}
|
||||||
{D8ABD6A5-1B36-4D62-934E-B5C6801130B0} = {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}
|
{D8ABD6A5-1B36-4D62-934E-B5C6801130B0} = {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}
|
||||||
{E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B} = {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}
|
{E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B} = {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}
|
||||||
{727F90AC-ABE6-40BF-8937-C2F2F1D13DEA} = {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}
|
{727F90AC-ABE6-40BF-8937-C2F2F1D13DEA} = {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}
|
||||||
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}
|
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}
|
||||||
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4} = {E8904FB3-F8F7-BC21-87A6-029A57B901F4}
|
||||||
{E90C7BC2-CF30-4A60-A8F2-0050D592E358} = {E90C7BC2-CF30-4A60-A8F2-0050D592E358}
|
{E90C7BC2-CF30-4A60-A8F2-0050D592E358} = {E90C7BC2-CF30-4A60-A8F2-0050D592E358}
|
||||||
{8B8D4FC3-3234-4E54-8376-5AB83D00D164} = {8B8D4FC3-3234-4E54-8376-5AB83D00D164}
|
{8B8D4FC3-3234-4E54-8376-5AB83D00D164} = {8B8D4FC3-3234-4E54-8376-5AB83D00D164}
|
||||||
{4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
|
{4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
|
||||||
@ -1097,6 +1097,7 @@ Global
|
|||||||
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
||||||
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
||||||
@ -1155,6 +1156,7 @@ Global
|
|||||||
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{A90C4918-4B21-4277-93BD-AF65F30951D9}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{A90C4918-4B21-4277-93BD-AF65F30951D9}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
||||||
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
{A90C4918-4B21-4277-93BD-AF65F30951D9}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
||||||
@ -1329,12 +1331,12 @@ Global
|
|||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Debug|Win32.ActiveCfg = BlenderPlayer Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Debug|Win32.Build.0 = Blender Debug|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Debug|Win32.Build.0 = BlenderPlayer Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Release|Win32.ActiveCfg = Blender Release|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Release|Win32.Build.0 = Blender Release|Win32
|
{884D8731-654C-4C7F-9A75-8F37A305BE1E}.Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.3D Plugin Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.3D Plugin Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
@ -1351,8 +1353,8 @@ Global
|
|||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Release|Win32.ActiveCfg = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Release|Win32.Build.0 = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Debug|Win32.Build.0 = Blender Debug|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Release|Win32.ActiveCfg = Blender Release|Win32
|
{FB88301F-F725-401B-ACD7-D2ABBF333B71}.Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
@ -1409,8 +1411,8 @@ Global
|
|||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Release|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Debug|Win32.Build.0 = Blender Release|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{7495FE37-933A-4AC1-BB2A-B3FDB4DE4284}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
@ -1431,8 +1433,8 @@ Global
|
|||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Release|Win32.ActiveCfg = Blender Debug|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Release|Win32.Build.0 = Blender Debug|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Debug|Win32.Build.0 = Blender Debug|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Release|Win32.ActiveCfg = Blender Release|Win32
|
{D1A9312F-4557-4982-A0F4-4D08508235F4}.Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
@ -1447,8 +1449,8 @@ Global
|
|||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Release|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Debug|Win32.Build.0 = Blender Release|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{59567A5B-F63A-4A5C-B33A-0A45C300F4DC}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
@ -1465,8 +1467,8 @@ Global
|
|||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Release|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Debug|Win32.Build.0 = Blender Release|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{9951A8C9-84FE-4CFE-9E18-9D01CB8E09F3}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
@ -1487,8 +1489,8 @@ Global
|
|||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Release|Win32.ActiveCfg = Blender Debug|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Release|Win32.Build.0 = Blender Debug|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
||||||
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Release|Win32.ActiveCfg = 3DPlugin Release|Win32
|
{E8904FB3-F8F7-BC21-87A6-029A57B901F4}.Release|Win32.ActiveCfg = 3DPlugin Release|Win32
|
||||||
@ -1507,8 +1509,8 @@ Global
|
|||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Release|Win32.ActiveCfg = Blender Debug|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Release|Win32.Build.0 = Blender Debug|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Debug|Win32.ActiveCfg = 3DPlugin Debug|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Debug|Win32.Build.0 = 3DPlugin Debug|Win32
|
||||||
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Release|Win32.ActiveCfg = 3DPlugin Release|Win32
|
{87032FD2-9BA0-6B43-BE33-8902BA8F9172}.Release|Win32.ActiveCfg = 3DPlugin Release|Win32
|
||||||
@ -1525,8 +1527,8 @@ Global
|
|||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Release|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Debug|Win32.Build.0 = Blender Release|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{79D0B232-208C-F208-DA71-79B4AC088602}.Debug|Win32.ActiveCfg = 3D Plugin Debug|Win32
|
{79D0B232-208C-F208-DA71-79B4AC088602}.Debug|Win32.ActiveCfg = 3D Plugin Debug|Win32
|
||||||
@ -1545,8 +1547,8 @@ Global
|
|||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Release|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Debug|Win32.Build.0 = Blender Release|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{8BFA4082-773B-D100-BC24-659083BA023F}.Debug|Win32.ActiveCfg = 3D Plugin Debug|Win32
|
{8BFA4082-773B-D100-BC24-659083BA023F}.Debug|Win32.ActiveCfg = 3D Plugin Debug|Win32
|
||||||
@ -1567,8 +1569,8 @@ Global
|
|||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Release|Win32.ActiveCfg = Blender Debug|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Release|Win32.Build.0 = Blender Debug|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Debug|Win32.Build.0 = Blender Debug|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Release|Win32.ActiveCfg = Blender Release|Win32
|
{37DB6A34-2E91-4ADB-BC1A-02F6D0A5E2F1}.Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
@ -1585,10 +1587,8 @@ Global
|
|||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Blender Release|Win32.Build.0 = Blender Release|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Release|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.BlenderPlayer Debug|Win32.Build.0 = Blender Release|Win32
|
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
|
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Debug|Win32.ActiveCfg = Blender Debug|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Debug|Win32.Build.0 = Blender Debug|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Debug|Win32.Build.0 = Blender Debug|Win32
|
||||||
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Release|Win32.ActiveCfg = Blender Release|Win32
|
{76D3102B-7DD2-8BA1-034A-8B19FE2897C2}.Release|Win32.ActiveCfg = Blender Release|Win32
|
||||||
|
@ -108,7 +108,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="ECHO Moving libraries and export definitions...
MOVE /Y ..\..\bin\blender.lib ..\..\..\build\msvc_9\libs
MOVE /Y ..\..\bin\blender.exp ..\..\..\build\msvc_9\libs
ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\lib\windows\python\lib\python31.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\release\python31.zip ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\release\zlib.pyd ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\openal\lib\wrap_oal.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\openal\lib\OpenAL32.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\gettext\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\sdl\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\tiff\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\sndfile\lib\*.dll ..\..\..\install\msvc_9
ECHO Copying language folder
IF NOT EXIST ..\..\..\install\msvc_9\.blender MKDIR ..\..\..\install\msvc_9\.blender
XCOPY /Y ..\..\bin\.blender ..\..\..\install\msvc_9\.blender /E
ECHO Copying python scripts
IF NOT EXIST ..\..\..\install\msvc_9\.blender\scripts MKDIR ..\..\..\install\msvc_9\.blender\scripts
XCOPY /Y ..\..\release\scripts ..\..\..\install\msvc_9\.blender\scripts /E
ECHO Copying python ui scripts
IF NOT EXIST ..\..\bin\.blender\ui MKDIR ..\..\..\install\msvc_9\.blender\ui
XCOPY /Y ..\..\release\ui ..\..\..\install\msvc_9\.blender\ui /E
ECHO Copying manuals/text
XCOPY/Y ..\..\release\text ..\..\..\install\msvc_9 /E
ECHO Done
"
|
CommandLine="ECHO Moving libraries and export definitions...
MOVE /Y ..\..\bin\blender.lib ..\..\..\build\msvc_9\libs
MOVE /Y ..\..\bin\blender.exp ..\..\..\build\msvc_9\libs
ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\lib\windows\python\lib\python31.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\release\python31.zip ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\zlib\lib\zlib.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\openal\lib\wrap_oal.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\openal\lib\OpenAL32.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\gettext\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\sdl\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\tiff\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\install\msvc_9
XCOPY /Y ..\..\..\lib\windows\sndfile\lib\*.dll ..\..\..\install\msvc_9
ECHO Copying language folder
IF NOT EXIST ..\..\..\install\msvc_9\.blender MKDIR ..\..\..\install\msvc_9\.blender
XCOPY /Y ..\..\bin\.blender ..\..\..\install\msvc_9\.blender /E
ECHO Copying python scripts
IF NOT EXIST ..\..\..\install\msvc_9\.blender\scripts MKDIR ..\..\..\install\msvc_9\.blender\scripts
XCOPY /Y ..\..\release\scripts ..\..\..\install\msvc_9\.blender\scripts /E
ECHO Copying python ui scripts
IF NOT EXIST ..\..\bin\.blender\ui MKDIR ..\..\..\install\msvc_9\.blender\ui
XCOPY /Y ..\..\release\ui ..\..\..\install\msvc_9\.blender\ui /E
ECHO Copying manuals/text
XCOPY/Y ..\..\release\text ..\..\..\install\msvc_9 /E
ECHO Done
"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@ -169,7 +169,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386
"
|
AdditionalOptions="/MACHINE:I386
"
|
||||||
AdditionalDependencies="libsamplerate.lib SDL.lib freetype2ST.lib gnu_gettext.lib qtmlClient.lib OpenAL32.lib wrap_oal.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libpng_st.lib zlib.lib python31_d.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib Half_d.lib Iex_d.lib Imath_d.lib IlmImf_d.lib IlmThread_d.lib avcodec-52.lib avformat-52.lib avdevice-52.lib avutil-50.lib swscale-0.lib libsndfile-1.lib OpenCOLLADABaseUtils.lib OpenCOLLADAFramework.lib OpenCOLLADAStreamWriter.lib OpenCOLLADASaxFrameworkLoader.lib pcre.lib UTF.lib GeneratedSaxParser.lib MathMLSolver.lib xml2.lib"
|
AdditionalDependencies="libsamplerate.lib SDL.lib freetype2ST.lib gnu_gettext.lib qtmlClient.lib OpenAL32.lib wrap_oal.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libpng_st.lib zlib.lib python31_d.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib Half_d.lib Iex_d.lib Imath_d.lib IlmImf_d.lib IlmThread_d.lib avcodec-52.lib avformat-52.lib avdevice-52.lib avutil-50.lib swscale-0.lib libsndfile-1.lib OpenCOLLADABaseUtils_d.lib OpenCOLLADAFramework_d.lib OpenCOLLADAStreamWriter_d.lib OpenCOLLADASaxFrameworkLoader_d.lib pcre_d.lib UTF_d.lib GeneratedSaxParser_d.lib MathMLSolver_d.lib xml2_d.lib"
|
||||||
ShowProgress="0"
|
ShowProgress="0"
|
||||||
OutputFile="..\..\..\install\msvc_9d\blender.exe"
|
OutputFile="..\..\..\install\msvc_9d\blender.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
@ -202,7 +202,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="ECHO Moving libraries and export definitions...
MOVE /Y ..\..\bin\debug\blender.lib ..\..\..\build\msvc_9\libs\debug
MOVE /Y ..\..\bin\debug\blender.exp ..\..\..\build\msvc_9\libs\debug
MOVE /Y ..\..\bin\debug\blender.ilk ..\..\..\build\msvc_9\libs\debug
ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\lib\windows\gettext\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\sdl\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\python\lib\python31_d.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\release\python31.zip ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\release\zlib.pyd ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\openal\lib\wrap_oal.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\openal\lib\OpenAL32.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\CRTL\lib\msvcrtd.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\tiff\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\sndfile\lib\*.dll ..\..\..\install\msvc_9d
ECHO Copying language folder
IF NOT EXIST ..\..\..\install\msvc_9d\.blender MKDIR ..\..\..\install\msvc_9d\.blender
XCOPY /Y ..\..\bin\.blender ..\..\..\install\msvc_9d\.blender /E
ECHO Copying python scripts
IF NOT EXIST ..\..\..\install\msvc_9d\.blender\scripts MKDIR ..\..\..\install\msvc_9d\.blender\scripts
XCOPY /Y ..\..\release\scripts ..\..\..\install\msvc_9d\.blender\scripts /E
ECHO Copying python ui scripts
IF NOT EXIST ..\..\..\install\msvc_9d\.blender\ui MKDIR ..\..\..\install\msvc_9d\.blender\ui
XCOPY /Y ..\..\release\ui ..\..\..\install\msvc_9d\.blender\ui /E
ECHO Copying manuals/text
XCOPY/Y ..\..\release\text ..\..\..\install\msvc_9d /E
ECHO Done
"
|
CommandLine="ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\lib\windows\gettext\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\sdl\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\python\lib\python31_d.dll ..\..\..\install\msvc_9d
COPY /Y ..\..\..\lib\windows\release\python31.zip ..\..\..\install\msvc_9d\python31_d.zip
XCOPY /Y ..\..\..\lib\windows\zlib\lib\zlib.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\openal\lib\wrap_oal.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\openal\lib\OpenAL32.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\CRTL\lib\msvcrtd.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\tiff\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\lib\windows\sndfile\lib\*.dll ..\..\..\install\msvc_9d
ECHO Copying language folder
IF NOT EXIST ..\..\..\install\msvc_9d\.blender MKDIR ..\..\..\install\msvc_9d\.blender
XCOPY /Y ..\..\bin\.blender ..\..\..\install\msvc_9d\.blender /E
ECHO Copying python scripts
IF NOT EXIST ..\..\..\install\msvc_9d\.blender\scripts MKDIR ..\..\..\install\msvc_9d\.blender\scripts
XCOPY /Y ..\..\release\scripts ..\..\..\install\msvc_9d\.blender\scripts /E
ECHO Copying python ui scripts
IF NOT EXIST ..\..\..\install\msvc_9d\.blender\ui MKDIR ..\..\..\install\msvc_9d\.blender\ui
XCOPY /Y ..\..\release\ui ..\..\..\install\msvc_9d\.blender\ui /E
ECHO Copying manuals/text
XCOPY/Y ..\..\release\text ..\..\..\install\msvc_9d /E
ECHO Done
"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_OPENEXR;WITH_DDS;WITH_BULLET;WITH_FFMPEG"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_OPENEXR;WITH_DDS;WITH_BULLET;WITH_FFMPEG;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -195,7 +195,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;UNWRAPPER;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;UNWRAPPER;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
@ -345,7 +345,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FFMPEG"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FFMPEG;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -420,7 +420,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\lib\windows\ffmpeg\include\msvc;..\..\..\..\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;..\..\..\extern\lzo\minilzo;..\..\..\extern\lzma;..\..\..\source\blender\blenfont;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;UNWRAPPER;WITH_FFMPEG"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;UNWRAPPER;WITH_FFMPEG;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
@ -479,10 +479,6 @@
|
|||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
>
|
>
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\source\blender\blenlib\intern\arithb.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\blenlib\intern\BLI_bfile.c"
|
RelativePath="..\..\..\source\blender\blenlib\intern\BLI_bfile.c"
|
||||||
>
|
>
|
||||||
@ -571,6 +567,34 @@
|
|||||||
RelativePath="..\..\..\source\blender\blenlib\intern\listbase.c"
|
RelativePath="..\..\..\source\blender\blenlib\intern\listbase.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_base.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_color.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_geom.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_matrix.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_rotation.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_vector.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\intern\math_vector_inline.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\blenlib\intern\noise.c"
|
RelativePath="..\..\..\source\blender\blenlib\intern\noise.c"
|
||||||
>
|
>
|
||||||
@ -620,10 +644,6 @@
|
|||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
Filter="h;hpp;hxx;hm;inl"
|
||||||
>
|
>
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\source\blender\blenlib\BLI_arithb.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\blenlib\BLI_bfile.h"
|
RelativePath="..\..\..\source\blender\blenlib\BLI_bfile.h"
|
||||||
>
|
>
|
||||||
@ -696,6 +716,34 @@
|
|||||||
RelativePath="..\..\..\source\blender\blenlib\BLI_linklist.h"
|
RelativePath="..\..\..\source\blender\blenlib\BLI_linklist.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math_base.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math_color.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math_geom.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math_matrix.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math_rotation.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\blenlib\BLI_math_vector.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\blenlib\BLI_memarena.h"
|
RelativePath="..\..\..\source\blender\blenlib\BLI_memarena.h"
|
||||||
>
|
>
|
||||||
|
@ -695,6 +695,10 @@
|
|||||||
RelativePath="..\..\..\source\blender\editors\space_node\drawnode.c"
|
RelativePath="..\..\..\source\blender\editors\space_node\drawnode.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\blender\editors\space_node\node_buttons.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\editors\space_node\node_draw.c"
|
RelativePath="..\..\..\source\blender\editors\space_node\node_draw.c"
|
||||||
>
|
>
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
||||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;DWORDS_LITTLEENDIAN;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="false"
|
DefaultCharIsUnsigned="false"
|
||||||
@ -195,7 +195,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;DWORDS_LITTLEENDIAN;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
@ -345,7 +345,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
||||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;DWORDS_LITTLEENDIAN;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="false"
|
DefaultCharIsUnsigned="false"
|
||||||
@ -420,7 +420,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
AdditionalIncludeDirectories="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\smoke\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;DWORDS_LITTLEENDIAN;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
@ -568,6 +568,22 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\imbuf\intern\openexr\openexr_api.cpp"
|
RelativePath="..\..\..\source\blender\imbuf\intern\openexr\openexr_api.cpp"
|
||||||
>
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="BlenderPlayer Debug|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="BlenderPlayer Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\blender\imbuf\intern\png.c"
|
RelativePath="..\..\..\source\blender\imbuf\intern\png.c"
|
||||||
|
@ -141,7 +141,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
|
PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE;GAMEBLENDER=1"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
@ -327,7 +327,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE"
|
PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;GAMEBLENDER=1"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -423,7 +423,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
||||||
PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE"
|
PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE;GAMEBLENDER=1"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -519,7 +519,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\editors\include;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\windowmanager;..\..\..\source\blender\imbuf"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
|
PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE;GAMEBLENDER=1"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\ikplugin;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\source\blender\render\extern\include"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\ikplugin;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\source\blender\render\extern\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;GAMEBLENDER=1"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -115,7 +115,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\ikplugin;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\source\blender\render\extern\include"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\ikplugin;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\source\blender\render\extern\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;GAMEBLENDER=1"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="false"
|
EnableFunctionLevelLinking="false"
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\blenloader;..\..\..\source\blender\gpu;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\kernel\gen_messaging;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\collada"
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\blenloader;..\..\..\source\blender\gpu;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\kernel\gen_messaging;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\collada"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;WITH_COLLADA"
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;WITH_COLLADA;GLEW_STATIC"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -114,7 +114,146 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\blenloader;..\..\..\source\blender\gpu;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\kernel\gen_messaging;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\collada"
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\blenloader;..\..\..\source\blender\gpu;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\kernel\gen_messaging;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\collada"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;WITH_COLLADA"
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;WITH_COLLADA;GLEW_STATIC"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
EnableFunctionLevelLinking="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\render\release\WM_windowmanager.pch"
|
||||||
|
AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\windowmanager\release\"
|
||||||
|
ObjectFile="..\..\..\..\build\msvc_9\source\blender\windowmanager\release\"
|
||||||
|
ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\windowmanager\release\"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="0"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="BlenderPlayer Debug|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="4"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\blenloader;..\..\..\source\blender\gpu;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\kernel\gen_messaging;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\collada"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;GLEW_STATIC"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\render\debug\WM_windowmanager.pch"
|
||||||
|
AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\windowmanager\debug\"
|
||||||
|
ObjectFile="..\..\..\..\build\msvc_9\source\blender\windowmanager\debug\"
|
||||||
|
ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\windowmanager\debug\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="0"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="BlenderPlayer Release|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="4"
|
||||||
|
CharacterSet="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
EnableIntrinsicFunctions="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\..\lib\windows\pthreads\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\blenloader;..\..\..\source\blender\gpu;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\kernel\gen_system;..\..\..\source\kernel\gen_messaging;..\..\..\source\blender\windowmanager;..\..\..\source\blender\editors\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\collada"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;GLEW_STATIC"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="false"
|
EnableFunctionLevelLinking="false"
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenloader;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\ketsji;..\..\..\source\gameengine\network;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Physics\Sumo;..\..\..\source\gameengine\Physics\common;..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenfont;..\..\..\intern\audaspace\intern"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenloader;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\ketsji;..\..\..\source\gameengine\network;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Physics\Sumo;..\..\..\source\gameengine\Physics\common;..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenfont;..\..\..\intern\audaspace\intern"
|
||||||
PreprocessorDefinitions="WIN32;_LIB;_DEBUG;WITH_GLEXT;WITH_FFMPEG"
|
PreprocessorDefinitions="WIN32;_LIB;_DEBUG;WITH_GLEXT;WITH_FFMPEG;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -121,7 +121,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenloader;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\ketsji;..\..\..\source\gameengine\network;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Physics\Sumo;..\..\..\source\gameengine\Physics\common;..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenfont;..\..\..\intern\audaspace\intern"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\blenloader;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\ketsji;..\..\..\source\gameengine\network;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Physics\Sumo;..\..\..\source\gameengine\Physics\common;..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\source\blender\gpu;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenfont;..\..\..\intern\audaspace\intern"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT;WITH_FFMPEG"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT;WITH_FFMPEG;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
BasicRuntimeChecks="0"
|
BasicRuntimeChecks="0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
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;..\..\..\source\blender\ikplugin"
|
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\blenloader;..\..\..\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;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
|
PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
@ -119,7 +119,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
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;..\..\..\source\blender\ikplugin"
|
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\blenloader;..\..\..\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;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
|
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@ -195,7 +195,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
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;..\..\..\source\blender\ikplugin"
|
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\blenloader;..\..\..\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;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
|
PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -270,7 +270,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
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;..\..\..\source\blender\ikplugin"
|
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\blenloader;..\..\..\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;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
|
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
@ -346,7 +346,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
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;..\..\..\source\blender\ikplugin"
|
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\blenloader;..\..\..\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;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
|
PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -421,7 +421,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
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;..\..\..\source\blender\ikplugin"
|
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\blenloader;..\..\..\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;..\..\..\source\blender\ikplugin"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
|
PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@ -525,10 +525,6 @@
|
|||||||
RelativePath="..\..\..\source\gameengine\Converter\BL_SkinDeformer.cpp"
|
RelativePath="..\..\..\source\gameengine\Converter\BL_SkinDeformer.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\source\gameengine\Converter\BL_SkinMeshObject.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\gameengine\Converter\BlenderWorldInfo.cpp"
|
RelativePath="..\..\..\source\gameengine\Converter\BlenderWorldInfo.cpp"
|
||||||
>
|
>
|
||||||
@ -561,6 +557,10 @@
|
|||||||
RelativePath="..\..\..\source\gameengine\Converter\KX_IpoConvert.cpp"
|
RelativePath="..\..\..\source\gameengine\Converter\KX_IpoConvert.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\gameengine\Converter\KX_SoftBodyDeformer.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
@ -614,10 +614,6 @@
|
|||||||
RelativePath="..\..\..\source\gameengine\Converter\BL_SkinDeformer.h"
|
RelativePath="..\..\..\source\gameengine\Converter\BL_SkinDeformer.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\source\gameengine\Converter\BL_SkinMeshObject.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\source\gameengine\Converter\BlenderWorldInfo.h"
|
RelativePath="..\..\..\source\gameengine\Converter\BlenderWorldInfo.h"
|
||||||
>
|
>
|
||||||
@ -650,6 +646,10 @@
|
|||||||
RelativePath="..\..\..\source\gameengine\Converter\KX_IpoConvert.h"
|
RelativePath="..\..\..\source\gameengine\Converter\KX_IpoConvert.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\source\gameengine\Converter\KX_SoftBodyDeformer.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
|
@ -342,10 +342,6 @@
|
|||||||
RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_MouseDevice.cpp"
|
RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_MouseDevice.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_PolygonMaterial.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RawImage.cpp"
|
RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RawImage.cpp"
|
||||||
>
|
>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\source\blender\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\readblenfile;..\..\..\..\source\blender\render\extern\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Physics;..\..\..\..\source\gameengine\network;..\..\..\..\source\gameengine\rasterizer;..\..\..\..\source\gameengine\converter;..\..\..\..\source\gameengine\gamelogic;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\scenegraph;..\..\..\..\source\gameengine\Physics\Ode;..\..\..\..\source\gameengine\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\gameplayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\gameplayer\common\windows;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include"
|
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\source\blender\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\makesrna;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\readblenfile;..\..\..\..\source\blender\render\extern\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Physics;..\..\..\..\source\gameengine\network;..\..\..\..\source\gameengine\rasterizer;..\..\..\..\source\gameengine\converter;..\..\..\..\source\gameengine\gamelogic;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\scenegraph;..\..\..\..\source\gameengine\Physics\Ode;..\..\..\..\source\gameengine\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\gameplayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\gameplayer\common\windows;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include"
|
||||||
PreprocessorDefinitions="WIN32,_CONSOLE,dSINGLE, _DEBUG;WITH_FFMPEG"
|
PreprocessorDefinitions="WIN32,_CONSOLE,dSINGLE, _DEBUG;WITH_FFMPEG"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -72,12 +72,12 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386
"
|
AdditionalOptions="/MACHINE:I386
"
|
||||||
AdditionalDependencies="ws2_32.lib vfw32.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib OpenAL32.lib wrap_oal.lib libjpeg.lib dxguid.lib libeay32.lib libpng.lib libz.lib qtmlClient.lib SDL.lib freetype2ST.lib python31_d.lib pthreadVSE2.lib pthreadVC2.lib Half_d.lib Iex_d.lib IlmImf_d.lib IlmThread_d.lib Imath_d.lib avcodec-52.lib avformat-52.lib avutil-50.lib swscale-0.lib avdevice-52.lib"
|
AdditionalDependencies="libsamplerate.lib ws2_32.lib vfw32.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib OpenAL32.lib wrap_oal.lib libjpeg.lib dxguid.lib libeay32.lib libpng_st.lib libz.lib qtmlClient.lib SDL.lib freetype2ST.lib python31_d.lib pthreadVSE2.lib pthreadVC2.lib Half_d.lib Iex_d.lib IlmImf_d.lib IlmThread_d.lib Imath_d.lib avcodec-52.lib avformat-52.lib avutil-50.lib swscale-0.lib avdevice-52.lib"
|
||||||
ShowProgress="0"
|
ShowProgress="0"
|
||||||
OutputFile="..\..\..\..\bin\debug\blenderplayer.exe"
|
OutputFile="..\..\..\..\..\install\msvc_9d\blenderplayer.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
AdditionalLibraryDirectories="..\..\..\..\..\lib\windows\sdl\lib;..\..\..\..\..\lib\windows\zlib\lib;..\..\..\..\..\lib\windows\ode\lib;..\..\..\..\..\lib\windows\png\lib;..\..\..\..\..\lib\windows\jpeg\lib;..\..\..\..\..\lib\windows\fmod\lib;..\..\..\..\..\lib\windows\openal\lib;..\..\..\..\..\lib\windows\freetype\lib;..\..\..\..\..\lib\windows\openexr\lib_vs2008;..\..\..\..\..\lib\windows\python\lib;..\..\..\..\..\lib\windows\openssl\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\ffmpeg\lib"
|
AdditionalLibraryDirectories="..\..\..\..\..\lib\windows\sdl\lib;..\..\..\..\..\lib\windows\zlib\lib;..\..\..\..\..\lib\windows\ode\lib;..\..\..\..\..\lib\windows\png\lib;..\..\..\..\..\lib\windows\jpeg\lib;..\..\..\..\..\lib\windows\fmod\lib;..\..\..\..\..\lib\windows\openal\lib;..\..\..\..\..\lib\windows\freetype\lib;..\..\..\..\..\lib\windows\openexr\lib_vs2008;..\..\..\..\..\lib\windows\python\lib;..\..\..\..\..\lib\windows\openssl\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\ffmpeg\lib;..\..\..\..\..\lib\windows\samplerate\lib"
|
||||||
IgnoreDefaultLibraryNames="libc.lib;libcmt.lib;msvcrt.lib;libcd.lib;msvcrtd.lib"
|
IgnoreDefaultLibraryNames="libc.lib;libcmt.lib;msvcrt.lib;libcd.lib;msvcrtd.lib"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\debug\blenderplayer.pdb"
|
ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\debug\blenderplayer.pdb"
|
||||||
@ -105,7 +105,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="ECHO Moving libraries and export definitions...
MOVE /Y ..\..\..\..\bin\debug\blenderplayer.lib ..\..\..\..\..\build\msvc_9\libs\debug
MOVE /Y ..\..\..\..\bin\debug\blenderplayer.exp ..\..\..\..\..\build\msvc_9\libs\debug
MOVE /Y ..\..\..\..\bin\debug\blenderplayer.ilk ..\..\..\..\..\build\msvc_9\libs\debug
ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\..\..\lib\windows\python\lib\python31_d.dll ..\..\..\..\bin\debug
XCOPY /Y ..\..\..\..\..\lib\windows\sdl\lib\SDL.dll ..\..\..\..\bin\debug
XCOPY /Y ..\..\..\..\..\lib\windows\png\lib\libpng.dll ..\..\..\..\bin\debug
XCOPY /Y ..\..\..\..\..\lib\windows\zlib\lib\zlib.dll ..\..\..\..\bin\debug
XCOPY /Y ..\..\..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\..\bin\debug
XCOPY /Y ..\..\..\..\..\lib\windows\CRTL\lib\msvcrtd.dll ..\..\..\..\bin\debug
ECHO Done
"
|
CommandLine="ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\..\..\lib\windows\gettext\lib\*.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\sdl\lib\*.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\python\lib\python31_d.dll ..\..\..\..\..\install\msvc_9d
COPY /Y ..\..\..\..\..\lib\windows\release\python31.zip ..\..\..\..\..\install\msvc_9d\python31_d.zip
XCOPY /Y ..\..\..\..\..\lib\windows\zlib\lib\zlib.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\openal\lib\wrap_oal.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\openal\lib\OpenAL32.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\CRTL\lib\msvcrtd.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\tiff\lib\*.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\..\..\install\msvc_9d
XCOPY /Y ..\..\..\..\..\lib\windows\sndfile\lib\*.dll ..\..\..\..\..\install\msvc_9d
"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@ -138,7 +138,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\source\blender\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\readblenfile;..\..\..\..\source\blender\render\extern\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Physics;..\..\..\..\source\gameengine\network;..\..\..\..\source\gameengine\rasterizer;..\..\..\..\source\gameengine\converter;..\..\..\..\source\gameengine\gamelogic;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\scenegraph;..\..\..\..\source\gameengine\Physics\Ode;..\..\..\..\source\gameengine\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\gameplayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\gameplayer\common\windows;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include"
|
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\..\lib\windows\python\include\python3.1;..\..\..\..\source\blender\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\makesrna;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\readblenfile;..\..\..\..\source\blender\render\extern\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Physics;..\..\..\..\source\gameengine\network;..\..\..\..\source\gameengine\rasterizer;..\..\..\..\source\gameengine\converter;..\..\..\..\source\gameengine\gamelogic;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\scenegraph;..\..\..\..\source\gameengine\Physics\Ode;..\..\..\..\source\gameengine\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\gameplayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\gameplayer\common\windows;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include"
|
||||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE;WITH_FFMPEG"
|
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE;WITH_FFMPEG"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@ -167,11 +167,11 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386"
|
AdditionalOptions="/MACHINE:I386"
|
||||||
AdditionalDependencies="odelib.lib ws2_32.lib vfw32.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib OpenAL32.lib wrap_oal.lib libjpeg.lib dxguid.lib libeay32.lib libpng.lib libz.lib qtmlClient.lib SDL.lib freetype2ST.lib python31.lib pthreadVSE2.lib pthreadVC2.lib Half.lib Iex.lib IlmImf.lib IlmThread.lib Imath.lib avcodec-52.lib avformat-52.lib avutil-50.lib swscale-0.lib avdevice-52.lib"
|
AdditionalDependencies="libsamplerate.lib odelib.lib ws2_32.lib vfw32.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib OpenAL32.lib wrap_oal.lib libjpeg.lib dxguid.lib libeay32.lib libpng_st.lib libz.lib qtmlClient.lib SDL.lib freetype2ST.lib python31.lib pthreadVSE2.lib pthreadVC2.lib Half.lib Iex.lib IlmImf.lib IlmThread.lib Imath.lib avcodec-52.lib avformat-52.lib avutil-50.lib swscale-0.lib avdevice-52.lib"
|
||||||
OutputFile="..\..\..\..\bin\blenderplayer.exe"
|
OutputFile="..\..\..\..\..\install\msvc_9\blenderplayer.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
AdditionalLibraryDirectories="..\..\..\..\..\lib\windows\sdl\lib;..\..\..\..\..\lib\windows\zlib\lib;..\..\..\..\..\lib\windows\ode\lib;..\..\..\..\..\lib\windows\png\lib;..\..\..\..\..\lib\windows\jpeg\lib;..\..\..\..\..\lib\windows\fmod\lib;..\..\..\..\..\lib\windows\openal\lib;..\..\..\..\..\lib\windows\freetype\lib;..\..\..\..\..\lib\windows\openexr\lib_vs2008;..\..\..\..\..\lib\windows\python\lib;..\..\..\..\..\lib\windows\openssl\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\ffmpeg\lib"
|
AdditionalLibraryDirectories="..\..\..\..\..\lib\windows\sdl\lib;..\..\..\..\..\lib\windows\zlib\lib;..\..\..\..\..\lib\windows\ode\lib;..\..\..\..\..\lib\windows\png\lib;..\..\..\..\..\lib\windows\jpeg\lib;..\..\..\..\..\lib\windows\fmod\lib;..\..\..\..\..\lib\windows\openal\lib;..\..\..\..\..\lib\windows\freetype\lib;..\..\..\..\..\lib\windows\openexr\lib_vs2008;..\..\..\..\..\lib\windows\python\lib;..\..\..\..\..\lib\windows\openssl\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\ffmpeg\lib;..\..\..\..\..\lib\windows\samplerate\lib"
|
||||||
IgnoreDefaultLibraryNames="libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib"
|
IgnoreDefaultLibraryNames="libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\blenderplayer.pdb"
|
ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\blenderplayer.pdb"
|
||||||
@ -199,7 +199,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
CommandLine="ECHO Moving libraries and export definitions...
MOVE /Y ..\..\..\..\bin\blenderplayer.lib ..\..\..\..\..\build\msvc_9\libs
MOVE /Y ..\..\..\..\bin\blenderplayer.exp ..\..\..\..\..\build\msvc_9\libs
ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\..\..\lib\windows\python\lib\python31.dll ..\..\..\..\bin
XCOPY /Y ..\..\..\..\..\lib\windows\sdl\lib\SDL.dll ..\..\..\..\bin
XCOPY /Y ..\..\..\..\..\lib\windows\png\lib\libpng.dll ..\..\..\..\bin
XCOPY /Y ..\..\..\..\..\lib\windows\zlib\lib\zlib.dll ..\..\..\..\bin
XCOPY /Y ..\..\..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\..\bin
ECHO Done
"
|
CommandLine="ECHO Copying required 3rd party dlls...
XCOPY /Y ..\..\..\..\..\lib\windows\gettext\lib\*.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\sdl\lib\*.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\python\lib\python31.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\release\python31.zip ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\zlib\lib\zlib.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\openal\lib\wrap_oal.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\openal\lib\OpenAL32.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\tiff\lib\*.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\..\..\..\install\msvc_9
XCOPY /Y ..\..\..\..\..\lib\windows\sndfile\lib\*.dll ..\..\..\..\..\install\msvc_9
ECHO Done
"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
@ -234,6 +234,10 @@
|
|||||||
RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_System.cpp"
|
RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_System.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\..\source\blenderplayer\bad_level_call_stubs\stubs.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\..\source\icons\winplayer.rc"
|
RelativePath="..\..\..\..\source\icons\winplayer.rc"
|
||||||
>
|
>
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
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"
|
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\blenloader;..\..\..\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"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
@ -119,7 +119,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
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"
|
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\blenloader;..\..\..\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"
|
||||||
PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID"
|
PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
@ -194,8 +194,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
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"
|
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\blenloader;..\..\..\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"
|
||||||
PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT"
|
PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -271,8 +271,8 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
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"
|
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\blenloader;..\..\..\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"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
@ -347,8 +347,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
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"
|
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\blenloader;..\..\..\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"
|
||||||
PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT"
|
PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -423,8 +423,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
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"
|
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\blenloader;..\..\..\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"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
@ -43,8 +43,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -118,7 +118,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
||||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
@ -194,8 +194,8 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
@ -269,7 +269,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
||||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
@ -344,8 +344,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -419,8 +419,8 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\SceneGraph;..\..\..\..\lib\windows\python\include\python3.1;..\..\..\source\blender\makesdna"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -270,7 +270,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
@ -345,7 +345,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
DefaultCharIsUnsigned="true"
|
DefaultCharIsUnsigned="true"
|
||||||
@ -420,7 +420,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\source\gameengine\SceneGraph;..\..\..\..\source\blender\gpu;..\..\..\..\source\gameengine\Ketsji;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenlib"
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
|
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT;GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
|
@ -1 +1 @@
|
|||||||
2.5-devel
|
2.5-alpha0
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 204 KiB |
Binary file not shown.
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 198 KiB |
@ -285,7 +285,7 @@ def write_pov(filename, scene=None, info_callback = None):
|
|||||||
for ob in sel:
|
for ob in sel:
|
||||||
ob_num+= 1
|
ob_num+= 1
|
||||||
|
|
||||||
if ob.type in ('LAMP', 'CAMERA', 'EMPTY', 'META'):
|
if ob.type in ('LAMP', 'CAMERA', 'EMPTY', 'META', 'ARMATURE'):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
me = ob.data
|
me = ob.data
|
||||||
@ -722,26 +722,26 @@ class PovrayRender(bpy.types.RenderEngine):
|
|||||||
def _export(self, scene):
|
def _export(self, scene):
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
self.temp_file_in = tempfile.mktemp(suffix='.pov')
|
self._temp_file_in = tempfile.mktemp(suffix='.pov')
|
||||||
self.temp_file_out = tempfile.mktemp(suffix='.tga')
|
self._temp_file_out = tempfile.mktemp(suffix='.tga')
|
||||||
self.temp_file_ini = tempfile.mktemp(suffix='.ini')
|
self._temp_file_ini = tempfile.mktemp(suffix='.ini')
|
||||||
'''
|
'''
|
||||||
self.temp_file_in = '/test.pov'
|
self._temp_file_in = '/test.pov'
|
||||||
self.temp_file_out = '/test.tga'
|
self._temp_file_out = '/test.tga'
|
||||||
self.temp_file_ini = '/test.ini'
|
self._temp_file_ini = '/test.ini'
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def info_callback(txt):
|
def info_callback(txt):
|
||||||
self.update_stats("", "POVRAY: " + txt)
|
self.update_stats("", "POVRAY: " + txt)
|
||||||
|
|
||||||
write_pov(self.temp_file_in, scene, info_callback)
|
write_pov(self._temp_file_in, scene, info_callback)
|
||||||
|
|
||||||
def _render(self):
|
def _render(self):
|
||||||
|
|
||||||
try: os.remove(self.temp_file_out) # so as not to load the old file
|
try: os.remove(self._temp_file_out) # so as not to load the old file
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
write_pov_ini(self.temp_file_ini, self.temp_file_in, self.temp_file_out)
|
write_pov_ini(self._temp_file_ini, self._temp_file_in, self._temp_file_out)
|
||||||
|
|
||||||
print ("***-STARTING-***")
|
print ("***-STARTING-***")
|
||||||
|
|
||||||
@ -757,15 +757,15 @@ class PovrayRender(bpy.types.RenderEngine):
|
|||||||
pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine'
|
pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine'
|
||||||
|
|
||||||
if 1:
|
if 1:
|
||||||
self.process = subprocess.Popen([pov_binary, self.temp_file_ini]) # stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
self._process = subprocess.Popen([pov_binary, self._temp_file_ini]) # stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||||
else:
|
else:
|
||||||
# This works too but means we have to wait until its done
|
# This works too but means we have to wait until its done
|
||||||
os.system('%s %s' % (pov_binary, self.temp_file_ini))
|
os.system('%s %s' % (pov_binary, self._temp_file_ini))
|
||||||
|
|
||||||
print ("***-DONE-***")
|
print ("***-DONE-***")
|
||||||
|
|
||||||
def _cleanup(self):
|
def _cleanup(self):
|
||||||
for f in (self.temp_file_in, self.temp_file_ini, self.temp_file_out):
|
for f in (self._temp_file_in, self._temp_file_ini, self._temp_file_out):
|
||||||
try: os.remove(f)
|
try: os.remove(f)
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
@ -785,19 +785,19 @@ class PovrayRender(bpy.types.RenderEngine):
|
|||||||
y= int(r.resolution_y*r.resolution_percentage*0.01)
|
y= int(r.resolution_y*r.resolution_percentage*0.01)
|
||||||
|
|
||||||
# Wait for the file to be created
|
# Wait for the file to be created
|
||||||
while not os.path.exists(self.temp_file_out):
|
while not os.path.exists(self._temp_file_out):
|
||||||
if self.test_break():
|
if self.test_break():
|
||||||
try: self.process.terminate()
|
try: self._process.terminate()
|
||||||
except: pass
|
except: pass
|
||||||
break
|
break
|
||||||
|
|
||||||
if self.process.poll() != None:
|
if self._process.poll() != None:
|
||||||
self.update_stats("", "POVRAY: Failed")
|
self.update_stats("", "POVRAY: Failed")
|
||||||
break
|
break
|
||||||
|
|
||||||
time.sleep(self.DELAY)
|
time.sleep(self.DELAY)
|
||||||
|
|
||||||
if os.path.exists(self.temp_file_out):
|
if os.path.exists(self._temp_file_out):
|
||||||
|
|
||||||
self.update_stats("", "POVRAY: Rendering")
|
self.update_stats("", "POVRAY: Rendering")
|
||||||
|
|
||||||
@ -807,7 +807,7 @@ class PovrayRender(bpy.types.RenderEngine):
|
|||||||
result = self.begin_result(0, 0, x, y)
|
result = self.begin_result(0, 0, x, y)
|
||||||
lay = result.layers[0]
|
lay = result.layers[0]
|
||||||
# possible the image wont load early on.
|
# possible the image wont load early on.
|
||||||
try: lay.load_from_file(self.temp_file_out)
|
try: lay.load_from_file(self._temp_file_out)
|
||||||
except: pass
|
except: pass
|
||||||
self.end_result(result)
|
self.end_result(result)
|
||||||
|
|
||||||
@ -815,23 +815,23 @@ class PovrayRender(bpy.types.RenderEngine):
|
|||||||
while True:
|
while True:
|
||||||
|
|
||||||
# test if povray exists
|
# test if povray exists
|
||||||
if self.process.poll() != None:
|
if self._process.poll() != None:
|
||||||
update_image();
|
update_image();
|
||||||
break
|
break
|
||||||
|
|
||||||
# user exit
|
# user exit
|
||||||
if self.test_break():
|
if self.test_break():
|
||||||
try: self.process.terminate()
|
try: self._process.terminate()
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
break
|
break
|
||||||
|
|
||||||
# Would be nice to redirect the output
|
# Would be nice to redirect the output
|
||||||
# stdout_value, stderr_value = self.process.communicate() # locks
|
# stdout_value, stderr_value = self._process.communicate() # locks
|
||||||
|
|
||||||
|
|
||||||
# check if the file updated
|
# check if the file updated
|
||||||
new_size = os.path.getsize(self.temp_file_out)
|
new_size = os.path.getsize(self._temp_file_out)
|
||||||
|
|
||||||
if new_size != prev_size:
|
if new_size != prev_size:
|
||||||
update_image()
|
update_image()
|
||||||
@ -884,7 +884,7 @@ class RENDER_PT_povray_radiosity(RenderButtonsPanel):
|
|||||||
def draw_header(self, context):
|
def draw_header(self, context):
|
||||||
scene = context.scene
|
scene = context.scene
|
||||||
|
|
||||||
self.layout.itemR(scene, "pov_radio_enable", text="")
|
self.layout.prop(scene, "pov_radio_enable", text="")
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
@ -897,34 +897,34 @@ class RENDER_PT_povray_radiosity(RenderButtonsPanel):
|
|||||||
split = layout.split()
|
split = layout.split()
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemR(scene, "pov_radio_count", text="Rays")
|
col.prop(scene, "pov_radio_count", text="Rays")
|
||||||
col.itemR(scene, "pov_radio_recursion_limit", text="Recursions")
|
col.prop(scene, "pov_radio_recursion_limit", text="Recursions")
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemR(scene, "pov_radio_error_bound", text="Error")
|
col.prop(scene, "pov_radio_error_bound", text="Error")
|
||||||
|
|
||||||
layout.itemR(scene, "pov_radio_display_advanced")
|
layout.prop(scene, "pov_radio_display_advanced")
|
||||||
|
|
||||||
if scene.pov_radio_display_advanced:
|
if scene.pov_radio_display_advanced:
|
||||||
split = layout.split()
|
split = layout.split()
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemR(scene, "pov_radio_adc_bailout", slider=True)
|
col.prop(scene, "pov_radio_adc_bailout", slider=True)
|
||||||
col.itemR(scene, "pov_radio_gray_threshold", slider=True)
|
col.prop(scene, "pov_radio_gray_threshold", slider=True)
|
||||||
col.itemR(scene, "pov_radio_low_error_factor", slider=True)
|
col.prop(scene, "pov_radio_low_error_factor", slider=True)
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemR(scene, "pov_radio_brightness")
|
col.prop(scene, "pov_radio_brightness")
|
||||||
col.itemR(scene, "pov_radio_minimum_reuse", text="Min Reuse")
|
col.prop(scene, "pov_radio_minimum_reuse", text="Min Reuse")
|
||||||
col.itemR(scene, "pov_radio_nearest_count")
|
col.prop(scene, "pov_radio_nearest_count")
|
||||||
|
|
||||||
split = layout.split()
|
split = layout.split()
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemL(text="Estimation Influence:")
|
col.label(text="Estimation Influence:")
|
||||||
col.itemR(scene, "pov_radio_media")
|
col.prop(scene, "pov_radio_media")
|
||||||
col.itemR(scene, "pov_radio_normal")
|
col.prop(scene, "pov_radio_normal")
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemR(scene, "pov_radio_always_sample")
|
col.prop(scene, "pov_radio_always_sample")
|
||||||
|
|
||||||
bpy.types.register(RENDER_PT_povray_radiosity)
|
bpy.types.register(RENDER_PT_povray_radiosity)
|
||||||
|
@ -1123,7 +1123,7 @@ class Export3DS(bpy.types.Operator):
|
|||||||
|
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
save_3ds(self.path, context)
|
save_3ds(self.properties.path, context)
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
@ -1132,7 +1132,6 @@ class Export3DS(bpy.types.Operator):
|
|||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
def poll(self, context): # Poll isnt working yet
|
def poll(self, context): # Poll isnt working yet
|
||||||
print("Poll")
|
|
||||||
return context.active_object != None
|
return context.active_object != None
|
||||||
|
|
||||||
bpy.ops.add(Export3DS)
|
bpy.ops.add(Export3DS)
|
||||||
@ -1142,6 +1141,6 @@ import dynamic_menu
|
|||||||
|
|
||||||
def menu_func(self, context):
|
def menu_func(self, context):
|
||||||
default_path = bpy.data.filename.replace(".blend", ".3ds")
|
default_path = bpy.data.filename.replace(".blend", ".3ds")
|
||||||
self.layout.item_stringO(Export3DS.bl_idname, "path", default_path, text="Autodesk 3DS...")
|
self.layout.operator(Export3DS.bl_idname, text="Autodesk 3DS...").path = default_path
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
||||||
|
@ -498,8 +498,7 @@ def write(filename, batch_objects = None, \
|
|||||||
# not public
|
# not public
|
||||||
pose = fbxArm.blenObject.pose
|
pose = fbxArm.blenObject.pose
|
||||||
# pose = fbxArm.blenObject.getPose()
|
# pose = fbxArm.blenObject.getPose()
|
||||||
self.__pose_bone = pose.pose_channels[self.blenName]
|
self.__pose_bone = pose.bones[self.blenName]
|
||||||
# self.__pose_bone = pose.bones[self.blenName]
|
|
||||||
|
|
||||||
# store a list if matricies here, (poseMatrix, head, tail)
|
# store a list if matricies here, (poseMatrix, head, tail)
|
||||||
# {frame:posematrix, frame:posematrix, ...}
|
# {frame:posematrix, frame:posematrix, ...}
|
||||||
@ -3394,36 +3393,36 @@ class ExportFBX(bpy.types.Operator):
|
|||||||
return context.active_object != None
|
return context.active_object != None
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
if not self.path:
|
if not self.properties.path:
|
||||||
raise Exception("path not set")
|
raise Exception("path not set")
|
||||||
|
|
||||||
GLOBAL_MATRIX = mtx4_identity
|
GLOBAL_MATRIX = mtx4_identity
|
||||||
GLOBAL_MATRIX[0][0] = GLOBAL_MATRIX[1][1] = GLOBAL_MATRIX[2][2] = self._SCALE
|
GLOBAL_MATRIX[0][0] = GLOBAL_MATRIX[1][1] = GLOBAL_MATRIX[2][2] = self.properties._SCALE
|
||||||
if self._XROT90: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_x90n
|
if self.properties._XROT90: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_x90n
|
||||||
if self._YROT90: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_y90n
|
if self.properties._YROT90: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_y90n
|
||||||
if self._ZROT90: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_z90n
|
if self.properties._ZROT90: GLOBAL_MATRIX = GLOBAL_MATRIX * mtx4_z90n
|
||||||
|
|
||||||
write(self.path,
|
write(self.properties.path,
|
||||||
None, # XXX
|
None, # XXX
|
||||||
context,
|
context,
|
||||||
self.EXP_OBS_SELECTED,
|
self.properties.EXP_OBS_SELECTED,
|
||||||
self.EXP_MESH,
|
self.properties.EXP_MESH,
|
||||||
self.EXP_MESH_APPLY_MOD,
|
self.properties.EXP_MESH_APPLY_MOD,
|
||||||
# self.EXP_MESH_HQ_NORMALS,
|
# self.properties.EXP_MESH_HQ_NORMALS,
|
||||||
self.EXP_ARMATURE,
|
self.properties.EXP_ARMATURE,
|
||||||
self.EXP_LAMP,
|
self.properties.EXP_LAMP,
|
||||||
self.EXP_CAMERA,
|
self.properties.EXP_CAMERA,
|
||||||
self.EXP_EMPTY,
|
self.properties.EXP_EMPTY,
|
||||||
self.EXP_IMAGE_COPY,
|
self.properties.EXP_IMAGE_COPY,
|
||||||
GLOBAL_MATRIX,
|
GLOBAL_MATRIX,
|
||||||
self.ANIM_ENABLE,
|
self.properties.ANIM_ENABLE,
|
||||||
self.ANIM_OPTIMIZE,
|
self.properties.ANIM_OPTIMIZE,
|
||||||
self.ANIM_OPTIMIZE_PRECISSION,
|
self.properties.ANIM_OPTIMIZE_PRECISSION,
|
||||||
self.ANIM_ACTION_ALL,
|
self.properties.ANIM_ACTION_ALL,
|
||||||
self.BATCH_ENABLE,
|
self.properties.BATCH_ENABLE,
|
||||||
self.BATCH_GROUP,
|
self.properties.BATCH_GROUP,
|
||||||
self.BATCH_FILE_PREFIX,
|
self.properties.BATCH_FILE_PREFIX,
|
||||||
self.BATCH_OWN_DIR)
|
self.properties.BATCH_OWN_DIR)
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
@ -3467,7 +3466,7 @@ import dynamic_menu
|
|||||||
|
|
||||||
def menu_func(self, context):
|
def menu_func(self, context):
|
||||||
default_path = bpy.data.filename.replace(".blend", ".fbx")
|
default_path = bpy.data.filename.replace(".blend", ".fbx")
|
||||||
self.layout.item_stringO(ExportFBX.bl_idname, "path", default_path, text="Autodesk FBX...")
|
self.layout.operator(ExportFBX.bl_idname, text="Autodesk FBX...").path = default_path
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
||||||
|
|
||||||
|
@ -156,11 +156,10 @@ class ExportMDD(bpy.types.Operator):
|
|||||||
|
|
||||||
# get first scene to get min and max properties for frames, fps
|
# get first scene to get min and max properties for frames, fps
|
||||||
|
|
||||||
sce = bpy.data.scenes[bpy.data.scenes.keys()[0]]
|
minframe = 1
|
||||||
minframe = sce.rna_type.properties["current_frame"].soft_min
|
maxframe = 300000
|
||||||
maxframe = sce.rna_type.properties["current_frame"].soft_max
|
minfps = 1
|
||||||
minfps = sce.render_data.rna_type.properties["fps"].soft_min
|
maxfps = 120
|
||||||
maxfps = sce.render_data.rna_type.properties["fps"].soft_max
|
|
||||||
|
|
||||||
# List of operator properties, the attributes will be assigned
|
# List of operator properties, the attributes will be assigned
|
||||||
# to the class instance from the operator settings before calling.
|
# to the class instance from the operator settings before calling.
|
||||||
@ -174,10 +173,10 @@ class ExportMDD(bpy.types.Operator):
|
|||||||
return (ob and ob.type=='MESH')
|
return (ob and ob.type=='MESH')
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
if not self.path:
|
if not self.properties.path:
|
||||||
raise Exception("filename not set")
|
raise Exception("filename not set")
|
||||||
write(self.path, context.scene, context.active_object,
|
write(self.properties.path, context.scene, context.active_object,
|
||||||
self.start_frame, self.end_frame, self.fps )
|
self.properties.start_frame, self.properties.end_frame, self.properties.fps )
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
@ -192,10 +191,9 @@ import dynamic_menu
|
|||||||
|
|
||||||
def menu_func(self, context):
|
def menu_func(self, context):
|
||||||
default_path = bpy.data.filename.replace(".blend", ".mdd")
|
default_path = bpy.data.filename.replace(".blend", ".mdd")
|
||||||
self.layout.item_stringO(ExportMDD.bl_idname, "path", default_path, text="Vertex Keyframe Animation (.mdd)...")
|
self.layout.operator(ExportMDD.bl_idname, text="Vertex Keyframe Animation (.mdd)...").path = default_path
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
||||||
|
|
||||||
if __name__=='__main__':
|
if __name__=='__main__':
|
||||||
#Blender.Window.FileSelector(mdd_export_ui, 'EXPORT MDD', sys.makename(ext='.mdd'))
|
bpy.ops.export.mdd(path="/tmp/test.mdd")
|
||||||
bpy.ops.EXPORT_OT_mdd(path="/tmp/test.mdd")
|
|
||||||
|
@ -85,19 +85,6 @@ def fixName(name):
|
|||||||
else:
|
else:
|
||||||
return name.replace(' ', '_')
|
return name.replace(' ', '_')
|
||||||
|
|
||||||
|
|
||||||
# this used to be in BPySys module
|
|
||||||
# frankly, I don't understand how it works
|
|
||||||
def BPySys_cleanName(name):
|
|
||||||
|
|
||||||
v = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,58,59,60,61,62,63,64,91,92,93,94,96,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254]
|
|
||||||
|
|
||||||
invalid = ''.join([chr(i) for i in v])
|
|
||||||
|
|
||||||
for ch in invalid:
|
|
||||||
name = name.replace(ch, '_')
|
|
||||||
return name
|
|
||||||
|
|
||||||
# A Dict of Materials
|
# A Dict of Materials
|
||||||
# (material.name, image.name):matname_imagename # matname_imagename has gaps removed.
|
# (material.name, image.name):matname_imagename # matname_imagename has gaps removed.
|
||||||
MTL_DICT = {}
|
MTL_DICT = {}
|
||||||
@ -485,10 +472,10 @@ def write(filename, objects, scene,
|
|||||||
newob = bpy.data.add_object('MESH', 'temp_object')
|
newob = bpy.data.add_object('MESH', 'temp_object')
|
||||||
newob.data = me
|
newob.data = me
|
||||||
# if we forget to set Object.data - crash
|
# if we forget to set Object.data - crash
|
||||||
scene.add_object(newob)
|
scene.objects.link(newob)
|
||||||
newob.convert_to_triface(scene)
|
newob.convert_to_triface(scene)
|
||||||
# mesh will still be there
|
# mesh will still be there
|
||||||
scene.remove_object(newob)
|
scene.objects.unlink(newob)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# Make our own list so it can be sorted to reduce context switching
|
# Make our own list so it can be sorted to reduce context switching
|
||||||
@ -884,7 +871,7 @@ def do_export(filename, context,
|
|||||||
orig_frame = scn.current_frame
|
orig_frame = scn.current_frame
|
||||||
|
|
||||||
if EXPORT_ALL_SCENES: # Add scene name into the context_name
|
if EXPORT_ALL_SCENES: # Add scene name into the context_name
|
||||||
context_name[1] = '_%s' % BPySys_cleanName(scn.name) # WARNING, its possible that this could cause a collision. we could fix if were feeling parranoied.
|
context_name[1] = '_%s' % bpy.utils.clean_name(scn.name) # WARNING, its possible that this could cause a collision. we could fix if were feeling parranoied.
|
||||||
|
|
||||||
# Export an animation?
|
# Export an animation?
|
||||||
if EXPORT_ANIMATION:
|
if EXPORT_ANIMATION:
|
||||||
@ -972,24 +959,24 @@ class ExportOBJ(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
do_export(self.path, context,
|
do_export(self.properties.path, context,
|
||||||
EXPORT_TRI=self.use_triangles,
|
EXPORT_TRI=self.properties.use_triangles,
|
||||||
EXPORT_EDGES=self.use_edges,
|
EXPORT_EDGES=self.properties.use_edges,
|
||||||
EXPORT_NORMALS=self.use_normals,
|
EXPORT_NORMALS=self.properties.use_normals,
|
||||||
EXPORT_NORMALS_HQ=self.use_hq_normals,
|
EXPORT_NORMALS_HQ=self.properties.use_hq_normals,
|
||||||
EXPORT_UV=self.use_uvs,
|
EXPORT_UV=self.properties.use_uvs,
|
||||||
EXPORT_MTL=self.use_materials,
|
EXPORT_MTL=self.properties.use_materials,
|
||||||
EXPORT_COPY_IMAGES=self.copy_images,
|
EXPORT_COPY_IMAGES=self.properties.copy_images,
|
||||||
EXPORT_APPLY_MODIFIERS=self.use_modifiers,
|
EXPORT_APPLY_MODIFIERS=self.properties.use_modifiers,
|
||||||
EXPORT_ROTX90=self.use_rotate90,
|
EXPORT_ROTX90=self.properties.use_rotate90,
|
||||||
EXPORT_BLEN_OBS=self.use_blen_objects,
|
EXPORT_BLEN_OBS=self.properties.use_blen_objects,
|
||||||
EXPORT_GROUP_BY_OB=self.group_by_object,
|
EXPORT_GROUP_BY_OB=self.properties.group_by_object,
|
||||||
EXPORT_GROUP_BY_MAT=self.group_by_material,
|
EXPORT_GROUP_BY_MAT=self.properties.group_by_material,
|
||||||
EXPORT_KEEP_VERT_ORDER=self.keep_vertex_order,
|
EXPORT_KEEP_VERT_ORDER=self.properties.keep_vertex_order,
|
||||||
EXPORT_POLYGROUPS=self.use_vertex_groups,
|
EXPORT_POLYGROUPS=self.properties.use_vertex_groups,
|
||||||
EXPORT_CURVE_AS_NURBS=self.use_nurbs,
|
EXPORT_CURVE_AS_NURBS=self.properties.use_nurbs,
|
||||||
EXPORT_SEL_ONLY=self.use_selection,
|
EXPORT_SEL_ONLY=self.properties.use_selection,
|
||||||
EXPORT_ALL_SCENES=self.use_all_scenes)
|
EXPORT_ALL_SCENES=self.properties.use_all_scenes)
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
@ -998,9 +985,9 @@ class ExportOBJ(bpy.types.Operator):
|
|||||||
wm.add_fileselect(self)
|
wm.add_fileselect(self)
|
||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
def poll(self, context): # Poll isnt working yet
|
|
||||||
print("Poll")
|
|
||||||
return context.active_object != None
|
|
||||||
|
|
||||||
bpy.ops.add(ExportOBJ)
|
bpy.ops.add(ExportOBJ)
|
||||||
|
|
||||||
@ -1008,7 +995,7 @@ import dynamic_menu
|
|||||||
|
|
||||||
def menu_func(self, context):
|
def menu_func(self, context):
|
||||||
default_path = bpy.data.filename.replace(".blend", ".obj")
|
default_path = bpy.data.filename.replace(".blend", ".obj")
|
||||||
self.layout.item_stringO(ExportOBJ.bl_idname, "path", default_path, text="Wavefront (.obj)...")
|
self.layout.operator(ExportOBJ.bl_idname, text="Wavefront (.obj)...").path = default_path
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
||||||
|
|
||||||
@ -1021,4 +1008,4 @@ if __name__ == "__main__":
|
|||||||
# - NURBS - needs API additions
|
# - NURBS - needs API additions
|
||||||
# - all scenes export
|
# - all scenes export
|
||||||
# + normals calculation
|
# + normals calculation
|
||||||
# - get rid of cleanName somehow
|
|
||||||
|
@ -263,9 +263,9 @@ class ExportPLY(bpy.types.Operator):
|
|||||||
|
|
||||||
path = StringProperty(name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
|
path = StringProperty(name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
|
||||||
use_modifiers = BoolProperty(name="Apply Modifiers", description="Apply Modifiers to the exported mesh", default= True)
|
use_modifiers = BoolProperty(name="Apply Modifiers", description="Apply Modifiers to the exported mesh", default= True)
|
||||||
use_normals = BoolProperty(name="Export Normals", description="Export Normals for smooth and hard shaded faces", default= True)
|
use_normals = BoolProperty(name="Normals", description="Export Normals for smooth and hard shaded faces", default= True)
|
||||||
use_uvs = BoolProperty(name="Export UVs", description="Exort the active UV layer", default= True)
|
use_uvs = BoolProperty(name="UVs", description="Exort the active UV layer", default= True)
|
||||||
use_colors = BoolProperty(name="Export Vertex Colors", description="Exort the active vertex color layer", default= True)
|
use_colors = BoolProperty(name="Vertex Colors", description="Exort the active vertex color layer", default= True)
|
||||||
|
|
||||||
|
|
||||||
def poll(self, context):
|
def poll(self, context):
|
||||||
@ -274,14 +274,14 @@ class ExportPLY(bpy.types.Operator):
|
|||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
# print("Selected: " + context.active_object.name)
|
# print("Selected: " + context.active_object.name)
|
||||||
|
|
||||||
if not self.path:
|
if not self.properties.path:
|
||||||
raise Exception("filename not set")
|
raise Exception("filename not set")
|
||||||
|
|
||||||
write(self.path, context.scene, context.active_object,\
|
write(self.properties.path, context.scene, context.active_object,\
|
||||||
EXPORT_APPLY_MODIFIERS = self.use_modifiers,
|
EXPORT_APPLY_MODIFIERS = self.properties.use_modifiers,
|
||||||
EXPORT_NORMALS = self.use_normals,
|
EXPORT_NORMALS = self.properties.use_normals,
|
||||||
EXPORT_UV = self.use_uvs,
|
EXPORT_UV = self.properties.use_uvs,
|
||||||
EXPORT_COLORS = self.use_colors,
|
EXPORT_COLORS = self.properties.use_colors,
|
||||||
)
|
)
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
@ -291,14 +291,25 @@ class ExportPLY(bpy.types.Operator):
|
|||||||
wm.add_fileselect(self)
|
wm.add_fileselect(self)
|
||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
props = self.properties
|
||||||
|
|
||||||
|
row = layout.row()
|
||||||
|
row.prop(props, "use_modifiers")
|
||||||
|
row.prop(props, "use_normals")
|
||||||
|
row = layout.row()
|
||||||
|
row.prop(props, "use_uvs")
|
||||||
|
row.prop(props, "use_colors")
|
||||||
|
|
||||||
|
|
||||||
bpy.ops.add(ExportPLY)
|
bpy.ops.add(ExportPLY)
|
||||||
|
|
||||||
import dynamic_menu
|
import dynamic_menu
|
||||||
|
|
||||||
def menu_func(self, context):
|
def menu_func(self, context):
|
||||||
default_path = bpy.data.filename.replace(".blend", ".ply")
|
default_path = bpy.data.filename.replace(".blend", ".ply")
|
||||||
self.layout.item_stringO(ExportPLY.bl_idname, "path", default_path, text="Stanford (.ply)...")
|
self.layout.operator(ExportPLY.bl_idname, text="Stanford (.ply)...").path = default_path
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
||||||
|
|
||||||
|
@ -1230,7 +1230,7 @@ class ExportX3D(bpy.types.Operator):
|
|||||||
|
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
x3d_export(self.path, context, self.apply_modifiers, self.triangulate, self.compress)
|
x3d_export(self.properties.path, context, self.properties.apply_modifiers, self.properties.triangulate, self.properties.compress)
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
@ -1244,7 +1244,7 @@ import dynamic_menu
|
|||||||
|
|
||||||
def menu_func(self, context):
|
def menu_func(self, context):
|
||||||
default_path = bpy.data.filename.replace(".blend", ".x3d")
|
default_path = bpy.data.filename.replace(".blend", ".x3d")
|
||||||
self.layout.item_stringO(ExportX3D.bl_idname, "path", default_path, text="X3D Extensible 3D (.x3d)...")
|
self.layout.operator(ExportX3D.bl_idname, text="X3D Extensible 3D (.x3d)...").path = default_path
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_export, menu_func)
|
||||||
|
|
||||||
|
@ -227,8 +227,6 @@ def read_bvh(context, file_path, GLOBAL_SCALE=1.0):
|
|||||||
if ROT_STYLE != 'NATIVE':
|
if ROT_STYLE != 'NATIVE':
|
||||||
rx, ry, rz = eulerRotate(rx, ry, rz, bvh_node.rot_order)
|
rx, ry, rz = eulerRotate(rx, ry, rz, bvh_node.rot_order)
|
||||||
|
|
||||||
#x,y,z = x/10.0, y/10.0, z/10.0 # For IPO's 36 is 360d
|
|
||||||
|
|
||||||
# Make interpolation not cross between 180d, thjis fixes sub frame interpolation and time scaling.
|
# Make interpolation not cross between 180d, thjis fixes sub frame interpolation and time scaling.
|
||||||
# Will go from (355d to 365d) rather then to (355d to 5d) - inbetween these 2 there will now be a correct interpolation.
|
# Will go from (355d to 365d) rather then to (355d to 5d) - inbetween these 2 there will now be a correct interpolation.
|
||||||
|
|
||||||
@ -337,7 +335,7 @@ def bvh_node_dict2objects(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOOP
|
|||||||
|
|
||||||
bvh_node.temp.rot= rx*DEG2RAD,ry*DEG2RAD,rz*DEG2RAD
|
bvh_node.temp.rot= rx*DEG2RAD,ry*DEG2RAD,rz*DEG2RAD
|
||||||
|
|
||||||
bvh_node.temp.insertIpoKey(Blender.Object.IpoKeyTypes.LOCROT)
|
bvh_node.temp.insertIpoKey(Blender.Object.IpoKeyTypes.LOCROT) # XXX invalid
|
||||||
|
|
||||||
scn.update(1)
|
scn.update(1)
|
||||||
return objects
|
return objects
|
||||||
@ -460,7 +458,7 @@ def bvh_node_dict2armature(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOO
|
|||||||
bpy.ops.object.mode_set(mode='POSE', toggle=False)
|
bpy.ops.object.mode_set(mode='POSE', toggle=False)
|
||||||
|
|
||||||
pose= arm_ob.pose
|
pose= arm_ob.pose
|
||||||
pose_bones= pose.pose_channels
|
pose_bones= pose.bones
|
||||||
|
|
||||||
|
|
||||||
if ROT_STYLE=='NATIVE':
|
if ROT_STYLE=='NATIVE':
|
||||||
@ -487,7 +485,7 @@ def bvh_node_dict2armature(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOO
|
|||||||
|
|
||||||
|
|
||||||
bpy.ops.pose.select_all_toggle() # set
|
bpy.ops.pose.select_all_toggle() # set
|
||||||
bpy.ops.anim.insert_keyframe_menu(type=-4) # XXX - -4 ???
|
bpy.ops.anim.keyframe_insert_menu(type=-4) # XXX - -4 ???
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -500,7 +498,7 @@ def bvh_node_dict2armature(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOO
|
|||||||
#XXX action = Blender.Armature.NLA.NewAction("Action")
|
#XXX action = Blender.Armature.NLA.NewAction("Action")
|
||||||
#XXX action.setActive(arm_ob)
|
#XXX action.setActive(arm_ob)
|
||||||
|
|
||||||
#bpy.ops.act.new()
|
#bpy.ops.action.new()
|
||||||
#action = bpy.data.actions[-1]
|
#action = bpy.data.actions[-1]
|
||||||
|
|
||||||
# arm_ob.animation_data.action = action
|
# arm_ob.animation_data.action = action
|
||||||
@ -540,6 +538,7 @@ def bvh_node_dict2armature(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOO
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
# KEYFRAME METHOD, SLOW, USE IPOS DIRECT
|
# KEYFRAME METHOD, SLOW, USE IPOS DIRECT
|
||||||
|
# TODO: use f-point samples instead (Aligorith)
|
||||||
|
|
||||||
# Animate the data, the last used bvh_node will do since they all have the same number of frames
|
# Animate the data, the last used bvh_node will do since they all have the same number of frames
|
||||||
for current_frame in range(len(bvh_node.anim_data)-1): # skip the first frame (rest frame)
|
for current_frame in range(len(bvh_node.anim_data)-1): # skip the first frame (rest frame)
|
||||||
@ -618,7 +617,7 @@ def bvh_node_dict2armature(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOO
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# bpy.ops.anim.insert_keyframe_menu(type=-4) # XXX - -4 ???
|
# bpy.ops.anim.keyframe_insert_menu(type=-4) # XXX - -4 ???
|
||||||
bpy.ops.screen.frame_offset(delta=1)
|
bpy.ops.screen.frame_offset(delta=1)
|
||||||
|
|
||||||
# First time, set the IPO's to linear
|
# First time, set the IPO's to linear
|
||||||
@ -863,7 +862,7 @@ class BvhImporter(bpy.types.Operator):
|
|||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
# print("Selected: " + context.active_object.name)
|
# print("Selected: " + context.active_object.name)
|
||||||
|
|
||||||
read_bvh(context, self.path)
|
read_bvh(context, self.properties.path)
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
@ -877,5 +876,5 @@ bpy.ops.add(BvhImporter)
|
|||||||
|
|
||||||
|
|
||||||
import dynamic_menu
|
import dynamic_menu
|
||||||
menu_func = lambda self, context: self.layout.itemO(BvhImporter.bl_idname, text="Motion Capture (.bvh)...")
|
menu_func = lambda self, context: self.layout.operator(BvhImporter.bl_idname, text="Motion Capture (.bvh)...")
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_import, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_import, menu_func)
|
||||||
|
@ -465,7 +465,7 @@ def process_next_chunk(file, previous_chunk, importedObjects, IMAGE_SEARCH):
|
|||||||
# bmesh.transform(contextMatrix)
|
# bmesh.transform(contextMatrix)
|
||||||
ob = bpy.data.add_object("MESH", tempName)
|
ob = bpy.data.add_object("MESH", tempName)
|
||||||
ob.data = bmesh
|
ob.data = bmesh
|
||||||
SCN.add_object(ob)
|
SCN.objects.link(ob)
|
||||||
# ob = SCN_OBJECTS.new(bmesh, tempName)
|
# ob = SCN_OBJECTS.new(bmesh, tempName)
|
||||||
'''
|
'''
|
||||||
if contextMatrix_tx:
|
if contextMatrix_tx:
|
||||||
@ -766,7 +766,7 @@ def process_next_chunk(file, previous_chunk, importedObjects, IMAGE_SEARCH):
|
|||||||
|
|
||||||
ob = bpy.data.add_object("LAMP", "Lamp")
|
ob = bpy.data.add_object("LAMP", "Lamp")
|
||||||
ob.data = bpy.data.add_lamp("Lamp")
|
ob.data = bpy.data.add_lamp("Lamp")
|
||||||
SCN.add_object(ob)
|
SCN.objects.link(ob)
|
||||||
|
|
||||||
contextLamp[1]= ob.data
|
contextLamp[1]= ob.data
|
||||||
# contextLamp[1]= bpy.data.lamps.new()
|
# contextLamp[1]= bpy.data.lamps.new()
|
||||||
@ -1156,7 +1156,7 @@ class IMPORT_OT_autodesk_3ds(bpy.types.Operator):
|
|||||||
# apply_matrix = BoolProperty(name="Transform Fix", description="Workaround for object transformations importing incorrectly", default=False),
|
# apply_matrix = BoolProperty(name="Transform Fix", description="Workaround for object transformations importing incorrectly", default=False),
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
load_3ds(self.path, context, 0.0, False, False)
|
load_3ds(self.properties.path, context, 0.0, False, False)
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
@ -1167,7 +1167,7 @@ class IMPORT_OT_autodesk_3ds(bpy.types.Operator):
|
|||||||
bpy.ops.add(IMPORT_OT_autodesk_3ds)
|
bpy.ops.add(IMPORT_OT_autodesk_3ds)
|
||||||
|
|
||||||
import dynamic_menu
|
import dynamic_menu
|
||||||
menu_func = lambda self, context: self.layout.itemO(IMPORT_OT_autodesk_3ds.bl_idname, text="3D Studio (.3ds)...")
|
menu_func = lambda self, context: self.layout.operator(IMPORT_OT_autodesk_3ds.bl_idname, text="3D Studio (.3ds)...")
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_import, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_import, menu_func)
|
||||||
|
|
||||||
# NOTES:
|
# NOTES:
|
||||||
|
@ -807,7 +807,7 @@ def create_mesh(scn, new_objects, has_ngons, CREATE_FGONS, CREATE_EDGES, verts_l
|
|||||||
blender_tface.uv2= verts_tex[face_vert_tex_indicies[1]]
|
blender_tface.uv2= verts_tex[face_vert_tex_indicies[1]]
|
||||||
blender_tface.uv3= verts_tex[face_vert_tex_indicies[2]]
|
blender_tface.uv3= verts_tex[face_vert_tex_indicies[2]]
|
||||||
|
|
||||||
if blender_face.verts[3] != 0:
|
if len(face_vert_loc_indicies)==4:
|
||||||
blender_tface.uv4= verts_tex[face_vert_tex_indicies[3]]
|
blender_tface.uv4= verts_tex[face_vert_tex_indicies[3]]
|
||||||
|
|
||||||
# for ii, uv in enumerate(blender_face.uv):
|
# for ii, uv in enumerate(blender_face.uv):
|
||||||
@ -864,7 +864,7 @@ def create_mesh(scn, new_objects, has_ngons, CREATE_FGONS, CREATE_EDGES, verts_l
|
|||||||
|
|
||||||
ob= bpy.data.add_object("MESH", "Mesh")
|
ob= bpy.data.add_object("MESH", "Mesh")
|
||||||
ob.data= me
|
ob.data= me
|
||||||
scn.add_object(ob)
|
scn.objects.link(ob)
|
||||||
# ob= scn.objects.new(me)
|
# ob= scn.objects.new(me)
|
||||||
new_objects.append(ob)
|
new_objects.append(ob)
|
||||||
|
|
||||||
@ -1601,18 +1601,18 @@ class IMPORT_OT_obj(bpy.types.Operator):
|
|||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
# print("Selected: " + context.active_object.name)
|
# print("Selected: " + context.active_object.name)
|
||||||
|
|
||||||
load_obj(self.path,
|
load_obj(self.properties.path,
|
||||||
context,
|
context,
|
||||||
self.CLAMP_SIZE,
|
self.properties.CLAMP_SIZE,
|
||||||
self.CREATE_FGONS,
|
self.properties.CREATE_FGONS,
|
||||||
self.CREATE_SMOOTH_GROUPS,
|
self.properties.CREATE_SMOOTH_GROUPS,
|
||||||
self.CREATE_EDGES,
|
self.properties.CREATE_EDGES,
|
||||||
self.SPLIT_OBJECTS,
|
self.properties.SPLIT_OBJECTS,
|
||||||
self.SPLIT_GROUPS,
|
self.properties.SPLIT_GROUPS,
|
||||||
self.SPLIT_MATERIALS,
|
self.properties.SPLIT_MATERIALS,
|
||||||
self.ROTATE_X90,
|
self.properties.ROTATE_X90,
|
||||||
self.IMAGE_SEARCH,
|
self.properties.IMAGE_SEARCH,
|
||||||
self.POLYGROUPS)
|
self.properties.POLYGROUPS)
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
@ -1626,7 +1626,7 @@ bpy.ops.add(IMPORT_OT_obj)
|
|||||||
|
|
||||||
|
|
||||||
import dynamic_menu
|
import dynamic_menu
|
||||||
menu_func = lambda self, context: self.layout.itemO(IMPORT_OT_obj.bl_idname, text="Wavefront (.obj)...")
|
menu_func = lambda self, context: self.layout.operator(IMPORT_OT_obj.bl_idname, text="Wavefront (.obj)...")
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_import, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_file_import, menu_func)
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,21 +18,17 @@
|
|||||||
|
|
||||||
# This directory is a Python package.
|
# This directory is a Python package.
|
||||||
|
|
||||||
import model
|
from netrender import model
|
||||||
import operators
|
from netrender import operators
|
||||||
import client
|
from netrender import client
|
||||||
import slave
|
from netrender import slave
|
||||||
import master
|
from netrender import master
|
||||||
import master_html
|
from netrender import master_html
|
||||||
import utils
|
from netrender import utils
|
||||||
import balancing
|
from netrender import balancing
|
||||||
import ui
|
from netrender import ui
|
||||||
|
|
||||||
# store temp data in bpy module
|
jobs = []
|
||||||
|
slaves = []
|
||||||
import bpy
|
blacklist = []
|
||||||
|
|
||||||
bpy.netrender_jobs = []
|
|
||||||
bpy.netrender_slaves = []
|
|
||||||
bpy.netrender_blacklist = []
|
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ import sys, os, re
|
|||||||
import http, http.client, http.server, urllib
|
import http, http.client, http.server, urllib
|
||||||
import subprocess, shutil, time, hashlib
|
import subprocess, shutil, time, hashlib
|
||||||
|
|
||||||
|
import netrender
|
||||||
import netrender.model
|
import netrender.model
|
||||||
import netrender.slave as slave
|
import netrender.slave as slave
|
||||||
import netrender.master as master
|
import netrender.master as master
|
||||||
@ -113,7 +114,7 @@ def clientSendJob(conn, scene, anim = False):
|
|||||||
# LIBRARIES
|
# LIBRARIES
|
||||||
###########################
|
###########################
|
||||||
for lib in bpy.data.libraries:
|
for lib in bpy.data.libraries:
|
||||||
job.addFile(bpy.utils.expandpath(lib_path))
|
job.addFile(bpy.utils.expandpath(lib.filename))
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# IMAGES
|
# IMAGES
|
||||||
@ -150,7 +151,7 @@ def clientSendJob(conn, scene, anim = False):
|
|||||||
|
|
||||||
job.name = job_name
|
job.name = job_name
|
||||||
|
|
||||||
for slave in scene.network_render.slaves_blacklist:
|
for slave in netrender.blacklist:
|
||||||
job.blacklist.append(slave.id)
|
job.blacklist.append(slave.id)
|
||||||
|
|
||||||
job.chunks = netsettings.chunks
|
job.chunks = netsettings.chunks
|
||||||
@ -200,14 +201,14 @@ class NetworkRenderEngine(bpy.types.RenderEngine):
|
|||||||
|
|
||||||
|
|
||||||
def render_slave(self, scene):
|
def render_slave(self, scene):
|
||||||
slave.render_slave(self, scene)
|
slave.render_slave(self, scene.network_render)
|
||||||
|
|
||||||
def render_client(self, scene):
|
def render_client(self, scene):
|
||||||
netsettings = scene.network_render
|
netsettings = scene.network_render
|
||||||
self.update_stats("", "Network render client initiation")
|
self.update_stats("", "Network render client initiation")
|
||||||
|
|
||||||
|
|
||||||
conn = clientConnection(scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
# Sending file
|
# Sending file
|
||||||
@ -256,10 +257,8 @@ class NetworkRenderEngine(bpy.types.RenderEngine):
|
|||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
def compatible(module):
|
def compatible(module):
|
||||||
exec("import " + module)
|
module = __import__(module)
|
||||||
module = eval(module)
|
for subclass in module.__dict__.values():
|
||||||
for member in dir(module):
|
|
||||||
subclass = getattr(module, member)
|
|
||||||
try: subclass.COMPAT_ENGINES.add('NET_RENDER')
|
try: subclass.COMPAT_ENGINES.add('NET_RENDER')
|
||||||
except: pass
|
except: pass
|
||||||
del module
|
del module
|
||||||
|
@ -21,6 +21,7 @@ import sys, os
|
|||||||
import http, http.client, http.server, urllib, socket
|
import http, http.client, http.server, urllib, socket
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
|
import netrender
|
||||||
from netrender.utils import *
|
from netrender.utils import *
|
||||||
import netrender.client as client
|
import netrender.client as client
|
||||||
import netrender.model
|
import netrender.model
|
||||||
@ -36,8 +37,9 @@ class RENDER_OT_netclientanim(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
scene = context.scene
|
scene = context.scene
|
||||||
|
netsettings = scene.network_render
|
||||||
|
|
||||||
conn = clientConnection(scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
# Sending file
|
# Sending file
|
||||||
@ -62,8 +64,9 @@ class RENDER_OT_netclientsend(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
scene = context.scene
|
scene = context.scene
|
||||||
|
netsettings = scene.network_render
|
||||||
|
|
||||||
conn = clientConnection(scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
# Sending file
|
# Sending file
|
||||||
@ -86,7 +89,7 @@ class RENDER_OT_netclientstatus(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
netsettings = context.scene.network_render
|
netsettings = context.scene.network_render
|
||||||
conn = clientConnection(context.scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
conn.request("GET", "/status")
|
conn.request("GET", "/status")
|
||||||
@ -99,10 +102,10 @@ class RENDER_OT_netclientstatus(bpy.types.Operator):
|
|||||||
while(len(netsettings.jobs) > 0):
|
while(len(netsettings.jobs) > 0):
|
||||||
netsettings.jobs.remove(0)
|
netsettings.jobs.remove(0)
|
||||||
|
|
||||||
bpy.netrender_jobs = []
|
netrender.jobs = []
|
||||||
|
|
||||||
for j in jobs:
|
for j in jobs:
|
||||||
bpy.netrender_jobs.append(j)
|
netrender.jobs.append(j)
|
||||||
netsettings.jobs.add()
|
netsettings.jobs.add()
|
||||||
job = netsettings.jobs[-1]
|
job = netsettings.jobs[-1]
|
||||||
|
|
||||||
@ -130,8 +133,8 @@ class RENDER_OT_netclientblacklistslave(bpy.types.Operator):
|
|||||||
if netsettings.active_slave_index >= 0:
|
if netsettings.active_slave_index >= 0:
|
||||||
|
|
||||||
# deal with data
|
# deal with data
|
||||||
slave = bpy.netrender_slaves.pop(netsettings.active_slave_index)
|
slave = netrender.slaves.pop(netsettings.active_slave_index)
|
||||||
bpy.netrender_blacklist.append(slave)
|
netrender.blacklist.append(slave)
|
||||||
|
|
||||||
# deal with rna
|
# deal with rna
|
||||||
netsettings.slaves_blacklist.add()
|
netsettings.slaves_blacklist.add()
|
||||||
@ -160,8 +163,8 @@ class RENDER_OT_netclientwhitelistslave(bpy.types.Operator):
|
|||||||
if netsettings.active_blacklisted_slave_index >= 0:
|
if netsettings.active_blacklisted_slave_index >= 0:
|
||||||
|
|
||||||
# deal with data
|
# deal with data
|
||||||
slave = bpy.netrender_blacklist.pop(netsettings.active_blacklisted_slave_index)
|
slave = netrender.blacklist.pop(netsettings.active_blacklisted_slave_index)
|
||||||
bpy.netrender_slaves.append(slave)
|
netrender.slaves.append(slave)
|
||||||
|
|
||||||
# deal with rna
|
# deal with rna
|
||||||
netsettings.slaves.add()
|
netsettings.slaves.add()
|
||||||
@ -187,7 +190,7 @@ class RENDER_OT_netclientslaves(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
netsettings = context.scene.network_render
|
netsettings = context.scene.network_render
|
||||||
conn = clientConnection(context.scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
conn.request("GET", "/slaves")
|
conn.request("GET", "/slaves")
|
||||||
@ -200,17 +203,17 @@ class RENDER_OT_netclientslaves(bpy.types.Operator):
|
|||||||
while(len(netsettings.slaves) > 0):
|
while(len(netsettings.slaves) > 0):
|
||||||
netsettings.slaves.remove(0)
|
netsettings.slaves.remove(0)
|
||||||
|
|
||||||
bpy.netrender_slaves = []
|
netrender.slaves = []
|
||||||
|
|
||||||
for s in slaves:
|
for s in slaves:
|
||||||
for i in range(len(bpy.netrender_blacklist)):
|
for i in range(len(netrender.blacklist)):
|
||||||
slave = bpy.netrender_blacklist[i]
|
slave = netrender.blacklist[i]
|
||||||
if slave.id == s.id:
|
if slave.id == s.id:
|
||||||
bpy.netrender_blacklist[i] = s
|
netrender.blacklist[i] = s
|
||||||
netsettings.slaves_blacklist[i].name = s.name
|
netsettings.slaves_blacklist[i].name = s.name
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
bpy.netrender_slaves.append(s)
|
netrender.slaves.append(s)
|
||||||
|
|
||||||
netsettings.slaves.add()
|
netsettings.slaves.add()
|
||||||
slave = netsettings.slaves[-1]
|
slave = netsettings.slaves[-1]
|
||||||
@ -233,10 +236,10 @@ class RENDER_OT_netclientcancel(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
netsettings = context.scene.network_render
|
netsettings = context.scene.network_render
|
||||||
conn = clientConnection(context.scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
job = bpy.netrender_jobs[netsettings.active_job_index]
|
job = netrender.jobs[netsettings.active_job_index]
|
||||||
|
|
||||||
conn.request("POST", "/cancel", headers={"job-id":job.id})
|
conn.request("POST", "/cancel", headers={"job-id":job.id})
|
||||||
|
|
||||||
@ -261,7 +264,7 @@ class RENDER_OT_netclientcancelall(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
netsettings = context.scene.network_render
|
netsettings = context.scene.network_render
|
||||||
conn = clientConnection(context.scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
conn.request("POST", "/clear")
|
conn.request("POST", "/clear")
|
||||||
@ -291,10 +294,10 @@ class netclientdownload(bpy.types.Operator):
|
|||||||
netsettings = context.scene.network_render
|
netsettings = context.scene.network_render
|
||||||
rd = context.scene.render_data
|
rd = context.scene.render_data
|
||||||
|
|
||||||
conn = clientConnection(context.scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
job = bpy.netrender_jobs[netsettings.active_job_index]
|
job = netrender.jobs[netsettings.active_job_index]
|
||||||
|
|
||||||
for frame in job.frames:
|
for frame in job.frames:
|
||||||
client.requestResult(conn, job.id, frame.number)
|
client.requestResult(conn, job.id, frame.number)
|
||||||
@ -332,23 +335,13 @@ class netclientscan(bpy.types.Operator):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
netsettings = context.scene.network_render
|
address, port = clientScan()
|
||||||
|
|
||||||
try:
|
if address:
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
scene = context.scene
|
||||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
netsettings = scene.network_render
|
||||||
s.settimeout(30)
|
netsettings.server_address = address
|
||||||
|
netsettings.server_port = port
|
||||||
s.bind(('', 8000))
|
|
||||||
|
|
||||||
buf, address = s.recvfrom(64)
|
|
||||||
|
|
||||||
print("received:", buf)
|
|
||||||
|
|
||||||
netsettings.server_address = address[0]
|
|
||||||
netsettings.server_port = int(str(buf, encoding='utf8'))
|
|
||||||
except socket.timeout:
|
|
||||||
print("no server info")
|
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
@ -369,7 +362,7 @@ class netclientweb(bpy.types.Operator):
|
|||||||
|
|
||||||
|
|
||||||
# open connection to make sure server exists
|
# open connection to make sure server exists
|
||||||
conn = clientConnection(context.scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
conn.close()
|
conn.close()
|
||||||
|
@ -23,6 +23,8 @@ import subprocess, time
|
|||||||
from netrender.utils import *
|
from netrender.utils import *
|
||||||
import netrender.model
|
import netrender.model
|
||||||
|
|
||||||
|
BLENDER_PATH = sys.argv[0]
|
||||||
|
|
||||||
CANCEL_POLL_SPEED = 2
|
CANCEL_POLL_SPEED = 2
|
||||||
MAX_TIMEOUT = 10
|
MAX_TIMEOUT = 10
|
||||||
INCREMENT_TIMEOUT = 1
|
INCREMENT_TIMEOUT = 1
|
||||||
@ -85,13 +87,12 @@ def testFile(conn, job_id, slave_id, JOB_PREFIX, file_path, main_path = None):
|
|||||||
return job_full_path
|
return job_full_path
|
||||||
|
|
||||||
|
|
||||||
def render_slave(engine, scene):
|
def render_slave(engine, netsettings):
|
||||||
netsettings = scene.network_render
|
|
||||||
timeout = 1
|
timeout = 1
|
||||||
|
|
||||||
engine.update_stats("", "Network render node initiation")
|
engine.update_stats("", "Network render node initiation")
|
||||||
|
|
||||||
conn = clientConnection(scene)
|
conn = clientConnection(netsettings.server_address, netsettings.server_port)
|
||||||
|
|
||||||
if conn:
|
if conn:
|
||||||
conn.request("POST", "/slave", repr(slave_Info().serialize()))
|
conn.request("POST", "/slave", repr(slave_Info().serialize()))
|
||||||
@ -150,7 +151,7 @@ def render_slave(engine, scene):
|
|||||||
frame_args += ["-f", str(frame.number)]
|
frame_args += ["-f", str(frame.number)]
|
||||||
|
|
||||||
val = SetErrorMode()
|
val = SetErrorMode()
|
||||||
process = subprocess.Popen([sys.argv[0], "-b", job_full_path, "-o", JOB_PREFIX + "######", "-E", "BLENDER_RENDER", "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
process = subprocess.Popen([BLENDER_PATH, "-b", job_full_path, "-o", JOB_PREFIX + "######", "-E", "BLENDER_RENDER", "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
RestoreErrorMode(val)
|
RestoreErrorMode(val)
|
||||||
elif job.type == netrender.model.JOB_PROCESS:
|
elif job.type == netrender.model.JOB_PROCESS:
|
||||||
command = job.frames[0].command
|
command = job.frames[0].command
|
||||||
@ -240,3 +241,6 @@ def render_slave(engine, scene):
|
|||||||
return
|
return
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
@ -21,6 +21,7 @@ import sys, os
|
|||||||
import http, http.client, http.server, urllib
|
import http, http.client, http.server, urllib
|
||||||
import subprocess, shutil, time, hashlib
|
import subprocess, shutil, time, hashlib
|
||||||
|
|
||||||
|
import netrender
|
||||||
import netrender.slave as slave
|
import netrender.slave as slave
|
||||||
import netrender.master as master
|
import netrender.master as master
|
||||||
|
|
||||||
@ -62,15 +63,15 @@ class RENDER_PT_network_settings(RenderButtonsPanel):
|
|||||||
split = layout.split()
|
split = layout.split()
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemR(scene.network_render, "mode")
|
col.prop(scene.network_render, "mode")
|
||||||
col.itemR(scene.network_render, "path")
|
col.prop(scene.network_render, "path")
|
||||||
col.itemR(scene.network_render, "server_address")
|
col.prop(scene.network_render, "server_address")
|
||||||
col.itemR(scene.network_render, "server_port")
|
col.prop(scene.network_render, "server_port")
|
||||||
|
|
||||||
if scene.network_render.mode == "RENDER_MASTER":
|
if scene.network_render.mode == "RENDER_MASTER":
|
||||||
col.itemR(scene.network_render, "server_broadcast")
|
col.prop(scene.network_render, "server_broadcast")
|
||||||
else:
|
else:
|
||||||
col.itemO("render.netclientscan", icon="ICON_FILE_REFRESH", text="")
|
col.operator("render.netclientscan", icon="ICON_FILE_REFRESH", text="")
|
||||||
|
|
||||||
@rnaType
|
@rnaType
|
||||||
class RENDER_PT_network_job(RenderButtonsPanel):
|
class RENDER_PT_network_job(RenderButtonsPanel):
|
||||||
@ -92,13 +93,13 @@ class RENDER_PT_network_job(RenderButtonsPanel):
|
|||||||
split = layout.split()
|
split = layout.split()
|
||||||
|
|
||||||
col = split.column()
|
col = split.column()
|
||||||
col.itemO("render.netclientanim", icon='ICON_RENDER_ANIMATION')
|
col.operator("render.netclientanim", icon='ICON_RENDER_ANIMATION')
|
||||||
col.itemO("render.netclientsend", icon="ICON_FILE_BLEND")
|
col.operator("render.netclientsend", icon="ICON_FILE_BLEND")
|
||||||
col.itemO("render.netclientweb", icon="ICON_QUESTION")
|
col.operator("render.netclientweb", icon="ICON_QUESTION")
|
||||||
col.itemR(scene.network_render, "job_name")
|
col.prop(scene.network_render, "job_name")
|
||||||
row = col.row()
|
row = col.row()
|
||||||
row.itemR(scene.network_render, "priority")
|
row.prop(scene.network_render, "priority")
|
||||||
row.itemR(scene.network_render, "chunks")
|
row.prop(scene.network_render, "chunks")
|
||||||
|
|
||||||
@rnaType
|
@rnaType
|
||||||
class RENDER_PT_network_slaves(RenderButtonsPanel):
|
class RENDER_PT_network_slaves(RenderButtonsPanel):
|
||||||
@ -119,22 +120,22 @@ class RENDER_PT_network_slaves(RenderButtonsPanel):
|
|||||||
row.template_list(netsettings, "slaves", netsettings, "active_slave_index", rows=2)
|
row.template_list(netsettings, "slaves", netsettings, "active_slave_index", rows=2)
|
||||||
|
|
||||||
sub = row.column(align=True)
|
sub = row.column(align=True)
|
||||||
sub.itemO("render.netclientslaves", icon="ICON_FILE_REFRESH", text="")
|
sub.operator("render.netclientslaves", icon="ICON_FILE_REFRESH", text="")
|
||||||
sub.itemO("render.netclientblacklistslave", icon="ICON_ZOOMOUT", text="")
|
sub.operator("render.netclientblacklistslave", icon="ICON_ZOOMOUT", text="")
|
||||||
|
|
||||||
if len(bpy.netrender_slaves) == 0 and len(netsettings.slaves) > 0:
|
if len(netrender.slaves) == 0 and len(netsettings.slaves) > 0:
|
||||||
while(len(netsettings.slaves) > 0):
|
while(len(netsettings.slaves) > 0):
|
||||||
netsettings.slaves.remove(0)
|
netsettings.slaves.remove(0)
|
||||||
|
|
||||||
if netsettings.active_slave_index >= 0 and len(netsettings.slaves) > 0:
|
if netsettings.active_slave_index >= 0 and len(netsettings.slaves) > 0:
|
||||||
layout.itemS()
|
layout.separator()
|
||||||
|
|
||||||
slave = bpy.netrender_slaves[netsettings.active_slave_index]
|
slave = netrender.slaves[netsettings.active_slave_index]
|
||||||
|
|
||||||
layout.itemL(text="Name: " + slave.name)
|
layout.label(text="Name: " + slave.name)
|
||||||
layout.itemL(text="Address: " + slave.address[0])
|
layout.label(text="Address: " + slave.address[0])
|
||||||
layout.itemL(text="Seen: " + time.ctime(slave.last_seen))
|
layout.label(text="Seen: " + time.ctime(slave.last_seen))
|
||||||
layout.itemL(text="Stats: " + slave.stats)
|
layout.label(text="Stats: " + slave.stats)
|
||||||
|
|
||||||
@rnaType
|
@rnaType
|
||||||
class RENDER_PT_network_slaves_blacklist(RenderButtonsPanel):
|
class RENDER_PT_network_slaves_blacklist(RenderButtonsPanel):
|
||||||
@ -155,21 +156,21 @@ class RENDER_PT_network_slaves_blacklist(RenderButtonsPanel):
|
|||||||
row.template_list(netsettings, "slaves_blacklist", netsettings, "active_blacklisted_slave_index", rows=2)
|
row.template_list(netsettings, "slaves_blacklist", netsettings, "active_blacklisted_slave_index", rows=2)
|
||||||
|
|
||||||
sub = row.column(align=True)
|
sub = row.column(align=True)
|
||||||
sub.itemO("render.netclientwhitelistslave", icon="ICON_ZOOMOUT", text="")
|
sub.operator("render.netclientwhitelistslave", icon="ICON_ZOOMOUT", text="")
|
||||||
|
|
||||||
if len(bpy.netrender_blacklist) == 0 and len(netsettings.slaves_blacklist) > 0:
|
if len(netrender.blacklist) == 0 and len(netsettings.slaves_blacklist) > 0:
|
||||||
while(len(netsettings.slaves_blacklist) > 0):
|
while(len(netsettings.slaves_blacklist) > 0):
|
||||||
netsettings.slaves_blacklist.remove(0)
|
netsettings.slaves_blacklist.remove(0)
|
||||||
|
|
||||||
if netsettings.active_blacklisted_slave_index >= 0 and len(netsettings.slaves_blacklist) > 0:
|
if netsettings.active_blacklisted_slave_index >= 0 and len(netsettings.slaves_blacklist) > 0:
|
||||||
layout.itemS()
|
layout.separator()
|
||||||
|
|
||||||
slave = bpy.netrender_blacklist[netsettings.active_blacklisted_slave_index]
|
slave = netrender.blacklist[netsettings.active_blacklisted_slave_index]
|
||||||
|
|
||||||
layout.itemL(text="Name: " + slave.name)
|
layout.label(text="Name: " + slave.name)
|
||||||
layout.itemL(text="Address: " + slave.address[0])
|
layout.label(text="Address: " + slave.address[0])
|
||||||
layout.itemL(text="Seen: " + slave.last_seen)
|
layout.label(text="Seen: " + time.ctime(slave.last_seen))
|
||||||
layout.itemL(text="Stats: " + time.ctime(slave.stats))
|
layout.label(text="Stats: " + slave.stats)
|
||||||
|
|
||||||
@rnaType
|
@rnaType
|
||||||
class RENDER_PT_network_jobs(RenderButtonsPanel):
|
class RENDER_PT_network_jobs(RenderButtonsPanel):
|
||||||
@ -190,24 +191,24 @@ class RENDER_PT_network_jobs(RenderButtonsPanel):
|
|||||||
row.template_list(netsettings, "jobs", netsettings, "active_job_index", rows=2)
|
row.template_list(netsettings, "jobs", netsettings, "active_job_index", rows=2)
|
||||||
|
|
||||||
sub = row.column(align=True)
|
sub = row.column(align=True)
|
||||||
sub.itemO("render.netclientstatus", icon="ICON_FILE_REFRESH", text="")
|
sub.operator("render.netclientstatus", icon="ICON_FILE_REFRESH", text="")
|
||||||
sub.itemO("render.netclientcancel", icon="ICON_ZOOMOUT", text="")
|
sub.operator("render.netclientcancel", icon="ICON_ZOOMOUT", text="")
|
||||||
sub.itemO("render.netclientcancelall", icon="ICON_PANEL_CLOSE", text="")
|
sub.operator("render.netclientcancelall", icon="ICON_PANEL_CLOSE", text="")
|
||||||
sub.itemO("render.netclientdownload", icon='ICON_RENDER_ANIMATION', text="")
|
sub.operator("render.netclientdownload", icon='ICON_RENDER_ANIMATION', text="")
|
||||||
|
|
||||||
if len(bpy.netrender_jobs) == 0 and len(netsettings.jobs) > 0:
|
if len(netrender.jobs) == 0 and len(netsettings.jobs) > 0:
|
||||||
while(len(netsettings.jobs) > 0):
|
while(len(netsettings.jobs) > 0):
|
||||||
netsettings.jobs.remove(0)
|
netsettings.jobs.remove(0)
|
||||||
|
|
||||||
if netsettings.active_job_index >= 0 and len(netsettings.jobs) > 0:
|
if netsettings.active_job_index >= 0 and len(netsettings.jobs) > 0:
|
||||||
layout.itemS()
|
layout.separator()
|
||||||
|
|
||||||
job = bpy.netrender_jobs[netsettings.active_job_index]
|
job = netrender.jobs[netsettings.active_job_index]
|
||||||
|
|
||||||
layout.itemL(text="Name: %s" % job.name)
|
layout.label(text="Name: %s" % job.name)
|
||||||
layout.itemL(text="Length: %04i" % len(job))
|
layout.label(text="Length: %04i" % len(job))
|
||||||
layout.itemL(text="Done: %04i" % job.results[DONE])
|
layout.label(text="Done: %04i" % job.results[DONE])
|
||||||
layout.itemL(text="Error: %04i" % job.results[ERROR])
|
layout.label(text="Error: %04i" % job.results[ERROR])
|
||||||
|
|
||||||
@rnaType
|
@rnaType
|
||||||
class NetRenderSettings(bpy.types.IDPropertyGroup):
|
class NetRenderSettings(bpy.types.IDPropertyGroup):
|
||||||
|
@ -16,14 +16,18 @@
|
|||||||
#
|
#
|
||||||
# ##### END GPL LICENSE BLOCK #####
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
import bpy
|
|
||||||
import sys, os
|
import sys, os
|
||||||
import re
|
import re
|
||||||
import http, http.client, http.server, urllib
|
import http, http.client, http.server, urllib, socket
|
||||||
import subprocess, shutil, time, hashlib
|
import subprocess, shutil, time, hashlib
|
||||||
|
|
||||||
import netrender.model
|
import netrender.model
|
||||||
|
|
||||||
|
try:
|
||||||
|
import bpy
|
||||||
|
except:
|
||||||
|
bpy = None
|
||||||
|
|
||||||
VERSION = b"0.5"
|
VERSION = b"0.5"
|
||||||
|
|
||||||
# Jobs status
|
# Jobs status
|
||||||
@ -39,27 +43,48 @@ DONE = 2
|
|||||||
ERROR = 3
|
ERROR = 3
|
||||||
|
|
||||||
STATUS_TEXT = {
|
STATUS_TEXT = {
|
||||||
QUEUED: "Queued",
|
QUEUED: "Queued",
|
||||||
DISPATCHED: "Dispatched",
|
DISPATCHED: "Dispatched",
|
||||||
DONE: "Done",
|
DONE: "Done",
|
||||||
ERROR: "Error"
|
ERROR: "Error"
|
||||||
}
|
}
|
||||||
|
|
||||||
def rnaType(rna_type):
|
def rnaType(rna_type):
|
||||||
bpy.types.register(rna_type)
|
if bpy: bpy.types.register(rna_type)
|
||||||
return rna_type
|
return rna_type
|
||||||
|
|
||||||
def rnaOperator(rna_op):
|
def rnaOperator(rna_op):
|
||||||
bpy.ops.add(rna_op)
|
if bpy: bpy.ops.add(rna_op)
|
||||||
return rna_op
|
return rna_op
|
||||||
|
|
||||||
def clientConnection(scene):
|
def clientScan():
|
||||||
netsettings = scene.network_render
|
try:
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||||
|
s.settimeout(30)
|
||||||
|
|
||||||
if netsettings.server_address == "[default]":
|
s.bind(('', 8000))
|
||||||
bpy.ops.render.netclientscan()
|
|
||||||
|
|
||||||
conn = http.client.HTTPConnection(netsettings.server_address, netsettings.server_port)
|
buf, address = s.recvfrom(64)
|
||||||
|
|
||||||
|
print("received:", buf)
|
||||||
|
|
||||||
|
address = address[0]
|
||||||
|
port = int(str(buf, encoding='utf8'))
|
||||||
|
return (address, port)
|
||||||
|
except socket.timeout:
|
||||||
|
print("no server info")
|
||||||
|
return ("", 8000) # return default values
|
||||||
|
|
||||||
|
def clientConnection(address, port):
|
||||||
|
if address == "[default]":
|
||||||
|
# calling operator from python is fucked, scene isn't in context
|
||||||
|
# if bpy:
|
||||||
|
# bpy.ops.render.netclientscan()
|
||||||
|
# else:
|
||||||
|
address, port = clientScan()
|
||||||
|
|
||||||
|
conn = http.client.HTTPConnection(address, port)
|
||||||
|
|
||||||
if clientVerifyVersion(conn):
|
if clientVerifyVersion(conn):
|
||||||
return conn
|
return conn
|
||||||
|
85
release/scripts/modules/bpy/__init__.py
Normal file
85
release/scripts/modules/bpy/__init__.py
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
# ##### 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.
|
||||||
|
#
|
||||||
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
|
# internal blender C module
|
||||||
|
import _bpy
|
||||||
|
from _bpy import types, props
|
||||||
|
|
||||||
|
data = _bpy.data
|
||||||
|
context = _bpy.context
|
||||||
|
|
||||||
|
# python modules
|
||||||
|
from bpy import utils
|
||||||
|
|
||||||
|
from bpy import ops as _ops_module
|
||||||
|
|
||||||
|
# fake operator module
|
||||||
|
ops = _ops_module.ops_fake_module
|
||||||
|
|
||||||
|
def load_scripts(reload_scripts=False):
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
def test_import(module_name):
|
||||||
|
try:
|
||||||
|
return __import__(module_name)
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
return None
|
||||||
|
|
||||||
|
for base_path in utils.script_paths():
|
||||||
|
for path_subdir in ("ui", "op", "io"):
|
||||||
|
path = os.path.join(base_path, path_subdir)
|
||||||
|
sys.path.insert(0, path)
|
||||||
|
for f in sorted(os.listdir(path)):
|
||||||
|
if f.endswith(".py"):
|
||||||
|
# python module
|
||||||
|
mod = test_import(f[0:-3])
|
||||||
|
elif "." not in f:
|
||||||
|
# python package
|
||||||
|
mod = test_import(f)
|
||||||
|
else:
|
||||||
|
mod = None
|
||||||
|
|
||||||
|
if reload_scripts and mod:
|
||||||
|
print("Reloading:", mod)
|
||||||
|
reload(mod)
|
||||||
|
|
||||||
|
def _main():
|
||||||
|
|
||||||
|
# a bit nasty but this prevents help() and input() from locking blender
|
||||||
|
# Ideally we could have some way for the console to replace sys.stdin but
|
||||||
|
# python would lock blender while waiting for a return value, not easy :|
|
||||||
|
import sys
|
||||||
|
sys.stdin = None
|
||||||
|
|
||||||
|
if "-d" in sys.argv and False: # Enable this to measure startup speed
|
||||||
|
import cProfile
|
||||||
|
cProfile.run('import bpy; bpy.load_scripts()', 'blender.prof')
|
||||||
|
|
||||||
|
import pstats
|
||||||
|
p = pstats.Stats('blender.prof')
|
||||||
|
p.sort_stats('cumulative').print_stats(100)
|
||||||
|
|
||||||
|
else:
|
||||||
|
load_scripts()
|
||||||
|
|
||||||
|
_main()
|
||||||
|
|
||||||
|
|
@ -19,12 +19,14 @@
|
|||||||
# <pep8-80 compliant>
|
# <pep8-80 compliant>
|
||||||
|
|
||||||
# for slightly faster access
|
# for slightly faster access
|
||||||
from bpy.__ops__ import add as op_add
|
from _bpy import ops as ops_module
|
||||||
from bpy.__ops__ import remove as op_remove
|
|
||||||
from bpy.__ops__ import dir as op_dir
|
op_add = ops_module.add
|
||||||
from bpy.__ops__ import call as op_call
|
op_remove = ops_module.remove
|
||||||
from bpy.__ops__ import as_string as op_as_string
|
op_dir = ops_module.dir
|
||||||
from bpy.__ops__ import get_rna as op_get_rna
|
op_call = ops_module.call
|
||||||
|
op_as_string = ops_module.as_string
|
||||||
|
op_get_rna = ops_module.get_rna
|
||||||
|
|
||||||
# Keep in sync with WM_types.h
|
# Keep in sync with WM_types.h
|
||||||
context_dict = {
|
context_dict = {
|
||||||
@ -190,5 +192,4 @@ class bpy_ops_submodule_op(object):
|
|||||||
return "<function bpy.ops.%s.%s at 0x%x'>" % \
|
return "<function bpy.ops.%s.%s at 0x%x'>" % \
|
||||||
(self.module, self.func, id(self))
|
(self.module, self.func, id(self))
|
||||||
|
|
||||||
import bpy
|
ops_fake_module = bpy_ops()
|
||||||
bpy.ops = bpy_ops()
|
|
78
release/scripts/modules/bpy/utils.py
Normal file
78
release/scripts/modules/bpy/utils.py
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# ##### 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.
|
||||||
|
#
|
||||||
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
|
import bpy
|
||||||
|
import os
|
||||||
|
|
||||||
|
def expandpath(path):
|
||||||
|
if path.startswith("//"):
|
||||||
|
return os.path.join(os.path.dirname(bpy.data.filename), path[2:])
|
||||||
|
|
||||||
|
return path
|
||||||
|
|
||||||
|
|
||||||
|
_unclean_chars = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, \
|
||||||
|
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, \
|
||||||
|
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 58, 59, 60, 61, 62, 63, \
|
||||||
|
64, 91, 92, 93, 94, 96, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, \
|
||||||
|
133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, \
|
||||||
|
147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, \
|
||||||
|
161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, \
|
||||||
|
175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, \
|
||||||
|
189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, \
|
||||||
|
203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, \
|
||||||
|
217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, \
|
||||||
|
231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, \
|
||||||
|
245, 246, 247, 248, 249, 250, 251, 252, 253, 254]
|
||||||
|
|
||||||
|
_unclean_chars = ''.join([chr(i) for i in _unclean_chars])
|
||||||
|
|
||||||
|
def clean_name(name, replace="_"):
|
||||||
|
'''
|
||||||
|
All characters besides A-Z/a-z, 0-9 are replaced with "_"
|
||||||
|
or the replace argumet if defined.
|
||||||
|
'''
|
||||||
|
for ch in _unclean_chars:
|
||||||
|
name = name.replace(ch, replace)
|
||||||
|
return name
|
||||||
|
|
||||||
|
|
||||||
|
# base scripts
|
||||||
|
_scripts = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir)
|
||||||
|
_scripts = (os.path.normpath(_scripts), )
|
||||||
|
|
||||||
|
def script_paths(*args):
|
||||||
|
if not args:
|
||||||
|
return _scripts
|
||||||
|
|
||||||
|
subdir = os.path.join(*args)
|
||||||
|
script_paths = []
|
||||||
|
for path in _scripts:
|
||||||
|
script_paths.append(os.path.join(path, subdir))
|
||||||
|
|
||||||
|
return script_paths
|
||||||
|
|
||||||
|
|
||||||
|
_presets = os.path.join(_scripts[0], "presets") # FIXME - multiple paths
|
||||||
|
|
||||||
|
def preset_paths(subdir):
|
||||||
|
'''
|
||||||
|
Returns a list of paths for a spesific preset.
|
||||||
|
'''
|
||||||
|
|
||||||
|
return (os.path.join(_presets, subdir), )
|
@ -15,33 +15,126 @@
|
|||||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#
|
#
|
||||||
# ##### END GPL LICENSE BLOCK #####
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
from _bpy import types as bpy_types
|
||||||
|
|
||||||
import bpy
|
StructRNA = bpy_types.Struct.__bases__[0]
|
||||||
|
# StructRNA = bpy_types.Struct
|
||||||
StructRNA = bpy.types.Struct.__bases__[0]
|
|
||||||
# StructRNA = bpy.types.Struct
|
|
||||||
|
|
||||||
|
|
||||||
class Object(bpy.types.ID):
|
class Context(StructRNA):
|
||||||
|
|
||||||
def _get_children(self):
|
def copy(self):
|
||||||
|
new_context = {}
|
||||||
|
generic_keys = StructRNA.__dict__.keys()
|
||||||
|
for item in dir(self):
|
||||||
|
if item not in generic_keys:
|
||||||
|
new_context[item] = getattr(self, item)
|
||||||
|
|
||||||
|
return new_context
|
||||||
|
|
||||||
|
|
||||||
|
class Object(bpy_types.ID):
|
||||||
|
|
||||||
|
@property
|
||||||
|
def children(self):
|
||||||
|
import bpy
|
||||||
return [child for child in bpy.data.objects if child.parent == self]
|
return [child for child in bpy.data.objects if child.parent == self]
|
||||||
|
|
||||||
children = property(_get_children)
|
|
||||||
|
class _GenericBone:
|
||||||
|
'''
|
||||||
|
functions for bones, common between Armature/Pose/Edit bones.
|
||||||
|
internal subclassing use only.
|
||||||
|
'''
|
||||||
|
def parent_index(self, parent_test):
|
||||||
|
'''
|
||||||
|
The same as 'bone in other_bone.parent_recursive' but saved generating a list.
|
||||||
|
'''
|
||||||
|
# use the name so different types can be tested.
|
||||||
|
name = parent_test.name
|
||||||
|
|
||||||
|
parent = self.parent
|
||||||
|
i = 1
|
||||||
|
while parent:
|
||||||
|
if parent.name == name:
|
||||||
|
return i
|
||||||
|
parent = parent.parent
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
@property
|
||||||
|
def parent_recursive(self):
|
||||||
|
parent_list = []
|
||||||
|
parent = self.parent
|
||||||
|
|
||||||
|
while parent:
|
||||||
|
if parent:
|
||||||
|
parent_list.append(parent)
|
||||||
|
|
||||||
|
parent = parent.parent
|
||||||
|
|
||||||
|
return parent_list
|
||||||
|
|
||||||
|
@property
|
||||||
|
def length(self):
|
||||||
|
return (self.head - self.tail).length
|
||||||
|
|
||||||
|
@property
|
||||||
|
def children(self):
|
||||||
|
return [child for child in self._other_bones if child.parent == self]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def children_recursive(self):
|
||||||
|
bones_children = []
|
||||||
|
for bone in self._other_bones:
|
||||||
|
index = bone.parent_index(self)
|
||||||
|
if index:
|
||||||
|
bones_children.append((index, bone))
|
||||||
|
|
||||||
|
# sort by distance to parent
|
||||||
|
bones_children.sort(key=lambda bone_pair: bone_pair[0])
|
||||||
|
return [bone for index, bone in bones_children]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def _other_bones(self):
|
||||||
|
id_data = self.id_data
|
||||||
|
id_data_type = type(id_data)
|
||||||
|
|
||||||
|
if id_data_type == bpy_types.Object:
|
||||||
|
bones = id_data.pose.bones
|
||||||
|
elif id_data_type == bpy_types.Armature:
|
||||||
|
bones = id_data.edit_bones
|
||||||
|
if not bones: # not in editmode
|
||||||
|
bones = id_data.bones
|
||||||
|
|
||||||
|
return bones
|
||||||
|
|
||||||
|
|
||||||
|
class PoseBone(StructRNA, _GenericBone):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Bone(StructRNA, _GenericBone):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class EditBone(StructRNA, _GenericBone):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def ord_ind(i1,i2):
|
def ord_ind(i1,i2):
|
||||||
if i1<i2: return i1,i2
|
if i1<i2: return i1,i2
|
||||||
return i2,i1
|
return i2,i1
|
||||||
|
|
||||||
class Mesh(bpy.types.ID):
|
class Mesh(bpy_types.ID):
|
||||||
|
|
||||||
def _get_edge_keys(self):
|
@property
|
||||||
|
def edge_keys(self):
|
||||||
return [edge_key for face in self.faces for edge_key in face.edge_keys]
|
return [edge_key for face in self.faces for edge_key in face.edge_keys]
|
||||||
|
|
||||||
edge_keys = property(_get_edge_keys)
|
@property
|
||||||
|
def edge_face_count_dict(self):
|
||||||
def _get_edge_face_count_dict(self):
|
|
||||||
face_edge_keys = [face.edge_keys for face in self.faces]
|
face_edge_keys = [face.edge_keys for face in self.faces]
|
||||||
face_edge_count = {}
|
face_edge_count = {}
|
||||||
for face_keys in face_edge_keys:
|
for face_keys in face_edge_keys:
|
||||||
@ -53,30 +146,87 @@ class Mesh(bpy.types.ID):
|
|||||||
|
|
||||||
return face_edge_count
|
return face_edge_count
|
||||||
|
|
||||||
edge_face_count_dict = property(_get_edge_face_count_dict)
|
@property
|
||||||
|
def edge_face_count(self):
|
||||||
def _get_edge_face_count(self):
|
|
||||||
edge_face_count_dict = self.edge_face_count_dict
|
edge_face_count_dict = self.edge_face_count_dict
|
||||||
return [edge_face_count_dict.get(ed.key, 0) for ed in mesh.edges]
|
return [edge_face_count_dict.get(ed.key, 0) for ed in mesh.edges]
|
||||||
|
|
||||||
edge_face_count = property(_get_edge_face_count)
|
|
||||||
|
|
||||||
|
|
||||||
class MeshEdge(StructRNA):
|
class MeshEdge(StructRNA):
|
||||||
|
|
||||||
def _get_key(self):
|
@property
|
||||||
|
def key(self):
|
||||||
return ord_ind(*tuple(self.verts))
|
return ord_ind(*tuple(self.verts))
|
||||||
|
|
||||||
key = property(_get_key)
|
|
||||||
|
|
||||||
|
|
||||||
class MeshFace(StructRNA):
|
class MeshFace(StructRNA):
|
||||||
|
|
||||||
def _get_edge_keys(self):
|
@property
|
||||||
|
def edge_keys(self):
|
||||||
verts = tuple(self.verts)
|
verts = tuple(self.verts)
|
||||||
if len(verts)==3:
|
if len(verts)==3:
|
||||||
return ord_ind(verts[0], verts[1]), ord_ind(verts[1], verts[2]), ord_ind(verts[2], verts[0])
|
return ord_ind(verts[0], verts[1]), ord_ind(verts[1], verts[2]), ord_ind(verts[2], verts[0])
|
||||||
|
|
||||||
return ord_ind(verts[0], verts[1]), ord_ind(verts[1], verts[2]), ord_ind(verts[2], verts[3]), ord_ind(verts[3], verts[0])
|
return ord_ind(verts[0], verts[1]), ord_ind(verts[1], verts[2]), ord_ind(verts[2], verts[3]), ord_ind(verts[3], verts[0])
|
||||||
|
|
||||||
edge_keys = property(_get_edge_keys)
|
|
||||||
|
import collections
|
||||||
|
class OrderedMeta(type):
|
||||||
|
def __init__(cls, name, bases, attributes):
|
||||||
|
super(OrderedMeta, cls).__init__(name, bases, attributes)
|
||||||
|
cls.order = list(attributes.keys())
|
||||||
|
def __prepare__(name, bases, **kwargs):
|
||||||
|
return collections.OrderedDict()
|
||||||
|
|
||||||
|
|
||||||
|
# Only defined so operators members can be used by accessing self.order
|
||||||
|
class Operator(StructRNA, metaclass=OrderedMeta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Menu(StructRNA):
|
||||||
|
|
||||||
|
def path_menu(self, searchpaths, operator):
|
||||||
|
layout = self.layout
|
||||||
|
# hard coded to set the operators 'path' to the filename.
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
def path_to_name(f):
|
||||||
|
''' Only capitalize all lowercase names, mixed case use them as is.
|
||||||
|
'''
|
||||||
|
f_base = os.path.splitext(f)[0]
|
||||||
|
|
||||||
|
# string replacements
|
||||||
|
f_base = f_base.replace("_colon_", ":")
|
||||||
|
|
||||||
|
f_base = f_base.replace("_", " ")
|
||||||
|
|
||||||
|
if f_base.lower() == f_base:
|
||||||
|
return ' '.join([w[0].upper() + w[1:] for w in f_base.split()])
|
||||||
|
else:
|
||||||
|
return f_base
|
||||||
|
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
# collect paths
|
||||||
|
files = []
|
||||||
|
for path in searchpaths:
|
||||||
|
files.extend([(f, os.path.join(path, f)) for f in os.listdir(path)])
|
||||||
|
|
||||||
|
files.sort()
|
||||||
|
|
||||||
|
for f, path in files:
|
||||||
|
|
||||||
|
if f.startswith("."):
|
||||||
|
continue
|
||||||
|
|
||||||
|
layout.operator(operator, text=path_to_name(f)).path = path
|
||||||
|
|
||||||
|
def draw_preset(self, context):
|
||||||
|
'''Define these on the subclass
|
||||||
|
- preset_operator
|
||||||
|
- preset_subdir
|
||||||
|
'''
|
||||||
|
import bpy
|
||||||
|
self.path_menu(bpy.utils.preset_paths(self.preset_subdir), self.preset_operator)
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
# ##### 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.
|
|
||||||
#
|
|
||||||
# ##### END GPL LICENSE BLOCK #####
|
|
||||||
|
|
||||||
import bpy
|
|
||||||
import os
|
|
||||||
|
|
||||||
def expandpath(path):
|
|
||||||
if path.startswith("//"):
|
|
||||||
return os.path.join(os.path.dirname(bpy.data.filename), path[2:])
|
|
||||||
|
|
||||||
return path
|
|
||||||
|
|
||||||
import types
|
|
||||||
bpy.utils = types.ModuleType("bpy.utils")
|
|
||||||
bpy.utils.expandpath = expandpath
|
|
@ -109,5 +109,3 @@ DynMenu.add = add
|
|||||||
# dont ever use this directly!
|
# dont ever use this directly!
|
||||||
bpy.types.register(DynMenu)
|
bpy.types.register(DynMenu)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
888
release/scripts/modules/rigify.py
Normal file
888
release/scripts/modules/rigify.py
Normal file
@ -0,0 +1,888 @@
|
|||||||
|
# ##### 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.
|
||||||
|
#
|
||||||
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
|
import bpy
|
||||||
|
from functools import reduce
|
||||||
|
from Mathutils import Vector
|
||||||
|
|
||||||
|
# TODO, have these in a more general module
|
||||||
|
from rna_prop_ui import rna_idprop_ui_get, rna_idprop_ui_prop_get
|
||||||
|
|
||||||
|
empty_layer = [False] * 16
|
||||||
|
|
||||||
|
def auto_class(slots, name="ContainerClass"):
|
||||||
|
return type(name, (object,), {"__slots__":tuple(slots)})
|
||||||
|
|
||||||
|
def auto_class_instance(slots, name="ContainerClass"):
|
||||||
|
return auto_class(slots, name)()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def bone_class_instance(obj, slots, name="BoneContainer"):
|
||||||
|
for member in slots[:]:
|
||||||
|
slots.append(member + "_b") # bone bone
|
||||||
|
slots.append(member + "_p") # pose bone
|
||||||
|
slots.append(member + "_e") # edit bone
|
||||||
|
|
||||||
|
slots.extend(["obj", "update"])
|
||||||
|
|
||||||
|
instance = auto_class_instance(slots, name)
|
||||||
|
|
||||||
|
def update():
|
||||||
|
'''
|
||||||
|
Re-Assigns bones from the blender data
|
||||||
|
'''
|
||||||
|
arm = obj.data
|
||||||
|
|
||||||
|
bbones = arm.bones
|
||||||
|
pbones = obj.pose.bones
|
||||||
|
ebones = arm.edit_bones
|
||||||
|
|
||||||
|
for member in slots:
|
||||||
|
|
||||||
|
if member in ("update", "obj"):
|
||||||
|
continue
|
||||||
|
|
||||||
|
if not member[-2] == "_":
|
||||||
|
name = getattr(instance, member, None)
|
||||||
|
if name is not None:
|
||||||
|
setattr(instance, member + "_b", bbones.get(name, None))
|
||||||
|
setattr(instance, member + "_p", pbones.get(name, None))
|
||||||
|
setattr(instance, member + "_e", ebones.get(name, None))
|
||||||
|
|
||||||
|
instance.update = update
|
||||||
|
|
||||||
|
return instance
|
||||||
|
|
||||||
|
def gen_none(obj, orig_bone_name):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_bone_data(obj, bone_name):
|
||||||
|
arm = obj.data
|
||||||
|
pbone = obj.pose.bones[bone_name]
|
||||||
|
if obj.mode == 'EDIT':
|
||||||
|
bone = arm.edit_bones[bone_name]
|
||||||
|
else:
|
||||||
|
bone = arm.bones[bone_name]
|
||||||
|
|
||||||
|
return arm, pbone, bone
|
||||||
|
|
||||||
|
def bone_basename(name):
|
||||||
|
return name.split(".")[0]
|
||||||
|
|
||||||
|
def copy_bone_simple(arm, from_bone, name, parent=False):
|
||||||
|
ebone = arm.edit_bones[from_bone]
|
||||||
|
ebone_new = arm.edit_bones.new(name)
|
||||||
|
|
||||||
|
if parent:
|
||||||
|
ebone_new.connected = ebone.connected
|
||||||
|
ebone_new.parent = ebone.parent
|
||||||
|
|
||||||
|
ebone_new.head = ebone.head
|
||||||
|
ebone_new.tail = ebone.tail
|
||||||
|
ebone_new.roll = ebone.roll
|
||||||
|
return ebone_new
|
||||||
|
|
||||||
|
|
||||||
|
def add_stretch_to(obj, from_name, to_name, name):
|
||||||
|
'''
|
||||||
|
Adds a bone that stretches from one to another
|
||||||
|
'''
|
||||||
|
|
||||||
|
mode_orig = obj.mode
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
arm = obj.data
|
||||||
|
stretch_ebone = arm.edit_bones.new(name)
|
||||||
|
stretch_name = stretch_ebone.name
|
||||||
|
del name
|
||||||
|
|
||||||
|
head = stretch_ebone.head = arm.edit_bones[from_name].head.copy()
|
||||||
|
#tail = stretch_ebone.tail = arm.edit_bones[to_name].head.copy()
|
||||||
|
|
||||||
|
# annoying exception for zero length bones, since its using stretch_to the rest pose doesnt really matter
|
||||||
|
#if (head - tail).length < 0.1:
|
||||||
|
if 1:
|
||||||
|
tail = stretch_ebone.tail = arm.edit_bones[from_name].tail.copy()
|
||||||
|
|
||||||
|
|
||||||
|
# Now for the constraint
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
from_pbone = obj.pose.bones[from_name]
|
||||||
|
to_pbone = obj.pose.bones[to_name]
|
||||||
|
|
||||||
|
stretch_pbone = obj.pose.bones[stretch_name]
|
||||||
|
|
||||||
|
con = stretch_pbone.constraints.new('COPY_LOCATION')
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = from_name
|
||||||
|
|
||||||
|
con = stretch_pbone.constraints.new('STRETCH_TO')
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = to_name
|
||||||
|
con.original_length = (head - tail).length
|
||||||
|
con.keep_axis = 'PLANE_X'
|
||||||
|
con.volume = 'NO_VOLUME'
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode=mode_orig)
|
||||||
|
|
||||||
|
|
||||||
|
def add_pole_target_bone(obj, base_name, name, mode='CROSS'):
|
||||||
|
'''
|
||||||
|
Does not actually create a poll target, just the bone to use as a poll target
|
||||||
|
'''
|
||||||
|
mode_orig = obj.mode
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
arm = obj.data
|
||||||
|
|
||||||
|
poll_ebone = arm.edit_bones.new(base_name + "_poll")
|
||||||
|
base_ebone = arm.edit_bones[base_name]
|
||||||
|
poll_name = poll_ebone.name
|
||||||
|
parent_ebone = base_ebone.parent
|
||||||
|
|
||||||
|
base_head = base_ebone.head.copy()
|
||||||
|
base_tail = base_ebone.tail.copy()
|
||||||
|
base_dir = base_head - base_tail
|
||||||
|
|
||||||
|
parent_head = parent_ebone.head.copy()
|
||||||
|
parent_tail = parent_ebone.tail.copy()
|
||||||
|
parent_dir = parent_head - parent_tail
|
||||||
|
|
||||||
|
distance = (base_dir.length + parent_dir.length)
|
||||||
|
|
||||||
|
if mode == 'CROSS':
|
||||||
|
offset = base_dir.copy().normalize() - parent_dir.copy().normalize()
|
||||||
|
offset.length = distance
|
||||||
|
else:
|
||||||
|
offset = Vector(0,0,0)
|
||||||
|
if mode[0]=="+":
|
||||||
|
val = distance
|
||||||
|
else:
|
||||||
|
val = -distance
|
||||||
|
|
||||||
|
setattr(offset, mode[1].lower(), val)
|
||||||
|
|
||||||
|
poll_ebone.head = base_head + offset
|
||||||
|
poll_ebone.tail = base_head + (offset * (1.0 - (1.0 / 4.0)))
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode=mode_orig)
|
||||||
|
|
||||||
|
return poll_name
|
||||||
|
|
||||||
|
|
||||||
|
def gen_finger(obj, orig_bone_name):
|
||||||
|
|
||||||
|
# *** EDITMODE
|
||||||
|
|
||||||
|
# get assosiated data
|
||||||
|
arm, orig_pbone, orig_ebone = get_bone_data(obj, orig_bone_name)
|
||||||
|
|
||||||
|
obj.animation_data_create() # needed if its a new armature with no keys
|
||||||
|
|
||||||
|
arm.layer[0] = arm.layer[8] = True
|
||||||
|
|
||||||
|
children = orig_pbone.children_recursive
|
||||||
|
tot_len = reduce(lambda f, pbone: f + pbone.bone.length, children, orig_pbone.bone.length)
|
||||||
|
|
||||||
|
base_name = bone_basename(orig_pbone.name)
|
||||||
|
|
||||||
|
# first make a new bone at the location of the finger
|
||||||
|
control_ebone = arm.edit_bones.new(base_name)
|
||||||
|
control_bone_name = control_ebone.name # we dont know if we get the name requested
|
||||||
|
|
||||||
|
control_ebone.connected = orig_ebone.connected
|
||||||
|
control_ebone.parent = orig_ebone.parent
|
||||||
|
|
||||||
|
# Place the finger bone
|
||||||
|
head = orig_ebone.head.copy()
|
||||||
|
tail = orig_ebone.tail.copy()
|
||||||
|
|
||||||
|
control_ebone.head = head
|
||||||
|
control_ebone.tail = head + ((tail - head).normalize() * tot_len)
|
||||||
|
control_ebone.roll = orig_ebone.roll
|
||||||
|
|
||||||
|
# now add bones inbetween this and its children recursively
|
||||||
|
|
||||||
|
# switching modes so store names only!
|
||||||
|
children = [pbone.name for pbone in children]
|
||||||
|
|
||||||
|
# set an alternate layer for driver bones
|
||||||
|
other_layer = empty_layer[:]
|
||||||
|
other_layer[8] = True
|
||||||
|
|
||||||
|
|
||||||
|
driver_bone_pairs = []
|
||||||
|
|
||||||
|
for child_bone_name in children:
|
||||||
|
arm, pbone_child, child_ebone = get_bone_data(obj, child_bone_name)
|
||||||
|
|
||||||
|
# finger.02 --> finger_driver.02
|
||||||
|
driver_bone_name = child_bone_name.split('.')
|
||||||
|
driver_bone_name = driver_bone_name[0] + "_driver." + ".".join(driver_bone_name[1:])
|
||||||
|
|
||||||
|
driver_ebone = arm.edit_bones.new(driver_bone_name)
|
||||||
|
driver_bone_name = driver_ebone.name # cant be too sure!
|
||||||
|
driver_ebone.layer = other_layer
|
||||||
|
|
||||||
|
new_len = pbone_child.bone.length / 2.0
|
||||||
|
|
||||||
|
head = child_ebone.head.copy()
|
||||||
|
tail = child_ebone.tail.copy()
|
||||||
|
|
||||||
|
driver_ebone.head = head
|
||||||
|
driver_ebone.tail = head + ((tail - head).normalize() * new_len)
|
||||||
|
driver_ebone.roll = child_ebone.roll
|
||||||
|
|
||||||
|
# Insert driver_ebone in the chain without connected parents
|
||||||
|
driver_ebone.connected = False
|
||||||
|
driver_ebone.parent = child_ebone.parent
|
||||||
|
|
||||||
|
child_ebone.connected = False
|
||||||
|
child_ebone.parent = driver_ebone
|
||||||
|
|
||||||
|
# Add the drivers to these when in posemode.
|
||||||
|
driver_bone_pairs.append((child_bone_name, driver_bone_name))
|
||||||
|
|
||||||
|
del control_ebone
|
||||||
|
|
||||||
|
|
||||||
|
# *** POSEMODE
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
|
||||||
|
arm, orig_pbone, orig_bone = get_bone_data(obj, orig_bone_name)
|
||||||
|
arm, control_pbone, control_bone= get_bone_data(obj, control_bone_name)
|
||||||
|
|
||||||
|
|
||||||
|
# only allow Y scale
|
||||||
|
control_pbone.lock_scale = (True, False, True)
|
||||||
|
|
||||||
|
control_pbone["bend_ratio"] = 0.4
|
||||||
|
prop = rna_idprop_ui_prop_get(control_pbone, "bend_ratio", create=True)
|
||||||
|
prop["soft_min"] = 0.0
|
||||||
|
prop["soft_max"] = 1.0
|
||||||
|
|
||||||
|
con = orig_pbone.constraints.new('COPY_LOCATION')
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = control_bone_name
|
||||||
|
|
||||||
|
con = orig_pbone.constraints.new('COPY_ROTATION')
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = control_bone_name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# setup child drivers on each new smaller bone added. assume 2 for now.
|
||||||
|
|
||||||
|
# drives the bones
|
||||||
|
controller_path = control_pbone.path_to_id() # 'pose.bones["%s"]' % control_bone_name
|
||||||
|
|
||||||
|
i = 0
|
||||||
|
for child_bone_name, driver_bone_name in driver_bone_pairs:
|
||||||
|
|
||||||
|
# XXX - todo, any number
|
||||||
|
if i==2:
|
||||||
|
break
|
||||||
|
|
||||||
|
arm, driver_pbone, driver_bone = get_bone_data(obj, driver_bone_name)
|
||||||
|
|
||||||
|
driver_pbone.rotation_mode = 'YZX'
|
||||||
|
fcurve_driver = driver_pbone.driver_add("rotation_euler", 0)
|
||||||
|
|
||||||
|
#obj.driver_add('pose.bones["%s"].scale', 1)
|
||||||
|
#obj.animation_data.drivers[-1] # XXX, WATCH THIS
|
||||||
|
driver = fcurve_driver.driver
|
||||||
|
|
||||||
|
# scale target
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "scale"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + '.scale[1]'
|
||||||
|
|
||||||
|
# bend target
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "br"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + '["bend_ratio"]'
|
||||||
|
|
||||||
|
# XXX - todo, any number
|
||||||
|
if i==0:
|
||||||
|
driver.expression = '(-scale+1.0)*pi*2.0*(1.0-br)'
|
||||||
|
elif i==1:
|
||||||
|
driver.expression = '(-scale+1.0)*pi*2.0*br'
|
||||||
|
|
||||||
|
arm, child_pbone, child_bone = get_bone_data(obj, child_bone_name)
|
||||||
|
|
||||||
|
# only allow X rotation
|
||||||
|
driver_pbone.lock_rotation = child_pbone.lock_rotation = (False, True, True)
|
||||||
|
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
|
||||||
|
def gen_delta(obj, delta_name):
|
||||||
|
'''
|
||||||
|
Use this bone to define a delta thats applied to its child in pose mode.
|
||||||
|
'''
|
||||||
|
|
||||||
|
arm = obj.data
|
||||||
|
|
||||||
|
mode_orig = obj.mode
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
delta_pbone = obj.pose.bones[delta_name]
|
||||||
|
children = delta_pbone.children
|
||||||
|
|
||||||
|
if len(children) != 1:
|
||||||
|
print("only 1 child supported for delta")
|
||||||
|
|
||||||
|
child_name = children[0].name
|
||||||
|
arm, child_pbone, child_bone = get_bone_data(obj, child_name)
|
||||||
|
|
||||||
|
delta_phead = delta_pbone.head.copy()
|
||||||
|
delta_ptail = delta_pbone.tail.copy()
|
||||||
|
delta_pmatrix = delta_pbone.matrix.copy()
|
||||||
|
|
||||||
|
child_phead = child_pbone.head.copy()
|
||||||
|
child_ptail = child_pbone.tail.copy()
|
||||||
|
child_pmatrix = child_pbone.matrix.copy()
|
||||||
|
|
||||||
|
|
||||||
|
children = delta_pbone.children
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
delta_ebone = arm.edit_bones[delta_name]
|
||||||
|
child_ebone = arm.edit_bones[child_name]
|
||||||
|
|
||||||
|
delta_head = delta_ebone.head.copy()
|
||||||
|
delta_tail = delta_ebone.tail.copy()
|
||||||
|
|
||||||
|
# arm, parent_pbone, parent_bone = get_bone_data(obj, delta_name)
|
||||||
|
child_head = child_ebone.head.copy()
|
||||||
|
child_tail = child_ebone.tail.copy()
|
||||||
|
|
||||||
|
arm.edit_bones.remove(delta_ebone)
|
||||||
|
del delta_ebone # cant use thz
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
|
||||||
|
# Move the child bone to the deltas location
|
||||||
|
obj.animation_data_create()
|
||||||
|
child_pbone = obj.pose.bones[child_name]
|
||||||
|
|
||||||
|
# ------------------- drivers
|
||||||
|
|
||||||
|
child_pbone.rotation_mode = 'XYZ'
|
||||||
|
|
||||||
|
rot = delta_pmatrix.invert().rotationPart() * child_pmatrix.rotationPart()
|
||||||
|
rot = rot.invert().toEuler()
|
||||||
|
|
||||||
|
fcurve_drivers = child_pbone.driver_add("rotation_euler", -1)
|
||||||
|
for i, fcurve_driver in enumerate(fcurve_drivers):
|
||||||
|
driver = fcurve_driver.driver
|
||||||
|
driver.type = 'AVERAGE'
|
||||||
|
#mod = fcurve_driver.modifiers.new('GENERATOR')
|
||||||
|
mod = fcurve_driver.modifiers[0]
|
||||||
|
mod.poly_order = 1
|
||||||
|
mod.coefficients[0] = rot[i]
|
||||||
|
mod.coefficients[1] = 0.0
|
||||||
|
|
||||||
|
# tricky, find the transform to drive the bone to this location.
|
||||||
|
delta_head_offset = child_pmatrix.rotationPart() * (delta_phead - child_phead)
|
||||||
|
|
||||||
|
fcurve_drivers = child_pbone.driver_add("location", -1)
|
||||||
|
for i, fcurve_driver in enumerate(fcurve_drivers):
|
||||||
|
driver = fcurve_driver.driver
|
||||||
|
driver.type = 'AVERAGE'
|
||||||
|
#mod = fcurve_driver.modifiers.new('GENERATOR')
|
||||||
|
mod = fcurve_driver.modifiers[0]
|
||||||
|
mod.poly_order = 1
|
||||||
|
mod.coefficients[0] = delta_head_offset[i]
|
||||||
|
mod.coefficients[1] = 0.0
|
||||||
|
|
||||||
|
|
||||||
|
# arm, parent_pbone, parent_bone = get_bone_data(obj, delta_name)
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode=mode_orig)
|
||||||
|
|
||||||
|
|
||||||
|
def gen_arm(obj, orig_bone_name):
|
||||||
|
"""
|
||||||
|
the bone with the 'arm' property is the upper arm, this assumes a chain as follows.
|
||||||
|
[shoulder, upper_arm, forearm, hand]
|
||||||
|
...where this bone is 'upper_arm'
|
||||||
|
|
||||||
|
there are 3 chains
|
||||||
|
- Original
|
||||||
|
- IK, MCH-%s_ik
|
||||||
|
- IKSwitch, MCH-%s ()
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Since there are 3 chains, this gets confusing so divide into 3 chains
|
||||||
|
# Initialize container classes for convenience
|
||||||
|
mt = bone_class_instance(obj, ["shoulder", "arm", "forearm", "hand"]) # meta
|
||||||
|
ik = bone_class_instance(obj, ["arm", "forearm", "pole", "hand"]) # ik
|
||||||
|
sw = bone_class_instance(obj, ["socket", "shoulder", "arm", "forearm", "hand"]) # hinge
|
||||||
|
ex = bone_class_instance(obj, ["arm_hinge"]) # hinge & extras
|
||||||
|
|
||||||
|
|
||||||
|
def chain_init():
|
||||||
|
'''
|
||||||
|
Sanity check and return the arm as a list of bone names.
|
||||||
|
'''
|
||||||
|
# do a sanity check
|
||||||
|
mt.arm = orig_bone_name
|
||||||
|
mt.update()
|
||||||
|
|
||||||
|
mt.shoulder_p = mt.arm_p.parent
|
||||||
|
mt.shoulder = mt.shoulder_p.name
|
||||||
|
|
||||||
|
if not mt.shoulder_p:
|
||||||
|
print("could not find 'arm' parent, skipping:", orig_bone_name)
|
||||||
|
return
|
||||||
|
|
||||||
|
# We could have some bones attached, find the bone that has this as its 2nd parent
|
||||||
|
hands = []
|
||||||
|
for pbone in obj.pose.bones:
|
||||||
|
index = pbone.parent_index(mt.arm_p)
|
||||||
|
if index == 2:
|
||||||
|
hands.append(pbone)
|
||||||
|
|
||||||
|
if len(hands) > 1:
|
||||||
|
print("more then 1 hand found on:", orig_bone_name)
|
||||||
|
return
|
||||||
|
|
||||||
|
# first add the 2 new bones
|
||||||
|
mt.hand_p = hands[0]
|
||||||
|
mt.hand = mt.hand_p.name
|
||||||
|
|
||||||
|
mt.forearm_p = mt.hand_p.parent
|
||||||
|
mt.forearm = mt.forearm_p.name
|
||||||
|
|
||||||
|
arm = obj.data
|
||||||
|
|
||||||
|
|
||||||
|
def chain_ik(prefix="MCH-%s_ik"):
|
||||||
|
|
||||||
|
mt.update()
|
||||||
|
|
||||||
|
# Add the edit bones
|
||||||
|
ik.hand_e = copy_bone_simple(arm, mt.hand, prefix % mt.hand)
|
||||||
|
ik.hand = ik.hand_e.name
|
||||||
|
|
||||||
|
ik.arm_e = copy_bone_simple(arm, mt.arm, prefix % mt.arm)
|
||||||
|
ik.arm = ik.arm_e.name
|
||||||
|
|
||||||
|
ik.forearm_e = copy_bone_simple(arm, mt.forearm, prefix % mt.forearm)
|
||||||
|
ik.forearm = ik.forearm_e.name
|
||||||
|
|
||||||
|
ik.arm_e.parent = mt.arm_e.parent
|
||||||
|
ik.forearm_e.connected = mt.arm_e.connected
|
||||||
|
|
||||||
|
ik.forearm_e.parent = ik.arm_e
|
||||||
|
ik.forearm_e.connected = True
|
||||||
|
|
||||||
|
|
||||||
|
# Add the bone used for the arms poll target
|
||||||
|
ik.pole = add_pole_target_bone(obj, mt.forearm, "elbow_poll", mode='+Z')
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
ik.update()
|
||||||
|
|
||||||
|
con = ik.forearm_p.constraints.new('IK')
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = ik.hand
|
||||||
|
con.pole_target = obj
|
||||||
|
con.pole_subtarget = ik.pole
|
||||||
|
|
||||||
|
con.use_tail = True
|
||||||
|
con.use_stretch = True
|
||||||
|
con.use_target = True
|
||||||
|
con.use_rotation = False
|
||||||
|
con.chain_length = 2
|
||||||
|
con.pole_angle = -90.0 # XXX, RAD2DEG
|
||||||
|
|
||||||
|
# ID Propery on the hand for IK/FK switch
|
||||||
|
|
||||||
|
prop = rna_idprop_ui_prop_get(ik.hand_p, "ik", create=True)
|
||||||
|
ik.hand_p["ik"] = 0.5
|
||||||
|
prop["soft_min"] = 0.0
|
||||||
|
prop["soft_max"] = 1.0
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
ik.arm = ik.arm
|
||||||
|
ik.forearm = ik.forearm
|
||||||
|
ik.hand = ik.hand
|
||||||
|
ik.pole = ik.pole
|
||||||
|
|
||||||
|
def chain_switch(prefix="MCH-%s"):
|
||||||
|
|
||||||
|
sw.update()
|
||||||
|
mt.update()
|
||||||
|
|
||||||
|
sw.shoulder_e = copy_bone_simple(arm, mt.shoulder, prefix % mt.shoulder)
|
||||||
|
sw.shoulder = sw.shoulder_e.name
|
||||||
|
sw.shoulder_e.parent = mt.shoulder_e.parent
|
||||||
|
sw.shoulder_e.connected = mt.shoulder_e.connected
|
||||||
|
|
||||||
|
sw.arm_e = copy_bone_simple(arm, mt.arm, prefix % mt.arm)
|
||||||
|
sw.arm = sw.arm_e.name
|
||||||
|
sw.arm_e.parent = sw.shoulder_e
|
||||||
|
sw.arm_e.connected = arm.edit_bones[mt.shoulder].connected
|
||||||
|
|
||||||
|
sw.forearm_e = copy_bone_simple(arm, mt.forearm, prefix % mt.forearm)
|
||||||
|
sw.forearm = sw.forearm_e.name
|
||||||
|
sw.forearm_e.parent = sw.arm_e
|
||||||
|
sw.forearm_e.connected = arm.edit_bones[mt.forearm].connected
|
||||||
|
|
||||||
|
sw.hand_e = copy_bone_simple(arm, mt.hand, prefix % mt.hand)
|
||||||
|
sw.hand = sw.hand_e.name
|
||||||
|
sw.hand_e.parent = sw.forearm_e
|
||||||
|
sw.hand_e.connected = arm.edit_bones[mt.hand].connected
|
||||||
|
|
||||||
|
# The sw.hand_e needs to own all the children on the metarig's hand
|
||||||
|
for child in mt.hand_e.children:
|
||||||
|
child.parent = sw.hand_e
|
||||||
|
|
||||||
|
|
||||||
|
# These are made the children of sw.shoulder_e
|
||||||
|
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
# Add constraints
|
||||||
|
sw.update()
|
||||||
|
|
||||||
|
#dummy, ik.arm, ik.forearm, ik.hand, ik.pole = ik_chain_tuple
|
||||||
|
|
||||||
|
ik_driver_path = obj.pose.bones[ik.hand].path_to_id() + '["ik"]'
|
||||||
|
|
||||||
|
|
||||||
|
def ik_fk_driver(con):
|
||||||
|
'''
|
||||||
|
3 bones use this for ik/fk switching
|
||||||
|
'''
|
||||||
|
fcurve = con.driver_add("influence", 0)
|
||||||
|
driver = fcurve.driver
|
||||||
|
tar = driver.targets.new()
|
||||||
|
driver.type = 'AVERAGE'
|
||||||
|
tar.name = "ik"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = ik_driver_path
|
||||||
|
|
||||||
|
# ***********
|
||||||
|
con = sw.arm_p.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "FK"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = mt.arm
|
||||||
|
|
||||||
|
con = sw.arm_p.constraints.new('COPY_ROTATION')
|
||||||
|
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = ik.arm
|
||||||
|
con.influence = 0.5
|
||||||
|
ik_fk_driver(con)
|
||||||
|
|
||||||
|
# ***********
|
||||||
|
con = sw.forearm_p.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "FK"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = mt.forearm
|
||||||
|
|
||||||
|
con = sw.forearm_p.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "IK"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = ik.forearm
|
||||||
|
con.influence = 0.5
|
||||||
|
ik_fk_driver(con)
|
||||||
|
|
||||||
|
# ***********
|
||||||
|
con = sw.hand_p.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "FK"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = mt.hand
|
||||||
|
|
||||||
|
con = sw.hand_p.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "IK"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = ik.hand
|
||||||
|
con.influence = 0.5
|
||||||
|
ik_fk_driver(con)
|
||||||
|
|
||||||
|
|
||||||
|
add_stretch_to(obj, sw.forearm, ik.pole, "VIS-elbow_ik_poll")
|
||||||
|
add_stretch_to(obj, sw.hand, ik.hand, "VIS-hand_ik")
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
|
||||||
|
def chain_shoulder(prefix="MCH-%s"):
|
||||||
|
|
||||||
|
sw.socket_e = copy_bone_simple(arm, mt.arm, (prefix % mt.arm) + "_socket")
|
||||||
|
sw.socket = sw.socket_e.name
|
||||||
|
sw.socket_e.tail = arm.edit_bones[mt.shoulder].tail
|
||||||
|
|
||||||
|
|
||||||
|
# Set the shoulder as parent
|
||||||
|
ik.update()
|
||||||
|
sw.update()
|
||||||
|
mt.update()
|
||||||
|
|
||||||
|
sw.socket_e.parent = sw.shoulder_e
|
||||||
|
ik.arm_e.parent = sw.shoulder_e
|
||||||
|
|
||||||
|
|
||||||
|
# ***** add the shoulder hinge
|
||||||
|
# yes this is correct, the shoulder copy gets the arm's name
|
||||||
|
ex.arm_hinge_e = copy_bone_simple(arm, mt.shoulder, (prefix % mt.arm) + "_hinge")
|
||||||
|
ex.arm_hinge = ex.arm_hinge_e.name
|
||||||
|
offset = ex.arm_hinge_e.length / 2.0
|
||||||
|
|
||||||
|
ex.arm_hinge_e.head.y += offset
|
||||||
|
ex.arm_hinge_e.tail.y += offset
|
||||||
|
|
||||||
|
# Note: meta arm becomes child of hinge
|
||||||
|
mt.arm_e.parent = ex.arm_hinge_e
|
||||||
|
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
ex.update()
|
||||||
|
|
||||||
|
con = mt.arm_p.constraints.new('COPY_LOCATION')
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = sw.socket
|
||||||
|
|
||||||
|
|
||||||
|
# Hinge constraint & driver
|
||||||
|
con = ex.arm_hinge_p.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "hinge"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = sw.shoulder
|
||||||
|
driver_fcurve = con.driver_add("influence", 0)
|
||||||
|
driver = driver_fcurve.driver
|
||||||
|
|
||||||
|
|
||||||
|
controller_path = mt.arm_p.path_to_id()
|
||||||
|
# add custom prop
|
||||||
|
mt.arm_p["hinge"] = 0.0
|
||||||
|
prop = rna_idprop_ui_prop_get(mt.arm_p, "hinge", create=True)
|
||||||
|
prop["soft_min"] = 0.0
|
||||||
|
prop["soft_max"] = 1.0
|
||||||
|
|
||||||
|
|
||||||
|
# *****
|
||||||
|
driver = driver_fcurve.driver
|
||||||
|
driver.type = 'AVERAGE'
|
||||||
|
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "hinge"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + '["hinge"]'
|
||||||
|
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
|
||||||
|
# remove the shoulder and re-parent
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
chain_init()
|
||||||
|
chain_ik()
|
||||||
|
chain_switch()
|
||||||
|
chain_shoulder()
|
||||||
|
|
||||||
|
# Shoulder with its delta and hinge.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def gen_palm(obj, orig_bone_name):
|
||||||
|
arm, palm_pbone, palm_ebone = get_bone_data(obj, orig_bone_name)
|
||||||
|
children = [ebone.name for ebone in palm_ebone.children]
|
||||||
|
children.sort() # simply assume the pinky has the lowest name
|
||||||
|
|
||||||
|
# Make a copy of the pinky
|
||||||
|
pinky_ebone = arm.edit_bones[children[0]]
|
||||||
|
control_ebone = copy_bone_simple(arm, pinky_ebone.name, "palm_control", parent=True)
|
||||||
|
control_name = control_ebone.name
|
||||||
|
|
||||||
|
offset = (arm.edit_bones[children[0]].head - arm.edit_bones[children[1]].head)
|
||||||
|
|
||||||
|
control_ebone.head += offset
|
||||||
|
control_ebone.tail += offset
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
|
||||||
|
arm, control_pbone, control_ebone = get_bone_data(obj, control_name)
|
||||||
|
arm, pinky_pbone, pinky_ebone = get_bone_data(obj, children[0])
|
||||||
|
|
||||||
|
control_pbone.rotation_mode = 'YZX'
|
||||||
|
control_pbone.lock_rotation = False, True, True
|
||||||
|
|
||||||
|
driver_fcurves = pinky_pbone.driver_add("rotation_euler")
|
||||||
|
|
||||||
|
|
||||||
|
controller_path = control_pbone.path_to_id()
|
||||||
|
|
||||||
|
# add custom prop
|
||||||
|
control_pbone["spread"] = 0.0
|
||||||
|
prop = rna_idprop_ui_prop_get(control_pbone, "spread", create=True)
|
||||||
|
prop["soft_min"] = -1.0
|
||||||
|
prop["soft_max"] = 1.0
|
||||||
|
|
||||||
|
|
||||||
|
# *****
|
||||||
|
driver = driver_fcurves[0].driver
|
||||||
|
driver.type = 'AVERAGE'
|
||||||
|
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "x"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + ".rotation_euler[0]"
|
||||||
|
|
||||||
|
|
||||||
|
# *****
|
||||||
|
driver = driver_fcurves[1].driver
|
||||||
|
driver.expression = "-x/4.0"
|
||||||
|
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "x"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + ".rotation_euler[0]"
|
||||||
|
|
||||||
|
|
||||||
|
# *****
|
||||||
|
driver = driver_fcurves[2].driver
|
||||||
|
driver.expression = "(1.0-cos(x))-s"
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "x"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + ".rotation_euler[0]"
|
||||||
|
|
||||||
|
tar = driver.targets.new()
|
||||||
|
tar.name = "s"
|
||||||
|
tar.id_type = 'OBJECT'
|
||||||
|
tar.id = obj
|
||||||
|
tar.rna_path = controller_path + '["spread"]'
|
||||||
|
|
||||||
|
|
||||||
|
for i, child_name in enumerate(children):
|
||||||
|
child_pbone = obj.pose.bones[child_name]
|
||||||
|
child_pbone.rotation_mode = 'YZX'
|
||||||
|
|
||||||
|
if child_name != children[-1] and child_name != children[0]:
|
||||||
|
|
||||||
|
# this is somewhat arbitrary but seems to look good
|
||||||
|
inf = i / (len(children)+1)
|
||||||
|
inf = 1.0 - inf
|
||||||
|
inf = ((inf * inf) + inf) / 2.0
|
||||||
|
|
||||||
|
# used for X/Y constraint
|
||||||
|
inf_minor = inf * inf
|
||||||
|
|
||||||
|
con = child_pbone.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "Copy Z Rot"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = children[0] # also pinky_pbone
|
||||||
|
con.owner_space = con.target_space = 'LOCAL'
|
||||||
|
con.use_x, con.use_y, con.use_z = False, False, True
|
||||||
|
con.influence = inf
|
||||||
|
|
||||||
|
con = child_pbone.constraints.new('COPY_ROTATION')
|
||||||
|
con.name = "Copy XY Rot"
|
||||||
|
con.target = obj
|
||||||
|
con.subtarget = children[0] # also pinky_pbone
|
||||||
|
con.owner_space = con.target_space = 'LOCAL'
|
||||||
|
con.use_x, con.use_y, con.use_z = True, True, False
|
||||||
|
con.influence = inf_minor
|
||||||
|
|
||||||
|
|
||||||
|
child_pbone = obj.pose.bones[children[-1]]
|
||||||
|
child_pbone.rotation_mode = 'QUATERNION'
|
||||||
|
|
||||||
|
|
||||||
|
gen_table = {
|
||||||
|
"":gen_none, \
|
||||||
|
"finger":gen_finger, \
|
||||||
|
"delta":gen_delta, \
|
||||||
|
"arm":gen_arm, \
|
||||||
|
"palm":gen_palm, \
|
||||||
|
}
|
||||||
|
|
||||||
|
def generate_rig(context, ob):
|
||||||
|
|
||||||
|
global_undo = context.user_preferences.edit.global_undo
|
||||||
|
context.user_preferences.edit.global_undo = False
|
||||||
|
|
||||||
|
# add_stretch_to(ob, "a", "b", "c")
|
||||||
|
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
|
||||||
|
# copy object and data
|
||||||
|
ob.selected = False
|
||||||
|
ob_new = ob.copy()
|
||||||
|
ob_new.data = ob.data.copy()
|
||||||
|
scene = context.scene
|
||||||
|
scene.objects.link(ob_new)
|
||||||
|
scene.objects.active = ob_new
|
||||||
|
ob_new.selected = True
|
||||||
|
|
||||||
|
# enter armature editmode
|
||||||
|
|
||||||
|
|
||||||
|
for pbone_name in ob_new.pose.bones.keys():
|
||||||
|
bone_type = ob_new.pose.bones[pbone_name].get("type", "")
|
||||||
|
|
||||||
|
try:
|
||||||
|
func = gen_table[bone_type]
|
||||||
|
except KeyError:
|
||||||
|
print("\tunknown type '%s', bone '%s'" % (bone_type, pbone_name))
|
||||||
|
|
||||||
|
|
||||||
|
# Toggle editmode so the pose data is always up to date
|
||||||
|
bpy.ops.object.mode_set(mode='EDIT')
|
||||||
|
func(ob_new, pbone_name)
|
||||||
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
|
# needed to update driver deps
|
||||||
|
# context.scene.update()
|
||||||
|
|
||||||
|
# Only for demo'ing
|
||||||
|
ob.restrict_view = True
|
||||||
|
ob_new.data.draw_axes = False
|
||||||
|
|
||||||
|
context.user_preferences.edit.global_undo = global_undo
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
generate_rig(bpy.context, bpy.context.object)
|
276
release/scripts/modules/rna_prop_ui.py
Normal file
276
release/scripts/modules/rna_prop_ui.py
Normal file
@ -0,0 +1,276 @@
|
|||||||
|
# ##### 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.
|
||||||
|
#
|
||||||
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
|
# <pep8 compliant>
|
||||||
|
|
||||||
|
import bpy
|
||||||
|
|
||||||
|
def rna_idprop_ui_get(item, create=True):
|
||||||
|
try:
|
||||||
|
return item['_RNA_UI']
|
||||||
|
except:
|
||||||
|
if create:
|
||||||
|
item['_RNA_UI'] = {}
|
||||||
|
return item['_RNA_UI']
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def rna_idprop_ui_prop_get(item, prop, create=True):
|
||||||
|
|
||||||
|
rna_ui = rna_idprop_ui_get(item, create)
|
||||||
|
|
||||||
|
if rna_ui == None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
try:
|
||||||
|
return rna_ui[prop]
|
||||||
|
except:
|
||||||
|
rna_ui[prop] = {}
|
||||||
|
return rna_ui[prop]
|
||||||
|
|
||||||
|
|
||||||
|
def rna_idprop_ui_prop_clear(item, prop):
|
||||||
|
rna_ui = rna_idprop_ui_get(item, False)
|
||||||
|
|
||||||
|
if rna_ui == None:
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
del rna_ui[prop]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def draw(layout, context, context_member, use_edit = True):
|
||||||
|
|
||||||
|
def assign_props(prop, val, key):
|
||||||
|
prop.path = context_member
|
||||||
|
prop.property = key
|
||||||
|
|
||||||
|
try:
|
||||||
|
prop.value = str(val)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
rna_item = eval("context." + context_member)
|
||||||
|
|
||||||
|
# poll should really get this...
|
||||||
|
if not rna_item:
|
||||||
|
return
|
||||||
|
|
||||||
|
items = rna_item.items()
|
||||||
|
items.sort()
|
||||||
|
|
||||||
|
if use_edit:
|
||||||
|
row = layout.row()
|
||||||
|
props = row.operator("wm.properties_add", text="Add")
|
||||||
|
props.path = context_member
|
||||||
|
del row
|
||||||
|
|
||||||
|
for key, val in items:
|
||||||
|
|
||||||
|
if key == '_RNA_UI':
|
||||||
|
continue
|
||||||
|
|
||||||
|
row = layout.row()
|
||||||
|
convert_to_pyobject = getattr(val, "convert_to_pyobject", None)
|
||||||
|
|
||||||
|
val_orig = val
|
||||||
|
if convert_to_pyobject:
|
||||||
|
val_draw = val = val.convert_to_pyobject()
|
||||||
|
val_draw = str(val_draw)
|
||||||
|
else:
|
||||||
|
val_draw = val
|
||||||
|
|
||||||
|
box = row.box()
|
||||||
|
|
||||||
|
if use_edit:
|
||||||
|
split = box.split(percentage=0.75)
|
||||||
|
row = split.row()
|
||||||
|
else:
|
||||||
|
row = box.row()
|
||||||
|
|
||||||
|
row.label(text=key)
|
||||||
|
|
||||||
|
# explicit exception for arrays
|
||||||
|
if convert_to_pyobject and not hasattr(val_orig, "len"):
|
||||||
|
row.label(text=val_draw)
|
||||||
|
else:
|
||||||
|
row.prop(rna_item, '["%s"]' % key, text="")
|
||||||
|
|
||||||
|
if use_edit:
|
||||||
|
row = split.row(align=True)
|
||||||
|
prop = row.operator("wm.properties_edit", text="edit")
|
||||||
|
assign_props(prop, val_draw, key)
|
||||||
|
|
||||||
|
prop = row.operator("wm.properties_remove", text="", icon='ICON_ZOOMOUT')
|
||||||
|
assign_props(prop, val_draw, key)
|
||||||
|
|
||||||
|
|
||||||
|
from bpy.props import *
|
||||||
|
|
||||||
|
|
||||||
|
rna_path = StringProperty(name="Property Edit",
|
||||||
|
description="Property path edit", maxlen=1024, default="", hidden=True)
|
||||||
|
|
||||||
|
rna_value = StringProperty(name="Property Value",
|
||||||
|
description="Property value edit", maxlen=1024, default="")
|
||||||
|
|
||||||
|
rna_property = StringProperty(name="Property Name",
|
||||||
|
description="Property name edit", maxlen=1024, default="")
|
||||||
|
|
||||||
|
rna_min = FloatProperty(name="Min", default=0.0, precision=3)
|
||||||
|
rna_max = FloatProperty(name="Max", default=1.0, precision=3)
|
||||||
|
|
||||||
|
class WM_OT_properties_edit(bpy.types.Operator):
|
||||||
|
'''Internal use (edit a property path)'''
|
||||||
|
bl_idname = "wm.properties_edit"
|
||||||
|
bl_label = "Edit Property!"
|
||||||
|
|
||||||
|
path = rna_path
|
||||||
|
property = rna_property
|
||||||
|
value = rna_value
|
||||||
|
min = rna_min
|
||||||
|
max = rna_max
|
||||||
|
description = StringProperty(name="Tip", default="")
|
||||||
|
|
||||||
|
# the class instance is not persistant, need to store in the class
|
||||||
|
# not ideal but changes as the op runs.
|
||||||
|
_last_prop = ['']
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
path = self.properties.path
|
||||||
|
value = self.properties.value
|
||||||
|
prop = self.properties.property
|
||||||
|
prop_old = self._last_prop[0]
|
||||||
|
|
||||||
|
try:
|
||||||
|
value_eval = eval(value)
|
||||||
|
except:
|
||||||
|
value_eval = value
|
||||||
|
|
||||||
|
if type(value_eval) == str:
|
||||||
|
value_eval = '"' + value_eval + '"'
|
||||||
|
|
||||||
|
# First remove
|
||||||
|
item = eval("context.%s" % path)
|
||||||
|
|
||||||
|
rna_idprop_ui_prop_clear(item, prop_old)
|
||||||
|
exec_str = "del item['%s']" % prop_old
|
||||||
|
# print(exec_str)
|
||||||
|
exec(exec_str)
|
||||||
|
|
||||||
|
|
||||||
|
# Reassign
|
||||||
|
exec_str = "item['%s'] = %s" % (prop, value_eval)
|
||||||
|
# print(exec_str)
|
||||||
|
exec(exec_str)
|
||||||
|
self._last_prop[:] = [prop]
|
||||||
|
|
||||||
|
prop_type = type(item[prop])
|
||||||
|
|
||||||
|
prop_ui = rna_idprop_ui_prop_get(item, prop)
|
||||||
|
|
||||||
|
if prop_type in (float, int):
|
||||||
|
|
||||||
|
prop_ui['soft_min'] = prop_ui['min'] = prop_type(self.properties.min)
|
||||||
|
prop_ui['soft_max'] = prop_ui['max'] = prop_type(self.properties.max)
|
||||||
|
|
||||||
|
prop_ui['description'] = self.properties.description
|
||||||
|
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
def invoke(self, context, event):
|
||||||
|
|
||||||
|
self._last_prop[:] = [self.properties.property]
|
||||||
|
|
||||||
|
item = eval("context.%s" % self.properties.path)
|
||||||
|
|
||||||
|
# setup defaults
|
||||||
|
prop_ui = rna_idprop_ui_prop_get(item, self.properties.property, False) # dont create
|
||||||
|
if prop_ui:
|
||||||
|
self.properties.min = prop_ui.get("min", -1000000000)
|
||||||
|
self.properties.max = prop_ui.get("max", 1000000000)
|
||||||
|
self.properties.description = prop_ui.get("description", "")
|
||||||
|
|
||||||
|
if 0:
|
||||||
|
_message= "PyConsole, press Ctrl+D to unlock the BGE"
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# evaluate commands in current namespace
|
||||||
|
frame= sys._getframe()
|
||||||
|
namespace = frame.f_globals.copy()
|
||||||
|
namespace.update(frame.f_locals)
|
||||||
|
|
||||||
|
import code
|
||||||
|
|
||||||
|
# Autocomp in python, not as comprehensive as IPython
|
||||||
|
import rlcompleter
|
||||||
|
|
||||||
|
try: # ick, some pythons dont have this
|
||||||
|
import readline
|
||||||
|
readline.parse_and_bind("tab: complete")
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
code.interact(banner=_message, local=namespace)
|
||||||
|
|
||||||
|
wm = context.manager
|
||||||
|
wm.invoke_props_popup(self, event)
|
||||||
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
|
|
||||||
|
class WM_OT_properties_add(bpy.types.Operator):
|
||||||
|
'''Internal use (edit a property path)'''
|
||||||
|
bl_idname = "wm.properties_add"
|
||||||
|
bl_label = "Add Property"
|
||||||
|
|
||||||
|
path = rna_path
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
item = eval("context.%s" % self.properties.path)
|
||||||
|
|
||||||
|
def unique_name(names):
|
||||||
|
prop = 'prop'
|
||||||
|
prop_new = prop
|
||||||
|
i = 1
|
||||||
|
while prop_new in names:
|
||||||
|
prop_new = prop + str(i)
|
||||||
|
i+=1
|
||||||
|
|
||||||
|
return prop_new
|
||||||
|
|
||||||
|
property = unique_name(item.keys())
|
||||||
|
|
||||||
|
item[property] = 1.0
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
class WM_OT_properties_remove(bpy.types.Operator):
|
||||||
|
'''Internal use (edit a property path)'''
|
||||||
|
bl_idname = "wm.properties_remove"
|
||||||
|
bl_label = "Add Property"
|
||||||
|
|
||||||
|
path = rna_path
|
||||||
|
property = rna_property
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
item = eval("context.%s" % self.properties.path)
|
||||||
|
del item[self.properties.property]
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
@ -96,10 +96,10 @@ class AddTorus(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
verts_loc, faces = add_torus(self.major_radius,
|
verts_loc, faces = add_torus(self.properties.major_radius,
|
||||||
self.minor_radius,
|
self.properties.minor_radius,
|
||||||
self.major_segments,
|
self.properties.major_segments,
|
||||||
self.minor_segments)
|
self.properties.minor_segments)
|
||||||
|
|
||||||
mesh = bpy.data.add_mesh("Torus")
|
mesh = bpy.data.add_mesh("Torus")
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ class AddTorus(bpy.types.Operator):
|
|||||||
mesh.update()
|
mesh.update()
|
||||||
ob_new = bpy.data.add_object('MESH', "Torus")
|
ob_new = bpy.data.add_object('MESH', "Torus")
|
||||||
ob_new.data = mesh
|
ob_new.data = mesh
|
||||||
scene.add_object(ob_new)
|
scene.objects.link(ob_new)
|
||||||
scene.objects.active = ob_new
|
scene.objects.active = ob_new
|
||||||
ob_new.selected = True
|
ob_new.selected = True
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ bpy.ops.add(AddTorus)
|
|||||||
# Add to a menu
|
# Add to a menu
|
||||||
import dynamic_menu
|
import dynamic_menu
|
||||||
|
|
||||||
menu_func = (lambda self, context: self.layout.itemO(AddTorus.bl_idname,
|
menu_func = (lambda self, context: self.layout.operator(AddTorus.bl_idname,
|
||||||
text="Torus", icon='ICON_MESH_DONUT'))
|
text="Torus", icon='ICON_MESH_DONUT'))
|
||||||
|
|
||||||
menu_item = dynamic_menu.add(bpy.types.INFO_MT_mesh_add, menu_func)
|
menu_item = dynamic_menu.add(bpy.types.INFO_MT_mesh_add, menu_func)
|
||||||
|
@ -66,160 +66,130 @@ def get_console(console_id):
|
|||||||
return console, stdout, stderr
|
return console, stdout, stderr
|
||||||
|
|
||||||
|
|
||||||
class PyConsoleExec(bpy.types.Operator):
|
# Both prompts must be the same length
|
||||||
'''Execute the current console line as a python expression.'''
|
PROMPT = '>>> '
|
||||||
bl_idname = "console.execute_" + language_id
|
PROMPT_MULTI = '... '
|
||||||
bl_label = "Console Execute"
|
|
||||||
bl_register = False
|
|
||||||
|
|
||||||
# Both prompts must be the same length
|
def execute(context):
|
||||||
PROMPT = '>>> '
|
sc = context.space_data
|
||||||
PROMPT_MULTI = '... '
|
|
||||||
|
|
||||||
# is this working???
|
try:
|
||||||
'''
|
line = sc.history[-1].line
|
||||||
def poll(self, context):
|
except:
|
||||||
return (context.space_data.type == 'PYTHON')
|
return ('CANCELLED',)
|
||||||
'''
|
|
||||||
# its not :|
|
|
||||||
|
|
||||||
def execute(self, context):
|
if sc.console_type != 'PYTHON':
|
||||||
sc = context.space_data
|
return ('CANCELLED',)
|
||||||
|
|
||||||
try:
|
console, stdout, stderr = get_console(hash(context.region))
|
||||||
line = sc.history[-1].line
|
|
||||||
except:
|
|
||||||
return ('CANCELLED',)
|
|
||||||
|
|
||||||
if sc.console_type != 'PYTHON':
|
# Hack, useful but must add some other way to access
|
||||||
return ('CANCELLED',)
|
#if "C" not in console.locals:
|
||||||
|
console.locals["C"] = context
|
||||||
|
|
||||||
console, stdout, stderr = get_console(hash(context.region))
|
# redirect output
|
||||||
|
sys.stdout = stdout
|
||||||
|
sys.stderr = stderr
|
||||||
|
|
||||||
# Hack, useful but must add some other way to access
|
# run the console
|
||||||
#if "C" not in console.locals:
|
if not line.strip():
|
||||||
console.locals["C"] = context
|
line_exec = '\n' # executes a multiline statement
|
||||||
|
else:
|
||||||
|
line_exec = line
|
||||||
|
|
||||||
# redirect output
|
is_multiline = console.push(line_exec)
|
||||||
sys.stdout = stdout
|
|
||||||
sys.stderr = stderr
|
|
||||||
|
|
||||||
# run the console
|
stdout.seek(0)
|
||||||
if not line.strip():
|
stderr.seek(0)
|
||||||
line_exec = '\n' # executes a multiline statement
|
|
||||||
else:
|
|
||||||
line_exec = line
|
|
||||||
|
|
||||||
is_multiline = console.push(line_exec)
|
output = stdout.read()
|
||||||
|
output_err = stderr.read()
|
||||||
|
|
||||||
stdout.seek(0)
|
# cleanup
|
||||||
stderr.seek(0)
|
sys.stdout = sys.__stdout__
|
||||||
|
sys.stderr = sys.__stderr__
|
||||||
|
sys.last_traceback = None
|
||||||
|
|
||||||
output = stdout.read()
|
# So we can reuse, clear all data
|
||||||
output_err = stderr.read()
|
stdout.truncate(0)
|
||||||
|
stderr.truncate(0)
|
||||||
|
|
||||||
# cleanup
|
bpy.ops.console.scrollback_append(text=sc.prompt + line, type='INPUT')
|
||||||
sys.stdout = sys.__stdout__
|
|
||||||
sys.stderr = sys.__stderr__
|
|
||||||
sys.last_traceback = None
|
|
||||||
|
|
||||||
# So we can reuse, clear all data
|
if is_multiline:
|
||||||
stdout.truncate(0)
|
sc.prompt = PROMPT_MULTI
|
||||||
stderr.truncate(0)
|
else:
|
||||||
|
sc.prompt = PROMPT
|
||||||
|
|
||||||
bpy.ops.console.scrollback_append(text=sc.prompt + line, type='INPUT')
|
# insert a new blank line
|
||||||
|
bpy.ops.console.history_append(text="", current_character=0,
|
||||||
|
remove_duplicates=True)
|
||||||
|
|
||||||
if is_multiline:
|
# Insert the output into the editor
|
||||||
sc.prompt = self.PROMPT_MULTI
|
# not quite correct because the order might have changed,
|
||||||
else:
|
# but ok 99% of the time.
|
||||||
sc.prompt = self.PROMPT
|
if output:
|
||||||
|
add_scrollback(output, 'OUTPUT')
|
||||||
|
if output_err:
|
||||||
|
add_scrollback(output_err, 'ERROR')
|
||||||
|
|
||||||
# insert a new blank line
|
return ('FINISHED',)
|
||||||
bpy.ops.console.history_append(text="", current_character=0,
|
|
||||||
remove_duplicates=True)
|
|
||||||
|
|
||||||
# Insert the output into the editor
|
|
||||||
# not quite correct because the order might have changed,
|
|
||||||
# but ok 99% of the time.
|
|
||||||
if output:
|
|
||||||
add_scrollback(output, 'OUTPUT')
|
|
||||||
if output_err:
|
|
||||||
add_scrollback(output_err, 'ERROR')
|
|
||||||
|
|
||||||
return ('FINISHED',)
|
|
||||||
|
|
||||||
|
|
||||||
class PyConsoleAutocomplete(bpy.types.Operator):
|
def autocomplete(context):
|
||||||
'''Evaluate the namespace up until the cursor and give a list of
|
from console import intellisense
|
||||||
options or complete the name if there is only one.'''
|
|
||||||
bl_idname = "console.autocomplete_" + language_id
|
|
||||||
bl_label = "Python Console Autocomplete"
|
|
||||||
bl_register = False
|
|
||||||
|
|
||||||
def poll(self, context):
|
sc = context.space_data
|
||||||
return context.space_data.console_type == 'PYTHON'
|
|
||||||
|
|
||||||
def execute(self, context):
|
console = get_console(hash(context.region))[0]
|
||||||
from console import intellisense
|
|
||||||
|
|
||||||
sc = context.space_data
|
current_line = sc.history[-1]
|
||||||
|
line = current_line.line
|
||||||
|
|
||||||
console = get_console(hash(context.region))[0]
|
if not console:
|
||||||
|
return ('CANCELLED',)
|
||||||
|
|
||||||
current_line = sc.history[-1]
|
if sc.console_type != 'PYTHON':
|
||||||
line = current_line.line
|
return ('CANCELLED',)
|
||||||
|
|
||||||
if not console:
|
# This function isnt aware of the text editor or being an operator
|
||||||
return ('CANCELLED',)
|
# just does the autocomp then copy its results back
|
||||||
|
current_line.line, current_line.current_character, scrollback = \
|
||||||
|
intellisense.expand(
|
||||||
|
line=current_line.line,
|
||||||
|
cursor=current_line.current_character,
|
||||||
|
namespace=console.locals,
|
||||||
|
private='-d' in sys.argv)
|
||||||
|
|
||||||
if sc.console_type != 'PYTHON':
|
# Now we need to copy back the line from blender back into the
|
||||||
return ('CANCELLED',)
|
# text editor. This will change when we dont use the text editor
|
||||||
|
# anymore
|
||||||
|
if scrollback:
|
||||||
|
add_scrollback(scrollback, 'INFO')
|
||||||
|
|
||||||
# This function isnt aware of the text editor or being an operator
|
context.area.tag_redraw()
|
||||||
# just does the autocomp then copy its results back
|
|
||||||
current_line.line, current_line.current_character, scrollback = \
|
|
||||||
intellisense.expand(
|
|
||||||
line=current_line.line,
|
|
||||||
cursor=current_line.current_character,
|
|
||||||
namespace=console.locals,
|
|
||||||
private='-d' in sys.argv)
|
|
||||||
|
|
||||||
# Now we need to copy back the line from blender back into the
|
return ('FINISHED',)
|
||||||
# text editor. This will change when we dont use the text editor
|
|
||||||
# anymore
|
|
||||||
if scrollback:
|
|
||||||
add_scrollback(scrollback, 'INFO')
|
|
||||||
|
|
||||||
context.area.tag_redraw()
|
|
||||||
|
|
||||||
return ('FINISHED',)
|
|
||||||
|
|
||||||
|
|
||||||
class PyConsoleBanner(bpy.types.Operator):
|
def banner(context):
|
||||||
bl_idname = "console.banner_" + language_id
|
sc = context.space_data
|
||||||
|
version_string = sys.version.strip().replace('\n', ' ')
|
||||||
|
|
||||||
def execute(self, context):
|
add_scrollback(" * Python Interactive Console %s *" % version_string, 'OUTPUT')
|
||||||
sc = context.space_data
|
add_scrollback("Command History: Up/Down Arrow", 'OUTPUT')
|
||||||
version_string = sys.version.strip().replace('\n', ' ')
|
add_scrollback("Cursor: Left/Right Home/End", 'OUTPUT')
|
||||||
|
add_scrollback("Remove: Backspace/Delete", 'OUTPUT')
|
||||||
|
add_scrollback("Execute: Enter", 'OUTPUT')
|
||||||
|
add_scrollback("Autocomplete: Ctrl+Space", 'OUTPUT')
|
||||||
|
add_scrollback("Ctrl +/- Wheel: Zoom", 'OUTPUT')
|
||||||
|
add_scrollback("Builtin Modules: bpy, bpy.data, bpy.ops, bpy.props, bpy.types, bpy.context, Mathutils, Geometry, BGL", 'OUTPUT')
|
||||||
|
add_scrollback("", 'OUTPUT')
|
||||||
|
add_scrollback("", 'OUTPUT')
|
||||||
|
sc.prompt = PROMPT
|
||||||
|
|
||||||
add_scrollback(" * Python Interactive Console %s *" % version_string, 'OUTPUT')
|
# Add context into the namespace for quick access
|
||||||
add_scrollback("Command History: Up/Down Arrow", 'OUTPUT')
|
console = get_console(hash(context.region))[0]
|
||||||
add_scrollback("Cursor: Left/Right Home/End", 'OUTPUT')
|
console.locals["C"] = bpy.context
|
||||||
add_scrollback("Remove: Backspace/Delete", 'OUTPUT')
|
|
||||||
add_scrollback("Execute: Enter", 'OUTPUT')
|
|
||||||
add_scrollback("Autocomplete: Ctrl+Space", 'OUTPUT')
|
|
||||||
add_scrollback("Ctrl +/- Wheel: Zoom", 'OUTPUT')
|
|
||||||
add_scrollback("Builtin Modules: bpy, bpy.data, bpy.ops, bpy.props, bpy.types, bpy.context, Mathutils, Geometry, BGL", 'OUTPUT')
|
|
||||||
add_scrollback("", 'OUTPUT')
|
|
||||||
add_scrollback("", 'OUTPUT')
|
|
||||||
sc.prompt = PyConsoleExec.PROMPT
|
|
||||||
|
|
||||||
# Add context into the namespace for quick access
|
return ('FINISHED',)
|
||||||
console = get_console(hash(context.region))[0]
|
|
||||||
console.locals["C"] = bpy.context
|
|
||||||
|
|
||||||
return ('FINISHED',)
|
|
||||||
|
|
||||||
bpy.ops.add(PyConsoleExec)
|
|
||||||
bpy.ops.add(PyConsoleAutocomplete)
|
|
||||||
bpy.ops.add(PyConsoleBanner)
|
|
||||||
|
@ -41,73 +41,40 @@ def shell_run(text):
|
|||||||
|
|
||||||
add_scrollback(output, style)
|
add_scrollback(output, style)
|
||||||
|
|
||||||
|
PROMPT = '$ '
|
||||||
class ShellConsoleExec(bpy.types.Operator):
|
|
||||||
'''Execute the current console line as a python expression.'''
|
|
||||||
bl_idname = "console.execute_" + language_id
|
|
||||||
bl_label = "Console Execute"
|
|
||||||
bl_register = False
|
|
||||||
|
|
||||||
# Both prompts must be the same length
|
|
||||||
PROMPT = '$ '
|
|
||||||
|
|
||||||
# is this working???
|
|
||||||
'''
|
|
||||||
def poll(self, context):
|
|
||||||
return (context.space_data.type == 'PYTHON')
|
|
||||||
'''
|
|
||||||
# its not :|
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
sc = context.space_data
|
|
||||||
|
|
||||||
try:
|
|
||||||
line = sc.history[-1].line
|
|
||||||
except:
|
|
||||||
return ('CANCELLED',)
|
|
||||||
|
|
||||||
bpy.ops.console.scrollback_append(text=sc.prompt + line, type='INPUT')
|
|
||||||
|
|
||||||
shell_run(line)
|
|
||||||
|
|
||||||
# insert a new blank line
|
|
||||||
bpy.ops.console.history_append(text="", current_character=0,
|
|
||||||
remove_duplicates=True)
|
|
||||||
|
|
||||||
sc.prompt = os.getcwd()+ShellConsoleExec.PROMPT
|
|
||||||
return ('FINISHED',)
|
|
||||||
|
|
||||||
|
|
||||||
class ShellConsoleAutocomplete(bpy.types.Operator):
|
def execute(context):
|
||||||
'''Evaluate the namespace up until the cursor and give a list of
|
sc = context.space_data
|
||||||
options or complete the name if there is only one.'''
|
|
||||||
bl_idname = "console.autocomplete_" + language_id
|
|
||||||
bl_label = "Python Console Autocomplete"
|
|
||||||
bl_register = False
|
|
||||||
|
|
||||||
def poll(self, context):
|
try:
|
||||||
return context.space_data.console_type == 'PYTHON'
|
line = sc.history[-1].line
|
||||||
|
except:
|
||||||
def execute(self, context):
|
|
||||||
from console import intellisense
|
|
||||||
|
|
||||||
sc = context.space_data
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
return ('CANCELLED',)
|
return ('CANCELLED',)
|
||||||
|
|
||||||
|
bpy.ops.console.scrollback_append(text=sc.prompt + line, type='INPUT')
|
||||||
|
|
||||||
class ShellConsoleBanner(bpy.types.Operator):
|
shell_run(line)
|
||||||
bl_idname = "console.banner_" + language_id
|
|
||||||
|
|
||||||
def execute(self, context):
|
# insert a new blank line
|
||||||
sc = context.space_data
|
bpy.ops.console.history_append(text="", current_character=0,
|
||||||
|
remove_duplicates=True)
|
||||||
|
|
||||||
shell_run("bash --version")
|
sc.prompt = os.getcwd()+PROMPT
|
||||||
sc.prompt = os.getcwd()+ShellConsoleExec.PROMPT
|
return ('FINISHED',)
|
||||||
|
|
||||||
return ('FINISHED',)
|
|
||||||
|
|
||||||
bpy.ops.add(ShellConsoleExec)
|
def autocomplete(context):
|
||||||
bpy.ops.add(ShellConsoleAutocomplete)
|
# sc = context.space_data
|
||||||
bpy.ops.add(ShellConsoleBanner)
|
# TODO
|
||||||
|
return ('CANCELLED',)
|
||||||
|
|
||||||
|
|
||||||
|
def banner(context):
|
||||||
|
sc = context.space_data
|
||||||
|
|
||||||
|
shell_run("bash --version")
|
||||||
|
sc.prompt = os.getcwd()+PROMPT
|
||||||
|
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
99
release/scripts/op/object.py
Normal file
99
release/scripts/op/object.py
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
# ##### 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.
|
||||||
|
#
|
||||||
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
|
import bpy
|
||||||
|
from bpy.props import *
|
||||||
|
|
||||||
|
|
||||||
|
class SelectPattern(bpy.types.Operator):
|
||||||
|
'''Select object matching a naming pattern.'''
|
||||||
|
bl_idname = "object.select_pattern"
|
||||||
|
bl_label = "Select Pattern"
|
||||||
|
bl_register = True
|
||||||
|
bl_undo = True
|
||||||
|
|
||||||
|
pattern = StringProperty(name="Pattern", description="Name filter using '*' and '?' wildcard chars", maxlen=32, default="*")
|
||||||
|
case_sensitive = BoolProperty(name="Case Sensitive", description="Do a case sensitive compare", default=False)
|
||||||
|
extend = BoolProperty(name="Extend", description="Extend the existing selection", default=True)
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
|
||||||
|
import fnmatch
|
||||||
|
|
||||||
|
if self.properties.case_sensitive:
|
||||||
|
pattern_match = fnmatch.fnmatchcase
|
||||||
|
else:
|
||||||
|
pattern_match = lambda a, b: fnmatch.fnmatchcase(a.upper(), b.upper())
|
||||||
|
|
||||||
|
for ob in context.visible_objects:
|
||||||
|
if pattern_match(ob.name, self.properties.pattern):
|
||||||
|
ob.selected = True
|
||||||
|
elif not self.properties.extend:
|
||||||
|
ob.selected = False
|
||||||
|
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
def invoke(self, context, event):
|
||||||
|
wm = context.manager
|
||||||
|
wm.invoke_props_popup(self, event)
|
||||||
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
print("WoW")
|
||||||
|
layout = self.layout
|
||||||
|
props = self.properties
|
||||||
|
|
||||||
|
layout.prop(props, "pattern")
|
||||||
|
row = layout.row()
|
||||||
|
row.prop(props, "case_sensitive")
|
||||||
|
row.prop(props, "extend")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SubsurfSet(bpy.types.Operator):
|
||||||
|
'''Sets a Subdivision Surface Level (1-5)'''
|
||||||
|
|
||||||
|
bl_idname = "object.subsurf_set"
|
||||||
|
bl_label = "Subsurf Set"
|
||||||
|
bl_register = True
|
||||||
|
bl_undo = True
|
||||||
|
|
||||||
|
level = IntProperty(name="Level",
|
||||||
|
default=1, min=0, max=6)
|
||||||
|
|
||||||
|
def poll(self, context):
|
||||||
|
ob = context.active_object
|
||||||
|
return (ob and ob.type == 'MESH')
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
level = self.properties.level
|
||||||
|
ob = context.active_object
|
||||||
|
for mod in ob.modifiers:
|
||||||
|
if mod.type == 'SUBSURF':
|
||||||
|
if mod.levels != level:
|
||||||
|
mod.levels = level
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
# adda new modifier
|
||||||
|
mod = ob.modifiers.new("Subsurf", 'SUBSURF')
|
||||||
|
mod.levels = level
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
|
||||||
|
bpy.ops.add(SelectPattern)
|
||||||
|
bpy.ops.add(SubsurfSet)
|
124
release/scripts/op/presets.py
Normal file
124
release/scripts/op/presets.py
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
# ##### 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.
|
||||||
|
#
|
||||||
|
# ##### END GPL LICENSE BLOCK #####
|
||||||
|
|
||||||
|
import bpy
|
||||||
|
import os
|
||||||
|
|
||||||
|
class AddPresetBase(bpy.types.Operator):
|
||||||
|
'''Base preset class, only for subclassing
|
||||||
|
subclasses must define
|
||||||
|
- preset_values
|
||||||
|
- preset_subdir '''
|
||||||
|
bl_idname = "render.preset_add"
|
||||||
|
bl_label = "Add Render Preset"
|
||||||
|
|
||||||
|
name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen= 64, default= "")
|
||||||
|
|
||||||
|
def _as_filename(self, name): # could reuse for other presets
|
||||||
|
for char in " !@#$%^&*(){}:\";'[]<>,./?":
|
||||||
|
name = name.replace('.', '_')
|
||||||
|
return name.lower()
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
|
||||||
|
if not self.properties.name:
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
filename = self._as_filename(self.properties.name) + ".py"
|
||||||
|
|
||||||
|
target_path = bpy.utils.preset_paths(self.preset_subdir)[0] # we need some way to tell the user and system preset path
|
||||||
|
|
||||||
|
file_preset = open(os.path.join(target_path, filename), 'w')
|
||||||
|
|
||||||
|
for rna_path in self.preset_values:
|
||||||
|
file_preset.write("%s = %s\n" % (rna_path, eval(rna_path)))
|
||||||
|
|
||||||
|
file_preset.close()
|
||||||
|
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
def invoke(self, context, event):
|
||||||
|
wm = context.manager
|
||||||
|
wm.invoke_props_popup(self, event)
|
||||||
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
|
|
||||||
|
class AddPresetRender(AddPresetBase):
|
||||||
|
'''Add a Render Preset.'''
|
||||||
|
bl_idname = "render.preset_add"
|
||||||
|
bl_label = "Add Render Preset"
|
||||||
|
name = AddPresetBase.name
|
||||||
|
|
||||||
|
preset_values = [
|
||||||
|
"bpy.context.scene.render_data.resolution_x",
|
||||||
|
"bpy.context.scene.render_data.resolution_y",
|
||||||
|
"bpy.context.scene.render_data.pixel_aspect_x",
|
||||||
|
"bpy.context.scene.render_data.pixel_aspect_y",
|
||||||
|
"bpy.context.scene.render_data.fps",
|
||||||
|
"bpy.context.scene.render_data.fps_base",
|
||||||
|
"bpy.context.scene.render_data.resolution_percentage",
|
||||||
|
]
|
||||||
|
|
||||||
|
preset_subdir = "render"
|
||||||
|
|
||||||
|
|
||||||
|
class AddPresetSSS(AddPresetBase):
|
||||||
|
'''Add a Subsurface Scattering Preset.'''
|
||||||
|
bl_idname = "material.sss_preset_add"
|
||||||
|
bl_label = "Add SSS Preset"
|
||||||
|
name = AddPresetBase.name
|
||||||
|
|
||||||
|
preset_values = [
|
||||||
|
"bpy.context.material.subsurface_scattering.back",
|
||||||
|
"bpy.context.material.subsurface_scattering.color[0]",
|
||||||
|
"bpy.context.material.subsurface_scattering.color[1]",
|
||||||
|
"bpy.context.material.subsurface_scattering.color[2]",
|
||||||
|
"bpy.context.material.subsurface_scattering.color_factor",
|
||||||
|
"bpy.context.material.subsurface_scattering.error_tolerance",
|
||||||
|
"bpy.context.material.subsurface_scattering.front",
|
||||||
|
"bpy.context.material.subsurface_scattering.ior",
|
||||||
|
"bpy.context.material.subsurface_scattering.radius[0]",
|
||||||
|
"bpy.context.material.subsurface_scattering.radius[1]",
|
||||||
|
"bpy.context.material.subsurface_scattering.radius[2]",
|
||||||
|
"bpy.context.material.subsurface_scattering.scale",
|
||||||
|
"bpy.context.material.subsurface_scattering.texture_factor",
|
||||||
|
]
|
||||||
|
|
||||||
|
preset_subdir = "sss"
|
||||||
|
|
||||||
|
class AddPresetCloth(AddPresetBase):
|
||||||
|
'''Add a Cloth Preset.'''
|
||||||
|
bl_idname = "cloth.preset_add"
|
||||||
|
bl_label = "Add Cloth Preset"
|
||||||
|
name = AddPresetBase.name
|
||||||
|
|
||||||
|
preset_values = [
|
||||||
|
"bpy.context.cloth.settings.quality",
|
||||||
|
"bpy.context.cloth.settings.mass",
|
||||||
|
"bpy.context.cloth.settings.structural_stiffness",
|
||||||
|
"bpy.context.cloth.settings.bending_stiffness",
|
||||||
|
"bpy.context.cloth.settings.spring_damping",
|
||||||
|
"bpy.context.cloth.settings.air_damping",
|
||||||
|
]
|
||||||
|
|
||||||
|
preset_subdir = "cloth"
|
||||||
|
|
||||||
|
bpy.ops.add(AddPresetRender)
|
||||||
|
bpy.ops.add(AddPresetSSS)
|
||||||
|
bpy.ops.add(AddPresetCloth)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -166,7 +166,7 @@ class VertexPaintDirt(bpy.types.Operator):
|
|||||||
|
|
||||||
t = time.time()
|
t = time.time()
|
||||||
|
|
||||||
applyVertexDirt(me, self.blur_iterations, self.blur_strength, math.radians(self.dirt_angle), math.radians(self.clean_angle), self.dirt_only)
|
applyVertexDirt(me, self.properties.blur_iterations, self.properties.blur_strength, math.radians(self.properties.dirt_angle), math.radians(self.properties.clean_angle), self.properties.dirt_only)
|
||||||
|
|
||||||
print('Dirt calculated in %.6f' % (time.time()-t))
|
print('Dirt calculated in %.6f' % (time.time()-t))
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
# <pep8-80 compliant>
|
# <pep8-80 compliant>
|
||||||
|
|
||||||
import bpy
|
import bpy
|
||||||
|
import os
|
||||||
|
|
||||||
from bpy.props import *
|
from bpy.props import *
|
||||||
|
|
||||||
@ -32,6 +33,7 @@ class MESH_OT_delete_edgeloop(bpy.types.Operator):
|
|||||||
bpy.ops.tfm.edge_slide(value=1.0)
|
bpy.ops.tfm.edge_slide(value=1.0)
|
||||||
bpy.ops.mesh.select_more()
|
bpy.ops.mesh.select_more()
|
||||||
bpy.ops.mesh.remove_doubles()
|
bpy.ops.mesh.remove_doubles()
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
rna_path_prop = StringProperty(name="Context Attributes",
|
rna_path_prop = StringProperty(name="Context Attributes",
|
||||||
@ -60,10 +62,9 @@ def context_path_validate(context, path):
|
|||||||
|
|
||||||
|
|
||||||
def execute_context_assign(self, context):
|
def execute_context_assign(self, context):
|
||||||
if context_path_validate(context, self.path) == NullPathMember:
|
if context_path_validate(context, self.properties.path) == NullPathMember:
|
||||||
return ('PASS_THROUGH',)
|
return ('PASS_THROUGH',)
|
||||||
|
exec("context.%s=self.properties.value" % self.properties.path)
|
||||||
exec("context.%s=self.value" % self.path)
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
|
||||||
@ -92,7 +93,7 @@ class WM_OT_context_set_int(bpy.types.Operator): # same as enum
|
|||||||
|
|
||||||
class WM_OT_context_set_float(bpy.types.Operator): # same as enum
|
class WM_OT_context_set_float(bpy.types.Operator): # same as enum
|
||||||
'''Set a context value.'''
|
'''Set a context value.'''
|
||||||
bl_idname = "wm.context_set_int"
|
bl_idname = "wm.context_set_float"
|
||||||
bl_label = "Context Set"
|
bl_label = "Context Set"
|
||||||
|
|
||||||
path = rna_path_prop
|
path = rna_path_prop
|
||||||
@ -135,10 +136,10 @@ class WM_OT_context_toggle(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
if context_path_validate(context, self.path) == NullPathMember:
|
if context_path_validate(context, self.properties.path) == NullPathMember:
|
||||||
return ('PASS_THROUGH',)
|
return ('PASS_THROUGH',)
|
||||||
|
|
||||||
exec("context.%s=not (context.%s)" % (self.path, self.path))
|
exec("context.%s=not (context.%s)" % (self.properties.path, self.properties.path))
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
|
||||||
@ -156,11 +157,11 @@ class WM_OT_context_toggle_enum(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
if context_path_validate(context, self.path) == NullPathMember:
|
if context_path_validate(context, self.properties.path) == NullPathMember:
|
||||||
return ('PASS_THROUGH',)
|
return ('PASS_THROUGH',)
|
||||||
|
|
||||||
exec("context.%s = ['%s', '%s'][context.%s!='%s']" % \
|
exec("context.%s = ['%s', '%s'][context.%s!='%s']" % \
|
||||||
(self.path, self.value_1, self.value_2, self.path, self.value_2))
|
(self.properties.path, self.properties.value_1, self.properties.value_2, self.properties.path, self.properties.value_2))
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
@ -175,23 +176,23 @@ class WM_OT_context_cycle_int(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
value = context_path_validate(context, self.path)
|
value = context_path_validate(context, self.properties.path)
|
||||||
if value == NullPathMember:
|
if value == NullPathMember:
|
||||||
return ('PASS_THROUGH',)
|
return ('PASS_THROUGH',)
|
||||||
|
|
||||||
self.value = value
|
self.properties.value = value
|
||||||
if self.reverse:
|
if self.properties.reverse:
|
||||||
self.value -= 1
|
self.properties.value -= 1
|
||||||
else:
|
else:
|
||||||
self.value += 1
|
self.properties.value += 1
|
||||||
execute_context_assign(self, context)
|
execute_context_assign(self, context)
|
||||||
|
|
||||||
if self.value != eval("context.%s" % self.path):
|
if self.properties.value != eval("context.%s" % self.properties.path):
|
||||||
# relies on rna clamping int's out of the range
|
# relies on rna clamping int's out of the range
|
||||||
if self.reverse:
|
if self.properties.reverse:
|
||||||
self.value = (1 << 32)
|
self.properties.value = (1 << 32)
|
||||||
else:
|
else:
|
||||||
self.value = - (1 << 32)
|
self.properties.value = - (1 << 32)
|
||||||
execute_context_assign(self, context)
|
execute_context_assign(self, context)
|
||||||
|
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
@ -207,14 +208,14 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
value = context_path_validate(context, self.path)
|
value = context_path_validate(context, self.properties.path)
|
||||||
if value == NullPathMember:
|
if value == NullPathMember:
|
||||||
return ('PASS_THROUGH',)
|
return ('PASS_THROUGH',)
|
||||||
|
|
||||||
orig_value = value
|
orig_value = value
|
||||||
|
|
||||||
# Have to get rna enum values
|
# Have to get rna enum values
|
||||||
rna_struct_str, rna_prop_str = self.path.rsplit('.', 1)
|
rna_struct_str, rna_prop_str = self.properties.path.rsplit('.', 1)
|
||||||
i = rna_prop_str.find('[')
|
i = rna_prop_str.find('[')
|
||||||
|
|
||||||
# just incse we get "context.foo.bar[0]"
|
# just incse we get "context.foo.bar[0]"
|
||||||
@ -232,7 +233,7 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
|
|||||||
orig_index = enums.index(orig_value)
|
orig_index = enums.index(orig_value)
|
||||||
|
|
||||||
# Have the info we need, advance to the next item
|
# Have the info we need, advance to the next item
|
||||||
if self.reverse:
|
if self.properties.reverse:
|
||||||
if orig_index == 0:
|
if orig_index == 0:
|
||||||
advance_enum = enums[-1]
|
advance_enum = enums[-1]
|
||||||
else:
|
else:
|
||||||
@ -244,13 +245,13 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
|
|||||||
advance_enum = enums[orig_index + 1]
|
advance_enum = enums[orig_index + 1]
|
||||||
|
|
||||||
# set the new value
|
# set the new value
|
||||||
exec("context.%s=advance_enum" % self.path)
|
exec("context.%s=advance_enum" % self.properties.path)
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
|
|
||||||
doc_id = StringProperty(name="Doc ID",
|
doc_id = StringProperty(name="Doc ID",
|
||||||
description="ID for the documentation", maxlen=1024, default="")
|
description="", maxlen=1024, default="", hidden=True)
|
||||||
|
|
||||||
doc_new = StringProperty(name="Doc New",
|
doc_new = StringProperty(name="Edit Description",
|
||||||
description="", maxlen=1024, default="")
|
description="", maxlen=1024, default="")
|
||||||
|
|
||||||
|
|
||||||
@ -271,7 +272,7 @@ class WM_OT_doc_view(bpy.types.Operator):
|
|||||||
return '.'.join([class_obj.identifier for class_obj in ls])
|
return '.'.join([class_obj.identifier for class_obj in ls])
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
id_split = self.doc_id.split('.')
|
id_split = self.properties.doc_id.split('.')
|
||||||
if len(id_split) == 1: # rna, class
|
if len(id_split) == 1: # rna, class
|
||||||
url = '%s/bpy.types.%s-class.html' % (self._prefix, id_split[0])
|
url = '%s/bpy.types.%s-class.html' % (self._prefix, id_split[0])
|
||||||
elif len(id_split) == 2: # rna, class.prop
|
elif len(id_split) == 2: # rna, class.prop
|
||||||
@ -317,9 +318,9 @@ class WM_OT_doc_edit(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
|
|
||||||
class_name, class_prop = self.doc_id.split('.')
|
class_name, class_prop = self.properties.doc_id.split('.')
|
||||||
|
|
||||||
if not self.doc_new:
|
if not self.properties.doc_new:
|
||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
# check if this is an operator
|
# check if this is an operator
|
||||||
@ -332,25 +333,25 @@ class WM_OT_doc_edit(bpy.types.Operator):
|
|||||||
if op_class:
|
if op_class:
|
||||||
rna = op_class.bl_rna
|
rna = op_class.bl_rna
|
||||||
doc_orig = rna.description
|
doc_orig = rna.description
|
||||||
if doc_orig == self.doc_new:
|
if doc_orig == self.properties.doc_new:
|
||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
print("op - old:'%s' -> new:'%s'" % (doc_orig, self.doc_new))
|
print("op - old:'%s' -> new:'%s'" % (doc_orig, self.properties.doc_new))
|
||||||
upload["title"] = 'OPERATOR %s:%s' % (self.doc_id, doc_orig)
|
upload["title"] = 'OPERATOR %s:%s' % (self.properties.doc_id, doc_orig)
|
||||||
upload["description"] = self.doc_new
|
upload["description"] = self.properties.doc_new
|
||||||
|
|
||||||
self._send_xmlrpc(upload)
|
self._send_xmlrpc(upload)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
rna = getattr(bpy.types, class_name).bl_rna
|
rna = getattr(bpy.types, class_name).bl_rna
|
||||||
doc_orig = rna.properties[class_prop].description
|
doc_orig = rna.properties[class_prop].description
|
||||||
if doc_orig == self.doc_new:
|
if doc_orig == self.properties.doc_new:
|
||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
print("rna - old:'%s' -> new:'%s'" % (doc_orig, self.doc_new))
|
print("rna - old:'%s' -> new:'%s'" % (doc_orig, self.properties.doc_new))
|
||||||
upload["title"] = 'RNA %s:%s' % (self.doc_id, doc_orig)
|
upload["title"] = 'RNA %s:%s' % (self.properties.doc_id, doc_orig)
|
||||||
|
|
||||||
upload["description"] = self.doc_new
|
upload["description"] = self.properties.doc_new
|
||||||
|
|
||||||
self._send_xmlrpc(upload)
|
self._send_xmlrpc(upload)
|
||||||
|
|
||||||
@ -362,6 +363,37 @@ class WM_OT_doc_edit(bpy.types.Operator):
|
|||||||
return ('RUNNING_MODAL',)
|
return ('RUNNING_MODAL',)
|
||||||
|
|
||||||
|
|
||||||
|
class WM_OT_reload_scripts(bpy.types.Operator):
|
||||||
|
'''Load online reference docs'''
|
||||||
|
bl_idname = "wm.reload_scripts"
|
||||||
|
bl_label = "Reload Scripts"
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
MOD = type(bpy)
|
||||||
|
import sys
|
||||||
|
bpy.load_scripts(True)
|
||||||
|
'''
|
||||||
|
prefix = bpy.base_path
|
||||||
|
items = list(sys.modules.items())
|
||||||
|
items.sort()
|
||||||
|
items.reverse()
|
||||||
|
for mod_name, mod in items:
|
||||||
|
mod_file = getattr(mod, "__file__", "")
|
||||||
|
if mod_file.startswith(prefix) and "__init__" not in mod_file:
|
||||||
|
print(mod_file)
|
||||||
|
reload(mod)
|
||||||
|
"""
|
||||||
|
for submod_name in dir(mod):
|
||||||
|
submod = getattr(mod, submod_name)
|
||||||
|
if isinstance(submod, MOD):
|
||||||
|
reload(submod)
|
||||||
|
"""
|
||||||
|
else:
|
||||||
|
print("Ignoring:", mod, mod_file)
|
||||||
|
'''
|
||||||
|
return ('FINISHED',)
|
||||||
|
|
||||||
|
|
||||||
bpy.ops.add(MESH_OT_delete_edgeloop)
|
bpy.ops.add(MESH_OT_delete_edgeloop)
|
||||||
|
|
||||||
bpy.ops.add(WM_OT_context_set_boolean)
|
bpy.ops.add(WM_OT_context_set_boolean)
|
||||||
@ -376,3 +408,11 @@ bpy.ops.add(WM_OT_context_cycle_int)
|
|||||||
|
|
||||||
bpy.ops.add(WM_OT_doc_view)
|
bpy.ops.add(WM_OT_doc_view)
|
||||||
bpy.ops.add(WM_OT_doc_edit)
|
bpy.ops.add(WM_OT_doc_edit)
|
||||||
|
|
||||||
|
bpy.ops.add(WM_OT_reload_scripts)
|
||||||
|
|
||||||
|
# experemental!
|
||||||
|
import rna_prop_ui
|
||||||
|
bpy.ops.add(rna_prop_ui.WM_OT_properties_edit)
|
||||||
|
bpy.ops.add(rna_prop_ui.WM_OT_properties_add)
|
||||||
|
bpy.ops.add(rna_prop_ui.WM_OT_properties_remove)
|
||||||
|
6
release/scripts/presets/cloth/cotton.py
Normal file
6
release/scripts/presets/cloth/cotton.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
bpy.context.cloth.settings.quality = 5
|
||||||
|
bpy.context.cloth.settings.mass = 0.300
|
||||||
|
bpy.context.cloth.settings.structural_stiffness = 15.000
|
||||||
|
bpy.context.cloth.settings.bending_stiffness = 0.500
|
||||||
|
bpy.context.cloth.settings.spring_damping = 5.000
|
||||||
|
bpy.context.cloth.settings.air_damping = 1.000
|
6
release/scripts/presets/cloth/denim.py
Normal file
6
release/scripts/presets/cloth/denim.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
bpy.context.cloth.settings.quality = 12
|
||||||
|
bpy.context.cloth.settings.mass = 1
|
||||||
|
bpy.context.cloth.settings.structural_stiffness = 40
|
||||||
|
bpy.context.cloth.settings.bending_stiffness = 10
|
||||||
|
bpy.context.cloth.settings.spring_damping = 25
|
||||||
|
bpy.context.cloth.settings.air_damping = 1
|
6
release/scripts/presets/cloth/leather.py
Normal file
6
release/scripts/presets/cloth/leather.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
bpy.context.cloth.settings.quality = 15
|
||||||
|
bpy.context.cloth.settings.mass = 0.4
|
||||||
|
bpy.context.cloth.settings.structural_stiffness = 80
|
||||||
|
bpy.context.cloth.settings.bending_stiffness = 150
|
||||||
|
bpy.context.cloth.settings.spring_damping = 25
|
||||||
|
bpy.context.cloth.settings.air_damping = 1
|
6
release/scripts/presets/cloth/rubber.py
Normal file
6
release/scripts/presets/cloth/rubber.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
bpy.context.active_object.modifiers['Cloth'].settings.quality = 7
|
||||||
|
bpy.context.active_object.modifiers['Cloth'].settings.mass = 3
|
||||||
|
bpy.context.active_object.modifiers['Cloth'].settings.structural_stiffness = 15
|
||||||
|
bpy.context.active_object.modifiers['Cloth'].settings.bending_stiffness = 25
|
||||||
|
bpy.context.active_object.modifiers['Cloth'].settings.spring_damping = 25
|
||||||
|
bpy.context.active_object.modifiers['Cloth'].settings.air_damping = 1
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user