diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2008-11-19 22:28:12 +0300 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2008-11-19 22:28:12 +0300 |
commit | 28da9ad12ee9ab22432401a5c9cd485df971323a (patch) | |
tree | ae0a5773a38df61531beac365530acb037fa6a9f | |
parent | 14a0718a8a4ed3ee95f6374e20dbe9e74cf3b5c6 (diff) | |
parent | f8e56e96bf2be4580dd34c33c6379339642638f0 (diff) |
svn merge -r 17201:17502 https://svn.blender.org/svnroot/bf-blender/trunk/blender
319 files changed, 57471 insertions, 3281 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e615ecdfa5..e01a37d3b3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,8 @@ OPTION(WITH_VERSE "Enable Verse (http://verse.blender.org)" OFF) OPTION(WITH_ELBEEM "Enable Elbeem (Fluid Simulation)" ON) OPTION(WITH_QUICKTIME "Enable Quicktime Support" OFF) OPTION(WITH_OPENEXR "Enable OpenEXR Support (http://www.openexr.com)" ON) +OPTION(WITH_DDS "Enable DDS Support" ON) +OPTION(WITH_FFMPEG "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu/)" OFF) OPTION(WITH_FFMPEG "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu/)" OFF) OPTION(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON) OPTION(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" OFF) @@ -86,14 +88,16 @@ INCLUDE(CMake/macros.cmake) #Platform specifics IF(UNIX) - INCLUDE(${CMAKE_ROOT}/Modules/FindOpenAL.cmake) - IF(OPENAL_FOUND) - SET(WITH_OPENAL ON) - SET(OPENAL_LIB ${OPENAL_LIBRARY}) - SET(OPENAL_INC ${OPENAL_INCLUDE_DIR}) - ELSE(OPENAL_FOUND) - SET(WITH_OPENAL OFF) - ENDIF(OPENAL_FOUND) + IF(WITH_OPENAL) + INCLUDE(${CMAKE_ROOT}/Modules/FindOpenAL.cmake) + IF(OPENAL_FOUND) + SET(WITH_OPENAL ON) + SET(OPENAL_LIB ${OPENAL_LIBRARY}) + SET(OPENAL_INC ${OPENAL_INCLUDE_DIR}) + ELSE(OPENAL_FOUND) + SET(WITH_OPENAL OFF) + ENDIF(OPENAL_FOUND) + ENDIF(WITH_OPENAL) FIND_LIBRARY(ALUT_LIBRARY NAMES alut diff --git a/SConstruct b/SConstruct index 48115a39b1d..16e98e64f6b 100644 --- a/SConstruct +++ b/SConstruct @@ -42,6 +42,8 @@ import tools.Blender import tools.btools import tools.bcolors +EnsureSConsVersion(1,0,0) + BlenderEnvironment = tools.Blender.BlenderEnvironment btools = tools.btools B = tools.Blender @@ -55,8 +57,8 @@ nsis_build = None ##### BEGIN SETUP ##### B.possible_types = ['core', 'common', 'blender', 'intern', - 'international', 'game', 'game2', - 'player', 'player2', 'system'] + 'international', 'game', 'game2', + 'player', 'player2', 'system'] B.binarykind = ['blender' , 'blenderplayer'] ################################## @@ -65,15 +67,15 @@ B.binarykind = ['blender' , 'blenderplayer'] # XX cheating for BF_FANCY, we check for BF_FANCY before args are validated use_color = ARGUMENTS.get('BF_FANCY', '1') if platform=='win32': - use_color = None + use_color = None if not use_color=='1': - B.bc.disable() - + B.bc.disable() + #on defaut white Os X terminal, some colors are totally unlegible if platform=='darwin': - B.bc.OKGREEN = '\033[34m' - B.bc.WARNING = '\033[36m' + B.bc.OKGREEN = '\033[34m' + B.bc.WARNING = '\033[36m' # arguments print B.bc.HEADER+'Command-line arguments'+B.bc.ENDC @@ -96,243 +98,247 @@ quickie = B.arguments.get('BF_QUICK', None) quickdebug = B.arguments.get('BF_QUICKDEBUG', None) if quickdebug: - B.quickdebug=string.split(quickdebug, ',') + B.quickdebug=string.split(quickdebug, ',') else: - B.quickdebug=[] + B.quickdebug=[] if quickie: - B.quickie=string.split(quickie,',') + B.quickie=string.split(quickie,',') else: - B.quickie=[] - + B.quickie=[] + toolset = B.arguments.get('BF_TOOLSET', None) if toolset: - print "Using " + toolset - if toolset=='mstoolkit': - env = BlenderEnvironment(ENV = os.environ) - env.Tool('mstoolkit', ['tools']) - else: - env = BlenderEnvironment(tools=[toolset], ENV = os.environ) - if env: - btools.SetupSpawn(env) + print "Using " + toolset + if toolset=='mstoolkit': + env = BlenderEnvironment(ENV = os.environ) + env.Tool('mstoolkit', ['tools']) + else: + env = BlenderEnvironment(tools=[toolset], ENV = os.environ) + if env: + btools.SetupSpawn(env) else: - env = BlenderEnvironment(ENV = os.environ) + env = BlenderEnvironment(ENV = os.environ) if not env: - print "Could not create a build environment" - Exit() + print "Could not create a build environment" + Exit() cc = B.arguments.get('CC', None) cxx = B.arguments.get('CXX', None) if cc: - env['CC'] = cc + env['CC'] = cc if cxx: - env['CXX'] = cxx + env['CXX'] = cxx if env['CC'] in ['cl', 'cl.exe'] and sys.platform=='win32': - platform = 'win32-vc' + platform = 'win32-vc' elif env['CC'] in ['gcc'] and sys.platform=='win32': - platform = 'win32-mingw' + platform = 'win32-mingw' env.SConscriptChdir(0) crossbuild = B.arguments.get('BF_CROSS', None) if crossbuild and platform!='win32': - platform = 'linuxcross' + platform = 'linuxcross' env['OURPLATFORM'] = platform configfile = 'config'+os.sep+platform+'-config.py' if os.path.exists(configfile): - print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile + print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile else: - print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC + print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC if crossbuild and env['PLATFORM'] != 'win32': - print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC - env.Tool('crossmingw', ['tools']) - # todo: determine proper libs/includes etc. - # Needed for gui programs, console programs should do without it - env.Append(LINKFLAGS=['-mwindows']) + print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC + env.Tool('crossmingw', ['tools']) + # todo: determine proper libs/includes etc. + # Needed for gui programs, console programs should do without it + env.Append(LINKFLAGS=['-mwindows']) userconfig = B.arguments.get('BF_CONFIG', 'user-config.py') # first read platform config. B.arguments will override optfiles = [configfile] if os.path.exists(userconfig): - print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig - optfiles += [userconfig] + print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig + optfiles += [userconfig] else: - print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC + print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC opts = btools.read_opts(optfiles, B.arguments) opts.Update(env) if not env['BF_FANCY']: - B.bc.disable() + B.bc.disable() + +SetOption('num_jobs', int(env['BF_NUMJOBS'])) +print "Build with %d parallel jobs" % (GetOption('num_jobs')) # disable elbeem (fluidsim) compilation? if env['BF_NO_ELBEEM'] == 1: - env['CPPFLAGS'].append('-DDISABLE_ELBEEM') - env['CXXFLAGS'].append('-DDISABLE_ELBEEM') - env['CCFLAGS'].append('-DDISABLE_ELBEEM') + env['CPPFLAGS'].append('-DDISABLE_ELBEEM') + env['CXXFLAGS'].append('-DDISABLE_ELBEEM') + env['CCFLAGS'].append('-DDISABLE_ELBEEM') if env['WITH_BF_OPENMP'] == 1: - if env['OURPLATFORM']=='win32-vc': - env['CCFLAGS'].append('/openmp') - env['CPPFLAGS'].append('/openmp') - env['CXXFLAGS'].append('/openmp') - else: - if env['CC'][-3:] == 'icc': # to be able to handle CC=/opt/bla/icc case - env.Append(LINKFLAGS=['-openmp', '-static-intel']) - env['CCFLAGS'].append('-openmp') - env['CPPFLAGS'].append('-openmp') - env['CXXFLAGS'].append('-openmp') - else: - env.Append(CCFLAGS=['-fopenmp']) - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(CXXFLAGS=['-fopenmp']) - # env.Append(LINKFLAGS=['-fprofile-generate']) + if env['OURPLATFORM']=='win32-vc': + env['CCFLAGS'].append('/openmp') + env['CPPFLAGS'].append('/openmp') + env['CXXFLAGS'].append('/openmp') + else: + if env['CC'][-3:] == 'icc': # to be able to handle CC=/opt/bla/icc case + env.Append(LINKFLAGS=['-openmp', '-static-intel']) + env['CCFLAGS'].append('-openmp') + env['CPPFLAGS'].append('-openmp') + env['CXXFLAGS'].append('-openmp') + else: + env.Append(CCFLAGS=['-fopenmp']) + env.Append(CPPFLAGS=['-fopenmp']) + env.Append(CXXFLAGS=['-fopenmp']) + # env.Append(LINKFLAGS=['-fprofile-generate']) #check for additional debug libnames if env.has_key('BF_DEBUG_LIBS'): - B.quickdebug += env['BF_DEBUG_LIBS'] + B.quickdebug += env['BF_DEBUG_LIBS'] printdebug = B.arguments.get('BF_LISTDEBUG', 0) # see if this linux distro has libalut if env['OURPLATFORM'] == 'linux2' : - if env['WITH_BF_OPENAL']: - mylib_test_source_file = """ - #include "AL/alut.h" - int main(int argc, char **argv) - { - alutGetMajorVersion(); - return 0; - } - """ - - def CheckFreeAlut(context,env): - context.Message( B.bc.OKGREEN + "Linux platform detected:\n checking for FreeAlut... " + B.bc.ENDC ) - env['LIBS'] = 'alut' - result = context.TryLink(mylib_test_source_file, '.c') - context.Result(result) - return result - - env2 = env.Copy( LIBPATH = env['BF_OPENAL'] ) - sconf_temp = mkdtemp() - conf = Configure( env2, {'CheckFreeAlut' : CheckFreeAlut}, sconf_temp, '/dev/null' ) - if conf.CheckFreeAlut( env2 ): - env['BF_OPENAL_LIB'] += ' alut' - del env2 - root = '' - for root, dirs, files in os.walk(sconf_temp, topdown=False): - for name in files: - os.remove(os.path.join(root, name)) - for name in dirs: - os.rmdir(os.path.join(root, name)) - if root: os.rmdir(root) + if env['WITH_BF_OPENAL']: + mylib_test_source_file = """ + #include "AL/alut.h" + int main(int argc, char **argv) + { + alutGetMajorVersion(); + return 0; + } + """ + + def CheckFreeAlut(context,env): + context.Message( B.bc.OKGREEN + "Linux platform detected:\n checking for FreeAlut... " + B.bc.ENDC ) + env['LIBS'] = 'alut' + result = context.TryLink(mylib_test_source_file, '.c') + context.Result(result) + return result + + env2 = env.Clone( LIBPATH = env['BF_OPENAL'] ) + sconf_temp = mkdtemp() + conf = Configure( env2, {'CheckFreeAlut' : CheckFreeAlut}, sconf_temp, '/dev/null' ) + if conf.CheckFreeAlut( env2 ): + env['BF_OPENAL_LIB'] += ' alut' + del env2 + root = '' + for root, dirs, files in os.walk(sconf_temp, topdown=False): + for name in files: + os.remove(os.path.join(root, name)) + for name in dirs: + os.rmdir(os.path.join(root, name)) + if root: os.rmdir(root) if len(B.quickdebug) > 0 and printdebug != 0: - print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC - for l in B.quickdebug: - print "\t" + l + print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC + for l in B.quickdebug: + print "\t" + l # remove stdc++ from LLIBS if we are building a statc linked CXXFLAGS if env['WITH_BF_STATICCXX']: - if 'stdc++' in env['LLIBS']: - env['LLIBS'] = env['LLIBS'].replace('stdc++', ' ') - else: - print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform' + if 'stdc++' in env['LLIBS']: + env['LLIBS'].remove('stdc++') + else: + print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform' # check target for blenderplayer. Set WITH_BF_PLAYER if found on cmdline if 'blenderplayer' in B.targets: - env['WITH_BF_PLAYER'] = True + env['WITH_BF_PLAYER'] = True if 'blendernogame' in B.targets: - env['WITH_BF_GAMEENGINE'] = False + env['WITH_BF_GAMEENGINE'] = False if 'blenderlite' in B.targets: - env['WITH_BF_GAMEENGINE'] = False - env['WITH_BF_OPENAL'] = False - env['WITH_BF_OPENEXR'] = False - env['WITH_BF_ICONV'] = False - env['WITH_BF_INTERNATIONAL'] = False - env['WITH_BF_OPENJPEG'] = False - env['WITH_BF_FFMPEG'] = False - env['WITH_BF_QUICKTIME'] = False - env['WITH_BF_YAFRAY'] = False - env['WITH_BF_REDCODE'] = False - env['WITH_BF_FTGL'] = False - env['WITH_BF_DDS'] = False - env['WITH_BF_ZLIB'] = False - env['WITH_BF_SDL'] = False - env['WITH_BF_JPEG'] = False - env['WITH_BF_PNG'] = False - env['WITH_BF_ODE'] = False - env['WITH_BF_BULLET'] = False - env['WITH_BF_BINRELOC'] = False - env['BF_BUILDINFO'] = False - env['BF_NO_ELBEEM'] = True + env['WITH_BF_GAMEENGINE'] = False + env['WITH_BF_OPENAL'] = False + env['WITH_BF_OPENEXR'] = False + env['WITH_BF_ICONV'] = False + env['WITH_BF_INTERNATIONAL'] = False + env['WITH_BF_OPENJPEG'] = False + env['WITH_BF_FFMPEG'] = False + env['WITH_BF_QUICKTIME'] = False + env['WITH_BF_YAFRAY'] = False + env['WITH_BF_REDCODE'] = False + env['WITH_BF_FTGL'] = False + env['WITH_BF_DDS'] = False + env['WITH_BF_ZLIB'] = False + env['WITH_BF_SDL'] = False + env['WITH_BF_JPEG'] = False + env['WITH_BF_PNG'] = False + env['WITH_BF_ODE'] = False + env['WITH_BF_BULLET'] = False + env['WITH_BF_BINRELOC'] = False + env['BF_BUILDINFO'] = False + env['BF_NO_ELBEEM'] = True + env['WITH_BF_PYTHON'] = False # lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir #B.root_build_dir = B.arguments.get('BF_BUILDDIR', '..'+os.sep+'build'+os.sep+platform+os.sep) B.root_build_dir = env['BF_BUILDDIR'] B.doc_build_dir = env['BF_DOCDIR'] if not B.root_build_dir[-1]==os.sep: - B.root_build_dir += os.sep + B.root_build_dir += os.sep if not B.doc_build_dir[-1]==os.sep: - B.doc_build_dir += os.sep - + B.doc_build_dir += os.sep + # We do a shortcut for clean when no quicklist is given: just delete # builddir without reading in SConscripts do_clean = None if 'clean' in B.targets: - do_clean = True + do_clean = True if not quickie and do_clean: - if os.path.exists(B.doc_build_dir): - print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC - dirs = os.listdir(B.doc_build_dir) - for entry in dirs: - if os.path.isdir(B.doc_build_dir + entry) == 1: - print "clean dir %s"%(B.doc_build_dir+entry) - shutil.rmtree(B.doc_build_dir+entry) - else: # remove file - print "remove file %s"%(B.doc_build_dir+entry) - os.remove(B.root_build_dir+entry) - if os.path.exists(B.root_build_dir): - print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC - dirs = os.listdir(B.root_build_dir) - for entry in dirs: - if os.path.isdir(B.root_build_dir + entry) == 1: - print "clean dir %s"%(B.root_build_dir+entry) - shutil.rmtree(B.root_build_dir+entry) - else: # remove file - print "remove file %s"%(B.root_build_dir+entry) - os.remove(B.root_build_dir+entry) - for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak', - 'extern/xvidcore/build/generic/platform.inc']: - if os.path.exists(confile): - print "clean file %s"%confile - os.remove(confile) - print B.bc.OKGREEN+'...done'+B.bc.ENDC - else: - print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC - Exit() + if os.path.exists(B.doc_build_dir): + print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC + dirs = os.listdir(B.doc_build_dir) + for entry in dirs: + if os.path.isdir(B.doc_build_dir + entry) == 1: + print "clean dir %s"%(B.doc_build_dir+entry) + shutil.rmtree(B.doc_build_dir+entry) + else: # remove file + print "remove file %s"%(B.doc_build_dir+entry) + os.remove(B.root_build_dir+entry) + if os.path.exists(B.root_build_dir): + print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC + dirs = os.listdir(B.root_build_dir) + for entry in dirs: + if os.path.isdir(B.root_build_dir + entry) == 1: + print "clean dir %s"%(B.root_build_dir+entry) + shutil.rmtree(B.root_build_dir+entry) + else: # remove file + print "remove file %s"%(B.root_build_dir+entry) + os.remove(B.root_build_dir+entry) + for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak', + 'extern/xvidcore/build/generic/platform.inc']: + if os.path.exists(confile): + print "clean file %s"%confile + os.remove(confile) + print B.bc.OKGREEN+'...done'+B.bc.ENDC + else: + print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC + Exit() if not os.path.isdir ( B.root_build_dir): - os.makedirs ( B.root_build_dir ) - os.makedirs ( B.root_build_dir + 'source' ) - os.makedirs ( B.root_build_dir + 'intern' ) - os.makedirs ( B.root_build_dir + 'extern' ) - os.makedirs ( B.root_build_dir + 'lib' ) - os.makedirs ( B.root_build_dir + 'bin' ) + os.makedirs ( B.root_build_dir ) + os.makedirs ( B.root_build_dir + 'source' ) + os.makedirs ( B.root_build_dir + 'intern' ) + os.makedirs ( B.root_build_dir + 'extern' ) + os.makedirs ( B.root_build_dir + 'lib' ) + os.makedirs ( B.root_build_dir + 'bin' ) if not os.path.isdir(B.doc_build_dir): - os.makedirs ( B.doc_build_dir ) + os.makedirs ( B.doc_build_dir ) Help(opts.GenerateHelpText(env)) @@ -340,10 +346,10 @@ Help(opts.GenerateHelpText(env)) # commands, do 'scons BF_QUIET=0' bf_quietoutput = B.arguments.get('BF_QUIET', '1') if env['BF_QUIET']: - B.set_quiet_output(env) + B.set_quiet_output(env) else: - if toolset=='msvc': - B.msvc_hack(env) + if toolset=='msvc': + B.msvc_hack(env) print B.bc.HEADER+'Building in '+B.bc.ENDC+B.root_build_dir env.SConsignFile(B.root_build_dir+'scons-signatures') @@ -365,21 +371,21 @@ SConscript(B.root_build_dir+'/source/SConscript') # libraries to give as objects to linking phase mainlist = [] for tp in B.possible_types: - if not tp == 'player' and not tp == 'player2': - mainlist += B.create_blender_liblist(env, tp) + if not tp == 'player' and not tp == 'player2': + mainlist += B.create_blender_liblist(env, tp) if B.arguments.get('BF_PRIORITYLIST', '0')=='1': - B.propose_priorities() + B.propose_priorities() dobj = B.buildinfo(env, "dynamic") + B.resources thestatlibs, thelibincs = B.setup_staticlibs(env) thesyslibs = B.setup_syslibs(env) if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']: - env.BlenderProg(B.root_build_dir, "blender", dobj + mainlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender') + env.BlenderProg(B.root_build_dir, "blender", dobj + mainlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender') if env['WITH_BF_PLAYER']: - playerlist = B.create_blender_liblist(env, 'player') - env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer') + playerlist = B.create_blender_liblist(env, 'player') + env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer') ##### Now define some targets @@ -389,19 +395,19 @@ if env['WITH_BF_PLAYER']: #-- binaries blenderinstall = [] if env['OURPLATFORM']=='darwin': - for prg in B.program_list: - bundle = '%s.app' % prg[0] - bundledir = os.path.dirname(bundle) - for dp, dn, df in os.walk(bundle): - if 'CVS' in dn: - dn.remove('CVS') - if '.svn' in dn: - dn.remove('.svn') - dir=env['BF_INSTALLDIR']+dp[len(bundledir):] - source=[dp+os.sep+f for f in df] - blenderinstall.append(env.Install(dir=dir,source=source)) + for prg in B.program_list: + bundle = '%s.app' % prg[0] + bundledir = os.path.dirname(bundle) + for dp, dn, df in os.walk(bundle): + if 'CVS' in dn: + dn.remove('CVS') + if '.svn' in dn: + dn.remove('.svn') + dir=env['BF_INSTALLDIR']+dp[len(bundledir):] + source=[dp+os.sep+f for f in df] + blenderinstall.append(env.Install(dir=dir,source=source)) else: - blenderinstall = env.Install(dir=env['BF_INSTALLDIR'], source=B.program_list) + blenderinstall = env.Install(dir=env['BF_INSTALLDIR'], source=B.program_list) #-- .blender #- dont do .blender and scripts for darwin, it is already in the bundle @@ -410,30 +416,41 @@ dottargetlist = [] scriptinstall = [] if env['OURPLATFORM']!='darwin': - for dp, dn, df in os.walk('bin/.blender'): - if 'CVS' in dn: - dn.remove('CVS') - if '.svn' in dn: - dn.remove('.svn') - for f in df: - dotblendlist.append(dp+os.sep+f) - dottargetlist.append(env['BF_INSTALLDIR']+dp[3:]+os.sep+f) - - dotblenderinstall = [] - for targetdir,srcfile in zip(dottargetlist, dotblendlist): - td, tf = os.path.split(targetdir) - dotblenderinstall.append(env.Install(dir=td, source=srcfile)) - - #-- .blender/scripts - scriptpath='release/scripts' - for dp, dn, df in os.walk(scriptpath): - if 'CVS' in dn: - dn.remove('CVS') - if '.svn' in dn: - dn.remove('.svn') - dir=env['BF_INSTALLDIR']+'/.blender/scripts'+dp[len(scriptpath):] - source=[dp+os.sep+f for f in df] - scriptinstall.append(env.Install(dir=dir,source=source)) + for dp, dn, df in os.walk('bin/.blender'): + if 'CVS' in dn: + dn.remove('CVS') + if '.svn' in dn: + dn.remove('.svn') + + for f in df: + if not env['WITH_BF_INTERNATIONAL']: + if 'locale' in dp: + continue + if f == '.Blanguages': + continue + if not env['WITH_BF_FREETYPE']: + if f.endswith('.ttf'): + continue + + dotblendlist.append(os.path.join(dp, f)) + dottargetlist.append(env['BF_INSTALLDIR']+dp[3:]+os.sep+f) + + dotblenderinstall = [] + for targetdir,srcfile in zip(dottargetlist, dotblendlist): + td, tf = os.path.split(targetdir) + dotblenderinstall.append(env.Install(dir=td, source=srcfile)) + + if env['WITH_BF_PYTHON']: + #-- .blender/scripts + scriptpath='release/scripts' + for dp, dn, df in os.walk(scriptpath): + if 'CVS' in dn: + dn.remove('CVS') + if '.svn' in dn: + dn.remove('.svn') + dir=env['BF_INSTALLDIR']+'/.blender/scripts'+dp[len(scriptpath):] + source=[dp+os.sep+f for f in df] + scriptinstall.append(env.Install(dir=dir,source=source)) #-- icons if env['OURPLATFORM']=='linux2': @@ -455,18 +472,25 @@ if env['OURPLATFORM']=='linux2': td, tf = os.path.split(targetdir) iconinstall.append(env.Install(dir=td, source=srcfile)) +# dlls for linuxcross +# TODO - add more libs, for now this lets blenderlite run +if env['OURPLATFORM']=='linuxcross': + dir=env['BF_INSTALLDIR'] + source = ['../lib/windows/pthreads/lib/pthreadGC2.dll'] + scriptinstall.append(env.Install(dir=dir, source=source)) + #-- plugins pluglist = [] plugtargetlist = [] for tp, tn, tf in os.walk('release/plugins'): - if 'CVS' in tn: - tn.remove('CVS') - if '.svn' in tn: - tn.remove('.svn') - for f in tf: - print ">>>", env['BF_INSTALLDIR'], tp, f - pluglist.append(tp+os.sep+f) - plugtargetlist.append(env['BF_INSTALLDIR']+tp[7:]+os.sep+f) + if 'CVS' in tn: + tn.remove('CVS') + if '.svn' in tn: + tn.remove('.svn') + for f in tf: + print ">>>", env['BF_INSTALLDIR'], tp, f + pluglist.append(tp+os.sep+f) + plugtargetlist.append(env['BF_INSTALLDIR']+tp[7:]+os.sep+f) # header files for plugins pluglist.append('source/blender/blenpluginapi/documentation.h') @@ -486,59 +510,58 @@ plugtargetlist.append(env['BF_INSTALLDIR'] + os.sep + 'plugins' + os.sep + 'incl plugininstall = [] for targetdir,srcfile in zip(plugtargetlist, pluglist): - td, tf = os.path.split(targetdir) - plugininstall.append(env.Install(dir=td, source=srcfile)) + td, tf = os.path.split(targetdir) + plugininstall.append(env.Install(dir=td, source=srcfile)) textlist = [] texttargetlist = [] for tp, tn, tf in os.walk('release/text'): - if 'CVS' in tn: - tn.remove('CVS') - if '.svn' in tn: - tn.remove('.svn') - for f in tf: - textlist.append(tp+os.sep+f) + if 'CVS' in tn: + tn.remove('CVS') + if '.svn' in tn: + tn.remove('.svn') + for f in tf: + textlist.append(tp+os.sep+f) textinstall = env.Install(dir=env['BF_INSTALLDIR'], source=textlist) if env['OURPLATFORM']=='darwin': - allinstall = [blenderinstall, plugininstall, textinstall] + allinstall = [blenderinstall, plugininstall, textinstall] elif env['OURPLATFORM']=='linux2': - allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall] + allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall] else: - allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall] + allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall] if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'): - dllsources = ['${LCGDIR}/gettext/lib/gnu_gettext.dll', - '${LCGDIR}/png/lib/libpng.dll', - '#release/windows/extra/python25.zip', - '#release/windows/extra/zlib.pyd', - '${LCGDIR}/sdl/lib/SDL.dll', - '${LCGDIR}/zlib/lib/zlib.dll', - '${LCGDIR}/tiff/lib/libtiff.dll'] - if env['BF_DEBUG']: - dllsources.append('${LCGDIR}/python/lib/${BF_PYTHON_LIB}_d.dll') - else: - dllsources.append('${LCGDIR}/python/lib/${BF_PYTHON_LIB}.dll') - if env['OURPLATFORM'] == 'win32-mingw': - dllsources += ['${LCGDIR}/pthreads/lib/pthreadGC2.dll'] - else: - dllsources += ['${LCGDIR}/pthreads/lib/pthreadVC2.dll'] - if env['WITH_BF_ICONV']: - dllsources += ['${LCGDIR}/iconv/lib/iconv.dll'] - if env['WITH_BF_FFMPEG']: - dllsources += ['${LCGDIR}/ffmpeg/lib/avcodec-51.dll', - '${LCGDIR}/ffmpeg/lib/avformat-52.dll', - '${LCGDIR}/ffmpeg/lib/avdevice-52.dll', - '${LCGDIR}/ffmpeg/lib/avutil-49.dll', - '${LCGDIR}/ffmpeg/lib/libfaad-0.dll', - '${LCGDIR}/ffmpeg/lib/libfaac-0.dll', - '${LCGDIR}/ffmpeg/lib/libmp3lame-0.dll', - '${LCGDIR}/ffmpeg/lib/libx264-59.dll', - '${LCGDIR}/ffmpeg/lib/xvidcore.dll', - '${LCGDIR}/ffmpeg/lib/swscale-0.dll'] - windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources) - allinstall += windlls + dllsources = ['${LCGDIR}/gettext/lib/gnu_gettext.dll', + '${BF_PNG_LIBPATH}/libpng.dll', + '${BF_ZLIB_LIBPATH}/zlib.dll', + '${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll'] + dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll'] + if env['WITH_BF_SDL']: + dllsources.append('${BF_SDL_LIBPATH}/SDL.dll') + if env['WITH_BF_PYTHON']: + dllsources.append('#release/windows/extra/python25.zip') + dllsources.append('#release/windows/extra/zlib.pyd') + if env['BF_DEBUG']: + dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_LIB}_d.dll') + else: + dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_LIB}.dll') + if env['WITH_BF_ICONV']: + dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll'] + if env['WITH_BF_FFMPEG']: + dllsources += ['${LCGDIR}/ffmpeg/lib/avcodec-51.dll', + '${LCGDIR}/ffmpeg/lib/avformat-52.dll', + '${LCGDIR}/ffmpeg/lib/avdevice-52.dll', + '${LCGDIR}/ffmpeg/lib/avutil-49.dll', + '${LCGDIR}/ffmpeg/lib/libfaad-0.dll', + '${LCGDIR}/ffmpeg/lib/libfaac-0.dll', + '${LCGDIR}/ffmpeg/lib/libmp3lame-0.dll', + '${LCGDIR}/ffmpeg/lib/libx264-59.dll', + '${LCGDIR}/ffmpeg/lib/xvidcore.dll', + '${LCGDIR}/ffmpeg/lib/swscale-0.dll'] + windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources) + allinstall += windlls installtarget = env.Alias('install', allinstall) bininstalltarget = env.Alias('install-bin', blenderinstall) @@ -552,12 +575,12 @@ if 'blender' in B.targets: Depends(blenderexe,installtarget) if env['WITH_BF_PLAYER']: - blenderplayer = env.Alias('blenderplayer', B.program_list) - Depends(blenderplayer,installtarget) + blenderplayer = env.Alias('blenderplayer', B.program_list) + Depends(blenderplayer,installtarget) if not env['WITH_BF_GAMEENGINE']: - blendernogame = env.Alias('blendernogame', B.program_list) - Depends(blendernogame,installtarget) + blendernogame = env.Alias('blendernogame', B.program_list) + Depends(blendernogame,installtarget) if 'blenderlite' in B.targets: blenderlite = env.Alias('blenderlite', B.program_list) @@ -568,7 +591,7 @@ Depends(nsiscmd, allinstall) Default(B.program_list) if not env['WITHOUT_BF_INSTALL']: - Default(installtarget) + Default(installtarget) #------------ RELEASE # TODO: zipup the installation @@ -578,6 +601,6 @@ if not env['WITHOUT_BF_INSTALL']: #------------ EPYDOC if env['WITH_BF_DOCS']: - SConscript('source/blender/python/api2_2x/doc/SConscript') - SConscript('source/gameengine/PyDoc/SConscript') + SConscript('source/blender/python/api2_2x/doc/SConscript') + SConscript('source/gameengine/PyDoc/SConscript') diff --git a/blenderplayer/CMakeLists.txt b/blenderplayer/CMakeLists.txt index 9786b7e61b2..f02650f7ea0 100644 --- a/blenderplayer/CMakeLists.txt +++ b/blenderplayer/CMakeLists.txt @@ -104,6 +104,7 @@ IF(UNIX) bf_blenlib bf_cineon bf_openexr + bf_dds bf_ftfont extern_ftgl bf_readblenfile diff --git a/config/darwin-config.py b/config/darwin-config.py index ccc3eb5a0d0..3ef7b7132d9 100644 --- a/config/darwin-config.py +++ b/config/darwin-config.py @@ -216,14 +216,14 @@ CXXFLAGS = [ '-pipe','-fPIC','-funsigned-char', '-fpascal-strings'] PLATFORM_LINKFLAGS = '-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime' #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'] # some flags shuffling for different Os versions if MAC_MIN_VERS == '10.3': CFLAGS = ['-fuse-cxa-atexit']+CFLAGS CXXFLAGS = ['-fuse-cxa-atexit']+CXXFLAGS PLATFORM_LINKFLAGS = '-fuse-cxa-atexit '+PLATFORM_LINKFLAGS - LLIBS = LLIBS + ' crt3.o' + LLIBS.append('crt3.o') if USE_SDK==True: SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS] @@ -251,20 +251,21 @@ else: ## CC = 'gcc' CXX = 'g++' -C_WARN = ' -Wall -Wno-long-double -Wdeclaration-after-statement ' +C_WARN = ['-Wdeclaration-after-statement'] -CC_WARN = ' -Wall -Wno-long-double' +CC_WARN = ['-Wall', '-Wno-long-double'] ##FIX_STUBS_WARNINGS = -Wno-unused ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) -BF_PROFILE_FLAGS = ' -pg -g ' +BF_PROFILE_CCFLAGS = ['-pg', '-g '] +BF_PROFILE_LINKFLAGS = ['-pg'] BF_PROFILE = False BF_DEBUG = False -BF_DEBUG_FLAGS = '-g' +BF_DEBUG_CCFLAGS = ['-g'] BF_BUILDDIR='../build/darwin' BF_INSTALLDIR='../install/darwin' diff --git a/config/linux2-config.py b/config/linux2-config.py index 181f1d5364d..2984c06d2df 100644 --- a/config/linux2-config.py +++ b/config/linux2-config.py @@ -187,21 +187,22 @@ REL_CCFLAGS = ['-O2'] ##ARFLAGS = ruv ##ARFLAGSQUIET = ru ## -C_WARN = '-Wall -Wno-char-subscripts -Wdeclaration-after-statement' +C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement'] -CC_WARN = '-Wall' +CC_WARN = ['-Wall'] ##FIX_STUBS_WARNINGS = -Wno-unused -LLIBS = 'util c m dl pthread stdc++' +LLIBS = ['util', 'c', 'm', 'dl', 'pthread', 'stdc++'] ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) -BF_PROFILE_FLAGS = ['-pg','-g'] BF_PROFILE = False +BF_PROFILE_CCFLAGS = ['-pg','-g'] +BF_PROFILE_LINKFLAGS = ['-pg'] BF_DEBUG = False -BF_DEBUG_FLAGS = '-g' +BF_DEBUG_CCFLAGS = ['-g'] BF_BUILDDIR = '../build/linux2' BF_INSTALLDIR='../install/linux2' diff --git a/config/linuxcross-config.py b/config/linuxcross-config.py index c10e9d76cb5..5981c8b96e5 100644 --- a/config/linuxcross-config.py +++ b/config/linuxcross-config.py @@ -1,4 +1,4 @@ -LCGDIR = '../lib/windows' +LCGDIR = '#../lib/windows' LIBDIR = '${LCGDIR}' WITH_BF_VERSE = False @@ -101,6 +101,9 @@ BF_SOLID = '#extern/solid' BF_SOLID_INC = '${BF_SOLID}' BF_SOLID_LIB = 'extern_solid' +BF_WINTAB = LIBDIR + '/wintab' +BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE' + # enable freetype2 support for text objects BF_FREETYPE = LIBDIR + '/gcc/freetype' BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2' @@ -144,7 +147,11 @@ CC_WARN = [ '-Wall' ] LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ] BF_DEBUG = False -BF_DEBUG_FLAGS= '' +BF_DEBUG_CCFLAGS= [] + +BF_PROFILE = False +BF_PROFILE_CCFLAGS = ['-pg','-g'] +BF_PROFILE_LINKFLAGS = ['-pg'] BF_BUILDDIR = '../build/linuxcross' BF_INSTALLDIR='../install/linuxcross' diff --git a/config/openbsd3-config.py b/config/openbsd3-config.py index b2112c84b98..8fc334874f9 100644 --- a/config/openbsd3-config.py +++ b/config/openbsd3-config.py @@ -145,21 +145,22 @@ REL_CCFLAGS = ['-O2'] ## CC = 'gcc' CXX = 'g++' -C_WARN = '-Wall -Wdeclaration-after-statement' +C_WARN = ['-Wdeclaration-after-statement'] -CC_WARN = '-Wall' +CC_WARN = ['-Wall'] ##FIX_STUBS_WARNINGS = -Wno-unused -LLIBS = 'm stdc++ pthread util' +LLIBS = ['m', 'stdc++', 'pthread', 'util'] ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) -BF_PROFILE_FLAGS = ' -pg -g ' BF_PROFILE = False +BF_PROFILE_CCFLAGS = ['-pg','-g'] +BF_PROFILE_LINKFLAGS = ['-pg'] BF_DEBUG = False -BF_DEBUG_FLAGS = '-g' +BF_DEBUG_CCFLAGS = ['-g'] BF_BUILDDIR='../build/openbsd3' BF_INSTALLDIR='../install/openbsd3' diff --git a/config/sunos5-config.py b/config/sunos5-config.py index bb6c5d89e46..a44a9df7c75 100644 --- a/config/sunos5-config.py +++ b/config/sunos5-config.py @@ -159,25 +159,26 @@ REL_CCFLAGS = ['-O2'] ##ARFLAGS = ruv ##ARFLAGSQUIET = ru ## -C_WARN = '-Wall -Wno-char-subscripts -Wdeclaration-after-statement' +C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement'] -CC_WARN = '-Wall' +CC_WARN = ['-Wall'] ##FIX_STUBS_WARNINGS = -Wno-unused -LLIBS = 'c m dl pthread stdc++' +LLIBS = ['c', 'm', 'dl', 'pthread', 'stdc++'] ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) -BF_PROFILE_FLAGS = ['-pg','-g'] +BF_PROFILE_CCFLAGS = ['-pg', '-g '] +BF_PROFILE_LINKFLAGS = ['-pg'] BF_PROFILE = False BF_DEBUG = False -BF_DEBUG_FLAGS = '' +BF_DEBUG_CCFLAGS = [] BF_BUILDDIR = '../build/sunos5' BF_INSTALLDIR='../install/sunos5' BF_DOCDIR='../install/doc' -PLATFORM_LINKFLAGS = [''] +PLATFORM_LINKFLAGS = [] diff --git a/config/win32-mingw-config.py b/config/win32-mingw-config.py index d7ecad33bca..6278672ca3d 100644 --- a/config/win32-mingw-config.py +++ b/config/win32-mingw-config.py @@ -9,7 +9,7 @@ BF_PYTHON_VERSION = '2.5' BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}' BF_PYTHON_BINARY = 'python' BF_PYTHON_LIB = 'python25' -BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib' +BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/lib25_vs2005' WITH_BF_OPENAL = True WITH_BF_STATICOPENAL = False @@ -64,6 +64,8 @@ BF_PNG_LIBPATH = '${BF_PNG}/lib' BF_TIFF = LIBDIR + '/tiff' BF_TIFF_INC = '${BF_TIFF}/include' +BF_TIFF_LIB = 'libtiff' +BF_TIFF_LIBPATH = '${BF_TIFF}/lib' WITH_BF_ZLIB = True BF_ZLIB = LIBDIR + '/zlib' @@ -153,16 +155,17 @@ CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ] REL_CFLAGS = [ '-O2' ] REL_CCFLAGS = [ '-O2' ] -C_WARN = [ '-Wall' , '-Wno-char-subscripts', '-Wdeclaration-after-statement' ] +C_WARN = [ '-Wno-char-subscripts', '-Wdeclaration-after-statement' ] CC_WARN = [ '-Wall' ] LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++'] BF_DEBUG = False -BF_DEBUG_FLAGS= '-g' +BF_DEBUG_CCFLAGS= ['-g'] -BF_PROFILE_FLAGS = ['-pg','-g'] +BF_PROFILE_CCFLAGS = ['-pg', '-g '] +BF_PROFILE_LINKFLAGS = ['-pg'] BF_PROFILE = False BF_BUILDDIR = '..\\build\\win32-mingw' diff --git a/config/win32-vc-config.py b/config/win32-vc-config.py index ec401e3ad57..d7165401705 100644 --- a/config/win32-vc-config.py +++ b/config/win32-vc-config.py @@ -77,6 +77,8 @@ BF_PNG_LIBPATH = '${BF_PNG}/lib' BF_TIFF = LIBDIR + '/tiff' BF_TIFF_INC = '${BF_TIFF}/include' +BF_TIFF_LIB = 'libtiff' +BF_TIFF_LIBPATH = '${BF_TIFF}/lib' WITH_BF_ZLIB = True BF_ZLIB = LIBDIR + '/zlib' @@ -150,6 +152,11 @@ BF_QUICKTIME_INC = '${BF_QUICKTIME}/CIncludes' BF_QUICKTIME_LIB = 'qtmlClient' BF_QUICKTIME_LIBPATH = '${BF_QUICKTIME}/Libraries' +WITH_BF_OPENJPEG = True + +WITH_BF_REDCODE = False +BF_REDCODE_INC = '#extern' + WITH_BF_STATICOPENGL = False BF_OPENGL_INC = '${BF_OPENGL}/include' BF_OPENGL_LIBINC = '${BF_OPENGL}/lib' @@ -161,16 +168,20 @@ CC = 'cl.exe' CXX = 'cl.exe' CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/MT'] +CXXFLAGS = ['/EHsc'] -BF_DEBUG_FLAGS = ['/Zi', '/FR${TARGET}.sbr'] +BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr'] CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE'] REL_CFLAGS = ['-O2', '-DNDEBUG'] REL_CCFLAGS = ['-O2', '-DNDEBUG'] +REL_CXXFLAGS = ['-O2', '-DNDEBUG'] + C_WARN = [] CC_WARN = [] +CXX_WARN = [] -LLIBS = 'ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid' +LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid'] PLATFORM_LINKFLAGS = ''' /SUBSYSTEM:CONSOLE @@ -186,6 +197,11 @@ PLATFORM_LINKFLAGS = ''' /LARGEADDRESSAWARE ''' +# # Todo +# BF_PROFILE_CCFLAGS = ['-pg', '-g '] +# BF_PROFILE_LINKFLAGS = ['-pg'] +# BF_PROFILE = False + BF_BUILDDIR = '..\\build\\win32-vc' BF_INSTALLDIR='..\\install\\win32-vc' BF_DOCDIR='..\\install\\doc' diff --git a/doc/blender-scons.txt b/doc/blender-scons.txt index 8578d3f2fd4..016ba39fd09 100644 --- a/doc/blender-scons.txt +++ b/doc/blender-scons.txt @@ -1,9 +1,5 @@ $Id$ - Note: The current official release of SCons is 0.98, but - our system still works for 0.97. However, this will be fixed - soon. - Blenders SCons build scripts ============================ @@ -30,8 +26,9 @@ $Id$ ---------------- To build Blender with the SCons scripts you need a full Python - install, version 2.4 or later (http://www.python.org) and a SCons - installation, version v0.97 (http://www.scons.org). + install, version 2.4 or later (http://www.python.org). We already provide + a scons-local installation, which can be found in the scons/ subdirectory. + This document uses the scons-local installation for its examples. Check from the page http://www.blender.org/development/building-blender/getting-dependencies/ @@ -42,9 +39,14 @@ $Id$ In the base directory of the sources (from now on called $BLENDERHOME) you'll see a file named SConstruct. This is the entry point for the SCons build system. In a terminal, change to this directory. To just - build, issue the command 'scons': + build, start the SCons entry script on Windows (will be used for the remainder + of this document): + + % python scons\scons.py + + On a Unix-compatible system it would be - % scons + % python ./scons/scons.py This will start the build process with default values. Depending on your platform you may see colour in your output (non-Windows @@ -53,8 +55,9 @@ $Id$ build are configured. The build uses BF_BUILDDIR to build into and BF_INSTALLDIR to - finally copy all needed files to get a proper setup. These - variabbles have default values for every platform in + finally copy all needed files to get a proper setup. The BF_DOCDIR is + used to generate Blender Python documentation files to. These + variables have default values for every platform in $BLENDERHOME/config/(platform)-config.py. After the build successfully completes, you can find everything you need in BF_INSTALLDIR. @@ -63,7 +66,7 @@ $Id$ As an extra dependency, you need the MoreInfo plugin too. The creation of the installer is tied into the build process and can be triggered with: - % scons nsis + % python scons\scons.py nsis Configuring the build @@ -80,20 +83,21 @@ $Id$ (TBD: add cygwin, solaris and freebsd support) These files you will normally not change. If you need to override - a default value, make a copy of the proper configuration to - $BLENDERHOME/user-config.py. This file you can modify to your - likings. Any value set here will override the ones from the - (platform)-config.py. + a default value, make a file called $BLENDERHOME/user-config.py, and copy + settings from the config/(platform)-config.py that you want to change. Don't + copy the entire file (unless explicitely stated in the configuration file), + because you may not get updated options you don't change yourself, which may + result in build errors. You can use BF_CONFIG argument to override the default user-config.py check. This is just like the user-config.py, but just with another name: - % scons BF_CONFIG=myownsettings + % python scons\scons.py BF_CONFIG=myownsettings If you want to quickly test a new setting, you can give the option also on the command-line: - % scons BF_BUILDDIR=../mybuilddir WITH_BF_OPENEXR=0 + % python scons\scons.py BF_BUILDDIR=../mybuilddir WITH_BF_OPENEXR=0 This command sets the build directory to BF_BUILDDIR and disables OpenEXR support. @@ -101,7 +105,7 @@ $Id$ If you need to know what can be set through the command-line, run scons with -h: - % scons -h + % python scons\scons.py -h This command will print a long list with settable options and what every option means. Many of the default values will be empty, and @@ -122,11 +126,11 @@ $Id$ you need to see the full command-line for compiles, then you can change that behaviour. Also the use of colours can be changed: - % scons BF_FANCY=0 + % python scons\scons.py BF_FANCY=0 This will disable the use of colours. - % scons BF_QUIET=0 + % python scons\scons.py BF_QUIET=0 This will give the old, noisy output. Every command-line per compile is printed out in its full glory. This is very useful when @@ -137,11 +141,11 @@ $Id$ Compiling Only Some Libraries ----------------------------- - Scons now has support for specifying a list of libraries that are + Our implementation now has support for specifying a list of libraries that are exclusively compiled, ignoring all other libraries. This is invoked with the BF_QUICK arguments; for example: - % scons BF_QUICK=src,bf_blenkernel + % python scons\scons.py BF_QUICK=src,bf_blenkernel Note that this not the same as passing a list of folders as in the makefile's "quicky" command. In Scons, all of Blender's code modules @@ -161,7 +165,7 @@ $Id$ BF_QUICKDEBUG is similar to BF_QUICK: - % scons BF_QUICKDEBUG=src,bf_blenkernel,some-other-lib + % python scons\scons.py BF_QUICKDEBUG=src,bf_blenkernel,some-other-lib To use BF_DEBUG_LIBS, put something like the following in you user-config.py: @@ -188,14 +192,8 @@ $Id$ On Windows with all of the three toolset installed you need to specify what toolset to use - % scons BF_TOOLSET=msvc - % scons BF_TOOLSET=mingw - - If you have only the toolkit installed, you will also need to give - BF_TOOLSET=mstoolkit on the command-line, to make sure everything is - setup properly. Currently there is no good mechanism to automatically - determine wether the found 'cl.exe' is from the toolkit or from a - complete install. + % python scons\scons.py BF_TOOLSET=msvc + % python scons\scons.py BF_TOOLSET=mingw LINUX and OS X @@ -208,30 +206,26 @@ $Id$ Build Blender with the defaults: - % scons + % python scons\scons.py Build Blender, but disable OpenEXR support: - % scons WITH_BF_OPENEXR=0 + % python scons\scons.py WITH_BF_OPENEXR=0 Build Blender, enable debug symbols: - % scons BF_DEBUG=1 + % python scons\scons.py BF_DEBUG=1 Build Blender, install to different directory: - % scons BF_INSTALLDIR=/tmp/testbuild + % python scons\scons.py BF_INSTALLDIR=../myown/installdir - Build Blender in /tmp/obj and install to /usr/local: + Build Blender in ../myown/builddir and install to ../myown/installdir: - % scons BF_BUILDDIR=/tmp/obj BF_INSTALLDIR=/usr/local + % python scons\scons.py BF_BUILDDIR=../myown/builddir BF_INSTALLDIR=../myown/installdir Clean BF_BUILDDIR: - % scons clean - - Clean out the installed files: - - % scons -c + % python scons\scons.py clean /Nathan Letwory (jesterKing) diff --git a/extern/bFTGL/make/msvc_9_0/ftgl_static_lib.vcproj b/extern/bFTGL/make/msvc_9_0/ftgl_static_lib.vcproj new file mode 100644 index 00000000000..eefbecb3653 --- /dev/null +++ b/extern/bFTGL/make/msvc_9_0/ftgl_static_lib.vcproj @@ -0,0 +1,537 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_ftgl_static_lib"
+ ProjectGUID="{F9850C15-FF0A-429E-9D47-89FB433C9BD8}"
+ RootNamespace="ftgl_static_lib"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\ftgl_static_lib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\ftgl_static.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying FTGL files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\ftgl_static_lib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\ftgl_static.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying FTGL files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\ftgl_static_lib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\ftgl_static.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying FTGL files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\ftgl_static_lib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\ftgl_static.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying FTGL files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\src\FTBitmapGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTCharmap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTContour.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTExtrdGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTFace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGLBitmapFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGLExtrdFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGLOutlineFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGLPixmapFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGLPolygonFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGLTextureFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTGlyphContainer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTLibrary.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTOutlineGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTPixmapGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTPoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTPolyGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTSize.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTTextureGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\FTVectoriser.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\include\FTBBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTBitmapGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTCharmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTCharToGlyphIndexMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTContour.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTExtrdGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTFace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGLBitmapFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGLExtrdFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGLOutlineFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGLPixmapFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGLPolygonFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGLTextureFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTGlyphContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTLibrary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTOutlineGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTPixmapGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTPolyGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTSize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTTextureGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTVector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\FTVectoriser.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/bullet2/make/msvc_9_0/Bullet.vcproj b/extern/bullet2/make/msvc_9_0/Bullet.vcproj new file mode 100644 index 00000000000..d22b98efade --- /dev/null +++ b/extern/bullet2/make/msvc_9_0/Bullet.vcproj @@ -0,0 +1,1497 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_bullet2"
+ ProjectGUID="{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
+ RootNamespace="bullet2"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\bullet\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\bullet\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\src"
+ PreprocessorDefinitions="_DEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
+ ExceptionHandling="0"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\bullet\debug\Bullet.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\bullet\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\bullet\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\bullet\debug\"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\Bullet.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\Gimpact MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletSoftBody MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody

XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include
XCOPY /Y ..\..\src\BulletSoftBody\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody
XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
XCOPY /Y ..\..\src\BulletCollision\Gimpact\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle

ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\bullet"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\bullet"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\src"
+ PreprocessorDefinitions="NDEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
+ StringPooling="true"
+ ExceptionHandling="0"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\bullet\Bullet.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\bullet\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\bullet\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\bullet\"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="1"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\Bullet.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\Gimpact MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletSoftBody MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody

XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include
XCOPY /Y ..\..\src\BulletSoftBody\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody
XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
XCOPY /Y ..\..\src\BulletCollision\Gimpact\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle

ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\src"
+ PreprocessorDefinitions="_DEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
+ ExceptionHandling="0"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\debug\Bullet.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\debug\"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\Bullet.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\Gimpact MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletSoftBody MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody

XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include
XCOPY /Y ..\..\src\BulletSoftBody\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody
XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
XCOPY /Y ..\..\src\BulletCollision\Gimpact\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle

ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\src"
+ PreprocessorDefinitions="NDEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
+ StringPooling="true"
+ ExceptionHandling="0"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\Bullet.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\bullet\mtdll\"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="1"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\Bullet.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletCollision\Gimpact MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\bullet2\include\BulletSoftBody MKDIR ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody

XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include
XCOPY /Y ..\..\src\BulletSoftBody\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletSoftBody
XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\LinearMath
XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\BroadphaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\NarrowPhaseCollision
XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionDispatch
XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\CollisionShapes
XCOPY /Y ..\..\src\BulletCollision\Gimpact\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletCollision\Gimpact
XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\ConstraintSolver
XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Dynamics
XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_9\extern\bullet\include\BulletDynamics\Vehicle

ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="src"
+ >
+ <File
+ RelativePath="..\..\src\btBulletCollisionCommon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\btBulletDynamicsCommon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\Bullet-C-Api.h"
+ >
+ </File>
+ <Filter
+ Name="BulletDynamics"
+ >
+ <Filter
+ Name="ConstraintSolver"
+ >
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btContactConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btContactConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btContactSolverInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btHingeConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btHingeConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btJacobianEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSliderConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSliderConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSolverBody.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSolverConstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btTypedConstraint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btTypedConstraint.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Dynamics"
+ >
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btContinuousDynamicsWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btContinuousDynamicsWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btDynamicsWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btRigidBody.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btRigidBody.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Dynamics\Bullet-C-API.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Vehicle"
+ >
+ <File
+ RelativePath="..\..\src\BulletDynamics\Vehicle\btRaycastVehicle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Vehicle\btRaycastVehicle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Vehicle\btVehicleRaycaster.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Vehicle\btWheelInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletDynamics\Vehicle\btWheelInfo.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="BulletCollision"
+ >
+ <Filter
+ Name="BroadphaseCollision"
+ >
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btAxisSweep3.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btAxisSweep3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDbvt.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDbvt.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDispatcher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btMultiSapBroadphase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btMultiSapBroadphase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btOverlappingPairCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="NarrowPhaseCollision"
+ >
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btConvexCast.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btConvexCast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpa.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btPointCollector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="CollisionDispatch"
+ >
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionConfiguration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btManifoldResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btManifoldResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btUnionFind.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\btUnionFind.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="CollisionShapes"
+ >
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btBoxShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btBoxShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCapsuleShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCapsuleShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCollisionMargin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCollisionShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCollisionShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCompoundShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCompoundShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConcaveShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConcaveShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConeShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConeShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexHullShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexHullShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexInternalShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexInternalShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCylinderShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btCylinderShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btEmptyShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btEmptyShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMaterial.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMultiSphereShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btMultiSphereShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btOptimizedBvh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btShapeHull.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btShapeHull.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btSphereShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btSphereShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btStaticPlaneShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btStaticPlaneShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btStridingMeshInterface.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btStridingMeshInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTetrahedronShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTetrahedronShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMesh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMeshShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMeshShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btUniformScalingShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\CollisionShapes\btUniformScalingShape.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Gimpact"
+ >
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btBoxCollision.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btClipPolygon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btContactProcessing.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btContactProcessing.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGenericPoolAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGenericPoolAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGeometryOperations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactBvh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactBvh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactMassUtil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactShape.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btGImpactShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btQuantization.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btTriangleShapeEx.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\btTriangleShapeEx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_basic_geometry_operations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_bitset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_box_collision.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_box_set.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_box_set.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_clip_polygon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_contact.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_contact.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_geom_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_geometry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_hash_table.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_linear_math.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_math.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_memory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_memory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_radixsort.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_tri_collision.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletCollision\Gimpact\gim_tri_collision.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="LinearMath"
+ >
+ <File
+ RelativePath="..\..\src\LinearMath\btAabbUtil2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btAlignedAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btAlignedAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btAlignedObjectArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btConvexHull.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btConvexHull.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btDefaultMotionState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btGeometryUtil.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btGeometryUtil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btHashMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btIDebugDraw.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btMatrix3x3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btMinMax.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btMotionState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btPoint3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btPoolAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btQuadWord.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btQuaternion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btQuickprof.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btQuickprof.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btRandom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btScalar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btStackAlloc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btTransform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btTransformUtil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\LinearMath\btVector3.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="BulletSoftBody"
+ >
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBody.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBody.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyHelpers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyHelpers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyInternals.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftRigidCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftRigidCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftRigidDynamicsWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftRigidDynamicsWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftSoftCollisionAlgorithm.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSoftSoftCollisionAlgorithm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\BulletSoftBody\btSparseSDF.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/glew/make/msvc_9_0/glew.vcproj b/extern/glew/make/msvc_9_0/glew.vcproj new file mode 100644 index 00000000000..f9d8df478ca --- /dev/null +++ b/extern/glew/make/msvc_9_0/glew.vcproj @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_glew"
+ ProjectGUID="{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}"
+ RootNamespace="glew"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\glew\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\glew\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\glew\debug\glew.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\glew\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\glew\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\glew\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\glew.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying GLEW files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\glew\include\GL MKDIR ..\..\..\..\..\build\msvc_9\extern\glew\include\GL
XCOPY /Y ..\..\include\GL\*.h ..\..\..\..\..\build\msvc_9\extern\glew\include\GL
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\glew"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\glew"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\glew\glew.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\glew\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\glew\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\glew\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\glew.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying GLEW files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\glew\include\GL MKDIR ..\..\..\..\..\build\msvc_9\extern\glew\include\GL
XCOPY /Y ..\..\include\GL\*.h ..\..\..\..\..\build\msvc_9\extern\glew\include\GL
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\src\glew.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\include\GL\glew.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\GL\glxew.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\GL\wglew.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/libopenjpeg/SConscript b/extern/libopenjpeg/SConscript index f0a93f6e2d9..837701eeae0 100644 --- a/extern/libopenjpeg/SConscript +++ b/extern/libopenjpeg/SConscript @@ -7,14 +7,18 @@ Import('env') sources = env.Glob('*.c') incs = '.' -flags = "-Wall -O3 -ffast-math -std=c99" +if env['OURPLATFORM'] == 'win32-vc': + flags = [] +else: + flags = ['-Wall', '-O3', '-ffast-math', '-std=c99'] -oj_env = env.Copy(); -oj_env.Replace(CCFLAGS = '') -oj_env.Replace(BF_DEBUG_FLAGS = '') +oj_env = env.Clone() +if not env['OURPLATFORM'] == 'win32-vc': + oj_env.Replace(CCFLAGS = '') + oj_env.Replace(BF_DEBUG_FLAGS = '') oj_env.BlenderLib ( libname='extern_openjpeg', sources=sources, includes=Split(incs), defines=[], libtype=['core','intern','player'], - priority=[10, 10, 300], compileflags = Split(flags)) + priority=[10, 10, 300], compileflags = flags) diff --git a/extern/libredcode/SConscript b/extern/libredcode/SConscript index 4e83ba5cbb4..9fd25ad63c7 100644 --- a/extern/libredcode/SConscript +++ b/extern/libredcode/SConscript @@ -9,18 +9,6 @@ Import('env') sources = env.Glob('*.c') incs = '. ../libopenjpeg' -root = "extern/libredcode" - -if not os.path.isdir(root + "/include"): - os.mkdir(root + "/include"); -if not os.path.isdir(root + "/include/redcode"): - os.mkdir(root + "/include/redcode"); - -for h in env.Glob('*.h'): - shutil.copyfile(root + "/" + h, - root + "/include/redcode/" + h) - - env.BlenderLib ( libname='extern_redcode', sources=sources, includes=Split(incs), defines=[], diff --git a/extern/libredcode/format.c b/extern/libredcode/format.c index 35410e9e269..4677c49b8a5 100644 --- a/extern/libredcode/format.c +++ b/extern/libredcode/format.c @@ -1,4 +1,9 @@ +#ifdef _WIN32 +#include <Winsock2.h> +#else #include <netinet/in.h> +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/extern/make/msvc_9_0/build_install_all.vcproj b/extern/make/msvc_9_0/build_install_all.vcproj new file mode 100644 index 00000000000..523b1c5d0a3 --- /dev/null +++ b/extern/make/msvc_9_0/build_install_all.vcproj @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_build_install_all"
+ ProjectGUID="{9C71A793-C177-4CAB-8EC5-923D500B39F8}"
+ RootNamespace="build_install_all"
+ Keyword="ManagedCProj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\extern\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\extern\debug"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ ManagedExtensions="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\extern"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\extern"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ ManagedExtensions="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\extern\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\extern\mtdll"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ ManagedExtensions="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\extern\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\extern\mtdll\debug"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ ManagedExtensions="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/qhull/make/msvc_9_0/qhull.vcproj b/extern/qhull/make/msvc_9_0/qhull.vcproj new file mode 100644 index 00000000000..fe5b3e806b6 --- /dev/null +++ b/extern/qhull/make/msvc_9_0/qhull.vcproj @@ -0,0 +1,877 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_qhull"
+ ProjectGUID="{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}"
+ RootNamespace="qhull"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\qhull.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\qhull.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying QHULL files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include
XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\debug\qhull.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\qhull.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying QHULL files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include
XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\qhull.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\qhull.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying QHULL files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include
XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\qhull.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\qhull.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying QHULL files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include
XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\src\geom.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\geom2.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\global.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\io.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\mem.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\merge.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\poly.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\poly2.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\qhull.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\qset.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\stat.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\user.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\src\geom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\io.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\mem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\merge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\poly.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\qhull.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\qhull_a.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\qset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\stat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\user.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/solid/make/msvc_9_0/broad/broad.vcproj b/extern/solid/make/msvc_9_0/broad/broad.vcproj new file mode 100644 index 00000000000..c58cb08b2c3 --- /dev/null +++ b/extern/solid/make/msvc_9_0/broad/broad.vcproj @@ -0,0 +1,369 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_broad"
+ ProjectGUID="{0112CAD5-3584-412A-A2E5-1315A00437B4}"
+ RootNamespace="broad"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\broad.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\broad.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\debug\broad.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\debug\broad.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\broad.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\mtdll\broad.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\debug\broad.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\broad\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\broad.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\src\broad\BP_C-api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\broad\BP_EndpointList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\broad\BP_Proxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\broad\BP_Scene.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\src\broad\BP_Endpoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\broad\BP_EndpointList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\broad\BP_Proxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\broad\BP_ProxyList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\broad\BP_Scene.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/solid/make/msvc_9_0/complex/complex.vcproj b/extern/solid/make/msvc_9_0/complex/complex.vcproj new file mode 100644 index 00000000000..1828c489fc6 --- /dev/null +++ b/extern/solid/make/msvc_9_0/complex/complex.vcproj @@ -0,0 +1,355 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_complex"
+ ProjectGUID="{B83C6BED-11EC-46C8-AFFA-121EEDE94373}"
+ RootNamespace="complex"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\src\convex"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\complex.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\complex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\include;..\..\..\src\convex"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\debug\complex.pch"
+ AssemblerOutput="0"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\debug\complex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\src\convex"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\complex.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\mtdll\complex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\include;..\..\..\src\convex"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\debug\complex.pch"
+ AssemblerOutput="0"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\complex\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\complex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\src\complex\DT_BBoxTree.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\complex\DT_Complex.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\src\complex\DT_BBoxTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\complex\DT_CBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\complex\DT_Complex.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/solid/make/msvc_9_0/convex/convex.vcproj b/extern/solid/make/msvc_9_0/convex/convex.vcproj new file mode 100644 index 00000000000..cb35a0ea199 --- /dev/null +++ b/extern/solid/make/msvc_9_0/convex/convex.vcproj @@ -0,0 +1,469 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_convex"
+ ProjectGUID="{524264F4-DF21-4B79-847F-E7CA643ECD0B}"
+ RootNamespace="convex"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\include;..\..\..\..\qhull\include"
+ PreprocessorDefinitions="_DEBUG;QHULL;WIN32;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\debug\convex.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\debug\convex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\qhull\include"
+ PreprocessorDefinitions="NDEBUG;QHULL;WIN32;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\convex.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\convex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\qhull\include"
+ PreprocessorDefinitions="NDEBUG;QHULL;WIN32;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\convex.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\mtdll\convex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\include;..\..\..\..\qhull\include"
+ PreprocessorDefinitions="_DEBUG;QHULL;WIN32;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\debug\convex.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\extern\solid\convex\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\convex.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\src\convex\DT_Accuracy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Box.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Cone.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Convex.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Cylinder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Facet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_LineSegment.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_PenDepth.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Point.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Polyhedron.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Polytope.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Sphere.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\convex\DT_Triangle.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\src\convex\DT_Accuracy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Box.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Cone.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Convex.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Cylinder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Facet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_GJK.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Hull.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_IndexArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_LineSegment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Minkowski.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_PenDepth.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Point.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Polyhedron.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Polytope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Shape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Sphere.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Transform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_Triangle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\convex\DT_VertexBase.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/solid/make/msvc_9_0/solid.vcproj b/extern/solid/make/msvc_9_0/solid.vcproj new file mode 100644 index 00000000000..ed81c374696 --- /dev/null +++ b/extern/solid/make/msvc_9_0/solid.vcproj @@ -0,0 +1,595 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_solid"
+ ProjectGUID="{D696C86B-0B53-4471-A50D-5B983A6FA4AD}"
+ RootNamespace="solid"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\solid\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\solid\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include;..\..\src\convex;..\..\src\complex"
+ PreprocessorDefinitions="_DEBUG;QHULL;WIN32;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\solid\debug\solid.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\solid\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\solid\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\solid\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\solid.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SOLID files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID MKDIR ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
XCOPY /Y ..\..\include\SOLID*.h ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\solid"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\solid"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include;..\..\src\convex;..\..\src\complex"
+ PreprocessorDefinitions="NDEBUG;QHULL;WIN32;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\solid\solid.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\solid\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\solid\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\solid\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\solid.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SOLID files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID MKDIR ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
XCOPY /Y ..\..\include\SOLID*.h ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\solid\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\solid\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include;..\..\src\convex;..\..\src\complex"
+ PreprocessorDefinitions="NDEBUG;QHULL;WIN32;_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\solid.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\solid.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SOLID files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID MKDIR ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
XCOPY /Y ..\..\include\SOLID*.h ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include;..\..\src\convex;..\..\src\complex"
+ PreprocessorDefinitions="_DEBUG;QHULL;WIN32;_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\debug\solid.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\solid\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\solid.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SOLID files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID MKDIR ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
XCOPY /Y ..\..\include\SOLID*.h ..\..\..\..\..\build\msvc_9\extern\solid\include\SOLID
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\src\DT_C-api.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Encounter.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Object.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\DT_RespTable.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Scene.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\src\DT_AlgoTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Encounter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Response.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\DT_RespTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\src\DT_Scene.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/verse/dist/SConstruct b/extern/verse/dist/SConstruct index ecdc3178028..a80a1ac79e9 100644 --- a/extern/verse/dist/SConstruct +++ b/extern/verse/dist/SConstruct @@ -56,7 +56,7 @@ else: platform_linkflags += ['/DEBUG','/PDB:verse.pdb'] -verse_env = env.Copy() +verse_env = env.Clone() cmd_gen_files = (['v_cmd_gen.c', 'v_cmd_def_a.c', @@ -71,7 +71,7 @@ cmd_gen_files = (['v_cmd_gen.c', cmd_gen_deps = (['v_gen_pack_init.c']) -proto_env = env.Copy() +proto_env = env.Clone() proto_env.Append(CPPDEFINES=['V_GENERATE_FUNC_MODE']) mkprot_tool = proto_env.Program(target = 'mkprot', source = cmd_gen_files) @@ -130,10 +130,10 @@ server_source_files = (['vs_connection.c', 'vs_node_text.c' ]) -verselib_env = verse_env.Copy() +verselib_env = verse_env.Clone() verselib_env.Append(CPPDEFINES = defines) -verseserver_env = verse_env.Copy() +verseserver_env = verse_env.Clone() verseserver_env.Append(CPPDEFINES = defines) verseserver_env.Append (LIBPATH = ['.']) verseserver_env.Append (LIBS= ['verse']) diff --git a/extern/verse/make/msvc_9_0/libverse.vcproj b/extern/verse/make/msvc_9_0/libverse.vcproj new file mode 100644 index 00000000000..cbe236d5b55 --- /dev/null +++ b/extern/verse/make/msvc_9_0/libverse.vcproj @@ -0,0 +1,368 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_verse"
+ ProjectGUID="{531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}"
+ RootNamespace="verse"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\verse\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\verse\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\verse\debug\libverse.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\verse\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\verse\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\verse\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\verse.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying verse files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\verse\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\verse\include
XCOPY /Y ..\..\dist\*.h ..\..\..\..\..\build\msvc_9\extern\verse\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\extern\verse"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\verse"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\verse\libverse.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\verse\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\verse\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\verse\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\verse.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying verse files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\verse\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\verse\include
XCOPY /Y ..\..\dist\*.h ..\..\..\..\..\build\msvc_9\extern\verse\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\dist\v_bignum.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_buf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_a.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_b.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_c.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_g.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_m.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_o.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_s.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_def_t.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_connect.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_connection.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_encryption.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_func_storage.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_a_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_b_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_c_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_g_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_init.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_m_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_o_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_s_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_gen_pack_t_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_man_pack_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_network.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_network_in_que.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_network_out_que.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_pack.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_pack_method.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_prime.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_randgen.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\verse_ms.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\dist\v_bignum.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_cmd_buf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_connection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_encryption.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_internal_verse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_network.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_network_in_que.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_network_out_que.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_pack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_randgen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_util.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\dist\verse_ms.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/extern/verse/make/msvc_9_0/verse.vcproj b/extern/verse/make/msvc_9_0/verse.vcproj new file mode 100644 index 00000000000..39363156181 --- /dev/null +++ b/extern/verse/make/msvc_9_0/verse.vcproj @@ -0,0 +1,669 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXT_verse_server"
+ ProjectGUID="{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}"
+ RootNamespace="verse_server"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\verse.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\mtdll\debug;..\..\..\..\build\msvc_9\libs\mtdll\debug"
+ IgnoreDefaultLibraryNames=" libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\debug\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\bin"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\verse\server"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/verse.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\verse\server\verse.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\verse\server\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\verse\server\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\verse\server\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="verse.lib ws2_32.lib"
+ OutputFile="..\..\..\..\bin\verse.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\..\build\msvc_9\libs\extern"
+ IgnoreDefaultLibraryNames="libc.lib"
+ ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\extern\verse\server\verse.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/verse.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\verse.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\verse.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\mtdll;..\..\..\..\build\msvc_9\libs\mtdll"
+ IgnoreDefaultLibraryNames=" libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\verse.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
verse.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\bin\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\verse\server\debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/verse.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\verse\server\debug\verse.pch"
+ ExpandAttributedSource="false"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\verse\server\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\extern\verse\server\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\verse\server\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="verse.lib ws2_32.lib"
+ OutputFile="..\..\..\..\bin\debug\verse.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\..\build\msvc_9\libs\extern\debug"
+ IgnoreAllDefaultLibraries="false"
+ IgnoreDefaultLibraryNames="libcd"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\extern\verse\server\debug\verse.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\blenplayer"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/verse.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\verse.pch"
+ ExpandAttributedSource="false"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\verse.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\debug;..\..\..\..\build\msvc_9\libs\debug"
+ IgnoreAllDefaultLibraries="false"
+ IgnoreDefaultLibraryNames="libc.lib, libcd.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\debug\verse.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern
verse.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\blenplayer"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/verse.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\verse.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\verse.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern;..\..\..\..\build\msvc_9\libs"
+ IgnoreDefaultLibraryNames="libc.lib"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\verse.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
verse.exe dna.c
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\dist\vs_connection.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_main.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_master.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_audio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_bitmap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_curve.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_geometry.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_head.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_material.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_particle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_storage.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_node_text.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\dist\v_cmd_gen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\v_util.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\verse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dist\vs_server.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/SoundSystem/intern/SND_Utils.cpp b/intern/SoundSystem/intern/SND_Utils.cpp index 78115807970..26ce106a24e 100644 --- a/intern/SoundSystem/intern/SND_Utils.cpp +++ b/intern/SoundSystem/intern/SND_Utils.cpp @@ -40,8 +40,13 @@ #include <math.h> #include <string.h> -#if defined(WIN32) +#if defined(_WIN32) #include <io.h> +#define open _open +#define read _read +#define close _close +#define write _write +#define lseek _lseek #else #include <unistd.h> #endif diff --git a/intern/SoundSystem/make/msvc_9_0/SoundSystem.vcproj b/intern/SoundSystem/make/msvc_9_0/SoundSystem.vcproj new file mode 100644 index 00000000000..bd75fe88d43 --- /dev/null +++ b/intern/SoundSystem/make/msvc_9_0/SoundSystem.vcproj @@ -0,0 +1,447 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_SoundSystem"
+ ProjectGUID="{98330220-47A6-42E0-9DE4-AD0FF5D204D6}"
+ RootNamespace="SoundSystem"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\SoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SND SoundSystem files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\SoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SND SoundSystem files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\SoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SND SoundSystem files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\SoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying SND SoundSystem files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\intern\SND_AudioDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_C-api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_CDObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_DeviceManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_IdObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_Scene.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_SoundListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_SoundObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_Utils.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_WaveCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_WaveSlot.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\intern\SND_AudioDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_C-api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_CDObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_DependKludge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_DeviceManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_IAudioDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\SND_IdObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_Object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_Scene.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_SoundListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_SoundObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_Utils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_WaveCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SND_WaveSlot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\SoundDefines.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/SoundSystem/make/msvc_9_0/dummy/DummySoundSystem.vcproj b/intern/SoundSystem/make/msvc_9_0/dummy/DummySoundSystem.vcproj new file mode 100644 index 00000000000..2109d92d430 --- /dev/null +++ b/intern/SoundSystem/make/msvc_9_0/dummy/DummySoundSystem.vcproj @@ -0,0 +1,343 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_DummySoundSystem"
+ ProjectGUID="{FAF46346-65CC-4DB2-85C4-B99826F79D0C}"
+ RootNamespace="DummySoundSystem"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\DummySoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\libDummySoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\DummySoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\debug\libDummySoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\DummySoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libDummySoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\DummySoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libDummySoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\dummy\SND_DummyDevice.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\dummy\SND_DummyDevice.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/SoundSystem/make/msvc_9_0/openal/OpenALSoundSystem.vcproj b/intern/SoundSystem/make/msvc_9_0/openal/OpenALSoundSystem.vcproj new file mode 100644 index 00000000000..5593f00cb2b --- /dev/null +++ b/intern/SoundSystem/make/msvc_9_0/openal/OpenALSoundSystem.vcproj @@ -0,0 +1,351 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_OpenALSoundSystem"
+ ProjectGUID="{213356A9-3A1F-41DA-9819-1297BCD17DEE}"
+ RootNamespace="OpenALSoundSystem"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\OpenALSoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\debug\libOpenALSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\OpenALSoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\libOpenALSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\OpenALSoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libOpenALSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\OpenALSoundSystem.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libOpenALSoundSystem.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\openal\SND_OpenALDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\sdl\SND_SDLCDDevice.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\openal\SND_OpenALDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\sdl\SND_SDLCDDevice.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/bmfont/make/msvc_9_0/bmfont.vcproj b/intern/bmfont/make/msvc_9_0/bmfont.vcproj new file mode 100644 index 00000000000..91d6e6afc1a --- /dev/null +++ b/intern/bmfont/make/msvc_9_0/bmfont.vcproj @@ -0,0 +1,413 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_bmfont"
+ ProjectGUID="{E784098D-3ED8-433A-9353-9679415DDDC5}"
+ RootNamespace="bmfont"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..;..\..\intern"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bmfont\bmfont.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bmfont\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bmfont\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bmfont\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libbmfont.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BMFONT files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bmfont\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bmfont\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\bmfont\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\intern"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bmfont\debug\bmfont.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bmfont\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bmfont\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bmfont\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libbmfont.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BMFONT files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bmfont\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bmfont\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\bmfont\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..;..\..\intern"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\bmfont.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libbmfont.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BMFONT files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bmfont\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bmfont\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\bmfont\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\intern"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\debug\bmfont.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bmfont\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libbmfont.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BMFONT files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bmfont\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bmfont\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\bmfont\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\intern\BMF_Api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_BitmapFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_helv10.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_helv12.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_helvb10.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_helvb12.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_helvb14.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_helvb8.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_scr12.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_scr14.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_font_scr15.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\intern\BMF_BitmapFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BMF_FontData.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\BMF_Api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\BMF_Fonts.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\BMF_Settings.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/boolop/make/msvc_9_0/boolop.vcproj b/intern/boolop/make/msvc_9_0/boolop.vcproj new file mode 100644 index 00000000000..7fe83962695 --- /dev/null +++ b/intern/boolop/make/msvc_9_0/boolop.vcproj @@ -0,0 +1,487 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_boolop"
+ ProjectGUID="{EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}"
+ RootNamespace="boolop"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\boolop\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\boolop\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\extern;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\makesdna;$(NOINHERIT)"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\boolop\debug\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\boolop\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\boolop\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\boolop\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libboolop.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BOOLOP files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\boolop\include MKDIR ..\..\..\..\..\build\msvc_9\intern\boolop\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\boolop\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\boolop"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\boolop"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\extern;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\makesdna;$(NOINHERIT)"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\boolop\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\boolop\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\boolop\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\boolop\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libboolop.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BOOLOP files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\boolop\include MKDIR ..\..\..\..\..\build\msvc_9\intern\boolop\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\boolop\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\extern;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\makesdna;$(NOINHERIT)"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libboolop.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BOOLOP files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\boolop\include MKDIR ..\..\..\..\..\build\msvc_9\intern\boolop\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\boolop\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\extern;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\makesdna;$(NOINHERIT)"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\debug\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\boolop\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libboolop.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BOOLOP files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\boolop\include MKDIR ..\..\..\..\..\build\msvc_9\intern\boolop\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\boolop\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="intern"
+ >
+ <Filter
+ Name="Source Files"
+ >
+ <File
+ RelativePath="..\..\intern\BOP_BBox.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_BSPNode.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_BSPTree.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Edge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Face.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Face2Face.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Interface.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_MathUtils.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Merge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Merge2.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Mesh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Segment.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Splitter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Tag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Triangulator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Vertex.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ >
+ <File
+ RelativePath="..\..\intern\BOP_BBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_BSPNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_BSPTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Chrono.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Edge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Face.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Face2Face.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Indexs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_MathUtils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Merge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Merge2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Mesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Misc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Segment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Splitter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Tag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Triangulator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BOP_Vertex.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\extern\BOP_Interface.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/bsp/make/msvc_9_0/bsplib.vcproj b/intern/bsp/make/msvc_9_0/bsplib.vcproj new file mode 100644 index 00000000000..a1b16d5b93f --- /dev/null +++ b/intern/bsp/make/msvc_9_0/bsplib.vcproj @@ -0,0 +1,371 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_bsplib"
+ ProjectGUID="{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}"
+ RootNamespace="bsplib"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bsp\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bsp\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\container\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bsp\debug\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bsp\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bsp\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bsp\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libbsp.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BSP files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bsp\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bsp\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\bsp\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bsp"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bsp"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\container\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bsp\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bsp\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bsp\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bsp\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libbsp.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BSP files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bsp\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bsp\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\bsp\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\container\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libbsp.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BSP files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bsp\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bsp\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\bsp\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\container\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\debug\bsplib.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\bsp\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libbsp.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying BSP files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\bsp\include MKDIR ..\..\..\..\..\build\msvc_9\intern\bsp\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\bsp\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\intern\BSP_CSGException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BSP_CSGMesh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BSP_CSGMesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BSP_CSGMesh_CFIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BSP_MeshPrimitives.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\BSP_MeshPrimitives.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\CSG_BooleanOps.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\extern\CSG_BooleanOps.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/container/make/msvc_9_0/container.vcproj b/intern/container/make/msvc_9_0/container.vcproj new file mode 100644 index 00000000000..2b40571672d --- /dev/null +++ b/intern/container/make/msvc_9_0/container.vcproj @@ -0,0 +1,387 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_container"
+ ProjectGUID="{51A348C1-8684-4D67-B980-97B1FC74159B}"
+ RootNamespace="container"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\container"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\container"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\container\container.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\container\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\container\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\container\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libcontainer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying CTR files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\container\include MKDIR ..\..\..\..\..\build\msvc_9\intern\container\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\container\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\container\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\container\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\container\debug\container.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\container\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\container\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\container\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libcontainer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying CTR files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\container\include MKDIR ..\..\..\..\..\build\msvc_9\intern\container\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\container\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\container\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\container\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\container\mtdll\container.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\container\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\container\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\container\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libcontainer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying CTR files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\container\include MKDIR ..\..\..\..\..\build\msvc_9\intern\container\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\container\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\container\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\container\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\container\mtdll\debug\container.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\container\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\container\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\container\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libcontainer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying CTR files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\container\include MKDIR ..\..\..\..\..\build\msvc_9\intern\container\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\container\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\intern\CTR_List.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../extern,../../;$(NoInherit)"
+ CompileAs="0"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../;$(NoInherit)"
+ CompileAs="0"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../extern,../../;$(NoInherit)"
+ CompileAs="0"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../;$(NoInherit)"
+ CompileAs="0"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\CTR_List.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\CTR_Map.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\CTR_TaggedIndex.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\CTR_TaggedSetOps.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\CTR_UHeap.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/decimation/make/msvc_9_0/decimation.vcproj b/intern/decimation/make/msvc_9_0/decimation.vcproj new file mode 100644 index 00000000000..7d58bf1f4c6 --- /dev/null +++ b/intern/decimation/make/msvc_9_0/decimation.vcproj @@ -0,0 +1,423 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_decimation"
+ ProjectGUID="{C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}"
+ RootNamespace="decimation"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\decimation\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\decimation\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\decimation\debug\decimation.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\decimation\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\decimation\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\decimation\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libdecimation.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying LOD files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\decimation\include MKDIR ..\..\..\..\..\build\msvc_9\intern\decimation\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\decimation\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\decimation"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\decimation"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\decimation\decimation.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\decimation\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\decimation\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\decimation\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libdecimation.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying LOD files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\decimation\include MKDIR ..\..\..\..\..\build\msvc_9\intern\decimation\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\decimation\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\decimation.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libdecimation.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying LOD files library to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\decimation\include MKDIR ..\..\..\..\..\build\msvc_9\intern\decimation\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\decimation\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\container\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\debug\decimation.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\decimation\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libdecimation.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying LOD files library (debug target) to lib tree"
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\decimation\include MKDIR ..\..\..\..\..\build\msvc_9\intern\decimation\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\decimation\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\intern\LOD_decimation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_DecimationClass.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_EdgeCollapser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_EdgeCollapser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_ExternBufferEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_ExternNormalEditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_ExternNormalEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_FaceNormalEditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_FaceNormalEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_ManMesh2.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_ManMesh2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_MeshBounds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_MeshException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_MeshPrimitives.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_MeshPrimitives.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_QSDecimator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_QSDecimator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_Quadric.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_QuadricEditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\LOD_QuadricEditor.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\extern\LOD_decimation.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/elbeem/SConscript b/intern/elbeem/SConscript index f1c09423f04..dc8d84ef5a0 100644 --- a/intern/elbeem/SConscript +++ b/intern/elbeem/SConscript @@ -12,7 +12,7 @@ if env['WITH_BF_OPENMP']: if env['OURPLATFORM']=='win32-vc': defs += ' USE_MSVC6FIXES' -incs = env['BF_PNG_INC'] + ' ' + env['BF_ZLIB_INC'] + ' ' +env['BF_SDL_INC'] +incs = env['BF_PNG_INC'] + ' ' + env['BF_ZLIB_INC'] incs += ' extern ' env.BlenderLib ('bf_elbeem', sources, Split(incs), Split(defs), libtype='blender', priority=0 ) diff --git a/intern/elbeem/make/msvc_9_0/elbeem.vcproj b/intern/elbeem/make/msvc_9_0/elbeem.vcproj new file mode 100644 index 00000000000..4108e09799d --- /dev/null +++ b/intern/elbeem/make/msvc_9_0/elbeem.vcproj @@ -0,0 +1,524 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_elbeem"
+ ProjectGUID="{A90C4918-4B21-4277-93BD-AF65F30951D9}"
+ RootNamespace="elbeem"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\intern;..\..\extern;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\zlib\include;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\..\lib\windows\sdl\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;NOGUI;ELBEEM_BLENDER=1;LBM_INCLUDE_CONTROL=1"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\elbeem\debug\elbeem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\elbeem\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\elbeem\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\elbeem\debug\"
+ BrowseInformation="1"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libelbeem.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying ELBEEM files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\elbeem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\elbeem\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\elbeem\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\intern;..\..\extern;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\zlib\include;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\..\lib\windows\sdl\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;NOGUI;ELBEEM_BLENDER=1;LBM_INCLUDE_CONTROL=1"
+ StringPooling="true"
+ MinimalRebuild="false"
+ RuntimeLibrary="0"
+ BufferSecurityCheck="true"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\elbeem\elbeem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\elbeem\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\elbeem\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\elbeem\"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libelbeem.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying ELBEEM files library (release target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\elbeem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\elbeem\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\elbeem\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\intern;..\..\extern;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\zlib\include;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\..\lib\windows\sdl\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;NOGUI;ELBEEM_BLENDER=1"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\debug\elbeem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\debug\"
+ BrowseInformation="1"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libelbeem.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying ELBEEM files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\elbeem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\elbeem\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\elbeem\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\intern;..\..\extern;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\zlib\include;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\..\lib\windows\sdl\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;NOGUI;ELBEEM_BLENDER=1"
+ StringPooling="true"
+ MinimalRebuild="false"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="true"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\elbeem.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\elbeem\mtdll\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libelbeem.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying ELBEEM files library (release target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\elbeem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\elbeem\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\elbeem\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\intern\attributes.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\controlparticles.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\elbeem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\elbeem_control.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\isosurface.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\mvmcoords.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_blenderdumper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_bsptree.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_geometrymodel.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_geometryobject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_lighting.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_ray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_world.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\parametrizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\particletracer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\simulation_object.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_adap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_control.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_init.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_interface.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_main.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_util.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\utilities.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\intern\attributes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\controlparticles.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\extern\elbeem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\elbeem_control.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\isosurface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\mcubes_tables.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\mvmcoords.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_blenderdumper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_bsptree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_geometryclass.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_geometrymodel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_geometryobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_geometryshader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_lighting.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_matrices.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_ray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_vector3dim.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\ntl_world.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\parametrizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\particletracer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\simulation_object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_class.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_control.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_interface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\solver_relax.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\utilities.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 6a06f4d715a..2094ae87c67 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -854,7 +854,7 @@ static int WeightPixelFormat(PIXELFORMATDESCRIPTOR& pfd) { static int EnumPixelFormats(HDC hdc) { int iPixelFormat; int i, n, w, weight = 0; - PIXELFORMATDESCRIPTOR pfd, pfd_fallback; + PIXELFORMATDESCRIPTOR pfd; /* we need a device context to do anything */ if(!hdc) return 0; diff --git a/intern/ghost/make/msvc_9_0/ghost.vcproj b/intern/ghost/make/msvc_9_0/ghost.vcproj new file mode 100644 index 00000000000..fa128786a90 --- /dev/null +++ b/intern/ghost/make/msvc_9_0/ghost.vcproj @@ -0,0 +1,539 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_ghost"
+ ProjectGUID="{76D90B92-ECC7-409C-9F98-A8814B90F3C0}"
+ RootNamespace="ghost"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\ghost"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\ghost"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\wintab\INCLUDE"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\ghost\ghost.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\ghost\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\ghost\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\ghost\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libghost.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying GHOST files library (release target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\ghost\include MKDIR ..\..\..\..\..\build\msvc_9\intern\ghost\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\ghost\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\ghost\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\ghost\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\wintab\INCLUDE"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB,_USE_MATH_DEFINES"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\ghost\debug\ghost.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\ghost\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\ghost\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\ghost\debug\"
+ BrowseInformation="1"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libghost.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying GHOST files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\ghost\include MKDIR ..\..\..\..\..\build\msvc_9\intern\ghost\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\ghost\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\wintab\INCLUDE"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\ghost.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libghost.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying GHOST files library (release target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\ghost\include MKDIR ..\..\..\..\..\build\msvc_9\intern\ghost\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\ghost\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\wintab\INCLUDE"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\debug\ghost.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\ghost\mtdll\debug\"
+ BrowseInformation="1"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libghost.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying GHOST files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\ghost\include MKDIR ..\..\..\..\..\build\msvc_9\intern\ghost\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\ghost\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Header Files"
+ >
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\intern\GHOST_Buttons.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_CallbackEventConsumer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_Debug.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_DisplayManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_DisplayManagerWin32.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_Event.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventButton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventCursor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventKey.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventNDOF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventPrinter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventWheel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventWindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_ModifierKeys.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_NDOFManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_System.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_SystemWin32.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_TimerManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_TimerTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_Window.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_WindowManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_WindowWin32.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\GHOST_C-api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_IEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_IEventConsumer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_ISystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_ITimerTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_IWindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_Rect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\GHOST_Types.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Source Files"
+ >
+ <File
+ RelativePath="..\..\intern\GHOST_Buttons.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_C-api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_CallbackEventConsumer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_DisplayManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_DisplayManagerWin32.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_EventPrinter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_ISystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_ModifierKeys.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_NDOFManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_Rect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_System.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_SystemWin32.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_TimerManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_Window.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_WindowManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\GHOST_WindowWin32.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj b/intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj new file mode 100644 index 00000000000..d59b80f7b62 --- /dev/null +++ b/intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj @@ -0,0 +1,369 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_guardedalloc"
+ ProjectGUID="{1CC733F1-6AB5-4904-8F63-C08C46B79DD9}"
+ RootNamespace="guardedalloc"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\.."
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\guardedalloc.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\guardedalloc\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\guardedalloc\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libguardedalloc.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include MKDIR ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\.."
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\debug\guardedalloc.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\guardedalloc\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\guardedalloc\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libguardedalloc.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include MKDIR ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\.."
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\guardedalloc.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libguardedalloc.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include MKDIR ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\.."
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\debug\guardedalloc.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\guardedalloc\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libguardedalloc.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include MKDIR ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\guardedalloc\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\intern\mallocn.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\mmap_win.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\BLO_sys_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_guardedalloc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\mmap_win.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="intern"
+ >
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/iksolver/make/msvc_9_0/iksolver.vcproj b/intern/iksolver/make/msvc_9_0/iksolver.vcproj new file mode 100644 index 00000000000..0e87556380b --- /dev/null +++ b/intern/iksolver/make/msvc_9_0/iksolver.vcproj @@ -0,0 +1,487 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_iksolver"
+ ProjectGUID="{542A9FA1-B7FF-441C-AE15-054DB31D3488}"
+ RootNamespace="iksolver"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\iksolver\iksolver.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\iksolver\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\iksolver\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\iksolver\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libiksolver.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying IK files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\iksolver\include MKDIR ..\..\..\..\..\build\msvc_9\intern\iksolver\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\iksolver\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\iksolver\debug\iksolver.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\iksolver\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\iksolver\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\iksolver\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libiksolver.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying IK files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\iksolver\include MKDIR ..\..\..\..\..\build\msvc_9\intern\iksolver\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\iksolver\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\iksolver.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libiksolver.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying IK files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\iksolver\include MKDIR ..\..\..\..\..\build\msvc_9\intern\iksolver\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\iksolver\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\debug\iksolver.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\iksolver\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libiksolver.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying IK files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\iksolver\include MKDIR ..\..\..\..\..\build\msvc_9\intern\iksolver\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\iksolver\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\intern\IK_QJacobian.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QJacobian.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QJacobianSolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QJacobianSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QSegment.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QSegment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QTask.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_QTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\IK_Solver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_ExpMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_ExpMap.h"
+ >
+ </File>
+ <Filter
+ Name="TNT"
+ >
+ <File
+ RelativePath="..\..\intern\TNT\cholesky.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\cmat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\fcscmat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\fmat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\fortran.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\fspvec.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\index.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\lapack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\lu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\qr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\region1d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\region2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\stopwatch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\subscript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\svd.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\tnt.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\tntmath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\tntreqs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\transv.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\triang.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\trisolve.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\vec.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\vecadaptor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\TNT\version.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\extern\IK_solver.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/make/msvc_9_0/INT_build_install_all.vcproj b/intern/make/msvc_9_0/INT_build_install_all.vcproj new file mode 100644 index 00000000000..dbb58134b0f --- /dev/null +++ b/intern/make/msvc_9_0/INT_build_install_all.vcproj @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_build_install_all"
+ ProjectGUID="{02110D03-59DB-4571-8787-72B3C03B2F2D}"
+ Keyword="MakeFileProj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\intern\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\intern\debug"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ ExcludedFromBuild="false"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\intern"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\intern"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\intern\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\intern\mtdll"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\intern\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\intern\mtdll\debug"
+ ConfigurationType="10"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ ExcludedFromBuild="false"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ </Files>
+</VisualStudioProject>
diff --git a/intern/memutil/make/msvc_9_0/memutil.vcproj b/intern/memutil/make/msvc_9_0/memutil.vcproj new file mode 100644 index 00000000000..6f642fb16bc --- /dev/null +++ b/intern/memutil/make/msvc_9_0/memutil.vcproj @@ -0,0 +1,385 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_memutil"
+ ProjectGUID="{E86B7BDE-C33C-4E55-9433-E74C141D7538}"
+ RootNamespace="memutil"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\memutil\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\memutil\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\intern;..\..\..\memutil"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\memutil\debug\memutil.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\memutil\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\memutil\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\memutil\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\memutil.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\memutil\include MKDIR ..\..\..\..\..\build\msvc_9\intern\memutil\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\memutil\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\memutil"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\memutil"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\..\intern;..\..\..\memutil"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\memutil\memutil.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\memutil\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\memutil\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\memutil\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\memutil.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\memutil\include MKDIR ..\..\..\..\..\build\msvc_9\intern\memutil\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\memutil\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\..\intern;..\..\..\memutil"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\memutil.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\memutil.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\memutil\include MKDIR ..\..\..\..\..\build\msvc_9\intern\memutil\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\memutil\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\intern;..\..\..\memutil"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\debug\memutil.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\memutil\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\memutil.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MEM files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\memutil\include MKDIR ..\..\..\..\..\build\msvc_9\intern\memutil\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\memutil\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\intern\MEM_CacheLimiterC-Api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\intern\MEM_RefCountedC-Api.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\MEM_Allocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_CacheLimiter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_CacheLimiterC-Api.h"
+ >
+ </File>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\MEM_NonCopyable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_RefCounted.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_RefCountedC-Api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_RefCountPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\MEM_SmartPtr.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/moto/make/msvc_9_0/moto.vcproj b/intern/moto/make/msvc_9_0/moto.vcproj new file mode 100644 index 00000000000..b33bb165a75 --- /dev/null +++ b/intern/moto/make/msvc_9_0/moto.vcproj @@ -0,0 +1,713 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_MoTo"
+ ProjectGUID="{4B6AFCC5-968C-424A-8F20-76E41B3BEF74}"
+ RootNamespace="MoTo"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\moto"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\moto"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\include\"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\moto\MoTo.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\moto\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\moto\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\moto\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libmoto.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MOTO files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\moto\include MKDIR ..\..\..\..\..\build\msvc_9\intern\moto\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\intern\moto\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\moto\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\moto\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include\"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\moto\debug\MoTo.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\moto\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\moto\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\moto\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libmoto.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MOTO files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\moto\include MKDIR ..\..\..\..\..\build\msvc_9\intern\moto\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\intern\moto\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\moto\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\moto\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\include\"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\MoTo.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libmoto.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MOTO files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\moto\include MKDIR ..\..\..\..\..\build\msvc_9\intern\moto\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\intern\moto\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\include\"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\debug\MoTo.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\moto\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libmoto.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying MOTO files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\moto\include MKDIR ..\..\..\..\..\build\msvc_9\intern\moto\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\intern\moto\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\intern\MT_CmMatrix4x4.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Matrix3x3.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Matrix4x4.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Plane3.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Point3.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Quaternion.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_random.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Transform.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Vector2.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Vector3.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\MT_Vector4.cpp"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include\;../../include;$(NoInherit)"
+ WarningLevel="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\include\GEN_List.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\GEN_Map.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_assert.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_CmMatrix4x4.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Matrix3x3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Matrix4x4.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_MinMax.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Optimize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Plane3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Point2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Point3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Quaternion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_random.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Scalar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Stream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Transform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Tuple2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Tuple3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Tuple4.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Vector2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Vector3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Vector4.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\NM_Scalar.h"
+ >
+ </File>
+ <Filter
+ Name="inlines"
+ >
+ <File
+ RelativePath="..\..\include\MT_Matrix3x3.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Matrix4x4.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Plane3.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Point2.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Point3.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Quaternion.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Vector2.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Vector3.inl"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\MT_Vector4.inl"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/opennl/make/msvc_9_0/opennl.vcproj b/intern/opennl/make/msvc_9_0/opennl.vcproj new file mode 100644 index 00000000000..28051a491d2 --- /dev/null +++ b/intern/opennl/make/msvc_9_0/opennl.vcproj @@ -0,0 +1,993 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_opennl"
+ ProjectGUID="{8B8D4FC3-3234-4E54-8376-5AB83D00D164}"
+ RootNamespace="opennl"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\opennl\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\opennl\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\opennl\extern;..\..\..\opennl\superlu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\opennl\debug\OpenNL.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\opennl\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\opennl\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\opennl\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libopennl.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying OpenNL files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\opennl\include MKDIR ..\..\..\..\..\build\msvc_9\intern\opennl\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\opennl\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\opennl"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\opennl"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ OmitFramePointers="true"
+ AdditionalIncludeDirectories="..\..\..\opennl\extern;..\..\..\opennl\superlu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\opennl\OpenNL.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\opennl\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\opennl\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\opennl\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="1"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libopennl.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying OpenNL files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\opennl\include MKDIR ..\..\..\..\..\build\msvc_9\intern\opennl\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\opennl\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ OmitFramePointers="true"
+ AdditionalIncludeDirectories="..\..\..\opennl\extern;..\..\..\opennl\superlu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\OpenNL.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="1"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libopennl.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying OpenNL files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\opennl\include MKDIR ..\..\..\..\..\build\msvc_9\intern\opennl\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\opennl\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\opennl\extern;..\..\..\opennl\superlu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\debug\OpenNL.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\opennl\mtdll\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libopennl.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying OpenNL files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\opennl\include MKDIR ..\..\..\..\..\build\msvc_9\intern\opennl\include
XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\build\msvc_9\intern\opennl\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="..\..\superlu\colamd.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\get_perm_c.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\heap_relax_snode.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\lsame.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\memory.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\mmd.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\intern\opennl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\superlu\relax_snode.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\scolumn_bmod.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\scolumn_dfs.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\scopy_to_ucol.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sgssv.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sgstrf.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sgstrs.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\smemory.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\smyblas2.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sp_coletree.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sp_ienv.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sp_preorder.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\spanel_bmod.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\spanel_dfs.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\spivotL.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\spruneL.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\ssnode_bmod.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\ssnode_dfs.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\ssp_blas2.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\ssp_blas3.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\strsv.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\superlu_timer.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\sutil.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\util.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\superlu\xerbla.c"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3DPlugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)/$(InputName)1.obj"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath="..\..\extern\ONL_opennl.h"
+ >
+ </File>
+ <Filter
+ Name="superlu"
+ >
+ <File
+ RelativePath="..\..\superlu\BLO_sys_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\superlu\Cnames.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\superlu\colamd.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\superlu\ssp_defs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\superlu\supermatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\superlu\util.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/intern/string/make/msvc_9_0/string.vcproj b/intern/string/make/msvc_9_0/string.vcproj new file mode 100644 index 00000000000..16df974ff9c --- /dev/null +++ b/intern/string/make/msvc_9_0/string.vcproj @@ -0,0 +1,355 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="INT_string"
+ ProjectGUID="{B789C2F3-279E-4A85-8F0A-7F7AC068E598}"
+ RootNamespace="string"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\string\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\string\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\.."
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\string\debug\string.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9/intern\string\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\string\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\string\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libstring.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying STRING files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\string\include MKDIR ..\..\..\..\..\build\msvc_9\intern\string\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\string\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\string"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\string"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\.."
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\string\string.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9/intern\string\"
+ ObjectFile="..\..\..\..\..\build\msvc_9/intern\string\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9/intern\string\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libstring.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying STRING files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\string\include MKDIR ..\..\..\..\..\build\msvc_9\intern\string\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\string\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\string\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\string\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\.."
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\string\mtdll\string.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9/intern\string\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9/intern\string\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9/intern\string\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libstring.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying STRING files library to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\string\include MKDIR ..\..\..\..\..\build\msvc_9\intern\string\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\string\include
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3DPlugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\intern\string\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\string\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\.."
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\string\mtdll\debug\string.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9/intern\string\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\intern\string\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\string\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libstring.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Copying STRING files library (debug target) to lib tree."
+ CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\string\include MKDIR ..\..\..\..\..\build\msvc_9\intern\string\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\string\include
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\intern\STR_String.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\STR_HashedString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\STR_String.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc7/blender/blender.sln b/projectfiles_vc7/blender/blender.sln index eb235531984..c1628614642 100644 --- a/projectfiles_vc7/blender/blender.sln +++ b/projectfiles_vc7/blender/blender.sln @@ -17,6 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blender", "blender.vcproj", {138DD16C-CC78-4F6C-A898-C8DA68D89067} = {138DD16C-CC78-4F6C-A898-C8DA68D89067} {415BFD6E-64CF-422B-AF88-C07F040A7292} = {415BFD6E-64CF-422B-AF88-C07F040A7292} {106AE171-0083-41D6-A949-20DB0E8DC251} = {106AE171-0083-41D6-A949-20DB0E8DC251} + {670EC17A-0548-4BBF-A27B-636C7C188139} = {670EC17A-0548-4BBF-A27B-636C7C188139} {4C3AB78A-52CA-4276-A041-39776E52D8C8} = {4C3AB78A-52CA-4276-A041-39776E52D8C8} {6B801390-5F95-4F07-81A7-97FBA046AACC} = {6B801390-5F95-4F07-81A7-97FBA046AACC} {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94} = {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94} @@ -239,6 +240,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BL_gpu", "gpu\BL_gpu.vcproj ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TEX_Video", "..\gameengine\videotexture\TEX_Video.vcproj", "{670EC17A-0548-4BBF-A27B-636C7C188139}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Global GlobalSection(SolutionConfiguration) = preSolution 3D Plugin Debug = 3D Plugin Debug @@ -815,6 +820,18 @@ Global {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Debug.Build.0 = BlenderPlayer Debug|Win32 {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Release.ActiveCfg = BlenderPlayer Release|Win32 {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Release.Build.0 = BlenderPlayer Release|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.3D Plugin Debug.ActiveCfg = Debug|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.3D Plugin Release.ActiveCfg = Release|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Debug.ActiveCfg = Debug|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Debug.Build.0 = Debug|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Release.ActiveCfg = Release|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Release.Build.0 = Release|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Debug.ActiveCfg = Debug|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Debug.Build.0 = Debug|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Release.ActiveCfg = Release|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Release.Build.0 = Release|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.Debug.ActiveCfg = Debug|Win32 + {670EC17A-0548-4BBF-A27B-636C7C188139}.Release.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection diff --git a/projectfiles_vc7/blender/blender.vcproj b/projectfiles_vc7/blender/blender.vcproj index 26cb3fb79e1..ef6900b7b75 100644 --- a/projectfiles_vc7/blender/blender.vcproj +++ b/projectfiles_vc7/blender/blender.vcproj @@ -124,7 +124,7 @@ ECHO Done Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 " - AdditionalDependencies="SDL.lib freetype2ST.lib ftgl_static.lib gnu_gettext.lib qtmlClient.lib openal_static.lib libsoundsystem.lib libopenalsoundsystem.lib libdummysoundsystem.lib libguardedalloc.lib libbsp.lib libbmfont.lib libghost.lib libstring.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libdecimation.lib libiksolver.lib libpng_st.lib zlib.lib libmoto.lib solid.lib qhull.lib libopennl.lib Bullet.lib python25_d.lib libelbeem.lib libboolop.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib broad.lib complex.lib convex.lib memutil.lib verse.lib Half.lib Iex.lib Imath.lib IlmImf.lib IlmThread.lib avcodec-51.lib avformat-52.lib avutil-49.lib swscale-0.lib glew.lib" + AdditionalDependencies="SDL.lib freetype2ST.lib ftgl_static.lib gnu_gettext.lib qtmlClient.lib openal_static.lib libsoundsystem.lib libopenalsoundsystem.lib libdummysoundsystem.lib libguardedalloc.lib libbsp.lib libbmfont.lib libghost.lib libstring.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libdecimation.lib libiksolver.lib libpng_st.lib zlib.lib libmoto.lib solid.lib qhull.lib libopennl.lib Bullet.lib python25_d.lib libelbeem.lib libboolop.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib broad.lib complex.lib convex.lib memutil.lib verse.lib Half.lib Iex.lib Imath.lib IlmImf.lib IlmThread.lib avcodec-51.lib avformat-52.lib avdevice-52.lib avutil-49.lib swscale-0.lib glew.lib" ShowProgress="0" OutputFile="..\..\bin\debug\blender.exe" LinkIncremental="2" diff --git a/projectfiles_vc7/blender/blenlib/BLI_blenlib.vcproj b/projectfiles_vc7/blender/blenlib/BLI_blenlib.vcproj index 0dfbcaa5577..aadef58f84a 100644 --- a/projectfiles_vc7/blender/blenlib/BLI_blenlib.vcproj +++ b/projectfiles_vc7/blender/blenlib/BLI_blenlib.vcproj @@ -383,6 +383,9 @@ RelativePath="..\..\..\source\blender\blenlib\intern\freetypefont.c"> </File> <File + RelativePath="..\..\..\source\blender\blenlib\intern\graph.c"> + </File> + <File RelativePath="..\..\..\source\blender\blenlib\intern\gsqueue.c"> </File> <File @@ -459,6 +462,9 @@ RelativePath="..\..\..\source\blender\blenlib\BLI_ghash.h"> </File> <File + RelativePath="..\..\..\source\blender\blenlib\BLI_graph.h"> + </File> + <File RelativePath="..\..\..\source\blender\blenlib\BLI_heap.h"> </File> <File diff --git a/projectfiles_vc7/blender/src/BL_src.vcproj b/projectfiles_vc7/blender/src/BL_src.vcproj index 80694690107..d6e436635cb 100644 --- a/projectfiles_vc7/blender/src/BL_src.vcproj +++ b/projectfiles_vc7/blender/src/BL_src.vcproj @@ -122,6 +122,9 @@ Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File + RelativePath="..\..\..\source\blender\src\autoarmature.c"> + </File> + <File RelativePath="..\..\..\source\blender\src\B.blend.c"> </File> <File diff --git a/projectfiles_vc7/gameengine/videotexture/TEX_Video.vcproj b/projectfiles_vc7/gameengine/videotexture/TEX_Video.vcproj new file mode 100644 index 00000000000..0c35bc62e99 --- /dev/null +++ b/projectfiles_vc7/gameengine/videotexture/TEX_Video.vcproj @@ -0,0 +1,226 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="TEX_Video"
+ ProjectGUID="{670EC17A-0548-4BBF-A27B-636C7C188139}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_7\source\gameengine\videotexture\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_7\source\gameengine\videotexture\debug"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\GameLogic;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\Rasterizer;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\gpu;..\..\..\source\kernel\gen_system;..\..\..\intern\string;..\..\..\intern\moto\include;..\..\..\intern\guardedalloc;..\..\..\intern\SoundSystem;..\..\..\extern\glew\include;..\..\..\..\build\msvc_7\intern\guardedalloc\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WITH_FFMPEG;__STDC_CONSTANT_MACROS"
+ StringPooling="FALSE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_7\source\gameengine\gamelogic\debug\TEX_Video.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_7\source\gameengine\videotexture\debug\"
+ ObjectFile="..\..\..\..\build\msvc_7\source\gameengine\videotexture\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_7\source\gameengine\videotexture\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_7\libs\debug\TEX_Video.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_7\source\gameengine\videotexture"
+ IntermediateDirectory="..\..\..\..\build\msvc_7\source\gameengine\videotexture"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\GameLogic;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\Rasterizer;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\gpu;..\..\..\source\kernel\gen_system;..\..\..\intern\string;..\..\..\intern\moto\include;..\..\..\intern\guardedalloc;..\..\..\intern\SoundSystem;..\..\..\extern\glew\include;..\..\..\..\build\msvc_7\intern\guardedalloc\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WITH_FFMPEG;__STDC_CONSTANT_MACROS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_7\source\gameengine\gamelogic\TEX_Video.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_7\source\gameengine\videotexture\"
+ ObjectFile="..\..\..\..\build\msvc_7\source\gameengine\videotexture\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_7\source\gameengine\videotexture\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="0"
+ CompileAs="0"
+ ShowIncludes="FALSE"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_7\libs\TEX_Video.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\blendVideoTex.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Exception.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBase.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBlueScreen.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterColor.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterNormal.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterSource.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBase.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBuff.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageMix.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageRender.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageViewport.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\PyTypeList.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Texture.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoBase.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoFFmpeg.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\BlendType.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Common.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Exception.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBase.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBlueScreen.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterColor.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterNormal.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterSource.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBase.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBuff.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageMix.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageRender.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageViewport.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\PyTypeList.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Texture.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoBase.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoFFmpeg.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/BLO_readblenfile/BLO_readblenfile.vcproj b/projectfiles_vc9/blender/BLO_readblenfile/BLO_readblenfile.vcproj new file mode 100644 index 00000000000..07afe8c5b30 --- /dev/null +++ b/projectfiles_vc9/blender/BLO_readblenfile/BLO_readblenfile.vcproj @@ -0,0 +1,489 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BLO_readblenfile"
+ ProjectGUID="{DB6BE55D-B6D9-494D-856A-8764FF7BA91D}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\readblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\BLO_readblenfile.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BLO_readblenfile.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\readblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\BLO_readblenfile.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BLO_readblenfile.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\readblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\debug\BLO_readblenfile.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\readblenfile\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BLO_readblenfile.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\readblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\BLO_readblenfile.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\readblenfile\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\readblenfile\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BLO_readblenfile.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\readblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\BLO_readblenfile.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\readblenfile\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BLO_readblenfile.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\readblenfile\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\readblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\BLO_readblenfile.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\readblenfile\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\readblenfile\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\readblenfile\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BLO_readblenfile.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\readblenfile\intern\BLO_readblenfile.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\readblenfile\BLO_readblenfile.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/BPY_python/BPY_python.vcproj b/projectfiles_vc9/blender/BPY_python/BPY_python.vcproj new file mode 100644 index 00000000000..2ffc9afa67c --- /dev/null +++ b/projectfiles_vc9/blender/BPY_python/BPY_python.vcproj @@ -0,0 +1,906 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BPY_python"
+ ProjectGUID="{5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\python\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\python\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\img;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenloader;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="false"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\python\debug\BPY_python.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\python\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\python\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\python\debug\"
+ WarningLevel="4"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ DisableSpecificWarnings="4100"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BPY_python.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\python"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\python"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\img;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenloader;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\python\BPY_python.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\python\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\python\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\python\"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="false"
+ CompileAs="0"
+ DisableSpecificWarnings="4100"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BPY_python.lib"
+ SuppressStartupBanner="true"
+ />
+ <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"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\img;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenloader;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="false"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\python\debug\BPY_python.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\python\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\python\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\python\debug\"
+ WarningLevel="4"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ DisableSpecificWarnings="4100"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BPY_python.lib"
+ SuppressStartupBanner="true"
+ />
+ <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"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\img;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenloader;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\SoundSystem;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\python\BPY_python.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\python\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\python\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\python\"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="false"
+ CompileAs="0"
+ DisableSpecificWarnings="4100"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BPY_python.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Armature.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\BGL.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Blender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Bone.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy_config.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy_data.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Camera.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Constraint.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Curve.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Draw.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Effect.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\gen_library.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Geometry.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Group.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\IDProp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Image.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Ipo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Key.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Lamp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Lattice.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Library.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Material.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Mathutils.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Mesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Metaball.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Modifier.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\NLA.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\NMesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Noise.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Pose.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Registry.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Scene.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneRadio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneRender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneSequence.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneTimeLine.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Sound.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\SurfNurb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Sys.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Text.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Text3d.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Texture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Window.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\World.c"
+ >
+ </File>
+ <Filter
+ Name="internal"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\BezTriple.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\BPY_interface.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\BPY_menus.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\charRGBA.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\constant.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\CurNurb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\euler.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\EXPP_interface.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Font.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\gen_utils.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Ipocurve.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\logic.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\matrix.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\meshPrimitive.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\MTex.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Particle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\point.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\quat.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\rgbTuple.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Types.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\vector.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\windowTheme.c"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Armature.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\BGL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Blender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Bone.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy_config.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy_data.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Camera.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Constraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Curve.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Draw.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Effect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\gen_library.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Geometry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Group.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\IDProp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Ipo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Key.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Lamp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Lattice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Library.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Material.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Mathutils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Mesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Metaball.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Modifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\NLA.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\NMesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Pose.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Registry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Scene.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneRadio.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneRender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneSequence.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\sceneTimeLine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Sound.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\SurfNurb.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Sys.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Text.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Text3d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Texture.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Window.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\World.h"
+ >
+ </File>
+ <Filter
+ Name="internal"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\BezTriple.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\BPY_extern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\BPY_menus.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\bpy_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\charRGBA.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\constant.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\CurNurb.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\euler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\EXPP_interface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Font.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\gen_utils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Ipocurve.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\logic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\matrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\meshPrimitive.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\modules.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\MTex.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Particle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\point.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\quat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\rgbTuple.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\Types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\vector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\python\api2_2x\windowTheme.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/avi/BL_avi.vcproj b/projectfiles_vc9/blender/avi/BL_avi.vcproj new file mode 100644 index 00000000000..e92139fa61a --- /dev/null +++ b/projectfiles_vc9/blender/avi/BL_avi.vcproj @@ -0,0 +1,536 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BL_avi"
+ ProjectGUID="{9A307EE5-CD77-47BC-BD87-62508C7E19D8}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\jpeg\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\debug\BL_avi.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BL_avi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\avi\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\avi\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\jpeg\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="false"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\avi\debug\BL_avi.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\avi\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\avi\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\avi\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_avi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\avi"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\avi"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\jpeg\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\avi\BL_avi.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\avi\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\avi\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\avi\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_avi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\avi\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\avi\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\jpeg\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\BL_avi.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\avi\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BL_avi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\avi\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\avi\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\jpeg\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="false"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\avi\debug\BL_avi.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\avi\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\avi\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\avi\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_avi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\avi\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\avi\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\jpeg\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\avi\BL_avi.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\avi\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\avi\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\avi\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_avi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\avi.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\avirgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\codecs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\endian.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\mjpeg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\options.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\rgb32.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\avi\AVI_avi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\avi_intern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\avirgb.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\endian.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\mjpeg.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\avi\intern\rgb32.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/blender.sln b/projectfiles_vc9/blender/blender.sln new file mode 100644 index 00000000000..4a12fcb2963 --- /dev/null +++ b/projectfiles_vc9/blender/blender.sln @@ -0,0 +1,820 @@ +Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blender", "blender.vcproj", "{F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F} = {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B} = {6E24BF09-9653-4166-A871-F65CC9E98A9B}
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8} = {F9850C15-FF0A-429E-9D47-89FB433C9BD8}
+ {A90C4918-4B21-4277-93BD-AF65F30951D9} = {A90C4918-4B21-4277-93BD-AF65F30951D9}
+ {FB88301F-F725-401B-ACD7-D2ABBF333B71} = {FB88301F-F725-401B-ACD7-D2ABBF333B71}
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6}
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE} = {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8} = {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}
+ {9625642D-6F20-4FB6-A089-BE7441B223E3} = {9625642D-6F20-4FB6-A089-BE7441B223E3}
+ {E645CC32-4823-463E-82F0-46ADDE664018} = {E645CC32-4823-463E-82F0-46ADDE664018}
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C} = {FAF46346-65CC-4DB2-85C4-B99826F79D0C}
+ {51FB3D48-2467-4BFA-A321-D848252B437E} = {51FB3D48-2467-4BFA-A321-D848252B437E}
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400} = {FFD3C64A-30E2-4BC7-BC8F-51818C320400}
+ {31628053-825D-4C06-8A21-D13883489718} = {31628053-825D-4C06-8A21-D13883489718}
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740} = {EADC3C5A-6C51-4F03-8038-1553E7D7F740}
+ {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E} = {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D} = {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B} = {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E} = {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}
+ {09222F5E-1625-4FF3-A89A-384D16875EE5} = {09222F5E-1625-4FF3-A89A-384D16875EE5}
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A} = {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}
+ {E013786A-9575-4F34-81B2-33290357EE87} = {E013786A-9575-4F34-81B2-33290357EE87}
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD} = {D696C86B-0B53-4471-A50D-5B983A6FA4AD}
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067} = {138DD16C-CC78-4F6C-A898-C8DA68D89067}
+ {415BFD6E-64CF-422B-AF88-C07F040A7292} = {415BFD6E-64CF-422B-AF88-C07F040A7292}
+ {106AE171-0083-41D6-A949-20DB0E8DC251} = {106AE171-0083-41D6-A949-20DB0E8DC251}
+ {670EC17A-0548-4BBF-A27B-636C7C188139} = {670EC17A-0548-4BBF-A27B-636C7C188139}
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8} = {4C3AB78A-52CA-4276-A041-39776E52D8C8}
+ {E784098D-3ED8-433A-9353-9679415DDDC5} = {E784098D-3ED8-433A-9353-9679415DDDC5}
+ {6B801390-5F95-4F07-81A7-97FBA046AACC} = {6B801390-5F95-4F07-81A7-97FBA046AACC}
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94} = {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0} = {76D90B92-ECC7-409C-9F98-A8814B90F3C0}
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8} = {F90BD995-FFA4-4B18-81E8-FA4322C939E8}
+ {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}
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488} = {542A9FA1-B7FF-441C-AE15-054DB31D3488}
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B} = {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE} = {213356A9-3A1F-41DA-9819-1297BCD17DEE}
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA} = {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90} = {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358} = {E90C7BC2-CF30-4A60-A8F2-0050D592E358}
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164} = {8B8D4FC3-3234-4E54-8376-5AB83D00D164}
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879} = {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
+ {0112CAD5-3584-412A-A2E5-1315A00437B4} = {0112CAD5-3584-412A-A2E5-1315A00437B4}
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9} = {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49} = {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA} = {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538}
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43} = {32CC75E2-EE85-45E6-8E3D-513F58464F43}
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8} = {9A307EE5-CD77-47BC-BD87-62508C7E19D8}
+ {AB590CED-F71F-4A17-A89B-18583ECD633D} = {AB590CED-F71F-4A17-A89B-18583ECD633D}
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373} = {B83C6BED-11EC-46C8-AFFA-121EEDE94373}
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9} = {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598}
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B} = {524264F4-DF21-4B79-847F-E7CA643ECD0B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BKE_blenkernel", "blenkernel\BKE_blenkernel.vcproj", "{CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BLI_blenlib", "blenlib\BLI_blenlib.vcproj", "{31628053-825D-4C06-8A21-D13883489718}"
+ ProjectSection(ProjectDependencies) = postProject
+ {02110D03-59DB-4571-8787-72B3C03B2F2D} = {02110D03-59DB-4571-8787-72B3C03B2F2D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BLO_loader", "loader\BLO_loader.vcproj", "{E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BLO_readblenfile", "BLO_readblenfile\BLO_readblenfile.vcproj", "{DB6BE55D-B6D9-494D-856A-8764FF7BA91D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BL_avi", "avi\BL_avi.vcproj", "{9A307EE5-CD77-47BC-BD87-62508C7E19D8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BL_imbuf", "imbuf\BL_imbuf.vcproj", "{415BFD6E-64CF-422B-AF88-C07F040A7292}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BL_src", "src\BL_src.vcproj", "{FB88301F-F725-401B-ACD7-D2ABBF333B71}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BPY_python", "BPY_python\BPY_python.vcproj", "{5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BRA_radiosity", "radiosity\BRA_radiosity.vcproj", "{2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BRE_render", "render\BRE_render.vcproj", "{106AE171-0083-41D6-A949-20DB0E8DC251}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DNA_makesdna", "makesdna\DNA_makesdna.vcproj", "{E013786A-9575-4F34-81B2-33290357EE87}"
+ ProjectSection(ProjectDependencies) = postProject
+ {31628053-825D-4C06-8A21-D13883489718} = {31628053-825D-4C06-8A21-D13883489718}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXP_expressions", "..\gameengine\expression\EXP_expressions.vcproj", "{EADC3C5A-6C51-4F03-8038-1553E7D7F740}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FTF_ftfont", "ftfont\FTF_ftfont.vcproj", "{A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GP_axctl", "..\gameengine\gameplayer\axctl\GP_axctl.vcproj", "{DF25E6F2-780C-438B-8AAD-D10CF8B3820A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F} = {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B} = {6E24BF09-9653-4166-A871-F65CC9E98A9B}
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE} = {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}
+ {9625642D-6F20-4FB6-A089-BE7441B223E3} = {9625642D-6F20-4FB6-A089-BE7441B223E3}
+ {E645CC32-4823-463E-82F0-46ADDE664018} = {E645CC32-4823-463E-82F0-46ADDE664018}
+ {51FB3D48-2467-4BFA-A321-D848252B437E} = {51FB3D48-2467-4BFA-A321-D848252B437E}
+ {31628053-825D-4C06-8A21-D13883489718} = {31628053-825D-4C06-8A21-D13883489718}
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740} = {EADC3C5A-6C51-4F03-8038-1553E7D7F740}
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D} = {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E} = {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}
+ {09222F5E-1625-4FF3-A89A-384D16875EE5} = {09222F5E-1625-4FF3-A89A-384D16875EE5}
+ {E013786A-9575-4F34-81B2-33290357EE87} = {E013786A-9575-4F34-81B2-33290357EE87}
+ {415BFD6E-64CF-422B-AF88-C07F040A7292} = {415BFD6E-64CF-422B-AF88-C07F040A7292}
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8} = {4C3AB78A-52CA-4276-A041-39776E52D8C8}
+ {6B801390-5F95-4F07-81A7-97FBA046AACC} = {6B801390-5F95-4F07-81A7-97FBA046AACC}
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94} = {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8} = {F90BD995-FFA4-4B18-81E8-FA4322C939E8}
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23} = {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7} = {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0} = {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B} = {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA} = {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358} = {E90C7BC2-CF30-4A60-A8F2-0050D592E358}
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43} = {32CC75E2-EE85-45E6-8E3D-513F58464F43}
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8} = {9A307EE5-CD77-47BC-BD87-62508C7E19D8}
+ {AB590CED-F71F-4A17-A89B-18583ECD633D} = {AB590CED-F71F-4A17-A89B-18583ECD633D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GP_common", "..\gameengine\gameplayer\common\GP_common.vcproj", "{D8ABD6A5-1B36-4D62-934E-B5C6801130B0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blenderplayer", "..\gameengine\gameplayer\ghost\GP_ghost.vcproj", "{3D310C60-6771-48E4-BCCA-D2718CDED898}"
+ ProjectSection(ProjectDependencies) = postProject
+ {02110D03-59DB-4571-8787-72B3C03B2F2D} = {02110D03-59DB-4571-8787-72B3C03B2F2D}
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F} = {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B} = {6E24BF09-9653-4166-A871-F65CC9E98A9B}
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6}
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE} = {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8} = {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}
+ {9625642D-6F20-4FB6-A089-BE7441B223E3} = {9625642D-6F20-4FB6-A089-BE7441B223E3}
+ {E645CC32-4823-463E-82F0-46ADDE664018} = {E645CC32-4823-463E-82F0-46ADDE664018}
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C} = {FAF46346-65CC-4DB2-85C4-B99826F79D0C}
+ {51FB3D48-2467-4BFA-A321-D848252B437E} = {51FB3D48-2467-4BFA-A321-D848252B437E}
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400} = {FFD3C64A-30E2-4BC7-BC8F-51818C320400}
+ {31628053-825D-4C06-8A21-D13883489718} = {31628053-825D-4C06-8A21-D13883489718}
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740} = {EADC3C5A-6C51-4F03-8038-1553E7D7F740}
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D} = {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E} = {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}
+ {09222F5E-1625-4FF3-A89A-384D16875EE5} = {09222F5E-1625-4FF3-A89A-384D16875EE5}
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A} = {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}
+ {E013786A-9575-4F34-81B2-33290357EE87} = {E013786A-9575-4F34-81B2-33290357EE87}
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD} = {D696C86B-0B53-4471-A50D-5B983A6FA4AD}
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067} = {138DD16C-CC78-4F6C-A898-C8DA68D89067}
+ {415BFD6E-64CF-422B-AF88-C07F040A7292} = {415BFD6E-64CF-422B-AF88-C07F040A7292}
+ {670EC17A-0548-4BBF-A27B-636C7C188139} = {670EC17A-0548-4BBF-A27B-636C7C188139}
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8} = {4C3AB78A-52CA-4276-A041-39776E52D8C8}
+ {6B801390-5F95-4F07-81A7-97FBA046AACC} = {6B801390-5F95-4F07-81A7-97FBA046AACC}
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94} = {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0} = {76D90B92-ECC7-409C-9F98-A8814B90F3C0}
+ {9C71A793-C177-4CAB-8EC5-923D500B39F8} = {9C71A793-C177-4CAB-8EC5-923D500B39F8}
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8} = {F90BD995-FFA4-4B18-81E8-FA4322C939E8}
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23} = {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7} = {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488} = {542A9FA1-B7FF-441C-AE15-054DB31D3488}
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0} = {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B} = {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE} = {213356A9-3A1F-41DA-9819-1297BCD17DEE}
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA} = {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358} = {E90C7BC2-CF30-4A60-A8F2-0050D592E358}
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164} = {8B8D4FC3-3234-4E54-8376-5AB83D00D164}
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA} = {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538}
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43} = {32CC75E2-EE85-45E6-8E3D-513F58464F43}
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8} = {9A307EE5-CD77-47BC-BD87-62508C7E19D8}
+ {AB590CED-F71F-4A17-A89B-18583ECD633D} = {AB590CED-F71F-4A17-A89B-18583ECD633D}
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9} = {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KX_blenderhook", "..\gameengine\blenderhook\KX_blenderhook.vcproj", "{8154A59A-CAED-403D-AB94-BC4E7C032666}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KX_converter", "..\gameengine\converter\KX_converter.vcproj", "{F90BD995-FFA4-4B18-81E8-FA4322C939E8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KX_ketsji", "..\gameengine\ketsji\KX_ketsji.vcproj", "{E645CC32-4823-463E-82F0-46ADDE664018}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KX_network", "..\gameengine\ketsji\network\KX_network.vcproj", "{6E24BF09-9653-4166-A871-F65CC9E98A9B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NG_loopbacknetwork", "..\gameengine\network\loopbacknetwork\NG_loopbacknetwork.vcproj", "{6B801390-5F95-4F07-81A7-97FBA046AACC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NG_network", "..\gameengine\network\network\NG_network.vcproj", "{0A73055E-4DED-40CD-9F72-9093ED3EEC7E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHY_Dummy", "..\GAMEENGINE\PHYSICS\PHY_PHYSICS\PHY_Dummy\PHY_Dummy.vcproj", "{3648FB9A-C36F-43AB-AED0-1F1361E67FC7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHY_Ode", "..\gameengine\physics\PHY_Physics\PHY_Ode\PHY_Ode.vcproj", "{EC405272-28E3-4840-AAC2-53D6DE4E163D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHY_Physics", "..\gameengine\physics\PHY_Physics\PHY_Physics.vcproj", "{E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RAS_openglrasterizer", "..\gameengine\rasterizer\openglrasterizer\RAS_openglrasterizer.vcproj", "{AB590CED-F71F-4A17-A89B-18583ECD633D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RAS_rasterizer", "..\gameengine\rasterizer\RAS_rasterizer.vcproj", "{51FB3D48-2467-4BFA-A321-D848252B437E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SCA_GameLogic", "..\gameengine\gamelogic\SCA_GameLogic.vcproj", "{32CC75E2-EE85-45E6-8E3D-513F58464F43}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SG_SceneGraph", "..\gameengine\scenegraph\SG_SceneGraph.vcproj", "{09222F5E-1625-4FF3-A89A-384D16875EE5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SYS_system", "..\kernel\system\SYS_system.vcproj", "{BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blenpluginapi", "blenpluginapi\blenpluginapi\blenpluginapi.vcproj", "{BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_messaging", "..\KERNEL\gen_messaging\gen_messaging.vcproj", "{727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHY_Sumo", "..\gameengine\physics\PHY_Physics\PHY_Sumo\PHY_Sumo.vcproj", "{9625642D-6F20-4FB6-A089-BE7441B223E3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BRE_yafray", "yafray\BRE_yafray.vcproj", "{9991A3C3-83FE-4AFE-9E18-9D01CB57E879}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHY_Bullet", "..\gameengine\physics\PHY_Physics\PHY_Bullet\PHY_Bullet.vcproj", "{E90C7BC2-CF30-4A60-A8F2-0050D592E358}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BL_nodes", "nodes\nodes.vcproj", "{4C3AB78A-52CA-4276-A041-39776E52D8C8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BL_gpu", "gpu\BL_gpu.vcproj", "{138DD16C-CC78-4F6C-A898-C8DA68D89067}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TEX_Video", "..\gameengine\videotexture\TEX_Video.vcproj", "{670EC17A-0548-4BBF-A27B-636C7C188139}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_broad", "..\..\extern\solid\make\msvc_9_0\broad\broad.vcproj", "{0112CAD5-3584-412A-A2E5-1315A00437B4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_complex", "..\..\extern\solid\make\msvc_9_0\complex\complex.vcproj", "{B83C6BED-11EC-46C8-AFFA-121EEDE94373}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_convex", "..\..\extern\solid\make\msvc_9_0\convex\convex.vcproj", "{524264F4-DF21-4B79-847F-E7CA643ECD0B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_solid", "..\..\extern\solid\make\msvc_9_0\solid.vcproj", "{D696C86B-0B53-4471-A50D-5B983A6FA4AD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B} = {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}
+ {0112CAD5-3584-412A-A2E5-1315A00437B4} = {0112CAD5-3584-412A-A2E5-1315A00437B4}
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373} = {B83C6BED-11EC-46C8-AFFA-121EEDE94373}
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B} = {524264F4-DF21-4B79-847F-E7CA643ECD0B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_bullet2", "..\..\extern\bullet2\make\msvc_9_0\Bullet.vcproj", "{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_ftgl_static_lib", "..\..\extern\bFTGL\make\msvc_9_0\ftgl_static_lib.vcproj", "{F9850C15-FF0A-429E-9D47-89FB433C9BD8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_glew", "..\..\extern\glew\make\msvc_9_0\glew.vcproj", "{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_qhull", "..\..\extern\qhull\make\msvc_9_0\qhull.vcproj", "{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_verse", "..\..\extern\verse\make\msvc_9_0\libverse.vcproj", "{531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_verse_server", "..\..\extern\verse\make\msvc_9_0\verse.vcproj", "{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EXT_build_install_all", "..\..\extern\make\msvc_9_0\build_install_all.vcproj", "{9C71A793-C177-4CAB-8EC5-923D500B39F8}"
+ ProjectSection(ProjectDependencies) = postProject
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8} = {F9850C15-FF0A-429E-9D47-89FB433C9BD8}
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400} = {FFD3C64A-30E2-4BC7-BC8F-51818C320400}
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A} = {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD} = {D696C86B-0B53-4471-A50D-5B983A6FA4AD}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_bmfont", "..\..\intern\bmfont\make\msvc_9_0\bmfont.vcproj", "{E784098D-3ED8-433A-9353-9679415DDDC5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_boolop", "..\..\intern\boolop\make\msvc_9_0\boolop.vcproj", "{EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538}
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9} = {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_bsplib", "..\..\intern\bsp\make\msvc_9_0\bsplib.vcproj", "{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {51A348C1-8684-4D67-B980-97B1FC74159B} = {51A348C1-8684-4D67-B980-97B1FC74159B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_container", "..\..\intern\container\make\msvc_9_0\container.vcproj", "{51A348C1-8684-4D67-B980-97B1FC74159B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_decimation", "..\..\intern\decimation\make\msvc_9_0\decimation.vcproj", "{C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_DummySoundSystem", "..\..\intern\SoundSystem\make\msvc_9_0\dummy\DummySoundSystem.vcproj", "{FAF46346-65CC-4DB2-85C4-B99826F79D0C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_elbeem", "..\..\intern\elbeem\make\msvc_9_0\elbeem.vcproj", "{A90C4918-4B21-4277-93BD-AF65F30951D9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_ghost", "..\..\intern\ghost\make\msvc_9_0\ghost.vcproj", "{76D90B92-ECC7-409C-9F98-A8814B90F3C0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_guardedalloc", "..\..\intern\guardedalloc\make\msvc_9_0\guardedalloc.vcproj", "{1CC733F1-6AB5-4904-8F63-C08C46B79DD9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_iksolver", "..\..\intern\iksolver\make\msvc_9_0\iksolver.vcproj", "{542A9FA1-B7FF-441C-AE15-054DB31D3488}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_memutil", "..\..\intern\memutil\make\msvc_9_0\memutil.vcproj", "{E86B7BDE-C33C-4E55-9433-E74C141D7538}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_MoTo", "..\..\intern\moto\make\msvc_9_0\moto.vcproj", "{4B6AFCC5-968C-424A-8F20-76E41B3BEF74}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_OpenALSoundSystem", "..\..\intern\SoundSystem\make\msvc_9_0\openal\OpenALSoundSystem.vcproj", "{213356A9-3A1F-41DA-9819-1297BCD17DEE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_opennl", "..\..\intern\opennl\make\msvc_9_0\opennl.vcproj", "{8B8D4FC3-3234-4E54-8376-5AB83D00D164}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_SoundSystem", "..\..\intern\SoundSystem\make\msvc_9_0\SoundSystem.vcproj", "{98330220-47A6-42E0-9DE4-AD0FF5D204D6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_string", "..\..\intern\string\make\msvc_9_0\string.vcproj", "{B789C2F3-279E-4A85-8F0A-7F7AC068E598}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INT_build_install_all", "..\..\intern\make\msvc_9_0\INT_build_install_all.vcproj", "{02110D03-59DB-4571-8787-72B3C03B2F2D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {A90C4918-4B21-4277-93BD-AF65F30951D9} = {A90C4918-4B21-4277-93BD-AF65F30951D9}
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6}
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8} = {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C} = {FAF46346-65CC-4DB2-85C4-B99826F79D0C}
+ {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E} = {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}
+ {E784098D-3ED8-433A-9353-9679415DDDC5} = {E784098D-3ED8-433A-9353-9679415DDDC5}
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0} = {76D90B92-ECC7-409C-9F98-A8814B90F3C0}
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488} = {542A9FA1-B7FF-441C-AE15-054DB31D3488}
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE} = {213356A9-3A1F-41DA-9819-1297BCD17DEE}
+ {51A348C1-8684-4D67-B980-97B1FC74159B} = {51A348C1-8684-4D67-B980-97B1FC74159B}
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164} = {8B8D4FC3-3234-4E54-8376-5AB83D00D164}
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9} = {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538}
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9} = {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Blender Debug|Win32 = Blender Debug|Win32
+ Blender Release|Win32 = Blender Release|Win32
+ BlenderPlayer Debug|Win32 = BlenderPlayer Debug|Win32
+ BlenderPlayer Release|Win32 = BlenderPlayer Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {31628053-825D-4C06-8A21-D13883489718}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {DB6BE55D-B6D9-494D-856A-8764FF7BA91D}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {9A307EE5-CD77-47BC-BD87-62508C7E19D8}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {415BFD6E-64CF-422B-AF88-C07F040A7292}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {FB88301F-F725-401B-ACD7-D2ABBF333B71}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FB88301F-F725-401B-ACD7-D2ABBF333B71}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {FB88301F-F725-401B-ACD7-D2ABBF333B71}.Blender Release|Win32.ActiveCfg = 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 Release|Win32.ActiveCfg = Blender Release|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {5A2EA6DC-1A53-4E87-9166-52870CE3B4EA}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {106AE171-0083-41D6-A949-20DB0E8DC251}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {106AE171-0083-41D6-A949-20DB0E8DC251}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {106AE171-0083-41D6-A949-20DB0E8DC251}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {106AE171-0083-41D6-A949-20DB0E8DC251}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {106AE171-0083-41D6-A949-20DB0E8DC251}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {106AE171-0083-41D6-A949-20DB0E8DC251}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {E013786A-9575-4F34-81B2-33290357EE87}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {EADC3C5A-6C51-4F03-8038-1553E7D7F740}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {DF25E6F2-780C-438B-8AAD-D10CF8B3820A}.Blender Debug|Win32.ActiveCfg = 3D Plugin Debug|Win32
+ {DF25E6F2-780C-438B-8AAD-D10CF8B3820A}.Blender Release|Win32.ActiveCfg = 3D Plugin Release|Win32
+ {DF25E6F2-780C-438B-8AAD-D10CF8B3820A}.BlenderPlayer Debug|Win32.ActiveCfg = 3D Plugin Debug|Win32
+ {DF25E6F2-780C-438B-8AAD-D10CF8B3820A}.BlenderPlayer Release|Win32.ActiveCfg = 3D Plugin Release|Win32
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}.Blender Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}.Blender Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {D8ABD6A5-1B36-4D62-934E-B5C6801130B0}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {3D310C60-6771-48E4-BCCA-D2718CDED898}.Blender Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {3D310C60-6771-48E4-BCCA-D2718CDED898}.Blender Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {3D310C60-6771-48E4-BCCA-D2718CDED898}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {3D310C60-6771-48E4-BCCA-D2718CDED898}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {3D310C60-6771-48E4-BCCA-D2718CDED898}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {3D310C60-6771-48E4-BCCA-D2718CDED898}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {8154A59A-CAED-403D-AB94-BC4E7C032666}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {8154A59A-CAED-403D-AB94-BC4E7C032666}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {8154A59A-CAED-403D-AB94-BC4E7C032666}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {8154A59A-CAED-403D-AB94-BC4E7C032666}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {8154A59A-CAED-403D-AB94-BC4E7C032666}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {8154A59A-CAED-403D-AB94-BC4E7C032666}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {F90BD995-FFA4-4B18-81E8-FA4322C939E8}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {E645CC32-4823-463E-82F0-46ADDE664018}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {6E24BF09-9653-4166-A871-F65CC9E98A9B}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {6B801390-5F95-4F07-81A7-97FBA046AACC}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {0A73055E-4DED-40CD-9F72-9093ED3EEC7E}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {3648FB9A-C36F-43AB-AED0-1F1361E67FC7}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {EC405272-28E3-4840-AAC2-53D6DE4E163D}.Blender Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {EC405272-28E3-4840-AAC2-53D6DE4E163D}.Blender Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {EC405272-28E3-4840-AAC2-53D6DE4E163D}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {EC405272-28E3-4840-AAC2-53D6DE4E163D}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {AB590CED-F71F-4A17-A89B-18583ECD633D}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {51FB3D48-2467-4BFA-A321-D848252B437E}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {32CC75E2-EE85-45E6-8E3D-513F58464F43}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {09222F5E-1625-4FF3-A89A-384D16875EE5}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {9625642D-6F20-4FB6-A089-BE7441B223E3}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {9991A3C3-83FE-4AFE-9E18-9D01CB57E879}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {E90C7BC2-CF30-4A60-A8F2-0050D592E358}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {4C3AB78A-52CA-4276-A041-39776E52D8C8}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.BlenderPlayer Debug|Win32.ActiveCfg = BlenderPlayer Debug|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.BlenderPlayer Debug|Win32.Build.0 = BlenderPlayer Debug|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {138DD16C-CC78-4F6C-A898-C8DA68D89067}.BlenderPlayer Release|Win32.Build.0 = BlenderPlayer Release|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Debug|Win32.ActiveCfg = Debug|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Debug|Win32.Build.0 = Debug|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Release|Win32.ActiveCfg = Release|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.Blender Release|Win32.Build.0 = Release|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Debug|Win32.ActiveCfg = Debug|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Debug|Win32.Build.0 = Debug|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Release|Win32.ActiveCfg = Release|Win32
+ {670EC17A-0548-4BBF-A27B-636C7C188139}.BlenderPlayer Release|Win32.Build.0 = Release|Win32
+ {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {531D4862-D0E7-4B9B-A0B6-B3A6A25B547A}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.BlenderPlayer Release|Win32.ActiveCfg = BlenderPlayer Release|Win32
+ {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E784098D-3ED8-433A-9353-9679415DDDC5}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E784098D-3ED8-433A-9353-9679415DDDC5}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Debug|Win32.Build.0 = Blender Debug|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}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {51A348C1-8684-4D67-B980-97B1FC74159B}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Debug|Win32.Build.0 = Blender Debug|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}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {A90C4918-4B21-4277-93BD-AF65F30951D9}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {542A9FA1-B7FF-441C-AE15-054DB31D3488}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {E86B7BDE-C33C-4E55-9433-E74C141D7538}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {213356A9-3A1F-41DA-9819-1297BCD17DEE}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Debug|Win32.Build.0 = Blender Debug|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Release|Win32.Build.0 = Blender Release|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.BlenderPlayer Debug|Win32.Build.0 = Blender Debug|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.BlenderPlayer Release|Win32.Build.0 = Blender Release|Win32
+ {02110D03-59DB-4571-8787-72B3C03B2F2D}.Blender Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {02110D03-59DB-4571-8787-72B3C03B2F2D}.Blender Release|Win32.ActiveCfg = Blender Release|Win32
+ {02110D03-59DB-4571-8787-72B3C03B2F2D}.BlenderPlayer Debug|Win32.ActiveCfg = Blender Debug|Win32
+ {02110D03-59DB-4571-8787-72B3C03B2F2D}.BlenderPlayer Release|Win32.ActiveCfg = Blender Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/projectfiles_vc9/blender/blender.vcproj b/projectfiles_vc9/blender/blender.vcproj new file mode 100644 index 00000000000..8950ef822a1 --- /dev/null +++ b/projectfiles_vc9/blender/blender.vcproj @@ -0,0 +1,264 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="blender"
+ ProjectGUID="{F78B7FC9-DE32-465E-9F26-BB0B6B7A2EAF}"
+ RootNamespace="blender"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\bin"
+ IntermediateDirectory="..\..\..\build\msvc_9\source\blender"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\obj\windows\blender/blender.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\source\blender;..\..\source\blender\imbuf;..\..\source\blender\misc;..\..\source\blender\blenlib;..\..\source\blender\python;..\..\source\blender\include;..\..\source\blender\renderui;..\..\source\blender\makesdna;..\..\source\blender\blenkernel;..\..\source\blender\blenloader;..\..\source\blender\renderconverter;..\..\source\blender\render\extern\include;..\..\source\blender\radiosity\extern\include;..\..\source\kernel\gen_system;..\..\source\kernel\gen_messaging;..\..\..\build\msvc_9\extern\glew\include;..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;WITH_QUICKTIME;GAMEBLENDER=1;USE_SUMO_SOLID;FTGL_LIBRARY_STATIC;WITH_VERSE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\build\msvc_9\source\blender\blender.pch"
+ AssemblerListingLocation="..\..\..\build\msvc_9\source\blender\"
+ ObjectFile="..\..\..\build\msvc_9\source\blender\"
+ ProgramDataBaseFileName="..\..\..\build\msvc_9\source\blender\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="0"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="SDL.lib freetype2ST.lib gnu_gettext.lib qtmlClient.lib openal_static.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libpng_st.lib zlib.lib python25.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib Half.lib Iex.lib IlmImf.lib Imath.lib IlmThread.lib avcodec-51.lib avformat-52.lib avutil-49.lib swscale-0.lib"
+ ShowProgress="0"
+ OutputFile="..\..\bin\blender.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\lib\windows\sdl\lib;..\..\..\lib\windows\ode\lib;..\..\..\lib\windows\zlib\lib;..\..\..\lib\windows\png\lib;..\..\..\lib\windows\jpeg\lib;..\..\..\lib\windows\gettext\lib;..\..\..\lib\windows\python\lib\lib25_vs2008;..\..\..\lib\windows\freetype\lib;..\..\..\lib\windows\tiff\lib;..\..\..\lib\windows\pthreads\lib;..\..\..\lib\windows\openal\lib;..\..\..\lib\windows\openexr\lib_vs2008;..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\build\msvc_9\libs\intern;..\..\..\build\msvc_9\libs\extern;..\..\..\lib\windows\ffmpeg\lib"
+ IgnoreAllDefaultLibraries="false"
+ IgnoreDefaultLibraryNames="msvcprt.lib;glut32.lib;libc.lib;libcd.lib;libcpd.lib;libcp.lib;libcmtd.lib;odbc32.lib;odbccp32.lib"
+ ProgramDatabaseFile="..\..\..\build\msvc_9\libs\blender.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ 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\lib25_vs2008\python25.dll ..\..\bin
XCOPY /Y ..\..\..\lib\windows\gettext\lib\*.dll ..\..\bin
XCOPY /Y ..\..\..\lib\windows\sdl\lib\*.dll ..\..\bin
XCOPY /Y ..\..\..\lib\windows\tiff\lib\*.dll ..\..\bin
XCOPY /Y ..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\bin
XCOPY /Y ..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\bin
ECHO Copying language folder
ECHO Copying python scripts
IF NOT EXIST ..\..\bin\.blender\scripts MKDIR ..\..\bin\.blender\scripts
XCOPY /Y ..\..\release\scripts ..\..\bin\.blender\scripts /E
ECHO Copying manuals/text
XCOPY/Y ..\..\release\text ..\..\bin /E
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\bin\debug"
+ IntermediateDirectory="..\..\..\build\msvc_9\source\blender\debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ DeleteExtensionsOnClean="*.obj;*.pdb;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.bat;$(TargetPath)"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\obj\windows\blender\debug/blender.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\source\blender;..\..\source\blender\imbuf;..\..\source\blender\misc;..\..\source\blender\blenlib;..\..\source\blender\python;..\..\source\blender\include;..\..\source\blender\renderui;..\..\source\blender\makesdna;..\..\source\blender\blenkernel;..\..\source\blender\blenloader;..\..\source\blender\renderconverter;..\..\source\blender\render\extern\include;..\..\source\blender\radiosity\extern\include;..\..\source\kernel\gen_system;..\..\source\kernel\gen_messaging;..\..\..\build\msvc_9\extern\glew\include;..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;WITH_QUICKTIME;WITH_VERSE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\build\msvc_9\source\blender\debug\blender.pch"
+ AssemblerListingLocation="..\..\..\build\msvc_9\source\blender\debug\"
+ ObjectFile="..\..\..\build\msvc_9\source\blender\debug\"
+ ProgramDataBaseFileName="..\..\..\build\msvc_9\source\blender\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="SDL.lib freetype2ST.lib gnu_gettext.lib qtmlClient.lib openal_static.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libpng_st.lib zlib.lib python25_d.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib Half.lib Iex.lib Imath.lib IlmImf.lib IlmThread.lib avcodec-51.lib avformat-52.lib avdevice-52.lib avutil-49.lib swscale-0.lib"
+ ShowProgress="0"
+ OutputFile="..\..\bin\debug\blender.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\lib\windows\sdl\lib;..\..\..\lib\windows\ode\lib;..\..\..\lib\windows\zlib\lib;..\..\..\lib\windows\png\lib;..\..\..\lib\windows\jpeg\lib;..\..\..\lib\windows\pthreads\lib;..\..\..\lib\windows\tiff\lib;..\..\..\lib\windows\gettext\lib;..\..\..\lib\windows\freetype\lib;..\..\..\lib\windows\python\lib\lib25_vs2008;..\..\..\lib\windows\openal\lib;..\..\..\lib\windows\openexr\lib_vs2008;..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\lib\windows\ffmpeg\lib;..\..\..\build\msvc_9\libs\intern\debug;..\..\..\build\msvc_9\libs\extern\debug"
+ IgnoreDefaultLibraryNames="libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, odbc32.lib, odbccp32.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\build\msvc_9\libs\debug\blender.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ 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 ..\..\bin\debug
XCOPY /Y ..\..\..\lib\windows\sdl\lib\*.dll ..\..\bin\debug
XCOPY /Y ..\..\..\lib\windows\python\lib\lib25_vs2008\python25_d.dll ..\..\bin\debug
XCOPY /Y ..\..\..\lib\windows\CRTL\lib\msvcrtd.dll ..\..\bin\debug
XCOPY /Y ..\..\..\lib\windows\tiff\lib\*.dll ..\..\bin\debug
XCOPY /Y ..\..\..\lib\windows\pthreads\lib\pthreadVSE2.dll ..\..\bin\debug
XCOPY /Y ..\..\..\lib\windows\ffmpeg\lib\*.dll ..\..\bin\debug
ECHO Copying language folder
IF NOT EXIST ..\..\bin\debug\.blender MKDIR ..\..\bin\debug\.blender
XCOPY /Y ..\..\bin\.blender ..\..\bin\debug\.blender /E
ECHO Copying python scripts
IF NOT EXIST ..\..\bin\debug\.blender\scripts MKDIR ..\..\bin\debug\.blender\scripts
XCOPY /Y ..\..\release\scripts ..\..\bin\debug\.blender\scripts /E
ECHO Copying manuals/text
XCOPY/Y ..\..\release\text ..\..\bin\debug /E
ECHO Done
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\source\creator\buildinfo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\source\creator\creator.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\source\icons\winblender.rc"
+ >
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="\blenderdev\blender.test2\source\icons;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="\blenderdev\blender.test2\source\icons;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ <File
+ RelativePath="..\..\source\icons\winblender.ico"
+ >
+ </File>
+ <File
+ RelativePath="..\..\source\icons\winblenderfile.ico"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj b/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj new file mode 100644 index 00000000000..3cc89a17f1e --- /dev/null +++ b/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj @@ -0,0 +1,1080 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BKE_blenkernel"
+ ProjectGUID="{CAE37E91-6570-43AC-A4B4-7A37A4B0FC94}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\python\include\python2.5;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\debug\BKE_blenkernel.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BKE_blenkernel.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\python\include\python2.5;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FREETYPE2;WITH_VERSE;WITH_OPENEXR;WITH_DDS;WITH_BULLET;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\BKE_blenkernel.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BKE_blenkernel.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_FREETYPE2;UNWRAPPER;WITH_VERSE;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\BKE_blenkernel.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenkernel\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenkernel\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BKE_blenkernel.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\BKE_blenkernel.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenkernel\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BKE_blenkernel.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\python\include\python2.5;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FREETYPE2;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\BKE_blenkernel.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenkernel\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BKE_blenkernel.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenkernel\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_FREETYPE2;UNWRAPPER;WITH_FFMPEG"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\BKE_blenkernel.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenkernel\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenkernel\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenkernel\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BKE_blenkernel.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\action.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\anim.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\armature.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\blender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\BME_conversions.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\BME_Customdata.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\BME_eulers.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\BME_mesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\BME_structure.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\BME_tools.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\bmfont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\brush.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\bullet.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\bvhutils.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\CCGSubSurf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\cdderivedmesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\cloth.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\collision.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\colortools.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\constraint.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\curve.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\customdata.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\deform.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\depsgraph.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\DerivedMesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\displist.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\effect.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\exotic.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\fluidsim.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\font.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\group.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\icons.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\idprop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\image.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\implicit.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\ipo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\key.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\lattice.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\library.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\material.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\mball.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\mesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\modifier.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\multires-firstlevel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\multires.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\nla.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\packedFile.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\particle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\particle_system.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\pointcache.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\property.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\sca.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\scene.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\screen.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\script.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\shrinkwrap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\simple_deform.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\softbody.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\sound.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\subsurf_ccg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\suggestions.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\text.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\texture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\verse_bitmap_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\verse_geometry_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\verse_method.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\verse_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\verse_object_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\verse_session.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\world.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\writeavi.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\writeffmpeg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\writeframeserver.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_action.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_anim.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_armature.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bad_level_calls.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_blender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bmesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bmeshCustomData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bmfont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bmfont_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_booleanops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_booleanops_mesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_brush.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bullet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_bvhutils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_cdderivedmesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_cloth.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_collision.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_colortools.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_constraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_curve.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_customdata.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_deform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_depsgraph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_DerivedMesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_displist.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_effect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_endian.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_exotic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_fluidsim.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_font.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_global.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_group.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_icons.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_ipo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_key.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_lattice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_library.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_main.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_material.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_mball.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_mesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_modifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_multires.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_nla.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_osa_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_packedFile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_particle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_plugin_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_pointcache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_property.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_sca.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_scene.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_screen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_script.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_shrinkwrap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_simple_deform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_softbody.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_sound.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_subsurf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_suggestions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_text.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_texture.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_utildefines.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_verse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_world.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_writeavi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_writeffmpeg.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\BKE_writeframeserver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\bmesh_private.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\intern\CCGSubSurf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenkernel\depsgraph_private.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/blenlib/BLI_blenlib.vcproj b/projectfiles_vc9/blender/blenlib/BLI_blenlib.vcproj new file mode 100644 index 00000000000..8f36578d2b2 --- /dev/null +++ b/projectfiles_vc9/blender/blenlib/BLI_blenlib.vcproj @@ -0,0 +1,725 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BLI_blenlib"
+ ProjectGUID="{31628053-825D-4C06-8A21-D13883489718}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,WITH_FREETYPE2"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\BLI_blenlib.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BLI_blenlib.lib"
+ AdditionalLibraryDirectories=""
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FREETYPE2;WITH_VERSE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderThrough="StdAfx.h"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\BLI_blenlib.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BLI_blenlib.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_FREETYPE2;WITH_VERSE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenlib\BLI_blenlib.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenlib\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenlib\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenlib\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BLI_blenlib.lib"
+ AdditionalLibraryDirectories=""
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\debug\BLI_blenlib.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenlib\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BLI_blenlib.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,WITH_FREETYPE2"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderThrough="StdAfx.h"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\BLI_blenlib.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenlib\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BLI_blenlib.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\blenlib\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,WITH_FREETYPE2"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\blenlib\BLI_blenlib.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\blenlib\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\blenlib\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\blenlib\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BLI_blenlib.lib"
+ AdditionalLibraryDirectories=""
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\arithb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_dynstr.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_ghash.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_heap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_kdopbvh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_kdtree.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_linklist.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_memarena.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_mempool.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\boxpack2d.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\bpath.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\dynlib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\edgehash.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\fileops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\fnmatch.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\freetypefont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\graph.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\gsqueue.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\jitter.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\matrixops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\noise.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\psfont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\rand.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\rct.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\scanfill.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\storage.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\threads.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\time.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\vectorops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\winstuff.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_arithb.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_blenlib.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_boxpack2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_bpath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_callbacks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_edgehash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_editVert.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_fileops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_fnmatch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_ghash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_graph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_heap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_jitter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_kdopbvh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_kdtree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_linklist.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_memarena.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_mempool.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_scanfill.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_storage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_storage_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_threads.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\intern\BLI_util.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\BLI_winstuff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\MTC_matrixops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\MTC_vectorops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\PIL_dynlib.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenlib\PIL_time.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/blenpluginapi/blenpluginapi/blenpluginapi.vcproj b/projectfiles_vc9/blender/blenpluginapi/blenpluginapi/blenpluginapi.vcproj new file mode 100644 index 00000000000..02ea370e34a --- /dev/null +++ b/projectfiles_vc9/blender/blenpluginapi/blenpluginapi/blenpluginapi.vcproj @@ -0,0 +1,513 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="blenpluginapi"
+ ProjectGUID="{BB6AA598-B336-4F8B-9DF9-8CAE7BE71C23}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenpluginapi"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\blenpluginapi.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\blenpluginapi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenpluginapi"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\blenpluginapi.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\blenpluginapi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenpluginapi"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\blenpluginapi.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\blenpluginapi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenpluginapi"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\blenpluginapi.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\blenpluginapi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenpluginapi"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\blenpluginapi.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\blenpluginapi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\source\blender;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenpluginapi"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\debug\blenpluginapi.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\blender\blenpluginapi\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\blenpluginapi.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\intern\pluginapi.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\documentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\externdef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\floatpatch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\iff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\plugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\util.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenpluginapi\plugin.DEF"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/ftfont/FTF_ftfont.vcproj b/projectfiles_vc9/blender/ftfont/FTF_ftfont.vcproj new file mode 100644 index 00000000000..0ffc2ce2a41 --- /dev/null +++ b/projectfiles_vc9/blender/ftfont/FTF_ftfont.vcproj @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="FTF_ftfont"
+ ProjectGUID="{A1CCF5B0-08E1-4F00-B417-8BFAC34E5E90}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\ftfont"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\ftfont"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\freetype\include;..\..\..\..\build\msvc_9\extern\ftgl\include;..\..\..\..\lib\windows\gettext\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WCHAR_T16;HAVE_LC_MESSAGES;FTGL_LIBRARY_STATIC"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\ftfont\FTF_ftfont.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\ftfont\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\ftfont\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\ftfont\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\FTF_ftfont.lib"
+ AdditionalLibraryDirectories=""
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\ftfont\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\ftfont\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\freetype\include;..\..\..\..\build\msvc_9\extern\ftgl\include;..\..\..\..\lib\windows\gettext\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB,WCHAR_T16,HAVE_LC_MESSAGES,FTGL_LIBRARY_STATIC"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\ftfont\debug\FTF_ftfont.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\ftfont\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\ftfont\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\ftfont\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\FTF_ftfont.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\ftfont\intern\FTF_Api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\ftfont\intern\FTF_TTFont.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="extern"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\ftfont\FTF_Api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\ftfont\FTF_Settings.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\ftfont\intern\FTF_TTFont.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/gpu/BL_gpu.vcproj b/projectfiles_vc9/blender/gpu/BL_gpu.vcproj new file mode 100644 index 00000000000..82b6f30aa86 --- /dev/null +++ b/projectfiles_vc9/blender/gpu/BL_gpu.vcproj @@ -0,0 +1,525 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BL_gpu"
+ ProjectGUID="{138DD16C-CC78-4F6C-A898-C8DA68D89067}"
+ RootNamespace="BL_gpu"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\debug\BL_gpu.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BL_gpu.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="false"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\gpu\debug\BL_gpu.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\gpu\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\gpu\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\gpu\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_gpu.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\gpu"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\gpu"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\gpu\BL_gpu.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\gpu\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\gpu\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\gpu\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_gpu.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\BL_gpu.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\gpu\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BL_gpu.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="false"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\gpu\debug\BL_gpu.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\gpu\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\gpu\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\gpu\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_gpu.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\gpu\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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;..\..\..\source\blender\imbuf;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,DWORDS_LITTLEENDIAN"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\gpu\BL_gpu.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\gpu\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\gpu\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\gpu\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_gpu.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_codegen.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_draw.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_extensions.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_material.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_shader_material.glsl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_shader_vertex.glsl.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\gpu\intern\gpu_codegen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\GPU_draw.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\GPU_extensions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\gpu\GPU_material.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/imbuf/BL_imbuf.vcproj b/projectfiles_vc9/blender/imbuf/BL_imbuf.vcproj new file mode 100644 index 00000000000..703a6407f9a --- /dev/null +++ b/projectfiles_vc9/blender/imbuf/BL_imbuf.vcproj @@ -0,0 +1,888 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BL_imbuf"
+ ProjectGUID="{415BFD6E-64CF-422B-AF88-C07F040A7292}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\jpeg\include;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\png\include;..\..\..\..\lib\windows\tiff\include;..\..\..\..\lib\windows\openexr\include;..\..\..\..\lib\windows\openexr\include\Iex;..\..\..\..\lib\windows\openexr\include\Imath;..\..\..\..\lib\windows\openexr\include\IlmImf;..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\imbuf\intern\openexr;..\..\..\source\blender\imbuf\intern\dds"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_QUICKTIME;WITH_OPENEXR;WITH_DDS;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\BL_imbuf.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_imbuf.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\jpeg\include;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\png\include;..\..\..\..\lib\windows\tiff\include;..\..\..\..\lib\windows\openexr\include;..\..\..\..\lib\windows\openexr\include\Iex;..\..\..\..\lib\windows\openexr\include\Imath;..\..\..\..\lib\windows\openexr\include\IlmImf;..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\debug\BL_imbuf.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BL_imbuf.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\jpeg\include;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\png\include;..\..\..\..\lib\windows\tiff\include;..\..\..\..\lib\windows\openexr\include;..\..\..\..\lib\windows\openexr\include\Iex;..\..\..\..\lib\windows\openexr\include\Imath;..\..\..\..\lib\windows\openexr\include\IlmImf;..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\imbuf\intern\openexr"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,WITH_QUICKTIME"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\BL_imbuf.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\imbuf\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BL_imbuf.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\jpeg\include;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\png\include;..\..\..\..\lib\windows\tiff\include;..\..\..\..\lib\windows\openexr\include;..\..\..\..\lib\windows\openexr\include\Iex;..\..\..\..\lib\windows\openexr\include\Imath;..\..\..\..\lib\windows\openexr\include\IlmImf;..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\imbuf\intern\openexr;..\..\..\source\blender\imbuf\intern\dds;..\..\..\..\lib\windows\ffmpeg\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_QUICKTIME;WITH_OPENEXR;WITH_DDS;WITH_FFMPEG"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\imbuf\BL_imbuf.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\imbuf\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\imbuf\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\imbuf\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_imbuf.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\jpeg\include;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\png\include;..\..\..\..\lib\windows\tiff\include;..\..\..\..\lib\windows\openexr\include;..\..\..\..\lib\windows\openexr\include\Iex;..\..\..\..\lib\windows\openexr\include\Imath;..\..\..\..\lib\windows\openexr\include\IlmImf;..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\imbuf\intern\openexr;..\..\..\source\blender\imbuf\intern\dds;..\..\..\..\lib\windows\ffmpeg\include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_QUICKTIME;WITH_DDS;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\BL_imbuf.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\imbuf\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_imbuf.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\jpeg\include;..\..\..\..\lib\windows\zlib\include;..\..\..\..\lib\windows\png\include;..\..\..\..\lib\windows\tiff\include;..\..\..\..\lib\windows\openexr\include;..\..\..\..\lib\windows\openexr\include\Iex;..\..\..\..\lib\windows\openexr\include\Imath;..\..\..\..\lib\windows\openexr\include\IlmImf;..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf\intern;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\imbuf\intern\openexr;..\..\..\source\blender\imbuf\intern\dds;..\..\..\..\lib\windows\ffmpeg\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_QUICKTIME;WITH_DDS;WITH_FFMPEG"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\imbuf\BL_imbuf.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\imbuf\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\imbuf\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\imbuf\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_imbuf.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\allocimbuf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\amiga.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\anim.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\anim5.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\antialias.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\bitplanes.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\bmp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cmap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cspace.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\data.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dither.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\divers.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dynlibtiff.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\filter.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\ham.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\hamx.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\iff.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\imageprocess.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\imginfo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\iris.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\jpeg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\md5.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\openexr\openexr_api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\png.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\quicktime\apple\quicktime_export.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\quicktime\apple\quicktime_import.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\radiance_hdr.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\readimage.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\rectop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\rotate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\scaling.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\targa.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\thumbs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\tiff.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\writeimage.c"
+ >
+ </File>
+ <Filter
+ Name="cineon"
+ >
+ <Filter
+ Name="Source Files"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\cineon_dpx.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\cineonlib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\dpxlib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\logImageCore.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\logImageLib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\logmemfile.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\cin_debug_stuff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\cineonfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\cineonlib.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\dpxfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\dpxlib.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\logImageCore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\logImageLib.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\cineon\logmemfile.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="dds"
+ >
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\BlockDXT.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\ColorBlock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\dds_api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\DirectDrawSurface.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\Image.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\Stream.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\BlockDXT.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\Color.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\ColorBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\Common.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\dds_api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\DirectDrawSurface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\Image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dds\Stream.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\dynlibtiff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_allocimbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_amiga.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_anim.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_anim5.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_bitplanes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_bmp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_cmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_divers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_dpxcineon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_filter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_ham.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_hamx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_iff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\IMB_imbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\IMB_imbuf_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_imginfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_iris.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_jpeg.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_png.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_radiance_hdr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_targa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\IMB_thumbs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\IMB_tiff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\imbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\imbuf_patch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\matrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\openexr\openexr_api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\imbuf\intern\openexr\openexr_multi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\quicktime\quicktime_export.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\quicktime\quicktime_import.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/img/BL_img.vcproj b/projectfiles_vc9/blender/img/BL_img.vcproj new file mode 100644 index 00000000000..b4c4d1179b0 --- /dev/null +++ b/projectfiles_vc9/blender/img/BL_img.vcproj @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="BL_img"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\img"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\img"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\img\BL_img.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\img\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\img\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\img\"
+ WarningLevel="2"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_img.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\img\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\img\debug"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\img\debug\BL_img.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\img\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\img\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\img\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_img.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\img\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\img\mtdll"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="TRUE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="TRUE"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\img\mtdll\BL_img.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\img\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\img\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\img\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BL_img.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\img\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\img\mtdll\debug"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\img\mtdll\debug\BL_img.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\img\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\img\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\img\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BL_img.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Api.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_BrushRGBA32.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_CanvasRGBA32.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Line.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Pixmap.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_PixmapRGBA32.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Rect.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <Filter
+ Name="intern"
+ Filter="">
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_BrushRGBA32.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_CanvasRGBA32.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Color.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Line.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_MemPtr.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Pixmap.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_PixmapRGBA32.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Rect.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\img\intern\IMG_Types.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="extern"
+ Filter="">
+ <File
+ RelativePath="..\..\..\source\blender\img\IMG_Api.h">
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/loader/BLO_loader.vcproj b/projectfiles_vc9/blender/loader/BLO_loader.vcproj new file mode 100644 index 00000000000..2b82599b643 --- /dev/null +++ b/projectfiles_vc9/blender/loader/BLO_loader.vcproj @@ -0,0 +1,664 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BLO_loader"
+ ProjectGUID="{E5F2F004-C704-4DCC-A08F-6EB1E38EAB9F}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\loader\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\loader\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\streamglue;..\..\..\source\blender\readblenfile;..\..\..\source\blender\writeblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\writestreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel\gen_messaging;..\..\..\..\build\msvc_9\extern\verse\include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_VERSE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\loader\debug\BLO_loader.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\loader\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\loader\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\loader\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BLO_loader.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\streamglue;..\..\..\source\blender\readblenfile;..\..\..\source\blender\writeblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\writestreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\debug\BLO_loader.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\BLO_loader.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\loader\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\loader\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\streamglue;..\..\..\source\blender\readblenfile;..\..\..\source\blender\writeblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\writestreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\BLO_loader.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\loader\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\BLO_loader.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\loader"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\loader"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\streamglue;..\..\..\source\blender\readblenfile;..\..\..\source\blender\writeblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\writestreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel\gen_messaging;..\..\..\..\build\msvc_9\extern\verse\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_VERSE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\loader\BLO_loader.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\loader\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\loader\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\loader\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BLO_loader.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\loader\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\loader\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\streamglue;..\..\..\source\blender\readblenfile;..\..\..\source\blender\writeblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\writestreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\loader\debug\BLO_loader.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\loader\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\loader\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\loader\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BLO_loader.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\loader\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\loader\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\lib\windows\zlib\include;..\..\..\source\blender\inflate;..\..\..\source\blender\deflate;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenloader;..\..\..\source\blender\streamglue;..\..\..\source\blender\readblenfile;..\..\..\source\blender\writeblenfile;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\writestreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\loader\BLO_loader.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\loader\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\loader\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\loader\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BLO_loader.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\intern\genfile.c"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\intern\readblenentry.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\intern\readfile.c"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\intern\undofile.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\intern\writefile.c"
+ >
+ <FileConfiguration
+ Name="Blender Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Blender Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\BLO_genfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\BLO_readfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\BLO_soundfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenloader\BLO_undofile.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/makesdna/DNA_makesdna.vcproj b/projectfiles_vc9/blender/makesdna/DNA_makesdna.vcproj new file mode 100644 index 00000000000..cb68fa41619 --- /dev/null +++ b/projectfiles_vc9/blender/makesdna/DNA_makesdna.vcproj @@ -0,0 +1,828 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="DNA_makesdna"
+ ProjectGUID="{E013786A-9575-4F34-81B2-33290357EE87}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\DNA_makesdna.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\mtdll\debug;..\..\..\..\build\msvc_9\libs\mtdll\debug"
+ IgnoreDefaultLibraryNames=" libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\debug\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE,WITH_VERSE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\DNA_makesdna.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\DNA_makesdna.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern;..\..\..\..\build\msvc_9\libs"
+ IgnoreDefaultLibraryNames="libc.lib"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\DNA_makesdna.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\DNA_makesdna.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\mtdll;..\..\..\..\build\msvc_9\libs\mtdll"
+ IgnoreDefaultLibraryNames=" libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;WITH_VERSE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\DNA_makesdna.pch"
+ ExpandAttributedSource="false"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\DNA_makesdna.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\debug;..\..\..\..\build\msvc_9\libs\debug"
+ IgnoreAllDefaultLibraries="false"
+ IgnoreDefaultLibraryNames="libc.lib, libcd.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\debug\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\blenplayer"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\DNA_makesdna.pch"
+ ExpandAttributedSource="false"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\DNA_makesdna.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern\debug;..\..\..\..\build\msvc_9\libs\debug"
+ IgnoreAllDefaultLibraries="false"
+ IgnoreDefaultLibraryNames="libc.lib, libcd.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\debug\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\makesdna\blenplayer"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\source\blender\makesdna\intern/DNA_makesdna.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\blenlib;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenkernel;..\..\..\..\lib\windows\pthreads\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\makesdna\DNA_makesdna.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\makesdna\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="libguardedalloc.lib BLI_blenlib.lib odbc32.lib odbccp32.lib"
+ OutputFile="..\..\..\source\blender\makesdna\intern\DNA_makesdna.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\build\msvc_9\libs\intern;..\..\..\..\build\msvc_9\libs"
+ IgnoreDefaultLibraryNames="libc.lib"
+ ProgramDatabaseFile="..\..\..\..\build\msvc_9\libs\DNA_makesdna.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ Description="Building DNA"
+ CommandLine="CD ..\..\..\source\blender\makesdna\intern\
DNA_makesdna.exe dna.c
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\intern\makesdna.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_action_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_actuator_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_armature_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_brush_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_camera_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_cloth_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_color_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_constraint_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_controller_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_curve_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_customdata_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_documentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_effect_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_fileglobal_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_gpencil_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_group_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_ID.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_image_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_ipo_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_key_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_lamp_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_lattice_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_listBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_material_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_mesh_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_meta_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_modifier_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_nla_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_node_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_object_fluidsim.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_object_force.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_object_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_oops_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_packedFile_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_particle_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_property_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_radio_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_scene_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_screen_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_script_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_scriptlink_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_sdna_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_sensor_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_sequence_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_sound_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_space_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_text_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_texture_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_userdef_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_vec_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_vfont_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_view2d_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_view3d_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_wave_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\DNA_world_types.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/nodes/nodes.vcproj b/projectfiles_vc9/blender/nodes/nodes.vcproj new file mode 100644 index 00000000000..d32ef98da2f --- /dev/null +++ b/projectfiles_vc9/blender/nodes/nodes.vcproj @@ -0,0 +1,713 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BL_nodes"
+ ProjectGUID="{4C3AB78A-52CA-4276-A041-39776E52D8C8}"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\python\include\python2.5;..\..\..\..\lib\windows\zlib\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;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FREETYPE2"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\nodes\debug\nodes.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\nodes\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\nodes\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\nodes\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_nodes.lib"
+ />
+ <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"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\zlib\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;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FREETYPE2"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="0"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\nodes\nodes.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\nodes\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\nodes\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\nodes\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_nodes.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\nodes\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\nodes\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\python\include\python2.5;..\..\..\..\lib\windows\zlib\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;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_FREETYPE2;WITH_OPENEXR"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\nodes\debug\nodes.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\nodes\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\nodes\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\nodes\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_nodes.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\imbuf"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\zlib\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;..\..\..\source\blender;..\..\..\source\blender\avi;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_FREETYPE2, WITH_OPENEXR"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="0"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\nodes\nodes.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\nodes\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\nodes\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\nodes\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_nodes.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\node_util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_util.c"
+ >
+ </File>
+ <Filter
+ Name="CMP_nodes"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_alphaOver.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_bilateralblur.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_blur.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_brightness.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_channelMatte.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_chromaMatte.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_colorSpill.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_composite.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_crop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_curves.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_defocus.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_diffMatte.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_dilate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_directionalblur.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_displace.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_filter.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_flip.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_gamma.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_glare.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_hueSatVal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_idMask.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_image.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_invert.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_lensdist.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_lummaMatte.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_mapUV.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_mapValue.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_math.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_mixrgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_normal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_normalize.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_outputFile.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_premulkey.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_rgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_rotate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_scale.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_sepcombHSVA.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_sepcombRGBA.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_sepcombYCCA.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_sepcombYUVA.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_setalpha.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_splitViewer.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_texture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_tonemap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_translate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_valToRgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_value.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_vecBlur.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_viewer.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_nodes\CMP_zcombine.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="SHD_nodes"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_camera.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_curves.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_dynamic.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_geom.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_hueSatVal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_invert.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_mapping.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_material.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_math.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_mixRgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_normal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_output.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_rgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_sepcombRGB.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_squeeze.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_texture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_valToRgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_value.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_nodes\SHD_vectMath.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="TEX_nodes"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_bricks.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_checker.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_curves.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_hueSatVal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_image.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_invert.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_math.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_mixRgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_output.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_proc.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_rotate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_texture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_translate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_valToRgb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_viewer.c"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\nodes\CMP_node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\SHD_node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\TEX_node.h"
+ >
+ </File>
+ <Filter
+ Name="intern"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\CMP_util.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\node_util.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\SHD_util.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_util.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/radiosity/BRA_radiosity.vcproj b/projectfiles_vc9/blender/radiosity/BRA_radiosity.vcproj new file mode 100644 index 00000000000..edde52b0a07 --- /dev/null +++ b/projectfiles_vc9/blender/radiosity/BRA_radiosity.vcproj @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BRA_radiosity"
+ ProjectGUID="{2AE0D2D9-6A7A-44DE-9EFF-99C9E3257B49}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\radiosity"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\radiosity"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\render\intern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\..\build\msvc_9\extern\glew\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\radiosity\BRA_radiosity.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\radiosity\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\radiosity\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\radiosity\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BRA_radiosity.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\radiosity\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\radiosity\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\render\intern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\..\build\msvc_9\extern\glew\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\radiosity\debug\BRA_radiosity.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\radiosity\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\radiosity\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\radiosity\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BRA_radiosity.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\raddisplay.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\radfactors.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\radio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\radnode.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\radpostprocess.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\radpreprocess.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\intern\source\radrender.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\extern\include\radio.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\radiosity\extern\include\radio_types.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/render/BRE_render.vcproj b/projectfiles_vc9/blender/render/BRE_render.vcproj new file mode 100644 index 00000000000..27b2163f20c --- /dev/null +++ b/projectfiles_vc9/blender/render/BRE_render.vcproj @@ -0,0 +1,368 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BRE_render"
+ ProjectGUID="{106AE171-0083-41D6-A949-20DB0E8DC251}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\render"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\render"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\sdl\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\yafray;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\render\intern\include;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_QUICKTIME;WITH_OPENEXR"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\render\BRE_render.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\render\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\render\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\render\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BRE_render.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\render\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\render\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\sdl\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\yafray;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\python;..\..\..\source\blender\blenkernel;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenloader;..\..\..\source\blender\makesdna;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\blender\render\intern\include;..\..\..\source\blender\render\extern\include;..\..\..\source\kernel;..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_QUICKTIME;WITH_OPENEXR;_USE_MATH_DEFINES"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\render\debug\BRE_render.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\render\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\render\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\render\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BRE_render.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\convertblender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\envmap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\gammaCorrectionTables.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\imagetexture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\initrender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\occlusion.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\pipeline.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\pixelblending.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\pixelshading.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\rayshade.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\raytrace.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\rendercore.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\renderdatabase.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\shadbuf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\shadeinput.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\shadeoutput.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\sss.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\strand.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\sunsky.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\texture.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\source\zbuf.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\edgeRender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\envmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\gammaCorrectionTables.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\initrender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\occlusion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\old_zbuffer_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\pixelblending.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\pixelblending_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\pixelshading.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\extern\include\RE_pipeline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\extern\include\RE_render_ext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\extern\include\RE_shader_ext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\rendercore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\rendercore_int.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\renderdatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\renderpipeline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\shadbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\shading.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\sss.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\strand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\sunsky.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\texture.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\vanillaRenderPipe_int.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\zbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\render\intern\include\zbuf_int.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/renderconverter/BRE_renderconverter.vcproj b/projectfiles_vc9/blender/renderconverter/BRE_renderconverter.vcproj new file mode 100644 index 00000000000..d4be79e1d46 --- /dev/null +++ b/projectfiles_vc9/blender/renderconverter/BRE_renderconverter.vcproj @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="BRE_renderconverter"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\renderconverter"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\renderconverter"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\misc;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\yafray;..\..\..\source\blender\radiosity\extern\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\renderconverter\BRE_renderconverter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\renderconverter\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\renderconverter\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\renderconverter\"
+ WarningLevel="2"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BRE_renderconverter.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\renderconverter\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\renderconverter\debug"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\misc;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\yafray;..\..\..\source\blender\radiosity\extern\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\renderconverter\debug\BRE_renderconverter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\renderconverter\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\renderconverter\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\renderconverter\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="3"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BRE_renderconverter.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/src/BL_src.vcproj b/projectfiles_vc9/blender/src/BL_src.vcproj new file mode 100644 index 00000000000..459bd9f1ed5 --- /dev/null +++ b/projectfiles_vc9/blender/src/BL_src.vcproj @@ -0,0 +1,1264 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BL_src"
+ ProjectGUID="{FB88301F-F725-401B-ACD7-D2ABBF333B71}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\src"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\src"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER=1;WITH_QUICKTIME;INTERNATIONAL;WITH_VERSE;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\src\BL_src.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\src\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\src\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\src\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BL_src.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\src\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\src\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\nodes;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER;WITH_QUICKTIME;INTERNATIONAL;WITH_VERSE;WITH_OPENEXR;WITH_DDS;WITH_BULLET = 1;WITH_FFMPEG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\src\debug\BL_src.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\src\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\src\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\src\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BL_src.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\src\autoarmature.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\B.blend.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\Bfont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\bfont.ttf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\blenderbuttons.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\booleanops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\booleanops_mesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\butspace.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\buttons_editing.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\buttons_logic.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\buttons_object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\buttons_scene.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\buttons_script.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\buttons_shading.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\cmap.tga.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\cmovie.tga.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\cursors.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\makesdna\intern\dna.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawaction.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawarmature.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawdeps.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawgpencil.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawimage.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawimasel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawipo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawmesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawnla.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawnode.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawoops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawscene.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawscript.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawseq.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawsound.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawtext.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawtime.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\drawview.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\edit.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editaction.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editaction_gpencil.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editarmature.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editconstraint.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editcurve.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editdeform.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editface.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editfont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editgroup.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editimasel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editipo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editipo_lib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editipo_mods.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editkey.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editlattice.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmball.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmesh_add.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmesh_lib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmesh_loop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmesh_mods.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmesh_tools.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editmode_undo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editnla.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editnode.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editoops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editparticle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editscreen.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editseq.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editsima.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editsound.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\edittime.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\editview.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\eventdebug.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\filelist.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\filesel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\fluidsim.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\fsmenu.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\ghostwinlay.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\glutil.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\gpencil.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\hddaudio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_action.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_buttonswin.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_filesel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_image.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_imasel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_info.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_ipo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_nla.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_oops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_script.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_seq.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_sound.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_text.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_time.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\header_view3d.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\headerbuttons.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\imagepaint.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\imasel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\interface.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\interface_draw.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\interface_icons.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\interface_panel.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\keyframing.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\keyval.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\language.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\lorem.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\mainqueue.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\meshlaplacian.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\meshtools.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\multires.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\mywindow.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\oops.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\outliner.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\parametrizer.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\playanim.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\blenpluginapi\intern\pluginapi.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\poselib.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\poseobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\preview.blend.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\previewrender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\prvicons.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\radialcontrol.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\reeb.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\renderwin.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\resources.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\retopo.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\scrarea.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\screendump.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\sculptmode-stroke.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\sculptmode.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\seqaudio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\seqeffects.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\seqscopes.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\sequence.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\space.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\spacetypes.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\splash.jpg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\swapbuffers.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\toets.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\toolbox.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_constraints.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_conversions.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_generics.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_manipulator.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_ndofinput.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_numinput.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_orientations.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\transform_snap.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\unwrapper.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\usiblender.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\verse_common.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\verse_image.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\verse_mesh.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\verse_object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\view.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\vpaint.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\writeavicodec.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\writeimage.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\writemovie.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_drawaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_drawmesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_drawobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_editcurve.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_editface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_editmball.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_editobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_gpencil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_imagepaint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_sculptmode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_unwrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BDR_vpaint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_butspace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_cursors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawgpencil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawimage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawoops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawscene.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawscript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawseq.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_drawtext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editarmature.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editconstraint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editdeform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editfont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editgroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editkey.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editlattice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editmesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editmode_undo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editnla.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editoops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editparticle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editsca.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editseq.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editsima.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editsound.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_editview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_filelist.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_fsmenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_gl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_glutil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_graphics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_imasel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_interface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_interface_icons.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_keyframing.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_keyval.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_language.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_mainqueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_meshlaplacian.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_meshtools.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_mywindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_oops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_outliner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_poseobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_previewrender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_radialcontrol.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_renderwin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_resources.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_retopo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_scrarea.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_screen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_space.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_spacetypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_tbcallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_toets.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_toolbox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_transform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_usiblender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_writeavicodec.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_writeimage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BIF_writemovie.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\blendef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BPI_script.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_drawimasel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_drawipo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_drawnla.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_drawoops.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_drawview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_edit.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_editipo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_editipo_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_editnla_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_filesel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_headerbuttons.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_seqaudio.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_seqeffects.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_seqscopes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_sequence.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_time.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_trans_types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\BSE_view.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\butspace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\datatoc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\editmesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\interface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\multires.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\mydevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\nla.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\parametrizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\parametrizer_intern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\playanim_ext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\reeb.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\include\transform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\src\winlay.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/blender/yafray/BRE_yafray.vcproj b/projectfiles_vc9/blender/yafray/BRE_yafray.vcproj new file mode 100644 index 00000000000..92e1bd2595a --- /dev/null +++ b/projectfiles_vc9/blender/yafray/BRE_yafray.vcproj @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="BRE_yafray"
+ ProjectGUID="{9991A3C3-83FE-4AFE-9E18-9D01CB57E879}"
+ RootNamespace="BRE_yafray"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\yafray\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\yafray\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\render\intern\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\yafray\debug\BRE_yafray.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\yafray\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\yafray\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\yafray\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\BRE_yafray.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\blender\yafray"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\blender\yafray"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\renderconverter;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\render\intern\include"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\blender\yafray\BRE_yafray.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\blender\yafray\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\blender\yafray\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\blender\yafray\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1043"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\BRE_yafray.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\export_File.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\export_Plugin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\yafexternal.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\yafray_Render.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\export_File.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\export_Plugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\yafexternal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\YafRay_Api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\blender\yafray\intern\yafray_Render.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj b/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj new file mode 100644 index 00000000000..64f6b92ef29 --- /dev/null +++ b/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj @@ -0,0 +1,247 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="KX_blenderhook"
+ ProjectGUID="{8154A59A-CAED-403D-AB94-BC4E7C032666}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\python2.5;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="WIN32;_LIB;_DEBUG;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\debug\KX_blenderhook.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\KX_blenderhook.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\blenderhook"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\blenderhook"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\python2.5;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\KX_blenderhook.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\blenderhook\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\KX_blenderhook.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\BL_KetsjiEmbedStart.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderCanvas.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderGL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderInputDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderKeyboardDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderMouseDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderRenderTools.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderSystem.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderCanvas.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderGL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderInputDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderKeyboardDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderMouseDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderRenderTools.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\BlenderRoutines\KX_BlenderSystem.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/converter/KX_converter.vcproj b/projectfiles_vc9/gameengine/converter/KX_converter.vcproj new file mode 100644 index 00000000000..53a628ed5ee --- /dev/null +++ b/projectfiles_vc9/gameengine/converter/KX_converter.vcproj @@ -0,0 +1,623 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="KX_converter"
+ ProjectGUID="{F90BD995-FFA4-4B18-81E8-FA4322C939E8}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\solid\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\debug\KX_converter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\KX_converter.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\solid\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\converter\KX_converter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\converter\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\converter\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\converter\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\KX_converter.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\solid\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\KX_converter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\KX_converter.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\solid\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\KX_converter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\converter\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\KX_converter.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\solid\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\KX_converter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\converter\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\KX_converter.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\converter\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\solid\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\converter\KX_converter.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\converter\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\converter\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\converter\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\KX_converter.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ActionActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ArmatureObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_BlenderDataConversion.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_DeformableGameObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_MeshDeformer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ShapeActionActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ShapeDeformer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_SkinDeformer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_SkinMeshObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BlenderWorldInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_BlenderScalarInterpolator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_BlenderSceneConverter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertActuators.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertControllers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertProperties.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertSensors.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_IpoConvert.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ActionActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ArmatureObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_BlenderDataConversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_DeformableGameObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_MeshDeformer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ShapeActionActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_ShapeDeformer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_SkinDeformer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BL_SkinMeshObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\BlenderWorldInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_BlenderScalarInterpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_BlenderSceneConverter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertActuators.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertControllers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertProperties.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_ConvertSensors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Converter\KX_IpoConvert.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/expression/EXP_expressions.vcproj b/projectfiles_vc9/gameengine/expression/EXP_expressions.vcproj new file mode 100644 index 00000000000..436a007dffb --- /dev/null +++ b/projectfiles_vc9/gameengine/expression/EXP_expressions.vcproj @@ -0,0 +1,640 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="EXP_expressions"
+ ProjectGUID="{EADC3C5A-6C51-4F03-8038-1553E7D7F740}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\EXP_expressions.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\EXP_expressions.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="WIN32,_LIB,EXP_PYTHON_EMBEDDING,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\debug\EXP_expressions.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\EXP_expressions.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,EXP_PYTHON_EMBEDDING"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\EXP_expressions.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\expressions\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\EXP_expressions.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,EXP_PYTHON_EMBEDDING"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\EXP_expressions.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\expressions\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\expressions\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\EXP_expressions.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\EXP_expressions.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\expressions\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\EXP_expressions.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\expressions\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,EXP_PYTHON_EMBEDDING"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\EXP_expressions.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\expressions\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\expressions\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\expressions\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\EXP_expressions.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\BoolValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\ConstExpr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\EmptyValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\ErrorValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\EXP_C-Api.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Expression.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\FloatValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\IdentifierExpr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\IfExpr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\InputParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\IntValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\KX_HashedPtr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\ListValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Operator1Expr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Operator2Expr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\PyObjectPlus.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\StringValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Value.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\VectorValue.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\BoolValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\ConstExpr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\EmptyValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\ErrorValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\EXP_C-Api.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Expression.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\FloatValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\IdentifierExpr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\IfExpr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\InputParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\IntValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\KX_HashedPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\ListValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Operator1Expr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Operator2Expr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\PyObjectPlus.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\StringValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\Value.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\VectorValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Expressions\VoidValue.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/gamelogic/SCA_GameLogic.vcproj b/projectfiles_vc9/gameengine/gamelogic/SCA_GameLogic.vcproj new file mode 100644 index 00000000000..e350db5dad8 --- /dev/null +++ b/projectfiles_vc9/gameengine/gamelogic/SCA_GameLogic.vcproj @@ -0,0 +1,800 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="SCA_GameLogic"
+ ProjectGUID="{32CC75E2-EE85-45E6-8E3D-513F58464F43}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Rasterizer;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\SCA_GameLogic.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\SCA_GameLogic.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Rasterizer;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,EXP_PYTHON_EMBEDDING"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\SCA_GameLogic.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\SCA_GameLogic.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Rasterizer;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,EXP_PYTHON_EMBEDDING"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\SCA_GameLogic.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\SCA_GameLogic.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Rasterizer;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="WIN32,_LIB,EXP_PYTHON_EMBEDDING,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\debug\SCA_GameLogic.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\SCA_GameLogic.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Rasterizer;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\SCA_GameLogic.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\SCA_GameLogic.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Rasterizer;..\..\..\source\blender\makesdna"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB,EXP_PYTHON_EMBEDDING"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\SCA_GameLogic.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\SCA_GameLogic.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_2DFilterActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ActuatorEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ActuatorSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_AlwaysEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_AlwaysSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ANDController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_DelaySensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_EventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ExpressionController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IInputDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ILogicBrick.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IScene.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ISensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\Joystick\SCA_Joystick.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\Joystick\SCA_JoystickEvents.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_JoystickManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_JoystickSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_KeyboardManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_KeyboardSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_LogicManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_MouseManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_MouseSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_NANDController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_NORController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ORController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PropertyActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PropertyEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PropertySensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PythonController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomNumberGenerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_TimeEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_XNORController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_XORController.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_2DFilterActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ActuatorEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ActuatorSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_AlwaysEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_AlwaysSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ANDController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_DelaySensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_EventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ExpressionController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IInputDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ILogicBrick.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_IScene.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ISensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\Joystick\SCA_Joystick.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\Joystick\SCA_JoystickDefines.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_JoystickManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\Joystick\SCA_JoystickPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_JoystickSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_KeyboardManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_KeyboardSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_LogicManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_MouseManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_MouseSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_NANDController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_NORController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_ORController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PropertyActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PropertyEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PropertySensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_PythonController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomNumberGenerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_RandomSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_TimeEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_XNORController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\GameLogic\SCA_XORController.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/gameplayer/axctl/GP_axctl.vcproj b/projectfiles_vc9/gameengine/gameplayer/axctl/GP_axctl.vcproj new file mode 100644 index 00000000000..6f189714a42 --- /dev/null +++ b/projectfiles_vc9/gameengine/gameplayer/axctl/GP_axctl.vcproj @@ -0,0 +1,429 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="GP_axctl"
+ ProjectGUID="{DF25E6F2-780C-438B-8AAD-D10CF8B3820A}"
+ RootNamespace="GP_axctl"
+ Keyword="MFCProj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\bin\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\mtdll_debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="2"
+ UseOfATL="2"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ AdditionalIncludeDirectories=""
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ GenerateTypeLibrary="true"
+ TypeLibraryName="BlenderPlayer.tlb"
+ OutputDirectory="..\..\..\..\source\gameengine\GamePlayer\ActiveX"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\include;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\render\extern\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\network;..\..\..\..\source\gameengine\rasterizer;..\..\..\..\source\gameengine\converter;..\..\..\..\source\gameengine\gamelogic;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\scenegraph;..\..\..\..\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;..\..\..\..\source\gameengine\GamePlayer\common\windows;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include"
+ PreprocessorDefinitions="_DEBUG, _MT, _DLL,WIN32"
+ IgnoreStandardIncludePath="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\mtdll_debug/GP_axctl.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\mtdll_debug/"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\mtdll_debug/"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\mtdll_debug/"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_AFXDLL;_DEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\mtdll_debug"
+ IgnoreStandardIncludePath="false"
+ ShowProgress="false"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ IgnoreImportLibrary="false"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="openal_static.lib libmoto.lib libguardedalloc.lib libbmfont.lib libstring.lib opengl32.lib glu32.lib glaux.lib dxguid.lib ole32.lib vfw32.lib libblenkey.lib libeay32.lib libz.lib libpng.lib libjpeg.lib odelib.lib libSoundSystem.lib libOpenALSoundSystem.lib libDummySoundSystem.lib SDL.lib qtmlClient.lib freetype2ST.lib libbsp.lib libopennl.lib libghost.lib ftgl_static.lib libiksolver.lib libdecimation.lib gnu_gettext.lib ws2_32.lib solid.lib Bullet.lib python25_d.lib pthreadVC2.lib"
+ ShowProgress="0"
+ OutputFile="..\..\..\..\bin\debug\Blender3DPlugin.ocx"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\..\lib\windows\zlib\lib;..\..\..\..\..\lib\windows\sdl\lib;..\..\..\..\..\lib\windows\png\lib;..\..\..\..\..\lib\windows\jpeg\lib;..\..\..\..\..\lib\windows\python\lib;..\..\..\..\..\lib\windows\gettext\lib;..\..\..\..\..\lib\windows\freetype\lib;..\..\..\..\..\lib\windows\openal\lib;..\..\..\..\..\lib\windows\ode\lib\mt_dll;..\..\..\..\..\lib\windows\openssl\lib\mt_dll;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug;..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug"
+ IgnoreAllDefaultLibraries="false"
+ IgnoreDefaultLibraryNames="libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib"
+ ModuleDefinitionFile="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.def"
+ TypeLibraryFile=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\debug\Blender3DPlugin.pdb"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary="..\..\..\..\..\build\msvc_9\libs\debug\Blender3DPlugin.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="ECHO Moving temporary files
MOVE /Y ..\..\..\..\bin\debug\Blender3DPlugin.ilk ..\..\..\..\..\build\msvc_9\libs\debug
ECHO Done
"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\bin"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="2"
+ UseOfATL="2"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName="BlenderPlayer.tlb"
+ OutputDirectory="..\..\..\..\source\gameengine\GamePlayer\ActiveX"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\iksolver\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\include;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\render\extern\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\kernel\gen_messaging;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\network;..\..\..\..\source\gameengine\rasterizer;..\..\..\..\source\gameengine\converter;..\..\..\..\source\gameengine\gamelogic;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\scenegraph;..\..\..\..\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;..\..\..\..\source\gameengine\GamePlayer\common\windows;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\GP_axctl.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\axctl\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_AFXDLL;NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="openal_static.lib libmoto.lib libguardedalloc.lib libbmfont.lib libstring.lib opengl32.lib glu32.lib glaux.lib dxguid.lib ole32.lib vfw32.lib libblenkey.lib libeay32.lib libz.lib libpng.lib libjpeg.lib odelib.lib libSoundSystem.lib libOpenALSoundSystem.lib libDummySoundSystem.lib SDL.lib qtmlClient.lib freetype2ST.lib libbsp.lib libopennl.lib libghost.lib ftgl_static.lib libiksolver.lib libdecimation.lib gnu_gettext.lib ws2_32.lib solid.lib Bullet.lib python25_d.lib pthreadVC2.lib"
+ OutputFile="..\..\..\..\bin\Blender3DPlugin.ocx"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\..\..\..\lib\windows\zlib\lib;..\..\..\..\..\lib\windows\sdl\lib;..\..\..\..\..\lib\windows\png\lib;..\..\..\..\..\lib\windows\jpeg\lib;..\..\..\..\..\lib\windows\python\lib;..\..\..\..\..\lib\windows\gettext\lib;..\..\..\..\..\lib\windows\freetype\lib;..\..\..\..\..\lib\windows\openal\lib;..\..\..\..\..\lib\windows\ode\lib\mt_dll;..\..\..\..\..\lib\windows\openssl\lib\mt_dll;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug;..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug"
+ IgnoreDefaultLibraryNames="libc.lib;libcmt.lib;libcd.lib;libcmtd.lib;msvcrtd.lib"
+ ModuleDefinitionFile="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.def"
+ ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\Blender3DPlugin.pdb"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary="..\..\..\..\..\build\msvc_9\libs\Blender3DPlugin.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderDataPathProperty.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.def"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.odl"
+ >
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="1"
+ HeaderFileName="BlenderPlayer_h.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="1"
+ HeaderFileName="BlenderPlayer_h.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.rc"
+ >
+ <FileConfiguration
+ Name="3D Plugin Debug|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="\blenderdev\blender.test2\source\gameengine\GamePlayer\ActiveX;$(OUTDIR);$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="3D Plugin Release|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="\blenderdev\blender.test2\source\gameengine\GamePlayer\ActiveX;$(OUTDIR);$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayerCtl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayerPpg.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\CControlRefresher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\makesdna\intern\dna.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\MemoryResource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\RawImageRsrc.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\SafeControl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\StdAfx.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenkernel\bad_level_call_stubs\stubs.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderDataPathProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayerCtl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayerPpg.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\CControlRefresher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\MemoryResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\RawImageRsrc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\Resource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\SafeControl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\StdAfx.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.ico"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayerCtl.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\splash.bmp"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\ActiveXandNetscapeTest.html"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayer.html"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\BlenderPlayerDuo.html"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\load.blend"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\logo_blender.raw"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\logo_blender3d.raw"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\logo_nan.raw"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\ReadMe.txt"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ActiveX\ReadMeBuilding.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/gameplayer/common/GP_common.vcproj b/projectfiles_vc9/gameengine/gameplayer/common/GP_common.vcproj new file mode 100644 index 00000000000..69845ef8069 --- /dev/null +++ b/projectfiles_vc9/gameengine/gameplayer/common/GP_common.vcproj @@ -0,0 +1,440 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="GP_common"
+ ProjectGUID="{D8ABD6A5-1B36-4D62-934E-B5C6801130B0}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\lib\windows\zlib\include;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\render\extern\include;..\..\..\..\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\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\GamePlayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\soundsystem\snd_dummy;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\Physics\Sumo;..\..\..\..\source\gameengine\Physics\common;..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\GP_common.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\GP_common.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\render\extern\include;..\..\..\..\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\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\GamePlayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\soundsystem\snd_dummy;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\Physics\Sumo;..\..\..\..\source\gameengine\Physics\common;..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\debug\GP_common.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\GP_common.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\zlib\include;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\render\extern\include;..\..\..\..\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\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\GamePlayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\soundsystem\snd_dummy;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\Physics\Sumo;..\..\..\..\source\gameengine\Physics\common;..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\debug\GP_common.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\GP_common.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\lib\windows\zlib\include;..\..\..\..\..\lib\windows\png\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\..\build\msvc_9\intern\openal\include;..\..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\..\build\msvc_9\intern\SoundSystem\include;..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\source\blender\imbuf;..\..\..\..\source\blender\blenlib;..\..\..\..\source\blender\blenkernel;..\..\..\..\source\blender\blenloader;..\..\..\..\source\blender\makesdna;..\..\..\..\source\blender\render\extern\include;..\..\..\..\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\soundsystem;..\..\..\..\source\gameengine\ketsji\kxnetwork;..\..\..\..\source\gameengine\GamePlayer\common;..\..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\source\gameengine\soundsystem\snd_dummy;..\..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\..\source\gameengine\Physics\Sumo;..\..\..\..\source\gameengine\Physics\common;..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\..\source\sumo\include;..\..\..\..\source\sumo\fuzzics\include;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\GP_common.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\common\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\GP_common.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\bmfont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_Canvas.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_Engine.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_KeyboardDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_MouseDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_PolygonMaterial.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RawImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RawLoadDotBlendArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RawLogoArrays.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RenderTools.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_System.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_Canvas.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_Engine.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_KeyboardDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_System.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_Canvas.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_Engine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_KeyboardDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_MouseDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_PolygonMaterial.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_RenderTools.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\GPC_System.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_Canvas.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_Engine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_KeyboardDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\windows\GPW_System.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\common\Makefile"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/gameplayer/ghost/GP_ghost.vcproj b/projectfiles_vc9/gameengine/gameplayer/ghost/GP_ghost.vcproj new file mode 100644 index 00000000000..43e692e9bad --- /dev/null +++ b/projectfiles_vc9/gameengine/gameplayer/ghost/GP_ghost.vcproj @@ -0,0 +1,297 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="blenderplayer"
+ ProjectGUID="{3D310C60-6771-48E4-BCCA-D2718CDED898}"
+ RootNamespace="GP_ghost"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\bin\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\..\obj\windows\debug/GP_ghost.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\python2.5;..\..\..\..\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"
+ PreprocessorDefinitions="WIN32,_CONSOLE,dSINGLE, _DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\debug\GP_ghost.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386
"
+ AdditionalDependencies="odelib.lib fmodvc.lib libbmfont.lib ws2_32.lib vfw32.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib openal_static.lib libjpeg.lib dxguid.lib libeay32.lib libpng.lib libz.lib qtmlClient.lib SDL.lib freetype2ST.lib python25_d.lib pthreadVSE2.lib pthreadVC2.lib Half.lib Iex.lib IlmImf.lib IlmThread.lib Imath.lib avcodec-51.lib avformat-52.lib avutil-49.lib swscale-0.lib"
+ ShowProgress="0"
+ OutputFile="..\..\..\..\bin\debug\blenderplayer.exe"
+ LinkIncremental="2"
+ 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\lib25_vs2008;..\..\..\..\..\lib\windows\openssl\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\build\msvc_9\libs\intern\debug;..\..\..\..\..\build\msvc_9\libs\extern\debug;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\ffmpeg\lib"
+ IgnoreDefaultLibraryNames="libc.lib;libcmt.lib;msvcrt.lib;libcd.lib;msvcrtd.lib"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\debug\blenderplayer.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ 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\lib25_vs2003\python25_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
"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\bin"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\..\..\..\..\obj\windows/GP_ghost.tlb"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\python2.5;..\..\..\..\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"
+ PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\GP_ghost.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\gameplayer\ghost\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/MACHINE:I386"
+ AdditionalDependencies="odelib.lib fmodvc.lib libbmfont.lib ws2_32.lib vfw32.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib openal_static.lib libjpeg.lib dxguid.lib libeay32.lib libpng.lib libz.lib qtmlClient.lib SDL.lib freetype2ST.lib python25.lib pthreadVSE2.lib pthreadVC2.lib Half.lib Iex.lib IlmImf.lib IlmThread.lib Imath.lib avcodec-51.lib avformat-52.lib avutil-49.lib swscale-0.lib"
+ OutputFile="..\..\..\..\bin\blenderplayer.exe"
+ LinkIncremental="1"
+ 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\lib25_vs2008;..\..\..\..\..\lib\windows\openssl\lib;..\..\..\..\..\lib\windows\QTDevWin\Libraries;..\..\..\..\..\build\msvc_9\libs\intern;..\..\..\..\..\build\msvc_9\libs\extern;..\..\..\..\..\lib\windows\pthreads\lib;..\..\..\..\..\lib\windows\ffmpeg\lib"
+ IgnoreDefaultLibraryNames="libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib"
+ ProgramDatabaseFile="..\..\..\..\..\build\msvc_9\libs\blenderplayer.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ 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\lib25_vs2003\python25.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
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\blender\makesdna\intern\dna.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_Application.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_Canvas.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_ghost.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_KeyboardDevice.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_System.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\blender\blenkernel\bad_level_call_stubs\stubs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\icons\winplayer.rc"
+ >
+ <FileConfiguration
+ Name="BlenderPlayer Debug|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="\blenderdev\blender.test2\source\icons;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="BlenderPlayer Release|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="\blenderdev\blender.test2\source\icons;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_Application.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_Canvas.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_KeyboardDevice.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\GPG_System.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ <File
+ RelativePath="..\..\..\..\source\icons\winplayer.ico"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\GamePlayer\ghost\Makefile"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/ketsji/KX_ketsji.vcproj b/projectfiles_vc9/gameengine/ketsji/KX_ketsji.vcproj new file mode 100644 index 00000000000..62a0d7a7bfa --- /dev/null +++ b/projectfiles_vc9/gameengine/ketsji/KX_ketsji.vcproj @@ -0,0 +1,1073 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="KX_ketsji"
+ ProjectGUID="{E645CC32-4823-463E-82F0-46ADDE664018}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\python2.5;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\KX_ketsji.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\KX_ketsji.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\python2.5;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\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"
+ PreprocessorDefinitions="WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\debug\KX_ketsji.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\ketsji\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\KX_ketsji.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\python2.5;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\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"
+ PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\KX_ketsji.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\KX_ketsji.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\python2.5;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\KX_ketsji.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\ketsji\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\ketsji\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\KX_ketsji.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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\python2.5;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\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"
+ PreprocessorDefinitions="JANCODEPANCO;WIN32;_LIB;EXP_PYTHON_EMBEDDING;_DEBUG;USE_SUMO_SOLID;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\KX_ketsji.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\ketsji\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\KX_ketsji.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\ketsji\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\python2.5;..\..\..\..\lib\windows\sdl\include;..\..\..\source\blender\imbuf;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\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"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\KX_ketsji.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\ketsji\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\ketsji\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\ketsji\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\KX_ketsji.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_BlenderShader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_Material.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_Shader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_Texture.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_BlenderMaterial.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_BulletPhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_Camera.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ConstraintWrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ConvertPhysicsObjects.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_EmptyObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_GameObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IPhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_KetsjiEngine.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_Light.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MaterialIpoController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MeshProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MotionState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_OdePhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PhysicsObjectWrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PolygonMaterial.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PolyProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PyConstraintBinding.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PyMath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PythonInit.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RayCast.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RayEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_Scene.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SG_NodeRelationships.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SumoPhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TimeCategoryLogger.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TimeLogger.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TouchEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_VehicleWrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_VertexProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_WorldInfo.cpp"
+ >
+ </File>
+ <Filter
+ Name="ActuatorsImp"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_CameraActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_CDActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ConstraintActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_GameActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IpoActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ObjectActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ParentActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_AddObjectActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_DynamicActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_EndObjectActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_ReplaceMeshActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SceneActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SoundActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_StateActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TrackToActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_VisibilityActuator.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="SG_ControllersImp"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_CameraIpoSGController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IPO_SGController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_LightIpoSGController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ObColorIpoSGController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SG_BoneParentNodeRelationship.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_WorldIpoController.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="SensorsImp"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MouseFocusSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_NearSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RadarSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RaySensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TouchSensor.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="IposImp"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_OrientationInterpolator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PositionInterpolator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ScalarInterpolator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ScalingInterpolator.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_BlenderShader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_Material.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_Shader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\BL_Texture.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_BlenderMaterial.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_BulletPhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_Camera.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ConstraintWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ConvertPhysicsObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_EmptyObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_GameObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IPhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IPOTransform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ISceneConverter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ISystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_KetsjiEngine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_Light.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MaterialIpoController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MeshProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MotionState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_OdePhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PhysicsEngineEnums.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PhysicsObjectWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PolygonMaterial.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PolyProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PyConstraintBinding.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PyMath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PythonInit.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RayCast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RayEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_Scene.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SG_NodeRelationships.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SumoPhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TimeCategoryLogger.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TimeLogger.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TouchEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_VehicleWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_VertexProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_WorldInfo.h"
+ >
+ </File>
+ <Filter
+ Name="Actuators"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_CameraActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_CDActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ConstraintActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_GameActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IpoActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ObjectActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ParentActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_AddObjectActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_DynamicActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_EndObjectActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SCA_ReplaceMeshActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SceneActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SoundActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_StateActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TrackToActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_VisibilityActuator.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="SG_Controllers"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_CameraIpoSGController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IPO_SGController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_LightIpoSGController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ObColorIpoSGController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_SG_BoneParentNodeRelationship.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_WorldIpoController.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Sensors"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_MouseFocusSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_NearSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RadarSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_RaySensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_TouchSensor.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Ipos"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IInterpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_IScalarInterpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_OrientationInterpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_PositionInterpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ScalarInterpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Ketsji\KX_ScalingInterpolator.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/ketsji/network/KX_network.vcproj b/projectfiles_vc9/gameengine/ketsji/network/KX_network.vcproj new file mode 100644 index 00000000000..a3f43b01763 --- /dev/null +++ b/projectfiles_vc9/gameengine/ketsji/network/KX_network.vcproj @@ -0,0 +1,524 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="KX_network"
+ ProjectGUID="{6E24BF09-9653-4166-A871-F65CC9E98A9B}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Network;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\GameLogic"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\KX_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\KX_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Network;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\GameLogic"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\KX_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\KX_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Network;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\GameLogic"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\KX_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\KX_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Network;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\GameLogic"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\debug\KX_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\KX_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Network;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\GameLogic"
+ PreprocessorDefinitions="WIN32,_LIB,_DEBUG"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\KX_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\KX_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\ketsji;..\..\..\..\source\gameengine\Network;..\..\..\..\source\gameengine\expressions;..\..\..\..\source\gameengine\GameLogic"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\KX_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\ketsji\network\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\KX_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkEventManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkMessageActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkMessageSensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkObjectActuator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkObjectSensor.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkEventManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkMessageActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkMessageSensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkObjectActuator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Ketsji\KXNetwork\KX_NetworkObjectSensor.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/network/loopbacknetwork/NG_loopbacknetwork.vcproj b/projectfiles_vc9/gameengine/network/loopbacknetwork/NG_loopbacknetwork.vcproj new file mode 100644 index 00000000000..bbb8cc5ec25 --- /dev/null +++ b/projectfiles_vc9/gameengine/network/loopbacknetwork/NG_loopbacknetwork.vcproj @@ -0,0 +1,492 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="NG_loopbacknetwork"
+ ProjectGUID="{6B801390-5F95-4F07-81A7-97FBA046AACC}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Network"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\NG_loopbacknetwork.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\NG_loopbacknetwork.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Network"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\NG_loopbacknetwork.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\NG_loopbacknetwork.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Network"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\NG_loopbacknetwork.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\NG_loopbacknetwork.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Network"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\debug\NG_loopbacknetwork.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\NG_loopbacknetwork.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Network"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\NG_loopbacknetwork.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\NG_loopbacknetwork.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system;..\..\..\..\source\gameengine\Network"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\NG_loopbacknetwork.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\loopbacknetwork\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\NG_loopbacknetwork.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\LoopBackNetwork\NG_LoopBackNetworkDeviceInterface.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\LoopBackNetwork\NG_LoopBackNetworkDeviceInterface.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/network/network/NG_network.vcproj b/projectfiles_vc9/gameengine/network/network/NG_network.vcproj new file mode 100644 index 00000000000..a9e0ce1acd2 --- /dev/null +++ b/projectfiles_vc9/gameengine/network/network/NG_network.vcproj @@ -0,0 +1,512 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="NG_network"
+ ProjectGUID="{0A73055E-4DED-40CD-9F72-9093ED3EEC7E}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\debug\NG_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\NG_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\NG_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\NG_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\NG_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\NG_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\NG_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\NG_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\NG_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\NG_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\NG_network.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\network\network\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\NG_network.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkMessage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkScene.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkDeviceInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkMessage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Network\NG_NetworkScene.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Bullet/PHY_Bullet.vcproj b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Bullet/PHY_Bullet.vcproj new file mode 100644 index 00000000000..9d55727e90f --- /dev/null +++ b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Bullet/PHY_Bullet.vcproj @@ -0,0 +1,468 @@ +<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="PHY_Bullet"
+ ProjectGUID="{E90C7BC2-CF30-4A60-A8F2-0050D592E358}"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Bullet;..\..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\$(TargetName).pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Bullet.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Bullet;..\..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\$(TargetName).pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Bullet.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Bullet;..\..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\$(TargetName).pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Bullet.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Bullet;..\..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\$(TargetName).pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\debug\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Bullet.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Bullet;..\..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\debug\$(TargetName).pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\debug\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\debug\PHY_Bullet.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\extern\bullet\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Bullet;..\..\..\..\..\source\gameengine\Rasterizer;..\..\..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\$(TargetName).pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\bullet\mtdll\"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\PHY_Bullet.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Bullet\CcdPhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Bullet\CcdPhysicsEnvironment.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Bullet\CcdPhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Bullet\CcdPhysicsEnvironment.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Dummy/PHY_Dummy.vcproj b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Dummy/PHY_Dummy.vcproj new file mode 100644 index 00000000000..5c0159d5aa9 --- /dev/null +++ b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Dummy/PHY_Dummy.vcproj @@ -0,0 +1,489 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="PHY_Dummy"
+ ProjectGUID="{3648FB9A-C36F-43AB-AED0-1F1361E67FC7}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\PHY_Dummy.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\PHY_Dummy.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\debug\PHY_Dummy.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\debug\PHY_Dummy.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\PHY_Dummy.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Dummy.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\PHY_Dummy.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Dummy.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\PHY_Dummy.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Dummy.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\PHY_Dummy.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\dummy\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Dummy.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Dummy\DummyPhysicsEnvironment.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Dummy\DummyPhysicsEnvironment.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Ode/PHY_Ode.vcproj b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Ode/PHY_Ode.vcproj new file mode 100644 index 00000000000..e9773ecf683 --- /dev/null +++ b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Ode/PHY_Ode.vcproj @@ -0,0 +1,348 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="PHY_Ode"
+ ProjectGUID="{EC405272-28E3-4840-AAC2-53D6DE4E163D}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\ode\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\debug\PHY_Ode.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\debug\PHY_Ode.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\lib\windows\ode\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\PHY_Ode.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\PHY_Ode.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\ode\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\debug\PHY_Ode.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Ode.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\lib\windows\ode\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\source\gameengine\physics\common"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\PHY_Ode.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\ode\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Ode.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\BlOde\OdePhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\BlOde\OdePhysicsEnvironment.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\BlOde\OdePhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\BlOde\OdePhysicsEnvironment.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Physics.vcproj b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Physics.vcproj new file mode 100644 index 00000000000..582aed500ac --- /dev/null +++ b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Physics.vcproj @@ -0,0 +1,521 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="PHY_Physics"
+ ProjectGUID="{E109F1A5-FDD3-4F56-A1C4-96867EEA4C5B}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\PHY_Physics.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\PHY_Physics.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\PHY_Physics.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\physics\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\physics\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\PHY_Physics.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\PHY_Physics.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\PHY_Physics.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\debug\PHY_Physics.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\physics\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\PHY_Physics.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\PHY_Physics.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\physics\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\PHY_Physics.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\physics\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\PHY_Physics.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\physics\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\physics\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\physics\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\PHY_Physics.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IMotionState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IPhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IPhysicsEnvironment.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IVehicle.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_DynamicTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IMotionState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IPhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IPhysicsEnvironment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_IVehicle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Physics\common\PHY_Pro.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Sumo/PHY_Sumo.vcproj b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Sumo/PHY_Sumo.vcproj new file mode 100644 index 00000000000..793c8fe554b --- /dev/null +++ b/projectfiles_vc9/gameengine/physics/PHY_Physics/PHY_Sumo/PHY_Sumo.vcproj @@ -0,0 +1,544 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="PHY_Sumo"
+ ProjectGUID="{9625642D-6F20-4FB6-A089-BE7441B223E3}"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Sumo\include;..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\PHY_Sumo.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Sumo.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ OmitFramePointers="true"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Sumo\include;..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\PHY_Sumo.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Sumo.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ OmitFramePointers="true"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Sumo\include;..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\PHY_Sumo.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\PHY_Sumo.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Sumo\include;..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\PHY_Sumo.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\debug\PHY_Sumo.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ OmitFramePointers="true"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Sumo\include;..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_SUMO_SOLID"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\PHY_Sumo.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\PHY_Sumo.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\..\source\gameengine\Physics\common;..\..\..\..\..\source\gameengine\Physics\Sumo\include;..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\debug\PHY_Sumo.pch"
+ AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\source\gameengine\physics\sumo\mtdll\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\..\build\msvc_9\libs\mtdll\debug\PHY_Sumo.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\SumoPHYCallbackBridge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\SumoPhysicsController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\SumoPhysicsEnvironment.cpp"
+ >
+ </File>
+ <Filter
+ Name="fuzzics"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\src\SM_FhObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\src\SM_MotionState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\src\SM_Object.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\src\SM_Scene.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\SumoPHYCallbackBridge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\SumoPhysicsController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\SumoPhysicsEnvironment.h"
+ >
+ </File>
+ <Filter
+ Name="fuzzics"
+ >
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_Callback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_ClientObjectInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_FhObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_MotionState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_Object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_Props.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include\SM_Scene.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/rasterizer/RAS_rasterizer.vcproj b/projectfiles_vc9/gameengine/rasterizer/RAS_rasterizer.vcproj new file mode 100644 index 00000000000..924babfbd21 --- /dev/null +++ b/projectfiles_vc9/gameengine/rasterizer/RAS_rasterizer.vcproj @@ -0,0 +1,588 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="RAS_rasterizer"
+ ProjectGUID="{51FB3D48-2467-4BFA-A321-D848252B437E}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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;..\..\..\..\lib\windows\python\include\python2.5"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\RAS_rasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\RAS_rasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\RAS_rasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\RAS_rasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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;..\..\..\..\lib\windows\python\include\python2.5"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\RAS_rasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\RAS_rasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\kernel\gen_system"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\debug\RAS_rasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\RAS_rasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\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;..\..\..\..\lib\windows\python\include\python2.5"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\RAS_rasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\RAS_rasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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;..\..\..\..\lib\windows\python\include\python2.5"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\RAS_rasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\rasterizer\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\RAS_rasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_2DFilterManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_BucketManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_FramingManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_IPolygonMaterial.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_IRenderTools.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_MaterialBucket.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_MeshObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_Polygon.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_texmatrix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_TexVert.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_2DFilterManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_BucketManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_CameraData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_Deformer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_FramingManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_ICanvas.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_IPolygonMaterial.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_IRasterizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_IRenderTools.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_LightObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_MaterialBucket.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_MeshObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_ObjectColor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_Polygon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_TexMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\Rasterizer\RAS_TexVert.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/rasterizer/openglrasterizer/RAS_openglrasterizer.vcproj b/projectfiles_vc9/gameengine/rasterizer/openglrasterizer/RAS_openglrasterizer.vcproj new file mode 100644 index 00000000000..155290e5e39 --- /dev/null +++ b/projectfiles_vc9/gameengine/rasterizer/openglrasterizer/RAS_openglrasterizer.vcproj @@ -0,0 +1,560 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="RAS_openglrasterizer"
+ ProjectGUID="{AB590CED-F71F-4A17-A89B-18583ECD633D}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\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\blender\gpu"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\debug\RAS_openglrasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\debug\RAS_openglrasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\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\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\RAS_openglrasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\RAS_openglrasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\Rasterizer;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\RAS_openglrasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\mtdll\RAS_openglrasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\Rasterizer;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\RAS_openglrasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\RAS_openglrasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\..\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\blender\gpu"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;WITH_GLEXT"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\RAS_openglrasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\debug\RAS_openglrasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\blenplayer"
+ IntermediateDirectory="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ 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\Rasterizer;..\..\..\..\source\blender\gpu"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;WITH_GLEXT"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\RAS_openglrasterizer.pch"
+ AssemblerListingLocation="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\"
+ ObjectFile="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\"
+ ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\source\gameengine\rasterizer\openglrasterizer\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\..\build\msvc_9\libs\RAS_openglrasterizer.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_GLExtensionManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_ListRasterizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_OpenGLRasterizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_VAOpenGLRasterizer.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_GLExtensionManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_ListRasterizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_OpenGLRasterizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer\RAS_VAOpenGLRasterizer.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Filters"
+ >
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Blur2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Dilation2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Erosion2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_GrayScale2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Invert2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Laplacian2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Prewitt2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Sepia2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Sharpen2DFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\gameengine\Rasterizer\RAS_OpenGLFilters\RAS_Sobel2DFilter.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/scenegraph/SG_SceneGraph.vcproj b/projectfiles_vc9/gameengine/scenegraph/SG_SceneGraph.vcproj new file mode 100644 index 00000000000..9c63f625820 --- /dev/null +++ b/projectfiles_vc9/gameengine/scenegraph/SG_SceneGraph.vcproj @@ -0,0 +1,536 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="SG_SceneGraph"
+ ProjectGUID="{09222F5E-1625-4FF3-A89A-384D16875EE5}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\SG_SceneGraph.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\SG_SceneGraph.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\SG_SceneGraph.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\SG_SceneGraph.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\debug\SG_SceneGraph.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\SG_SceneGraph.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\SG_SceneGraph.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\SG_SceneGraph.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\SG_SceneGraph.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\SG_SceneGraph.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\SG_SceneGraph.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\scenegraph\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\SG_SceneGraph.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_BBox.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Controller.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_IObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Node.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Spatial.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Tree.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_BBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Controller.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_IObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_ParentRelation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Spatial.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\SceneGraph\SG_Tree.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/gameengine/videotexture/TEX_Video.vcproj b/projectfiles_vc9/gameengine/videotexture/TEX_Video.vcproj new file mode 100644 index 00000000000..4a3b4b865fc --- /dev/null +++ b/projectfiles_vc9/gameengine/videotexture/TEX_Video.vcproj @@ -0,0 +1,312 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="TEX_Video"
+ ProjectGUID="{670EC17A-0548-4BBF-A27B-636C7C188139}"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\videotexture\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\videotexture\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\GameLogic;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\Rasterizer;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\gpu;..\..\..\source\kernel\gen_system;..\..\..\intern\string;..\..\..\intern\moto\include;..\..\..\intern\guardedalloc;..\..\..\intern\SoundSystem;..\..\..\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WITH_FFMPEG;__STDC_CONSTANT_MACROS"
+ StringPooling="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\debug\TEX_Video.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\videotexture\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\videotexture\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\videotexture\debug\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\TEX_Video.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\gameengine\videotexture"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\gameengine\videotexture"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\source\gameengine\Ketsji;..\..\..\source\gameengine\Expressions;..\..\..\source\gameengine\GameLogic;..\..\..\source\gameengine\SceneGraph;..\..\..\source\gameengine\Rasterizer;..\..\..\source\gameengine\Rasterizer\RAS_OpenGLRasterizer;..\..\..\source\gameengine\BlenderRoutines;..\..\..\source\blender\include;..\..\..\source\blender\blenlib;..\..\..\source\blender\blenkernel;..\..\..\source\blender\makesdna;..\..\..\source\blender\imbuf;..\..\..\source\blender\python;..\..\..\source\blender\gpu;..\..\..\source\kernel\gen_system;..\..\..\intern\string;..\..\..\intern\moto\include;..\..\..\intern\guardedalloc;..\..\..\intern\SoundSystem;..\..\..\extern\glew\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WITH_FFMPEG;__STDC_CONSTANT_MACROS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\gameengine\gamelogic\TEX_Video.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\gameengine\videotexture\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\gameengine\videotexture\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\gameengine\videotexture\"
+ WarningLevel="2"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ CompileAs="0"
+ ShowIncludes="false"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\TEX_Video.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\blendVideoTex.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Exception.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBlueScreen.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterColor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterNormal.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBuff.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageMix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageRender.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageViewport.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\PyTypeList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Texture.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoFFmpeg.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\BlendType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Common.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Exception.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterBlueScreen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterColor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterNormal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\FilterSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageBuff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageMix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageRender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\ImageViewport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\PyTypeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\Texture.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\gameengine\VideoTexture\VideoFFmpeg.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/kernel/gen_messaging/gen_messaging.vcproj b/projectfiles_vc9/kernel/gen_messaging/gen_messaging.vcproj new file mode 100644 index 00000000000..ac958a10f54 --- /dev/null +++ b/projectfiles_vc9/kernel/gen_messaging/gen_messaging.vcproj @@ -0,0 +1,489 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="gen_messaging"
+ ProjectGUID="{727F90AC-ABE6-40BF-8937-C2F2F1D13DEA}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\debug\gen_messaging.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\gen_messaging.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\gen_messaging.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\gen_messaging.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\gen_messaging.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\gen_messaging.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\gen_messaging.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\gen_messaging.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\gen_messaging.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\gen_messaging.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\source\kernel\gen_messaging"
+ PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\gen_messaging.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_messaging\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\gen_messaging.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\kernel\gen_messaging\intern\messaging.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\kernel\gen_messaging\GEN_messaging.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/projectfiles_vc9/kernel/system/SYS_system.vcproj b/projectfiles_vc9/kernel/system/SYS_system.vcproj new file mode 100644 index 00000000000..a666f1f0737 --- /dev/null +++ b/projectfiles_vc9/kernel/system/SYS_system.vcproj @@ -0,0 +1,520 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="SYS_system"
+ ProjectGUID="{BAAE3F2B-BCF8-4E84-B8BA-CFB2D64945FE}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="3D Plugin Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\SYS_system.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\SYS_system.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="3D Plugin Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\debug\SYS_system.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_system\mtdll\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\mtdll\debug\SYS_system.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\SYS_system.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\SYS_system.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Blender Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\SYS_system.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_system\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_system\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\SYS_system.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Debug|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ 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="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include"
+ PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\SYS_system.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_system\debug\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\debug\SYS_system.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="BlenderPlayer Release|Win32"
+ OutputDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\blenplayer"
+ IntermediateDirectory="..\..\..\..\build\msvc_9\source\kernel\gen_system\blenplayer"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include"
+ PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DefaultCharIsUnsigned="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\SYS_system.pch"
+ AssemblerListingLocation="..\..\..\..\build\msvc_9\source\kernel\gen_system\"
+ ObjectFile="..\..\..\..\build\msvc_9\source\kernel\gen_system\"
+ ProgramDataBaseFileName="..\..\..\..\build\msvc_9\source\kernel\gen_system\"
+ WarningLevel="2"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\..\build\msvc_9\libs\SYS_system.lib"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\GEN_HashedPtr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\SYS_SingletonSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\SYS_System.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\GEN_DataCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\GEN_HashedPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\GEN_Map.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\GEN_SmartPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\SYS_SingletonSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\source\kernel\gen_system\SYS_System.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/source/Makefile b/source/Makefile index 99155206987..662cb1df0a6 100644 --- a/source/Makefile +++ b/source/Makefile @@ -97,6 +97,7 @@ COMLIB += $(OCGDIR)/blender/blenloader/$(DEBUG_DIR)libblenloader.a COMLIB += $(OCGDIR)/blender/blenpluginapi/$(DEBUG_DIR)libblenpluginapi.a COMLIB += $(OCGDIR)/blender/nodes_shd/$(DEBUG_DIR)libnodes_shd.a COMLIB += $(OCGDIR)/blender/nodes_cmp/$(DEBUG_DIR)libnodes_cmp.a +COMLIB += $(OCGDIR)/blender/nodes_tex/$(DEBUG_DIR)libnodes_tex.a COMLIB += $(OCGDIR)/blender/nodes/$(DEBUG_DIR)libnodes.a COMLIB += $(OCGDIR)/blender/imbuf/$(DEBUG_DIR)libimbuf.a COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a @@ -142,6 +143,7 @@ ifneq ($(NAN_NO_KETSJI),true) COMLIB += $(OCGDIR)/gameengine/OpenGLrasterizer/$(DEBUG_DIR)libOpenGLrasterizer.a COMLIB += $(OCGDIR)/gameengine/expression/$(DEBUG_DIR)libexpression.a COMLIB += $(OCGDIR)/gameengine/scenegraph/$(DEBUG_DIR)libscenegraph.a + COMLIB += $(OCGDIR)/gameengine/videotex/$(DEBUG_DIR)libvideotex.a # COMLIB += $(OCGDIR)/sumo/$(DEBUG_DIR)libfuzzics.a # COMLIB += $(OCGDIR)/sumo/$(DEBUG_DIR)libsolid.a COMLIB += $(NAN_MOTO)/lib/libmoto.a diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt index a21eadf15fa..007ee34e4e7 100644 --- a/source/blender/CMakeLists.txt +++ b/source/blender/CMakeLists.txt @@ -34,6 +34,10 @@ IF(WITH_OPENEXR) SUBDIRS(imbuf/intern/openexr) ENDIF(WITH_OPENEXR) +IF(WITH_DDS) + SUBDIRS(imbuf/intern/dds) +ENDIF(WITH_DDS) + IF(WITH_QUICKTIME) SUBDIRS(quicktime) ENDIF(WITH_QUICKTIME) diff --git a/source/blender/SConscript b/source/blender/SConscript index decbbf35642..543a0bf5ed6 100644 --- a/source/blender/SConscript +++ b/source/blender/SConscript @@ -11,13 +11,17 @@ SConscript(['avi/SConscript', 'imbuf/SConscript', 'imbuf/intern/cineon/SConscript', 'makesdna/SConscript', - 'python/SConscript', 'radiosity/SConscript', 'readblenfile/SConscript', 'render/SConscript', 'src/SConscript', 'nodes/SConscript']) + + +if env['WITH_BF_PYTHON']: + SConscript(['python/SConscript']) + if env['WITH_BF_YAFRAY']: SConscript(['yafray/SConscript']) diff --git a/source/blender/blenkernel/BKE_bad_level_calls.h b/source/blender/blenkernel/BKE_bad_level_calls.h index 0b623526562..93bfb2339be 100644 --- a/source/blender/blenkernel/BKE_bad_level_calls.h +++ b/source/blender/blenkernel/BKE_bad_level_calls.h @@ -230,5 +230,12 @@ void PE_free_particle_edit(struct ParticleSystem *psys); void PE_get_colors(char sel[4], char nosel[4]); void PE_recalc_world_cos(struct Object *ob, struct ParticleSystem *psys); +/* texture.c */ +struct Tex; +struct TexResult; +int multitex_thread(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output); + + + #endif diff --git a/source/blender/blenkernel/BKE_fluidsim.h b/source/blender/blenkernel/BKE_fluidsim.h index 33c706da82b..4aac5eafa00 100644 --- a/source/blender/blenkernel/BKE_fluidsim.h +++ b/source/blender/blenkernel/BKE_fluidsim.h @@ -45,6 +45,7 @@ void fluidsim_init(FluidsimModifierData *fluidmd); void fluidsim_free(FluidsimModifierData *fluidmd); DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm, FluidsimModifierData *fluidmd, int framenr, int useRenderParams); +void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *dm, char *filename); DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Object *ob, DerivedMesh *dm, int useRenderParams, int isFinalCalc); // get bounding box of mesh diff --git a/source/blender/blenkernel/BKE_lattice.h b/source/blender/blenkernel/BKE_lattice.h index 5620674e791..dc7c9dcd5e5 100644 --- a/source/blender/blenkernel/BKE_lattice.h +++ b/source/blender/blenkernel/BKE_lattice.h @@ -35,6 +35,7 @@ struct Lattice; struct Object; struct DerivedMesh; struct BPoint; +struct MDeformVert; extern struct Lattice *editLatt; @@ -67,5 +68,7 @@ float (*lattice_getVertexCos(struct Object *ob, int *numVerts_r))[3]; void lattice_applyVertexCos(struct Object *ob, float (*vertexCos)[3]); void lattice_calc_modifiers(struct Object *ob); +struct MDeformVert* lattice_get_deform_verts(struct Object *lattice); + #endif diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 01c54663c6d..fa3a654c1c2 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -47,6 +47,7 @@ struct rctf; struct ListBase; struct RenderData; struct Scene; +struct Tex; struct GPUMaterial; struct GPUNode; struct GPUNodeStack; @@ -118,6 +119,8 @@ typedef struct bNodeType { #define NODE_CLASS_MATTE 9 #define NODE_CLASS_DISTORT 10 #define NODE_CLASS_OP_DYNAMIC 11 +#define NODE_CLASS_PATTERN 12 +#define NODE_CLASS_TEXTURE 13 /* ************** GENERIC API, TREES *************** */ @@ -377,6 +380,45 @@ void ntreeCompositForceHidden(struct bNodeTree *ntree); void free_compbuf(struct CompBuf *cbuf); /* internal...*/ + +/* ************** TEXTURE NODES *************** */ + +struct TexResult; + +#define TEX_NODE_OUTPUT 101 +#define TEX_NODE_CHECKER 102 +#define TEX_NODE_TEXTURE 103 +#define TEX_NODE_BRICKS 104 +#define TEX_NODE_MATH 105 +#define TEX_NODE_MIX_RGB 106 +#define TEX_NODE_RGBTOBW 107 +#define TEX_NODE_VALTORGB 108 +#define TEX_NODE_IMAGE 109 +#define TEX_NODE_CURVE_RGB 110 +#define TEX_NODE_INVERT 111 +#define TEX_NODE_HUE_SAT 112 +#define TEX_NODE_CURVE_TIME 113 +#define TEX_NODE_ROTATE 114 +#define TEX_NODE_VIEWER 115 +#define TEX_NODE_TRANSLATE 116 + +/* 201-299 reserved. Use like this: TEX_NODE_PROC + TEX_CLOUDS, etc */ +#define TEX_NODE_PROC 200 +#define TEX_NODE_PROC_MAX 300 + +extern struct ListBase node_all_textures; + +/* API */ +int ntreeTexTagAnimated(struct bNodeTree *ntree); +void ntreeTexUpdatePreviews( struct bNodeTree* nodetree ); +void ntreeTexExecTree(struct bNodeTree *ntree, struct TexResult *target, float *coord, char do_preview, short thread, struct Tex *tex, short which_output); +void ntreeTexCheckCyclics(struct bNodeTree *ntree); +void ntreeTexAssignIndex(struct bNodeTree *ntree, struct bNode *node); +char* ntreeTexOutputMenu(struct bNodeTree *ntree); + + +/**/ + void init_nodesystem(void); void free_nodesystem(void); diff --git a/source/blender/blenkernel/BKE_shrinkwrap.h b/source/blender/blenkernel/BKE_shrinkwrap.h index e8276238ff2..eed22ff9d8e 100644 --- a/source/blender/blenkernel/BKE_shrinkwrap.h +++ b/source/blender/blenkernel/BKE_shrinkwrap.h @@ -96,6 +96,7 @@ void space_transform_invert_normal(const SpaceTransform *data, float *no); struct Object; struct DerivedMesh; struct ShrinkwrapModifierData; +struct MDeformVert; struct BVHTree; @@ -109,6 +110,9 @@ typedef struct ShrinkwrapCalcData float (*vertexCos)[3]; //vertexs being shrinkwraped int numVerts; + struct MDeformVert* dvert; //Pointer to mdeform array + int vgroup; //Vertex group num + struct DerivedMesh *target; //mesh we are shrinking to SpaceTransform local2target; //transform to move bettwem local and target space diff --git a/source/blender/blenkernel/BKE_utildefines.h b/source/blender/blenkernel/BKE_utildefines.h index 9662d6fbff8..6584af085cd 100644 --- a/source/blender/blenkernel/BKE_utildefines.h +++ b/source/blender/blenkernel/BKE_utildefines.h @@ -102,7 +102,7 @@ #define AVG2(x, y) ( 0.5 * ((x) + (y)) ) -#define FTOCHAR(val) (val<=0.0f)? 0 : ((val>(1.0f-0.5f/255.0f))? 255 : (char)((255.0f*val)+0.5f)) +#define FTOCHAR(val) ((val)<=0.0f)? 0 : (((val)>(1.0f-0.5f/255.0f))? 255 : (char)((255.0f*(val))+0.5f)) #define VECCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);} #define VECCOPY2D(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1);} diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index c3cbc36a94f..0ed4f38e457 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -47,6 +47,10 @@ IF(WITH_OPENEXR) ADD_DEFINITIONS(-DWITH_OPENEXR) ENDIF(WITH_OPENEXR) +IF(WITH_DDS) + ADD_DEFINITIONS(-DWITH_DDS) +ENDIF(WITH_DDS) + IF(WITH_QUICKTIME) SET(INC ${INC} ${QUICKTIME_INC}) ADD_DEFINITIONS(-DWITH_QUICKTIME) diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript index 82743ef5ea7..ab122e40bfc 100644 --- a/source/blender/blenkernel/SConscript +++ b/source/blender/blenkernel/SConscript @@ -4,23 +4,33 @@ Import ('env') sources = env.Glob('intern/*.c') incs = '. #/intern/guardedalloc ../include ../blenlib ../makesdna' -incs += ' ../python ../render/extern/include #/intern/decimation/extern' +incs += ' ../render/extern/include #/intern/decimation/extern' incs += ' ../imbuf ../avi #/intern/elbeem/extern ../nodes' -incs += ' #/intern/iksolver/extern ../blenloader ../quicktime' +incs += ' #/intern/iksolver/extern ../blenloader' incs += ' #/extern/bullet2/src' incs += ' #/intern/bmfont' incs += ' #/intern/opennl/extern' incs += ' ../gpu #/extern/glew/include' -incs += ' ' + env['BF_PYTHON_INC'] incs += ' ' + env['BF_OPENGL_INC'] incs += ' ' + env['BF_ZLIB_INC'] -incs += ' ' + env['BF_SDL_INC'] defs = '' +if not env['WITH_BF_PYTHON']: + defs += 'DISABLE_PYTHON' +else: + incs += ' ../python' + incs += ' ' + env['BF_PYTHON_INC'] + +if env['WITH_BF_QUICKTIME']: + incs += ' ../quicktime' + +if env['WITH_BF_SDL']: + incs += ' ' + env['BF_SDL_INC'] + if env['WITH_BF_INTERNATIONAL']: - defs += 'WITH_FREETYPE2' + defs += ' WITH_FREETYPE2' if env['WITH_BF_VERSE']: defs += ' WITH_VERSE' diff --git a/source/blender/blenkernel/bad_level_call_stubs/stubs.c b/source/blender/blenkernel/bad_level_call_stubs/stubs.c index ae336d0fc26..91fb9031597 100644 --- a/source/blender/blenkernel/bad_level_call_stubs/stubs.c +++ b/source/blender/blenkernel/bad_level_call_stubs/stubs.c @@ -347,3 +347,6 @@ void txt_copy_clipboard (struct Text *text){} char stipple_quarttone[1]; +/* texture.c */ +int multitex_thread(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres, short thread, short which_output) {return 0;} + diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c index ce4458b4307..cee032f364e 100644 --- a/source/blender/blenkernel/intern/CCGSubSurf.c +++ b/source/blender/blenkernel/intern/CCGSubSurf.c @@ -1245,9 +1245,11 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { } } - avgSharpness /= sharpCount; - if (avgSharpness>1.0) { - avgSharpness = 1.0; + if(sharpCount) { + avgSharpness /= sharpCount; + if (avgSharpness>1.0) { + avgSharpness = 1.0; + } } if (seam && seamEdges < 2) @@ -1543,9 +1545,11 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { } } - avgSharpness /= sharpCount; - if (avgSharpness>1.0) { - avgSharpness = 1.0; + if(sharpCount) { + avgSharpness /= sharpCount; + if (avgSharpness>1.0) { + avgSharpness = 1.0; + } } if (seam && seamEdges < 2) diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 1fe6447752e..5dcccc56d06 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -30,11 +30,15 @@ * ***** END GPL LICENSE BLOCK ***** */ -#ifndef WIN32 - #include <unistd.h> // for read close - #include <sys/param.h> // for MAXPATHLEN +#ifndef _WIN32 + #include <unistd.h> // for read close + #include <sys/param.h> // for MAXPATHLEN #else - #include <io.h> // for open close read + #include <io.h> // for open close read + #define open _open + #define read _read + #define close _close + #define write _write #endif #include <stdlib.h> diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 4914732b801..5639f00ee39 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -64,8 +64,9 @@ #include "BKE_library.h" #include "BKE_idprop.h" - +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "blendef.h" @@ -1814,6 +1815,7 @@ static bConstraintTypeInfo CTI_SIZELIKE = { sizelike_evaluate /* evaluate */ }; + /* ----------- Python Constraint -------------- */ static void pycon_free (bConstraint *con) @@ -1888,8 +1890,10 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail); /* only execute target calculation if allowed */ +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_pyconstraint_target(data, ct); +#endif } else if (ct) Mat4One(ct->matrix); @@ -1897,6 +1901,9 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets) { +#ifdef DISABLE_PYTHON + return; +#else bPythonConstraint *data= con->data; /* only evaluate in python if we're allowed to do so */ @@ -1913,6 +1920,7 @@ static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targ /* Now, run the actual 'constraint' function, which should only access the matrices */ BPY_pyconstraint_eval(data, cob, targets); +#endif /* DISABLE_PYTHON */ } static bConstraintTypeInfo CTI_PYTHON = { diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index b090ac2b538..1a671dfe771 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -1100,9 +1100,12 @@ float *make_orco_curve(Object *ob) fp[1]= 2.0f*v/(dl->nr-1) - 1.0f; fp[2]= 0.0; } else { + float *vert; int realv= v % dl->nr; - - VECCOPY(fp, &dl->verts[(dl->nr*u + realv)*3]); + int realu= u % dl->parts; + + vert= dl->verts + 3*(dl->nr*realu + realv); + VECCOPY(fp, vert); fp[0]= (fp[0]-cu->loc[0])/cu->size[0]; fp[1]= (fp[1]-cu->loc[1])/cu->size[1]; diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index 3143c5e4df2..47736865273 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -239,12 +239,9 @@ float deformvert_get_weight(const struct MDeformVert *dvert, int group_num) float vertexgroup_get_vertex_weight(const struct MDeformVert *dvert, int index, int group_num) { - if(group_num == -1) + if(group_num == -1 || dvert == NULL) return 1.0; - if(dvert == 0) - return 0.0; - return deformvert_get_weight(dvert+index, group_num); } diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 7f4910a9765..59619b25f8b 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -79,7 +79,9 @@ #include "MEM_guardedalloc.h" #include "blendef.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "depsgraph_private.h" @@ -313,6 +315,7 @@ static void dag_add_driver_relation(Ipo *ipo, DagForest *dag, DagNode *node, int if ((icu->driver->flag & IPO_DRIVER_FLAG_INVALID) || (icu->driver->name[0] == '\0')) continue; /* empty or invalid expression */ +#ifndef DISABLE_PYTHON else { /* now we need refs to all objects mentioned in this * pydriver expression, to call 'dag_add_relation' @@ -334,6 +337,7 @@ static void dag_add_driver_relation(Ipo *ipo, DagForest *dag, DagNode *node, int MEM_freeN(obarray); } } +#endif /* DISABLE_PYTHON */ } else if (icu->driver->ob) { node1 = dag_get_node(dag, icu->driver->ob); @@ -491,8 +495,8 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Object *ob, int else dag_add_relation(dag,node2,node,DAG_RL_OB_OB, "Curve Parent"); } - else - dag_add_relation(dag,node2,node,DAG_RL_OB_OB, "Curve Parent"); + else + dag_add_relation(dag,node2,node,DAG_RL_OB_OB, "Parent"); } /* exception case: parent is duplivert */ if(ob->type==OB_MBALL && (ob->parent->transflag & OB_DUPLIVERTS)) { diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 3b6820461be..35097c05358 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -1381,7 +1381,7 @@ void makeDispListSurf(Object *ob, ListBase *dispbase, int forRender) for (nu=nubase->first; nu; nu=nu->next) { if(forRender || nu->hide==0) { if(nu->pntsv==1) { - len= nu->resolu*SEGMENTSU(nu)+1; + len= nu->pntsu*nu->resolu; dl= MEM_callocN(sizeof(DispList), "makeDispListsurf"); dl->verts= MEM_callocN(len*3*sizeof(float), "dlverts"); diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c index 561b564ac39..ee3fd59fe9f 100644 --- a/source/blender/blenkernel/intern/exotic.c +++ b/source/blender/blenkernel/intern/exotic.c @@ -76,10 +76,14 @@ #include <fcntl.h> #include <string.h> -#ifndef WIN32 +#ifndef _WIN32 #include <unistd.h> #else #include <io.h> +#define open _open +#define read _read +#define close _close +#define write _write #endif #include "MEM_guardedalloc.h" @@ -117,7 +121,9 @@ #include "BKE_curve.h" #include "BKE_customdata.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "blendef.h" @@ -2427,6 +2433,7 @@ int BKE_read_exotic(char *name) read_stl_mesh_binary(name); retval = 1; } +#ifndef DISABLE_PYTHON // TODO: this should not be in the kernel... else { // unknown format, call Python importloader if (BPY_call_importloader(name)) { @@ -2436,6 +2443,7 @@ int BKE_read_exotic(char *name) } } +#endif /* DISABLE_PYTHON */ waitcursor(0); } } diff --git a/source/blender/blenkernel/intern/fluidsim.c b/source/blender/blenkernel/intern/fluidsim.c index 4580c6cbf8b..29c4e0f2fb5 100644 --- a/source/blender/blenkernel/intern/fluidsim.c +++ b/source/blender/blenkernel/intern/fluidsim.c @@ -139,6 +139,9 @@ void fluidsim_init(FluidsimModifierData *fluidmd) fluid_get_bb(mesh->mvert, mesh->totvert, ob->obmat, fss->bbStart, fss->bbSize); */ + // (ab)used to store velocities + fss->meshSurfNormals = NULL; + fss->lastgoodframe = -1; fss->flag = 0; @@ -153,6 +156,11 @@ void fluidsim_free(FluidsimModifierData *fluidmd) #ifndef DISABLE_ELBEEM if(fluidmd) { + if(fluidmd->fss->meshSurfNormals) + { + MEM_freeN(fluidmd->fss->meshSurfNormals); + fluidmd->fss->meshSurfNormals = NULL; + } MEM_freeN(fluidmd->fss); } #endif @@ -462,21 +470,86 @@ DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm, FluidsimModifie // load vertex velocities, if they exist... // TODO? use generate flag as loading flag as well? // warning, needs original .bobj.gz mesh loading filename - /* if(displaymode==3) { - readVelgz(targetFile, srcob); + fluidsim_read_vel_cache(fluidmd, dm, targetFile); } else { - // no data for preview, only clear... - int i,j; - for(i=0; i<mesh->totvert;i++) { for(j=0; j<3; j++) { srcob->fluidsimSettings->meshSurfNormals[i].co[j] = 0.; }} - }*/ + if(fss->meshSurfNormals) + MEM_freeN(fss->meshSurfNormals); + + fss->meshSurfNormals = NULL; + } return dm; } + +/* read zipped fluidsim velocities into the co's of the fluidsimsettings normals struct */ +void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *dm, char *filename) +{ + int wri, i, j; + float wrf; + gzFile gzf; + FluidsimSettings *fss = fluidmd->fss; + int len = strlen(filename); + int totvert = dm->getNumVerts(dm); + float *velarray = NULL; + + // mesh and vverts have to be valid from loading... + + if(fss->meshSurfNormals) + MEM_freeN(fss->meshSurfNormals); + + if(len<7) + { + return; + } + + if(fss->domainNovecgen>0) return; + + // abusing pointer to hold an array of 3d-velocities + fss->meshSurfNormals = MEM_callocN(sizeof(float)*3*dm->getNumVerts(dm), "Fluidsim_velocities"); + // abusing pointer to hold an INT + fss->meshSurface = SET_INT_IN_POINTER(totvert); + + velarray = (float *)fss->meshSurfNormals; + + // .bobj.gz , correct filename + // 87654321 + filename[len-6] = 'v'; + filename[len-5] = 'e'; + filename[len-4] = 'l'; + + gzf = gzopen(filename, "rb"); + if (!gzf) + { + MEM_freeN(fss->meshSurfNormals); + fss->meshSurfNormals = NULL; + return; + } + + gzread(gzf, &wri, sizeof( wri )); + if(wri != totvert) + { + MEM_freeN(fss->meshSurfNormals); + fss->meshSurfNormals = NULL; + return; + } + + for(i=0; i<totvert;i++) + { + for(j=0; j<3; j++) + { + gzread(gzf, &wrf, sizeof( wrf )); + velarray[3*i + j] = wrf; + } + } + + gzclose(gzf); +} + void fluid_get_bb(MVert *mvert, int totvert, float obmat[][4], /*RET*/ float start[3], /*RET*/ float size[3] ) { @@ -583,60 +656,5 @@ void initElbeemMesh(struct Object *ob, dm->release(dm); } -/* read zipped fluidsim velocities into the co's of the fluidsimsettings normals struct */ -void readVelgz(char *filename, Object *srcob) -{ - int wri, i, j; - float wrf; - gzFile gzf; - MVert *vverts = srcob->fluidsimSettings->meshSurfNormals; - int len = strlen(filename); - Mesh *mesh = srcob->data; - // mesh and vverts have to be valid from loading... - - // clean up in any case - for(i=0; i<mesh->totvert;i++) - { - for(j=0; j<3; j++) - { - vverts[i].co[j] = 0.; - } - } - if(srcob->fluidsimSettings->domainNovecgen>0) return; - - if(len<7) - { - return; - } - - // .bobj.gz , correct filename - // 87654321 - filename[len-6] = 'v'; - filename[len-5] = 'e'; - filename[len-4] = 'l'; - - gzf = gzopen(filename, "rb"); - if (!gzf) - return; - - gzread(gzf, &wri, sizeof( wri )); - if(wri != mesh->totvert) - { - return; - } - - for(i=0; i<mesh->totvert;i++) - { - for(j=0; j<3; j++) - { - gzread(gzf, &wrf, sizeof( wrf )); - vverts[i].co[j] = wrf; - } - } - - gzclose(gzf); -} - - #endif // DISABLE_ELBEEM diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c index 9f0ea0f1388..29db0ddd808 100644 --- a/source/blender/blenkernel/intern/ipo.c +++ b/source/blender/blenkernel/intern/ipo.c @@ -73,7 +73,10 @@ #include "BKE_main.h" #include "BKE_mesh.h" #include "BKE_object.h" + +#ifndef DISABLE_PYTHON #include "BPY_extern.h" /* for BPY_pydriver_eval() */ +#endif #define SMALL -1.0e-10 @@ -1008,6 +1011,7 @@ static void posechannel_get_local_transform (bPoseChannel *pchan, float loc[], f */ static float eval_driver (IpoDriver *driver, float ipotime) { +#ifndef DISABLE_PYTHON /* currently, drivers are either PyDrivers (evaluating a PyExpression, or Object/Pose-Channel transforms) */ if (driver->type == IPO_DRIVER_TYPE_PYTHON) { /* check for empty or invalid expression */ @@ -1022,7 +1026,10 @@ static float eval_driver (IpoDriver *driver, float ipotime) */ return BPY_pydriver_eval(driver); } - else { + else +#endif /* DISABLE_PYTHON */ + { + Object *ob= driver->ob; /* must have an object to evaluate */ diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c index 54915058bab..6614c657647 100644 --- a/source/blender/blenkernel/intern/lattice.c +++ b/source/blender/blenkernel/intern/lattice.c @@ -928,3 +928,15 @@ void lattice_calc_modifiers(Object *ob) BLI_addtail(&ob->disp, dl); } } + +struct MDeformVert* lattice_get_deform_verts(struct Object *oblatt) +{ + if(oblatt->type == OB_LATTICE) + { + Lattice *lt = (oblatt==G.obedit)?editLatt:(Lattice*)oblatt->data; + return lt->dvert; + } + + return NULL; +} + diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index 3d1b342bf73..33c1a4da4c7 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -597,6 +597,8 @@ static void get_flags_for_id(ID *id, char *buf) if(GS(id->name)==ID_MA) isnode= ((Material *)id)->use_nodes; + if(GS(id->name)==ID_TE) + isnode= ((Tex *)id)->use_nodes; if (id->us<0) sprintf(buf, "-1W "); diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index b47e4d2ebaa..a5832711a81 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -59,7 +59,9 @@ #include "BKE_node.h" #include "BKE_utildefines.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "GPU_material.h" @@ -78,7 +80,9 @@ void free_material(Material *ma) MTex *mtex; int a; +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&ma->scriptlink); +#endif for(a=0; a<MAX_MTEX; a++) { mtex= ma->mtex[a]; @@ -209,8 +213,10 @@ Material *copy_material(Material *ma) id_us_plus((ID *)man->mtex[a]->tex); } } - + +#ifndef DISABLE_PYTHON BPY_copy_scriptlink(&ma->scriptlink); +#endif if(ma->ramp_col) man->ramp_col= MEM_dupallocN(ma->ramp_col); if(ma->ramp_spec) man->ramp_spec= MEM_dupallocN(ma->ramp_spec); @@ -652,7 +658,7 @@ static void do_init_render_material(Material *ma, int r_mode, float *amb) if(ma->septex & (1<<a)) continue; mtex= ma->mtex[a]; - if(mtex && mtex->tex && mtex->tex->type) { + if(mtex && mtex->tex && (mtex->tex->type | (mtex->tex->use_nodes && mtex->tex->nodetree) )) { ma->texco |= mtex->texco; ma->mapto |= mtex->mapto; diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 13dc2e834f2..6bdd395a2ac 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -7804,9 +7804,10 @@ static void shrinkwrapModifier_deformVerts(ModifierData *md, Object *ob, Derived { if(derivedData) dm = CDDM_copy(derivedData); else if(ob->type==OB_MESH) dm = CDDM_from_mesh(ob->data, ob); + else if(ob->type==OB_LATTICE) dm = NULL; else return; - if(dataMask & CD_MVERT) + if(dm != NULL && (dataMask & CD_MVERT)) { CDDM_apply_vert_coords(dm, vertexCos); CDDM_calc_normals(dm); @@ -7828,9 +7829,10 @@ static void shrinkwrapModifier_deformVertsEM(ModifierData *md, Object *ob, EditM { if(derivedData) dm = CDDM_copy(derivedData); else if(ob->type==OB_MESH) dm = CDDM_from_editmesh(editData, ob->data); + else if(ob->type==OB_LATTICE) dm = NULL; else return; - if(dataMask & CD_MVERT) + if(dm != NULL && (dataMask & CD_MVERT)) { CDDM_apply_vert_coords(dm, vertexCos); CDDM_calc_normals(dm); @@ -7916,9 +7918,10 @@ static void simpledeformModifier_deformVerts(ModifierData *md, Object *ob, Deriv { if(derivedData) dm = CDDM_copy(derivedData); else if(ob->type==OB_MESH) dm = CDDM_from_mesh(ob->data, ob); + else if(ob->type==OB_LATTICE) dm = NULL; else return; - if(dataMask & CD_MVERT) + if(dm != NULL && (dataMask & CD_MVERT)) { CDDM_apply_vert_coords(dm, vertexCos); CDDM_calc_normals(dm); @@ -7942,9 +7945,10 @@ static void simpledeformModifier_deformVertsEM(ModifierData *md, Object *ob, Edi { if(derivedData) dm = CDDM_copy(derivedData); else if(ob->type==OB_MESH) dm = CDDM_from_editmesh(editData, ob->data); + else if(ob->type==OB_LATTICE) dm = NULL; else return; - if(dataMask & CD_MVERT) + if(dm != NULL && (dataMask & CD_MVERT)) { CDDM_apply_vert_coords(dm, vertexCos); CDDM_calc_normals(dm); diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 94a21cdd5df..ae81a31c373 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -27,7 +27,10 @@ * ***** END GPL LICENSE BLOCK ***** */ +#ifndef DISABLE_PYTHON #include <Python.h> +#endif + #include <stdlib.h> #include <string.h> @@ -35,6 +38,7 @@ #include "DNA_image_types.h" #include "DNA_node_types.h" #include "DNA_material_types.h" +#include "DNA_texture_types.h" #include "DNA_text_types.h" #include "DNA_scene_types.h" @@ -67,6 +71,8 @@ #include "intern/CMP_util.h" /* stupid include path... */ #include "SHD_node.h" +#include "TEX_node.h" +#include "intern/TEX_util.h" #include "GPU_extensions.h" #include "GPU_material.h" @@ -74,6 +80,7 @@ static ListBase empty_list = {NULL, NULL}; ListBase node_all_composit = {NULL, NULL}; ListBase node_all_shaders = {NULL, NULL}; +ListBase node_all_textures = {NULL, NULL}; /* ************** Type stuff ********** */ @@ -103,6 +110,8 @@ void ntreeInitTypes(bNodeTree *ntree) ntree->alltypes= node_all_shaders; else if(ntree->type==NTREE_COMPOSIT) ntree->alltypes= node_all_composit; + else if(ntree->type==NTREE_TEXTURE) + ntree->alltypes= node_all_textures; else { ntree->alltypes= empty_list; printf("Error: no type definitions for nodes\n"); @@ -658,6 +667,28 @@ void nodeVerifyGroup(bNodeTree *ngroup) } } } + else if(ngroup->type==NTREE_TEXTURE) { + Tex *tx; + for(tx= G.main->tex.first; tx; tx= tx->id.next) { + if(tx->nodetree) { + bNode *node; + + /* find if group is in tree */ + for(node= tx->nodetree->nodes.first; node; node= node->next) + if(node->id == (ID *)ngroup) + break; + + if(node) { + /* set all type pointers OK */ + ntreeInitTypes(tx->nodetree); + + for(node= tx->nodetree->nodes.first; node; node= node->next) + if(node->id == (ID *)ngroup) + nodeVerifyType(tx->nodetree, node); + } + } + } + } } /* also to check all users of groups. Now only used in editor for hide/unhide */ @@ -714,6 +745,26 @@ void nodeGroupSocketUseFlags(bNodeTree *ngroup) } } } + else if(ngroup->type==NTREE_TEXTURE) { + Tex *tx; + for(tx= G.main->tex.first; tx; tx= tx->id.next) { + if(tx->nodetree) { + for(node= tx->nodetree->nodes.first; node; node= node->next) { + if(node->id==(ID *)ngroup) { + for(sock= node->inputs.first; sock; sock= sock->next) + if(sock->link) + if(sock->tosock) + sock->tosock->flag |= SOCK_IN_USE; + for(sock= node->outputs.first; sock; sock= sock->next) + if(nodeCountSocketLinks(tx->nodetree, sock)) + if(sock->tosock) + sock->tosock->flag |= SOCK_IN_USE; + } + } + } + } + } + } /* finds a node based on given socket */ @@ -898,9 +949,12 @@ bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup, ID *id) /* got it-bob*/ if(ntype->initfunc!=NULL) ntype->initfunc(node); + + if(type==TEX_NODE_OUTPUT) + ntreeTexAssignIndex(ntree, node); nodeAddSockets(node, ntype); - + return node; } @@ -967,6 +1021,9 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node, int internal) node->new_node= nnode; nnode->new_node= NULL; nnode->preview= NULL; + + if(node->type==TEX_NODE_OUTPUT) + ntreeTexAssignIndex(ntree, node); return nnode; } @@ -1257,6 +1314,22 @@ void ntreeMakeLocal(bNodeTree *ntree) } } } + else if(ntree->type==NTREE_TEXTURE) { + Tex *tx; + for(tx= G.main->tex.first; tx; tx= tx->id.next) { + if(tx->nodetree) { + bNode *node; + + /* find if group is in tree */ + for(node= tx->nodetree->nodes.first; node; node= node->next) { + if(node->id == (ID *)ntree) { + if(tx->id.lib) lib= 1; + else local= 1; + } + } + } + } + } /* if all users are local, we simply make tree local */ if(local && lib==0) { @@ -1308,6 +1381,25 @@ void ntreeMakeLocal(bNodeTree *ntree) } } } + else if(ntree->type==NTREE_TEXTURE) { + Tex *tx; + for(tx= G.main->tex.first; tx; tx= tx->id.next) { + if(tx->nodetree) { + bNode *node; + + /* find if group is in tree */ + for(node= tx->nodetree->nodes.first; node; node= node->next) { + if(node->id == (ID *)ntree) { + if(tx->id.lib==NULL) { + node->id= &newtree->id; + newtree->id.us++; + ntree->id.us--; + } + } + } + } + } + } } } @@ -1572,6 +1664,8 @@ void NodeTagChanged(bNodeTree *ntree, bNode *node) } node->need_exec= 1; } + else if(ntree->type == NTREE_TEXTURE) + ntreeTexUpdatePreviews(ntree); } void NodeTagIDChanged(bNodeTree *ntree, ID *id) @@ -1810,7 +1904,7 @@ static void composit_begin_exec(bNodeTree *ntree, int is_group) sock->ns.data= NULL; } } - } + } /* cannot initialize them while using in threads */ if(ELEM3(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB)) { curvemapping_initialize(node->storage); @@ -1926,12 +2020,28 @@ static void ntreeReleaseThreadStack(bNodeThreadStack *nts) nts->used= 0; } +/* free texture delegates */ +static void tex_end_exec(bNodeTree *ntree) +{ + bNodeThreadStack *nts; + bNodeStack *ns; + int th, a; + + if(ntree->threadstack) + for(th=0; th<BLENDER_MAX_THREADS; th++) + for(nts=ntree->threadstack[th].first; nts; nts=nts->next) + for(ns= nts->stack, a=0; a<ntree->stacksize; a++, ns++) + if(ns->data) + MEM_freeN(ns->data); + +} + void ntreeBeginExecTree(bNodeTree *ntree) { /* let's make it sure */ if(ntree->init & NTREE_EXEC_INIT) return; - + /* allocate the thread stack listbase array */ if(ntree->type!=NTREE_COMPOSIT) ntree->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array"); @@ -1983,6 +2093,8 @@ void ntreeEndExecTree(bNodeTree *ntree) /* another callback candidate! */ if(ntree->type==NTREE_COMPOSIT) composit_end_exec(ntree, 0); + else if(ntree->type==NTREE_TEXTURE) + tex_end_exec(ntree); if(ntree->stack) { MEM_freeN(ntree->stack); @@ -2619,6 +2731,27 @@ void ntreeCompositTagGenerators(bNodeTree *ntree) } } +int ntreeTexTagAnimated(bNodeTree *ntree) +{ + bNode *node; + + if(ntree==NULL) return 0; + + for(node= ntree->nodes.first; node; node= node->next) { + if(node->type==TEX_NODE_CURVE_TIME) { + NodeTagChanged(ntree, node); + return 1; + } + else if(node->type==NODE_GROUP) { + if( ntreeTexTagAnimated((bNodeTree *)node->id) ) { + return 1; + } + } + } + + return 0; +} + /* ************* node definition init ********** */ static bNodeType *is_nodetype_registered(ListBase *typelist, int type, ID *id) @@ -2742,6 +2875,41 @@ static void registerShaderNodes(ListBase *ntypelist) nodeRegisterType(ntypelist, &sh_node_hue_sat); } +static void registerTextureNodes(ListBase *ntypelist) +{ + nodeRegisterType(ntypelist, &node_group_typeinfo); + nodeRegisterType(ntypelist, &tex_node_math); + nodeRegisterType(ntypelist, &tex_node_mix_rgb); + nodeRegisterType(ntypelist, &tex_node_valtorgb); + nodeRegisterType(ntypelist, &tex_node_rgbtobw); + nodeRegisterType(ntypelist, &tex_node_curve_rgb); + nodeRegisterType(ntypelist, &tex_node_curve_time); + nodeRegisterType(ntypelist, &tex_node_invert); + nodeRegisterType(ntypelist, &tex_node_hue_sat); + + nodeRegisterType(ntypelist, &tex_node_output); + nodeRegisterType(ntypelist, &tex_node_viewer); + + nodeRegisterType(ntypelist, &tex_node_checker); + nodeRegisterType(ntypelist, &tex_node_texture); + nodeRegisterType(ntypelist, &tex_node_bricks); + nodeRegisterType(ntypelist, &tex_node_image); + + nodeRegisterType(ntypelist, &tex_node_rotate); + nodeRegisterType(ntypelist, &tex_node_translate); + + nodeRegisterType(ntypelist, &tex_node_proc_voronoi); + nodeRegisterType(ntypelist, &tex_node_proc_blend); + nodeRegisterType(ntypelist, &tex_node_proc_magic); + nodeRegisterType(ntypelist, &tex_node_proc_marble); + nodeRegisterType(ntypelist, &tex_node_proc_clouds); + nodeRegisterType(ntypelist, &tex_node_proc_wood); + nodeRegisterType(ntypelist, &tex_node_proc_musgrave); + nodeRegisterType(ntypelist, &tex_node_proc_noise); + nodeRegisterType(ntypelist, &tex_node_proc_stucci); + nodeRegisterType(ntypelist, &tex_node_proc_distnoise); +} + static void remove_dynamic_typeinfos(ListBase *list) { bNodeType *ntype= list->first; @@ -2779,6 +2947,7 @@ void init_nodesystem(void) { registerCompositNodes(&node_all_composit); registerShaderNodes(&node_all_shaders); + registerTextureNodes(&node_all_textures); } void free_nodesystem(void) @@ -2787,4 +2956,5 @@ void free_nodesystem(void) BLI_freelistN(&node_all_composit); remove_dynamic_typeinfos(&node_all_shaders); BLI_freelistN(&node_all_shaders); + BLI_freelistN(&node_all_textures); } diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index b6f6820ca73..a25afeafaef 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -111,7 +111,9 @@ #include "LBM_fluidsim.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "GPU_material.h" @@ -269,8 +271,10 @@ void free_object(Object *ob) free_constraints(&ob->constraints); free_constraint_channels(&ob->constraintChannels); free_nlastrips(&ob->nlastrips); - + +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&ob->scriptlink); +#endif if(ob->pd){ if(ob->pd->tex) @@ -637,9 +641,9 @@ Camera *copy_camera(Camera *cam) camn= copy_libblock(cam); id_us_plus((ID *)camn->ipo); - +#ifndef DISABLE_PYTHON BPY_copy_scriptlink(&camn->scriptlink); - +#endif return camn; } @@ -786,9 +790,9 @@ Lamp *copy_lamp(Lamp *la) id_us_plus((ID *)lan->ipo); if (la->preview) lan->preview = BKE_previewimg_copy(la->preview); - +#ifndef DISABLE_PYTHON BPY_copy_scriptlink(&la->scriptlink); - +#endif return lan; } @@ -846,7 +850,9 @@ void make_local_lamp(Lamp *la) void free_camera(Camera *ca) { +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&ca->scriptlink); +#endif } void free_lamp(Lamp *la) @@ -855,8 +861,9 @@ void free_lamp(Lamp *la) int a; /* scriptlinks */ - +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&la->scriptlink); +#endif for(a=0; a<MAX_MTEX; a++) { mtex= la->mtex[a]; @@ -1156,7 +1163,10 @@ static void copy_object_pose(Object *obn, Object *ob) ListBase targets = {NULL, NULL}; bConstraintTarget *ct; - if(con->ipo) { + /* note that we can't change lib linked ipo blocks. for making + * proxies this still works correct however because the object + * is changed to object->proxy_from when evaluating the driver. */ + if(con->ipo && !con->ipo->id.lib) { IpoCurve *icu; for(icu= con->ipo->curve.first; icu; icu= icu->next) { if(icu->driver && icu->driver->ob==ob) @@ -1202,9 +1212,9 @@ Object *copy_object(Object *ob) modifier_copyData(md, nmd); BLI_addtail(&obn->modifiers, nmd); } - +#ifndef DISABLE_PYTHON BPY_copy_scriptlink(&ob->scriptlink); - +#endif obn->prop.first = obn->prop.last = NULL; copy_properties(&obn->prop, &ob->prop); @@ -1918,10 +1928,11 @@ void where_is_object_time(Object *ob, float ctime) constraints_clear_evalob(cob); } - +#ifndef DISABLE_PYTHON if(ob->scriptlink.totscript && !during_script()) { if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript((ID *)ob, SCRIPT_REDRAW); } +#endif /* set negative scale flag in object */ Crossf(vec, ob->obmat[0], ob->obmat[1]); @@ -2288,7 +2299,9 @@ void object_handle_update(Object *ob) } else where_is_object(ob); +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript((ID *)ob, SCRIPT_OBJECTUPDATE); +#endif } if(ob->recalc & OB_RECALC_DATA) { @@ -2364,7 +2377,9 @@ void object_handle_update(Object *ob) psys_get_modifier(ob, psys)->flag &= ~eParticleSystemFlag_psys_updated; } } +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript((ID *)ob, SCRIPT_OBDATAUPDATE); +#endif } /* the no-group proxy case, we call update */ diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index dea36a69643..1727edc10fc 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -82,7 +82,10 @@ #include "BIF_previewrender.h" #include "BIF_editseq.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif + #include "BLI_arithb.h" #include "BLI_blenlib.h" @@ -139,7 +142,10 @@ void free_scene(Scene *sce) if(sce->radio) MEM_freeN(sce->radio); sce->radio= 0; +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&sce->scriptlink); +#endif + if (sce->r.avicodecdata) { free_avicodecdata(sce->r.avicodecdata); MEM_freeN(sce->r.avicodecdata); @@ -253,6 +259,21 @@ Scene *add_scene(char *name) sce->toolsettings->select_thresh= 0.01f; sce->toolsettings->jointrilimit = 0.8f; + sce->toolsettings->skgen_resolution = 100; + sce->toolsettings->skgen_threshold_internal = 0.01f; + sce->toolsettings->skgen_threshold_external = 0.01f; + sce->toolsettings->skgen_angle_limit = 45.0f; + sce->toolsettings->skgen_length_ratio = 1.3f; + sce->toolsettings->skgen_length_limit = 1.5f; + sce->toolsettings->skgen_correlation_limit = 0.98f; + sce->toolsettings->skgen_symmetry_limit = 0.1f; + sce->toolsettings->skgen_postpro = SKGEN_SMOOTH; + sce->toolsettings->skgen_postpro_passes = 1; + sce->toolsettings->skgen_options = SKGEN_FILTER_INTERNAL|SKGEN_FILTER_EXTERNAL|SKGEN_FILTER_SMART|SKGEN_HARMONIC|SKGEN_SUB_CORRELATION|SKGEN_STICK_TO_EMBEDDING; + sce->toolsettings->skgen_subdivisions[0] = SKGEN_SUB_CORRELATION; + sce->toolsettings->skgen_subdivisions[1] = SKGEN_SUB_LENGTH; + sce->toolsettings->skgen_subdivisions[2] = SKGEN_SUB_ANGLE; + pset= &sce->toolsettings->particle; pset->flag= PE_KEEP_LENGTHS|PE_LOCK_FIRST|PE_DEFLECT_EMITTER; pset->emitterdist= 0.25f; @@ -570,9 +591,9 @@ void scene_update_for_newframe(Scene *sce, unsigned int lay) /* object ipos are calculated in where_is_object */ do_all_data_ipos(); - +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_FRAMECHANGED, 0); - +#endif /* sets first, we allow per definition current scene to have dependencies on sets */ for(sce= sce->set; sce; sce= sce->set) scene_update(sce, lay); diff --git a/source/blender/blenkernel/intern/script.c b/source/blender/blenkernel/intern/script.c index b93821da218..6145f6c3063 100644 --- a/source/blender/blenkernel/intern/script.c +++ b/source/blender/blenkernel/intern/script.c @@ -44,7 +44,9 @@ #include "BKE_global.h" #include "BKE_main.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" // Blender Python library +#endif #ifdef HAVE_CONFIG_H #include <config.h> @@ -57,5 +59,7 @@ void free_script (Script *script) { if (!script) return; +#ifndef DISABLE_PYTHON BPY_clear_script(script); +#endif } diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index 28bf7aee884..ab98fb1f007 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -41,6 +41,7 @@ #include "BKE_shrinkwrap.h" #include "BKE_DerivedMesh.h" +#include "BKE_lattice.h" #include "BKE_utildefines.h" #include "BKE_deform.h" #include "BKE_cdderivedmesh.h" @@ -161,6 +162,18 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Object *ob, DerivedM calc.numVerts = numVerts; calc.vertexCos = vertexCos; + //DeformVertex + calc.vgroup = get_named_vertexgroup_num(calc.ob, calc.smd->vgroup_name); + if(calc.original) + { + calc.dvert = calc.original->getVertDataArray(calc.original, CD_MDEFORMVERT); + } + else if(calc.ob->type == OB_LATTICE) + { + calc.dvert = lattice_get_deform_verts(calc.ob); + } + + if(smd->target) { //TODO currently we need a copy in case object_get_derived_final returns an emDM that does not defines getVertArray or getFace array @@ -207,8 +220,6 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Object *ob, DerivedM void shrinkwrap_calc_nearest_vertex(ShrinkwrapCalcData *calc) { int i; - const int vgroup = get_named_vertexgroup_num(calc->ob, calc->smd->vgroup_name); - MDeformVert *const dvert = calc->original ? calc->original->getVertDataArray(calc->original, CD_MDEFORMVERT) : NULL; BVHTreeFromMesh treeData = NULL_BVHTreeFromMesh; BVHTreeNearest nearest = NULL_BVHTreeNearest; @@ -230,7 +241,7 @@ void shrinkwrap_calc_nearest_vertex(ShrinkwrapCalcData *calc) { float *co = calc->vertexCos[i]; float tmp_co[3]; - float weight = vertexgroup_get_vertex_weight(dvert, i, vgroup); + float weight = vertexgroup_get_vertex_weight(calc->dvert, i, calc->vgroup); if(weight == 0.0f) continue; VECCOPY(tmp_co, co); @@ -342,11 +353,6 @@ void shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *calc) MVert *vert = NULL; //Needed in case of vertex normal DerivedMesh* ss_mesh = NULL; - //Vertex group data - const int vgroup = get_named_vertexgroup_num(calc->ob, calc->smd->vgroup_name); - const MDeformVert *dvert = calc->original ? calc->original->getVertDataArray(calc->original, CD_MDEFORMVERT) : NULL; - - //Raycast and tree stuff BVHTreeRayHit hit; BVHTreeFromMesh treeData = NULL_BVHTreeFromMesh; //target @@ -441,7 +447,7 @@ do float *co = calc->vertexCos[i]; float tmp_co[3], tmp_no[3]; float lim = 10000.0f; //TODO: we should use FLT_MAX here, but sweepsphere code isnt prepared for that - float weight = vertexgroup_get_vertex_weight(dvert, i, vgroup); + float weight = vertexgroup_get_vertex_weight(calc->dvert, i, calc->vgroup); if(weight == 0.0f) continue; @@ -520,9 +526,6 @@ void shrinkwrap_calc_nearest_surface_point(ShrinkwrapCalcData *calc) { int i; - const int vgroup = get_named_vertexgroup_num(calc->ob, calc->smd->vgroup_name); - const MDeformVert *const dvert = calc->original ? calc->original->getVertDataArray(calc->original, CD_MDEFORMVERT) : NULL; - BVHTreeFromMesh treeData = NULL_BVHTreeFromMesh; BVHTreeNearest nearest = NULL_BVHTreeNearest; @@ -547,7 +550,7 @@ void shrinkwrap_calc_nearest_surface_point(ShrinkwrapCalcData *calc) { float *co = calc->vertexCos[i]; float tmp_co[3]; - float weight = vertexgroup_get_vertex_weight(dvert, i, vgroup); + float weight = vertexgroup_get_vertex_weight(calc->dvert, i, calc->vgroup); if(weight == 0.0f) continue; //Convert the vertex to tree coordinates diff --git a/source/blender/blenkernel/intern/simple_deform.c b/source/blender/blenkernel/intern/simple_deform.c index 0eb710fa48e..2978a6f7f01 100644 --- a/source/blender/blenkernel/intern/simple_deform.c +++ b/source/blender/blenkernel/intern/simple_deform.c @@ -32,6 +32,7 @@ #include "BKE_simple_deform.h" #include "BKE_DerivedMesh.h" +#include "BKE_lattice.h" #include "BKE_deform.h" #include "BKE_utildefines.h" #include "BLI_arithb.h" @@ -204,7 +205,14 @@ void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object *ob, s if(dm) - dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT); + { + dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT); + } + else if(ob->type == OB_LATTICE) + { + dvert = lattice_get_deform_verts(ob); + } + switch(smd->mode) diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index 9e6efa59d71..d33721541f8 100644 --- a/source/blender/blenkernel/intern/text.c +++ b/source/blender/blenkernel/intern/text.c @@ -47,7 +47,9 @@ #include "BKE_global.h" #include "BKE_main.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #ifdef HAVE_CONFIG_H #include <config.h> @@ -158,7 +160,9 @@ void free_text(Text *text) if(text->name) MEM_freeN(text->name); MEM_freeN(text->undo_buf); +#ifndef DISABLE_PYTHON if (text->compiled) BPY_free_compiled_text(text); +#endif } Text *add_empty_text(char *name) @@ -571,7 +575,9 @@ int txt_get_span (TextLine *from, TextLine *to) static void txt_make_dirty (Text *text) { text->flags |= TXT_ISDIRTY; +#ifndef DISABLE_PYTHON if (text->compiled) BPY_free_compiled_text(text); +#endif } /* 0:whitespace, 1:punct, 2:alphanumeric */ diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 1bb4ef3eeff..c972d70d927 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -349,6 +349,15 @@ int do_colorband(ColorBand *coba, float in, float out[4]) else fac= 0.0f; + if (coba->ipotype==4) { + /* constant */ + out[0]= cbd2->r; + out[1]= cbd2->g; + out[2]= cbd2->b; + out[3]= cbd2->a; + return 1; + } + if(coba->ipotype>=2) { /* ipo from right to left: 3 2 1 0 */ @@ -414,6 +423,11 @@ void free_texture(Tex *tex) BKE_previewimg_free(&tex->preview); BKE_icon_delete((struct ID*)tex); tex->id.icon_id = 0; + + if(tex->nodetree) { + ntreeFreeTree(tex->nodetree); + MEM_freeN(tex->nodetree); + } } /* ------------------------------------------------------------------------- */ @@ -577,6 +591,11 @@ Tex *copy_texture(Tex *tex) if(tex->preview) texn->preview = BKE_previewimg_copy(tex->preview); + if(tex->nodetree) { + ntreeEndExecTree(tex->nodetree); + texn->nodetree= ntreeCopyTree(tex->nodetree, 0); /* 0 == full new tree */ + } + return texn; } @@ -727,6 +746,10 @@ void autotexname(Tex *tex) char di[FILE_MAXDIR], fi[FILE_MAXFILE]; if(tex) { + if(tex->use_nodes) { + new_id(&G.main->tex, (ID *)tex, "Noddy"); + } + else if(tex->type==TEX_IMAGE) { ima= tex->ima; if(ima) { diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 814d6f8baf1..2e89ce3f805 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -54,7 +54,9 @@ #include "BKE_main.h" #include "BKE_icons.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #ifdef HAVE_CONFIG_H #include <config.h> @@ -64,9 +66,10 @@ void free_world(World *wrld) { MTex *mtex; int a; - + +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&wrld->scriptlink); - +#endif for(a=0; a<MAX_MTEX; a++) { mtex= wrld->mtex[a]; if(mtex && mtex->tex) mtex->tex->id.us--; @@ -124,9 +127,9 @@ World *copy_world(World *wrld) } if (wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview); - +#ifndef DISABLE_PYTHON BPY_copy_scriptlink(&wrld->scriptlink); - +#endif id_us_plus((ID *)wrldn->ipo); return wrldn; diff --git a/source/blender/blenlib/BLI_arithb.h b/source/blender/blenlib/BLI_arithb.h index bc530621403..d59fd3d52e0 100644 --- a/source/blender/blenlib/BLI_arithb.h +++ b/source/blender/blenlib/BLI_arithb.h @@ -245,6 +245,7 @@ void VecMulf(float *v1, float f); int VecLenCompare(float *v1, float *v2, float limit); int VecCompare(float *v1, float *v2, float limit); int VecEqual(float *v1, float *v2); +int VecIsNull(float *v); void printvecf(char *str,float v[3]); void printvec4f(char *str, float v[4]); @@ -266,6 +267,7 @@ void Vec2Copyf(float *v1, float *v2); void Vec2Lerpf(float *target, float *a, float *b, float t); void AxisAngleToQuat(float *q, float *axis, float angle); +void RotationBetweenVectorsToQuat(float *q, float v1[3], float v2[3]); void vectoquat(float *vec, short axis, short upflag, float *q); float VecAngle2(float *v1, float *v2); diff --git a/source/blender/blenlib/BLI_blenlib.h b/source/blender/blenlib/BLI_blenlib.h index 4bbda9709d7..13d5b5fe829 100644 --- a/source/blender/blenlib/BLI_blenlib.h +++ b/source/blender/blenlib/BLI_blenlib.h @@ -416,7 +416,7 @@ void *BLI_pointer_from_int(int val); * @param member The name of a member field of @a strct * @retval The offset in bytes of @a member within @a strct */ -#define BLI_STRUCT_OFFSET(strct, member) ((int) &((strct*) 0)->member) +#define BLI_STRUCT_OFFSET(strct, member) ((int)(intptr_t) &((strct*) 0)->member) #ifdef __cplusplus } diff --git a/source/blender/blenlib/BLI_ghash.h b/source/blender/blenlib/BLI_ghash.h index aec77f5f385..c77e82f0a2b 100644 --- a/source/blender/blenlib/BLI_ghash.h +++ b/source/blender/blenlib/BLI_ghash.h @@ -34,7 +34,12 @@ struct GHash; typedef struct GHash GHash; -typedef struct GHashIterator GHashIterator; + +typedef struct GHashIterator { + GHash *gh; + int curBucket; + struct Entry *curEntry; +} GHashIterator; typedef unsigned int (*GHashHashFP) (void *key); typedef int (*GHashCmpFP) (void *a, void *b); @@ -63,6 +68,15 @@ int BLI_ghash_size (GHash *gh); */ GHashIterator* BLI_ghashIterator_new (GHash *gh); /** + * Init an already allocated GHashIterator. The hash table must not + * be mutated while the iterator is in use, and the iterator will + * step exactly BLI_ghash_size(gh) times before becoming done. + * + * @param ghi The GHashIterator to initialize. + * @param gh The GHash to iterate over. + */ +void BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh); + /** * Free a GHashIterator. * * @param ghi The iterator to free. diff --git a/source/blender/blenlib/BLI_graph.h b/source/blender/blenlib/BLI_graph.h new file mode 100644 index 00000000000..160c2e04cf5 --- /dev/null +++ b/source/blender/blenlib/BLI_graph.h @@ -0,0 +1,125 @@ +#ifndef BLI_GRAPH_H_ +#define BLI_GRAPH_H_ + +#include "DNA_listBase.h" + +struct BGraph; +struct BNode; +struct BArc; + +struct RadialArc; + +typedef void (*FreeArc)(struct BArc*); +typedef void (*FreeNode)(struct BNode*); +typedef void (*RadialSymmetry)(struct BNode* root_node, struct RadialArc* ring, int total); +typedef void (*AxialSymmetry)(struct BNode* root_node, struct BNode* node1, struct BNode* node2, struct BArc* arc1, struct BArc* arc2); + +/* IF YOU MODIFY THOSE TYPES, YOU NEED TO UPDATE ALL THOSE THAT "INHERIT" FROM THEM + * + * RigGraph, ReebGraph + * + * */ + +typedef struct BGraph { + ListBase arcs; + ListBase nodes; + + float length; + + /* function pointer to deal with custom fonctionnality */ + FreeArc free_arc; + FreeNode free_node; + RadialSymmetry radial_symmetry; + AxialSymmetry axial_symmetry; +} BGraph; + +typedef struct BNode { + void *next, *prev; + float p[3]; + int flag; + + int degree; + struct BArc **arcs; + + int subgraph_index; + + int symmetry_level; + int symmetry_flag; + float symmetry_axis[3]; +} BNode; + +typedef struct BArc { + void *next, *prev; + struct BNode *head, *tail; + int flag; + + float length; + + int symmetry_level; + int symmetry_group; + int symmetry_flag; +} BArc; + +/* Helper structure for radial symmetry */ +typedef struct RadialArc +{ + struct BArc *arc; + float n[3]; /* normalized vector joining the nodes of the arc */ +} RadialArc; + +BNode *BLI_otherNode(BArc *arc, BNode *node); + +void BLI_freeNode(BGraph *graph, BNode *node); +void BLI_removeNode(BGraph *graph, BNode *node); + +void BLI_removeArc(BGraph *graph, BArc *arc); + +void BLI_flagNodes(BGraph *graph, int flag); +void BLI_flagArcs(BGraph *graph, int flag); + +int BLI_hasAdjacencyList(BGraph *rg); +void BLI_buildAdjacencyList(BGraph *rg); +void BLI_rebuildAdjacencyList(BGraph* rg); +void BLI_rebuildAdjacencyListForNode(BGraph* rg, BNode *node); +void BLI_freeAdjacencyList(BGraph *rg); + +int BLI_FlagSubgraphs(BGraph *graph); +void BLI_ReflagSubgraph(BGraph *graph, int old_subgraph, int new_subgraph); + +#define SHAPE_RADIX 10 /* each shape level is encoded this base */ + +int BLI_subtreeShape(BGraph *graph, BNode *node, BArc *rootArc, int include_root); +float BLI_subtreeLength(BNode *node); +void BLI_calcGraphLength(BGraph *graph); + +void BLI_replaceNode(BGraph *graph, BNode *node_src, BNode *node_replaced); +void BLI_replaceNodeInArc(BGraph *graph, BArc *arc, BNode *node_src, BNode *node_replaced); +void BLI_removeDoubleNodes(BGraph *graph, float limit); +BNode * BLI_FindNodeByPosition(BGraph *graph, float *p, float limit); + +BArc * BLI_findConnectedArc(BGraph *graph, BArc *arc, BNode *v); + +int BLI_isGraphCyclic(BGraph *graph); + +/*------------ Symmetry handling ------------*/ +void BLI_markdownSymmetry(BGraph *graph, BNode *root_node, float limit); + +void BLI_mirrorAlongAxis(float v[3], float center[3], float axis[3]); + +/* BNode symmetry flags */ +#define SYM_TOPOLOGICAL 1 +#define SYM_PHYSICAL 2 + +/* the following two are exclusive */ +#define SYM_AXIAL 4 +#define SYM_RADIAL 8 + +/* BArc symmetry flags + * + * axial symetry sides */ +#define SYM_SIDE_POSITIVE 1 +#define SYM_SIDE_NEGATIVE 2 +/* Anything higher is the order in radial symmetry */ +#define SYM_SIDE_RADIAL 3 + +#endif /*BLI_GRAPH_H_*/ diff --git a/source/blender/blenlib/BLI_linklist.h b/source/blender/blenlib/BLI_linklist.h index e840ffd167a..ed202c11429 100644 --- a/source/blender/blenlib/BLI_linklist.h +++ b/source/blender/blenlib/BLI_linklist.h @@ -45,6 +45,7 @@ typedef struct LinkNode { } LinkNode; int BLI_linklist_length (struct LinkNode *list); +int BLI_linklist_index (struct LinkNode *list, void *ptr); void BLI_linklist_reverse (struct LinkNode **listp); diff --git a/source/blender/blenlib/BLI_memarena.h b/source/blender/blenlib/BLI_memarena.h index 34d732e1862..a2954f8fa0d 100644 --- a/source/blender/blenlib/BLI_memarena.h +++ b/source/blender/blenlib/BLI_memarena.h @@ -50,6 +50,7 @@ typedef struct MemArena MemArena; struct MemArena* BLI_memarena_new (int bufsize); void BLI_memarena_free (struct MemArena *ma); +void BLI_memarena_use_malloc (struct MemArena *ma); void BLI_memarena_use_calloc (struct MemArena *ma); void* BLI_memarena_alloc (struct MemArena *ma, int size); diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h index 39162b8bd91..5a7e84c42fb 100644 --- a/source/blender/blenlib/BLI_threads.h +++ b/source/blender/blenlib/BLI_threads.h @@ -39,17 +39,41 @@ #define BLENDER_MAX_THREADS 8 struct ListBase; - void BLI_init_threads (struct ListBase *threadbase, void *(*do_thread)(void *), int tot); int BLI_available_threads(struct ListBase *threadbase); int BLI_available_thread_index(struct ListBase *threadbase); void BLI_insert_thread (struct ListBase *threadbase, void *callerdata); void BLI_remove_thread (struct ListBase *threadbase, void *callerdata); +void BLI_remove_thread_index(struct ListBase *threadbase, int index); +void BLI_remove_threads(struct ListBase *threadbase); void BLI_end_threads (struct ListBase *threadbase); void BLI_lock_thread (int type); void BLI_unlock_thread (int type); int BLI_system_thread_count( void ); /* gets the number of threads the system can make use of */ + +/* ThreadedWorker is a simple tool for dispatching work to a limited number of threads in a transparent + * fashion from the caller's perspective + * */ + +struct ThreadedWorker; + +/* Create a new worker supporting tot parallel threads. + * When new work in inserted and all threads are busy, sleep(sleep_time) before checking again + */ +struct ThreadedWorker *BLI_create_worker(void *(*do_thread)(void *), int tot, int sleep_time); + +/* join all working threads */ +void BLI_end_worker(struct ThreadedWorker *worker); + +/* also ends all working threads */ +void BLI_destroy_worker(struct ThreadedWorker *worker); + +/* Spawns a new work thread if possible, sleeps until one is available otherwise + * NOTE: inserting work is NOT thread safe, so make sure it is only done from one thread */ +void BLI_insert_work(struct ThreadedWorker *worker, void *param); + + #endif diff --git a/source/blender/blenlib/SConscript b/source/blender/blenlib/SConscript index e7a4f2eaf13..829b39f4a61 100644 --- a/source/blender/blenlib/SConscript +++ b/source/blender/blenlib/SConscript @@ -7,9 +7,11 @@ cflags='' incs = '. ../makesdna ../blenkernel #/intern/guardedalloc ../include' incs += ' ' + env['BF_FREETYPE_INC'] incs += ' ' + env['BF_ZLIB_INC'] -incs += ' ' + env['BF_SDL_INC'] defs = '' +if env['WITH_BF_SDL']: + incs += ' ' + env['BF_SDL_INC'] + if env['WITH_BF_INTERNATIONAL']: defs = 'WITH_FREETYPE2' @@ -21,7 +23,7 @@ if env['OURPLATFORM'] == 'linux2': cflags='-pthread' incs += ' ../../../extern/binreloc/include' -if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'): +if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross'): incs += ' ' + env['BF_PTHREADS_INC'] env.BlenderLib ( 'bf_blenlib', sources, Split(incs), Split(defs), libtype=['core', 'intern', 'player'], priority = [85,150,195], compileflags =cflags ) diff --git a/source/blender/blenlib/intern/BLI_ghash.c b/source/blender/blenlib/intern/BLI_ghash.c index e9271ca3bb5..1967b8a88e2 100644 --- a/source/blender/blenlib/intern/BLI_ghash.c +++ b/source/blender/blenlib/intern/BLI_ghash.c @@ -200,12 +200,6 @@ void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreef /***/ -struct GHashIterator { - GHash *gh; - int curBucket; - Entry *curEntry; -}; - GHashIterator *BLI_ghashIterator_new(GHash *gh) { GHashIterator *ghi= malloc(sizeof(*ghi)); ghi->gh= gh; @@ -219,6 +213,17 @@ GHashIterator *BLI_ghashIterator_new(GHash *gh) { } return ghi; } +void BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh) { + ghi->gh= gh; + ghi->curEntry= NULL; + ghi->curBucket= -1; + while (!ghi->curEntry) { + ghi->curBucket++; + if (ghi->curBucket==ghi->gh->nbuckets) + break; + ghi->curEntry= ghi->gh->buckets[ghi->curBucket]; + } +} void BLI_ghashIterator_free(GHashIterator *ghi) { free(ghi); } diff --git a/source/blender/blenlib/intern/BLI_linklist.c b/source/blender/blenlib/intern/BLI_linklist.c index 506a1036ed6..962bbeea373 100644 --- a/source/blender/blenlib/intern/BLI_linklist.c +++ b/source/blender/blenlib/intern/BLI_linklist.c @@ -50,6 +50,18 @@ int BLI_linklist_length(LinkNode *list) { } } +int BLI_linklist_index(struct LinkNode *list, void *ptr) +{ + int index; + + for (index = 0; list; list= list->next, index++) { + if (list->link == ptr) + return index; + } + + return -1; +} + void BLI_linklist_reverse(LinkNode **listp) { LinkNode *rhead= NULL, *cur= *listp; diff --git a/source/blender/blenlib/intern/BLI_memarena.c b/source/blender/blenlib/intern/BLI_memarena.c index 69dd13cd335..87d2f0426b2 100644 --- a/source/blender/blenlib/intern/BLI_memarena.c +++ b/source/blender/blenlib/intern/BLI_memarena.c @@ -60,6 +60,10 @@ void BLI_memarena_use_calloc(MemArena *ma) { ma->use_calloc= 1; } +void BLI_memarena_use_malloc(MemArena *ma) { + ma->use_calloc= 0; +} + void BLI_memarena_free(MemArena *ma) { BLI_linklist_free(ma->bufs, (void(*)(void*)) MEM_freeN); MEM_freeN(ma); diff --git a/source/blender/blenlib/intern/arithb.c b/source/blender/blenlib/intern/arithb.c index bf7e3473d1f..5cfee8bf784 100644 --- a/source/blender/blenlib/intern/arithb.c +++ b/source/blender/blenlib/intern/arithb.c @@ -1351,8 +1351,8 @@ void Mat4ToQuat( float m[][4], float *q) void QuatOne(float *q) { - q[0]= q[2]= q[3]= 0.0; - q[1]= 1.0; + q[0]= 1.0; + q[1]= q[2]= q[3]= 0.0; } void NormalQuat(float *q) @@ -1371,6 +1371,18 @@ void NormalQuat(float *q) } } +void RotationBetweenVectorsToQuat(float *q, float v1[3], float v2[3]) +{ + float axis[3]; + float angle; + + Crossf(axis, v1, v2); + + angle = NormalizedVecAngle2(v1, v2); + + AxisAngleToQuat(q, axis, angle); +} + void AxisAngleToQuat(float *q, float *axis, float angle) { float nor[3]; @@ -2226,6 +2238,11 @@ int VecEqual(float *v1, float *v2) return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2])); } +int VecIsNull(float *v) +{ + return (v[0] == 0 && v[1] == 0 && v[2] == 0); +} + void CalcNormShort( short *v1, short *v2, short *v3, float *n) /* is also cross product */ { float n1[3],n2[3]; diff --git a/source/blender/blenlib/intern/graph.c b/source/blender/blenlib/intern/graph.c new file mode 100644 index 00000000000..8f35b38379e --- /dev/null +++ b/source/blender/blenlib/intern/graph.c @@ -0,0 +1,1087 @@ +/** + * $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. + * + * Contributor(s): Martin Poirier + * + * ***** END GPL LICENSE BLOCK ***** + * graph.c: Common graph interface and methods + */ + +#include <float.h> +#include <math.h> + +#include "MEM_guardedalloc.h" + +#include "BLI_graph.h" +#include "BLI_blenlib.h" +#include "BLI_arithb.h" + +#include "BKE_utildefines.h" + +static void testRadialSymmetry(BGraph *graph, BNode* root_node, RadialArc* ring, int total, float axis[3], float limit, int group); + +static void handleAxialSymmetry(BGraph *graph, BNode *root_node, int depth, float axis[3], float limit); +static void testAxialSymmetry(BGraph *graph, BNode* root_node, BNode* node1, BNode* node2, BArc* arc1, BArc* arc2, float axis[3], float limit, int group); +static void flagAxialSymmetry(BNode *root_node, BNode *end_node, BArc *arc, int group); + +void BLI_freeNode(BGraph *graph, BNode *node) +{ + if (node->arcs) + { + MEM_freeN(node->arcs); + } + + if (graph->free_node) + { + graph->free_node(node); + } +} + +void BLI_removeNode(BGraph *graph, BNode *node) +{ + BLI_freeNode(graph, node); + BLI_freelinkN(&graph->nodes, node); +} + +BNode *BLI_otherNode(BArc *arc, BNode *node) +{ + return (arc->head == node) ? arc->tail : arc->head; +} + +void BLI_removeArc(BGraph *graph, BArc *arc) +{ + if (graph->free_arc) + { + graph->free_arc(arc); + } + + BLI_freelinkN(&graph->arcs, arc); +} + +void BLI_flagNodes(BGraph *graph, int flag) +{ + BNode *node; + + for(node = graph->nodes.first; node; node = node->next) + { + node->flag = flag; + } +} + +void BLI_flagArcs(BGraph *graph, int flag) +{ + BArc *arc; + + for(arc = graph->arcs.first; arc; arc = arc->next) + { + arc->flag = flag; + } +} + +static void addArcToNodeAdjacencyList(BNode *node, BArc *arc) +{ + node->arcs[node->flag] = arc; + node->flag++; +} + +void BLI_buildAdjacencyList(BGraph *graph) +{ + BNode *node; + BArc *arc; + + for(node = graph->nodes.first; node; node = node->next) + { + if (node->arcs != NULL) + { + MEM_freeN(node->arcs); + } + + node->arcs = MEM_callocN((node->degree) * sizeof(BArc*), "adjacency list"); + + /* temporary use to indicate the first index available in the lists */ + node->flag = 0; + } + + for(arc = graph->arcs.first; arc; arc= arc->next) + { + addArcToNodeAdjacencyList(arc->head, arc); + addArcToNodeAdjacencyList(arc->tail, arc); + } + + for(node = graph->nodes.first; node; node = node->next) + { + if (node->degree != node->flag) + { + printf("error in node [%p]. Added only %i arcs out of %i\n", node, node->flag, node->degree); + } + } +} + +void BLI_rebuildAdjacencyListForNode(BGraph* graph, BNode *node) +{ + BArc *arc; + + if (node->arcs != NULL) + { + MEM_freeN(node->arcs); + } + + node->arcs = MEM_callocN((node->degree) * sizeof(BArc*), "adjacency list"); + + /* temporary use to indicate the first index available in the lists */ + node->flag = 0; + + for(arc = graph->arcs.first; arc; arc= arc->next) + { + if (arc->head == node) + { + addArcToNodeAdjacencyList(arc->head, arc); + } + else if (arc->tail == node) + { + addArcToNodeAdjacencyList(arc->tail, arc); + } + } + + if (node->degree != node->flag) + { + printf("error in node [%p]. Added only %i arcs out of %i\n", node, node->flag, node->degree); + } +} + +void BLI_freeAdjacencyList(BGraph *graph) +{ + BNode *node; + + for(node = graph->nodes.first; node; node = node->next) + { + if (node->arcs != NULL) + { + MEM_freeN(node->arcs); + node->arcs = NULL; + } + } +} + +int BLI_hasAdjacencyList(BGraph *graph) +{ + BNode *node; + + for(node = graph->nodes.first; node; node = node->next) + { + if (node->arcs == NULL) + { + return 0; + } + } + + return 1; +} + +void BLI_replaceNodeInArc(BGraph *graph, BArc *arc, BNode *node_src, BNode *node_replaced) +{ + if (arc->head == node_replaced) + { + arc->head = node_src; + node_src->degree++; + } + + if (arc->tail == node_replaced) + { + arc->tail = node_src; + node_src->degree++; + } + + if (arc->head == arc->tail) + { + node_src->degree -= 2; + + graph->free_arc(arc); + BLI_freelinkN(&graph->arcs, arc); + } + + if (node_replaced->degree == 0) + { + BLI_removeNode(graph, node_replaced); + } +} + +void BLI_replaceNode(BGraph *graph, BNode *node_src, BNode *node_replaced) +{ + BArc *arc, *next_arc; + + for (arc = graph->arcs.first; arc; arc = next_arc) + { + next_arc = arc->next; + + if (arc->head == node_replaced) + { + arc->head = node_src; + node_replaced->degree--; + node_src->degree++; + } + + if (arc->tail == node_replaced) + { + arc->tail = node_src; + node_replaced->degree--; + node_src->degree++; + } + + if (arc->head == arc->tail) + { + node_src->degree -= 2; + + graph->free_arc(arc); + BLI_freelinkN(&graph->arcs, arc); + } + } + + if (node_replaced->degree == 0) + { + BLI_removeNode(graph, node_replaced); + } +} + +void BLI_removeDoubleNodes(BGraph *graph, float limit) +{ + BNode *node_src, *node_replaced; + + for(node_src = graph->nodes.first; node_src; node_src = node_src->next) + { + for(node_replaced = graph->nodes.first; node_replaced; node_replaced = node_replaced->next) + { + if (node_replaced != node_src && VecLenf(node_replaced->p, node_src->p) <= limit) + { + BLI_replaceNode(graph, node_src, node_replaced); + } + } + } + +} + +BNode * BLI_FindNodeByPosition(BGraph *graph, float *p, float limit) +{ + BNode *closest_node = NULL, *node; + float min_distance; + + for(node = graph->nodes.first; node; node = node->next) + { + float distance = VecLenf(p, node->p); + if (distance <= limit && (closest_node == NULL || distance < min_distance)) + { + closest_node = node; + min_distance = distance; + } + } + + return closest_node; +} +/************************************* SUBGRAPH DETECTION **********************************************/ + +void flagSubgraph(BNode *node, int subgraph) +{ + if (node->subgraph_index == 0) + { + BArc *arc; + int i; + + node->subgraph_index = subgraph; + + for(i = 0; i < node->degree; i++) + { + arc = node->arcs[i]; + flagSubgraph(BLI_otherNode(arc, node), subgraph); + } + } +} + +int BLI_FlagSubgraphs(BGraph *graph) +{ + BNode *node; + int subgraph = 0; + + if (BLI_hasAdjacencyList(graph) == 0) + { + BLI_buildAdjacencyList(graph); + } + + for(node = graph->nodes.first; node; node = node->next) + { + node->subgraph_index = 0; + } + + for (node = graph->nodes.first; node; node = node->next) + { + if (node->subgraph_index == 0) + { + subgraph++; + flagSubgraph(node, subgraph); + } + } + + return subgraph; +} + +void BLI_ReflagSubgraph(BGraph *graph, int old_subgraph, int new_subgraph) +{ + BNode *node; + + for (node = graph->nodes.first; node; node = node->next) + { + if (node->flag == old_subgraph) + { + node->flag = new_subgraph; + } + } +} + +/*************************************** CYCLE DETECTION ***********************************************/ + +int detectCycle(BNode *node, BArc *src_arc) +{ + int value = 0; + + if (node->flag == 0) + { + int i; + + /* mark node as visited */ + node->flag = 1; + + for(i = 0; i < node->degree && value == 0; i++) + { + BArc *arc = node->arcs[i]; + + /* don't go back on the source arc */ + if (arc != src_arc) + { + value = detectCycle(BLI_otherNode(arc, node), arc); + } + } + } + else + { + value = 1; + } + + return value; +} + +int BLI_isGraphCyclic(BGraph *graph) +{ + BNode *node; + int value = 0; + + /* NEED TO CHECK IF ADJACENCY LIST EXIST */ + + /* Mark all nodes as not visited */ + BLI_flagNodes(graph, 0); + + /* detectCycles in subgraphs */ + for(node = graph->nodes.first; node && value == 0; node = node->next) + { + /* only for nodes in subgraphs that haven't been visited yet */ + if (node->flag == 0) + { + value = value || detectCycle(node, NULL); + } + } + + return value; +} + +BArc * BLI_findConnectedArc(BGraph *graph, BArc *arc, BNode *v) +{ + BArc *nextArc = arc->next; + + for(nextArc = graph->arcs.first; nextArc; nextArc = nextArc->next) + { + if (arc != nextArc && (nextArc->head == v || nextArc->tail == v)) + { + break; + } + } + + return nextArc; +} + +/*********************************** GRAPH AS TREE FUNCTIONS *******************************************/ + +int subtreeShape(BNode *node, BArc *rootArc, int include_root) +{ + int depth = 0; + + node->flag = 1; + + if (include_root) + { + BNode *newNode = BLI_otherNode(rootArc, node); + return subtreeShape(newNode, rootArc, 0); + } + else + { + /* Base case, no arcs leading away */ + if (node->arcs == NULL || *(node->arcs) == NULL) + { + return 0; + } + else + { + int i; + + for(i = 0; i < node->degree; i++) + { + BArc *arc = node->arcs[i]; + BNode *newNode = BLI_otherNode(arc, node); + + /* stop immediate and cyclic backtracking */ + if (arc != rootArc && newNode->flag == 0) + { + depth += subtreeShape(newNode, arc, 0); + } + } + } + + return SHAPE_RADIX * depth + 1; + } +} + +int BLI_subtreeShape(BGraph *graph, BNode *node, BArc *rootArc, int include_root) +{ + BNode *test_node; + + BLI_flagNodes(graph, 0); + return subtreeShape(node, rootArc, include_root); +} + +float BLI_subtreeLength(BNode *node) +{ + float length = 0; + int i; + + node->flag = 0; /* flag node as visited */ + + for(i = 0; i < node->degree; i++) + { + BArc *arc = node->arcs[i]; + BNode *other_node = BLI_otherNode(arc, node); + + if (other_node->flag != 0) + { + float subgraph_length = arc->length + BLI_subtreeLength(other_node); + length = MAX2(length, subgraph_length); + } + } + + return length; +} + +void BLI_calcGraphLength(BGraph *graph) +{ + float length = 0; + int nb_subgraphs; + int i; + + nb_subgraphs = BLI_FlagSubgraphs(graph); + + for (i = 1; i <= nb_subgraphs; i++) + { + BNode *node; + + for (node = graph->nodes.first; node; node = node->next) + { + /* start on an external node of the subgraph */ + if (node->subgraph_index == i && node->degree == 1) + { + float subgraph_length = BLI_subtreeLength(node); + length = MAX2(length, subgraph_length); + break; + } + } + } + + graph->length = length; +} + +/********************************* SYMMETRY DETECTION **************************************************/ + +void markdownSymmetryArc(BGraph *graph, BArc *arc, BNode *node, int level, float limit); + +void BLI_mirrorAlongAxis(float v[3], float center[3], float axis[3]) +{ + float dv[3], pv[3]; + + VecSubf(dv, v, center); + Projf(pv, dv, axis); + VecMulf(pv, -2); + VecAddf(v, v, pv); +} + +static void testRadialSymmetry(BGraph *graph, BNode* root_node, RadialArc* ring, int total, float axis[3], float limit, int group) +{ + int symmetric = 1; + int i; + + /* sort ring by angle */ + for (i = 0; i < total - 1; i++) + { + float minAngle = FLT_MAX; + int minIndex = -1; + int j; + + for (j = i + 1; j < total; j++) + { + float angle = Inpf(ring[i].n, ring[j].n); + + /* map negative values to 1..2 */ + if (angle < 0) + { + angle = 1 - angle; + } + + if (angle < minAngle) + { + minIndex = j; + minAngle = angle; + } + } + + /* swap if needed */ + if (minIndex != i + 1) + { + RadialArc tmp; + tmp = ring[i + 1]; + ring[i + 1] = ring[minIndex]; + ring[minIndex] = tmp; + } + } + + for (i = 0; i < total && symmetric; i++) + { + BNode *node1, *node2; + float tangent[3]; + float normal[3]; + float p[3]; + int j = (i + 1) % total; /* next arc in the circular list */ + + VecAddf(tangent, ring[i].n, ring[j].n); + Crossf(normal, tangent, axis); + + node1 = BLI_otherNode(ring[i].arc, root_node); + node2 = BLI_otherNode(ring[j].arc, root_node); + + VECCOPY(p, node2->p); + BLI_mirrorAlongAxis(p, root_node->p, normal); + + /* check if it's within limit before continuing */ + if (VecLenf(node1->p, p) > limit) + { + symmetric = 0; + } + + } + + if (symmetric) + { + /* mark node as symmetric physically */ + VECCOPY(root_node->symmetry_axis, axis); + root_node->symmetry_flag |= SYM_PHYSICAL; + root_node->symmetry_flag |= SYM_RADIAL; + + /* FLAG SYMMETRY GROUP */ + for (i = 0; i < total; i++) + { + ring[i].arc->symmetry_group = group; + ring[i].arc->symmetry_flag = SYM_SIDE_RADIAL + i; + } + + if (graph->radial_symmetry) + { + graph->radial_symmetry(root_node, ring, total); + } + } +} + +static void handleRadialSymmetry(BGraph *graph, BNode *root_node, int depth, float axis[3], float limit) +{ + RadialArc *ring = NULL; + RadialArc *unit; + int total = 0; + int group; + int first; + int i; + + /* mark topological symmetry */ + root_node->symmetry_flag |= SYM_TOPOLOGICAL; + + /* total the number of arcs in the symmetry ring */ + for (i = 0; i < root_node->degree; i++) + { + BArc *connectedArc = root_node->arcs[i]; + + /* depth is store as a negative in flag. symmetry level is positive */ + if (connectedArc->symmetry_level == -depth) + { + total++; + } + } + + ring = MEM_callocN(sizeof(RadialArc) * total, "radial symmetry ring"); + unit = ring; + + /* fill in the ring */ + for (unit = ring, i = 0; i < root_node->degree; i++) + { + BArc *connectedArc = root_node->arcs[i]; + + /* depth is store as a negative in flag. symmetry level is positive */ + if (connectedArc->symmetry_level == -depth) + { + BNode *otherNode = BLI_otherNode(connectedArc, root_node); + float vec[3]; + + unit->arc = connectedArc; + + /* project the node to node vector on the symmetry plane */ + VecSubf(unit->n, otherNode->p, root_node->p); + Projf(vec, unit->n, axis); + VecSubf(unit->n, unit->n, vec); + + Normalize(unit->n); + + unit++; + } + } + + /* sort ring by arc length + * using a rather bogus insertion sort + * butrings will never get too big to matter + * */ + for (i = 0; i < total; i++) + { + int j; + + for (j = i - 1; j >= 0; j--) + { + BArc *arc1, *arc2; + + arc1 = ring[j].arc; + arc2 = ring[j + 1].arc; + + if (arc1->length > arc2->length) + { + /* swap with smaller */ + RadialArc tmp; + + tmp = ring[j + 1]; + ring[j + 1] = ring[j]; + ring[j] = tmp; + } + else + { + break; + } + } + } + + /* Dispatch to specific symmetry tests */ + first = 0; + group = 0; + + for (i = 1; i < total; i++) + { + int dispatch = 0; + int last = i - 1; + + if (fabs(ring[first].arc->length - ring[i].arc->length) > limit) + { + dispatch = 1; + } + + /* if not dispatching already and on last arc + * Dispatch using current arc as last + * */ + if (dispatch == 0 && i == total - 1) + { + last = i; + dispatch = 1; + } + + if (dispatch) + { + int sub_total = last - first + 1; + + group += 1; + + if (sub_total == 1) + { + group -= 1; /* not really a group so decrement */ + /* NOTHING TO DO */ + } + else if (sub_total == 2) + { + BArc *arc1, *arc2; + BNode *node1, *node2; + + arc1 = ring[first].arc; + arc2 = ring[last].arc; + + node1 = BLI_otherNode(arc1, root_node); + node2 = BLI_otherNode(arc2, root_node); + + testAxialSymmetry(graph, root_node, node1, node2, arc1, arc2, axis, limit, group); + } + else if (sub_total != total) /* allocate a new sub ring if needed */ + { + RadialArc *sub_ring = MEM_callocN(sizeof(RadialArc) * sub_total, "radial symmetry ring"); + int sub_i; + + /* fill in the sub ring */ + for (sub_i = 0; sub_i < sub_total; sub_i++) + { + sub_ring[sub_i] = ring[first + sub_i]; + } + + testRadialSymmetry(graph, root_node, sub_ring, sub_total, axis, limit, group); + + MEM_freeN(sub_ring); + } + else if (sub_total == total) + { + testRadialSymmetry(graph, root_node, ring, total, axis, limit, group); + } + + first = i; + } + } + + + MEM_freeN(ring); +} + +static void flagAxialSymmetry(BNode *root_node, BNode *end_node, BArc *arc, int group) +{ + float vec[3]; + + arc->symmetry_group = group; + + VecSubf(vec, end_node->p, root_node->p); + + if (Inpf(vec, root_node->symmetry_axis) < 0) + { + arc->symmetry_flag |= SYM_SIDE_NEGATIVE; + } + else + { + arc->symmetry_flag |= SYM_SIDE_POSITIVE; + } +} + +static void testAxialSymmetry(BGraph *graph, BNode* root_node, BNode* node1, BNode* node2, BArc* arc1, BArc* arc2, float axis[3], float limit, int group) +{ + float nor[3], vec[3], p[3]; + + VecSubf(p, node1->p, root_node->p); + Crossf(nor, p, axis); + + VecSubf(p, root_node->p, node2->p); + Crossf(vec, p, axis); + VecAddf(vec, vec, nor); + + Crossf(nor, vec, axis); + + if (abs(nor[0]) > abs(nor[1]) && abs(nor[0]) > abs(nor[2]) && nor[0] < 0) + { + VecMulf(nor, -1); + } + else if (abs(nor[1]) > abs(nor[0]) && abs(nor[1]) > abs(nor[2]) && nor[1] < 0) + { + VecMulf(nor, -1); + } + else if (abs(nor[2]) > abs(nor[1]) && abs(nor[2]) > abs(nor[0]) && nor[2] < 0) + { + VecMulf(nor, -1); + } + + /* mirror node2 along axis */ + VECCOPY(p, node2->p); + BLI_mirrorAlongAxis(p, root_node->p, nor); + + /* check if it's within limit before continuing */ + if (VecLenf(node1->p, p) <= limit) + { + /* mark node as symmetric physically */ + VECCOPY(root_node->symmetry_axis, nor); + root_node->symmetry_flag |= SYM_PHYSICAL; + root_node->symmetry_flag |= SYM_AXIAL; + + /* flag side on arcs */ + flagAxialSymmetry(root_node, node1, arc1, group); + flagAxialSymmetry(root_node, node2, arc2, group); + + if (graph->axial_symmetry) + { + graph->axial_symmetry(root_node, node1, node2, arc1, arc2); + } + } + else + { + /* NOT SYMMETRIC */ + } +} + +static void handleAxialSymmetry(BGraph *graph, BNode *root_node, int depth, float axis[3], float limit) +{ + BArc *arc1 = NULL, *arc2 = NULL; + BNode *node1 = NULL, *node2 = NULL; + int i; + + /* mark topological symmetry */ + root_node->symmetry_flag |= SYM_TOPOLOGICAL; + + for (i = 0; i < root_node->degree; i++) + { + BArc *connectedArc = root_node->arcs[i]; + + /* depth is store as a negative in flag. symmetry level is positive */ + if (connectedArc->symmetry_level == -depth) + { + if (arc1 == NULL) + { + arc1 = connectedArc; + node1 = BLI_otherNode(arc1, root_node); + } + else + { + arc2 = connectedArc; + node2 = BLI_otherNode(arc2, root_node); + break; /* Can stop now, the two arcs have been found */ + } + } + } + + /* shouldn't happen, but just to be sure */ + if (node1 == NULL || node2 == NULL) + { + return; + } + + testAxialSymmetry(graph, root_node, node1, node2, arc1, arc2, axis, limit, 1); +} + +static void markdownSecondarySymmetry(BGraph *graph, BNode *node, int depth, int level, float limit) +{ + float axis[3] = {0, 0, 0}; + int count = 0; + int i; + + /* count the number of branches in this symmetry group + * and determinte the axis of symmetry + * */ + for (i = 0; i < node->degree; i++) + { + BArc *connectedArc = node->arcs[i]; + + /* depth is store as a negative in flag. symmetry level is positive */ + if (connectedArc->symmetry_level == -depth) + { + count++; + } + /* If arc is on the axis */ + else if (connectedArc->symmetry_level == level) + { + VecAddf(axis, axis, connectedArc->head->p); + VecSubf(axis, axis, connectedArc->tail->p); + } + } + + Normalize(axis); + + /* Split between axial and radial symmetry */ + if (count == 2) + { + handleAxialSymmetry(graph, node, depth, axis, limit); + } + else + { + handleRadialSymmetry(graph, node, depth, axis, limit); + } + + /* markdown secondary symetries */ + for (i = 0; i < node->degree; i++) + { + BArc *connectedArc = node->arcs[i]; + + if (connectedArc->symmetry_level == -depth) + { + /* markdown symmetry for branches corresponding to the depth */ + markdownSymmetryArc(graph, connectedArc, node, level + 1, limit); + } + } +} + +void markdownSymmetryArc(BGraph *graph, BArc *arc, BNode *node, int level, float limit) +{ + int i; + + /* if arc is null, we start straight from a node */ + if (arc) + { + arc->symmetry_level = level; + + node = BLI_otherNode(arc, node); + } + + for (i = 0; i < node->degree; i++) + { + BArc *connectedArc = node->arcs[i]; + + if (connectedArc != arc) + { + BNode *connectedNode = BLI_otherNode(connectedArc, node); + + /* symmetry level is positive value, negative values is subtree depth */ + connectedArc->symmetry_level = -BLI_subtreeShape(graph, connectedNode, connectedArc, 0); + } + } + + arc = NULL; + + for (i = 0; i < node->degree; i++) + { + int issymmetryAxis = 0; + BArc *connectedArc = node->arcs[i]; + + /* only arcs not already marked as symetric */ + if (connectedArc->symmetry_level < 0) + { + int j; + + /* true by default */ + issymmetryAxis = 1; + + for (j = 0; j < node->degree; j++) + { + BArc *otherArc = node->arcs[j]; + + /* different arc, same depth */ + if (otherArc != connectedArc && otherArc->symmetry_level == connectedArc->symmetry_level) + { + /* not on the symmetry axis */ + issymmetryAxis = 0; + break; + } + } + } + + /* arc could be on the symmetry axis */ + if (issymmetryAxis == 1) + { + /* no arc as been marked previously, keep this one */ + if (arc == NULL) + { + arc = connectedArc; + } + else if (connectedArc->symmetry_level < arc->symmetry_level) + { + /* go with more complex subtree as symmetry arc */ + arc = connectedArc; + } + } + } + + /* go down the arc continuing the symmetry axis */ + if (arc) + { + markdownSymmetryArc(graph, arc, node, level, limit); + } + + + /* secondary symmetry */ + for (i = 0; i < node->degree; i++) + { + BArc *connectedArc = node->arcs[i]; + + /* only arcs not already marked as symetric and is not the next arc on the symmetry axis */ + if (connectedArc->symmetry_level < 0) + { + /* subtree depth is store as a negative value in the symmetry */ + markdownSecondarySymmetry(graph, node, -connectedArc->symmetry_level, level, limit); + } + } +} + +void BLI_markdownSymmetry(BGraph *graph, BNode *root_node, float limit) +{ + BNode *node; + BArc *arc; + + if (BLI_isGraphCyclic(graph)) + { + return; + } + + /* mark down all arcs as non-symetric */ + BLI_flagArcs(graph, 0); + + /* mark down all nodes as not on the symmetry axis */ + BLI_flagNodes(graph, 0); + + node = root_node; + + /* sanity check REMOVE ME */ + if (node->degree > 0) + { + arc = node->arcs[0]; + + if (node->degree == 1) + { + markdownSymmetryArc(graph, arc, node, 1, limit); + } + else + { + markdownSymmetryArc(graph, NULL, node, 1, limit); + } + + + + /* mark down non-symetric arcs */ + for (arc = graph->arcs.first; arc; arc = arc->next) + { + if (arc->symmetry_level < 0) + { + arc->symmetry_level = 0; + } + else + { + /* mark down nodes with the lowest level symmetry axis */ + if (arc->head->symmetry_level == 0 || arc->head->symmetry_level > arc->symmetry_level) + { + arc->head->symmetry_level = arc->symmetry_level; + } + if (arc->tail->symmetry_level == 0 || arc->tail->symmetry_level > arc->symmetry_level) + { + arc->tail->symmetry_level = arc->symmetry_level; + } + } + } + } +} + diff --git a/source/blender/blenlib/intern/threads.c b/source/blender/blenlib/intern/threads.c index 92fad291e83..07c02b8024f 100644 --- a/source/blender/blenlib/intern/threads.c +++ b/source/blender/blenlib/intern/threads.c @@ -38,9 +38,11 @@ #include "BLI_blenlib.h" #include "BLI_threads.h" +#include "PIL_time.h" + /* for checking system threads - BLI_system_thread_count */ #ifdef WIN32 -#include "Windows.h" +#include "windows.h" #elif defined(__APPLE__) #include <sys/types.h> #include <sys/sysctl.h> @@ -199,6 +201,34 @@ void BLI_remove_thread(ListBase *threadbase, void *callerdata) } } +void BLI_remove_thread_index(ListBase *threadbase, int index) +{ + ThreadSlot *tslot; + int counter=0; + + for(tslot = threadbase->first; tslot; tslot = tslot->next, counter++) { + if (counter == index && tslot->avail == 0) { + tslot->callerdata = NULL; + pthread_join(tslot->pthread, NULL); + tslot->avail = 1; + break; + } + } +} + +void BLI_remove_threads(ListBase *threadbase) +{ + ThreadSlot *tslot; + + for(tslot = threadbase->first; tslot; tslot = tslot->next) { + if (tslot->avail == 0) { + tslot->callerdata = NULL; + pthread_join(tslot->pthread, NULL); + tslot->avail = 1; + } + } +} + void BLI_end_threads(ListBase *threadbase) { ThreadSlot *tslot; @@ -265,4 +295,104 @@ int BLI_system_thread_count( void ) return t; } +/* ************************************************ */ + +typedef struct ThreadedWorker { + ListBase threadbase; + void *(*work_fnct)(void *); + char busy[RE_MAX_THREAD]; + int total; + int sleep_time; +} ThreadedWorker; + +typedef struct WorkParam { + ThreadedWorker *worker; + void *param; + int index; +} WorkParam; + +void *exec_work_fnct(void *v_param) +{ + WorkParam *p = (WorkParam*)v_param; + void *value; + + value = p->worker->work_fnct(p->param); + + p->worker->busy[p->index] = 0; + MEM_freeN(p); + + return value; +} + +ThreadedWorker *BLI_create_worker(void *(*do_thread)(void *), int tot, int sleep_time) +{ + ThreadedWorker *worker; + + worker = MEM_callocN(sizeof(ThreadedWorker), "threadedworker"); + + if (tot > RE_MAX_THREAD) + { + tot = RE_MAX_THREAD; + } + else if (tot < 1) + { + tot= 1; + } + + worker->total = tot; + worker->work_fnct = do_thread; + + BLI_init_threads(&worker->threadbase, exec_work_fnct, tot); + + return worker; +} + +void BLI_end_worker(ThreadedWorker *worker) +{ + BLI_remove_threads(&worker->threadbase); +} + +void BLI_destroy_worker(ThreadedWorker *worker) +{ + BLI_end_worker(worker); + BLI_freelistN(&worker->threadbase); + MEM_freeN(worker); +} + +void BLI_insert_work(ThreadedWorker *worker, void *param) +{ + WorkParam *p = MEM_callocN(sizeof(WorkParam), "workparam"); + int index; + + if (BLI_available_threads(&worker->threadbase) == 0) + { + index = worker->total; + while(index == worker->total) + { + PIL_sleep_ms(worker->sleep_time); + + for (index = 0; index < worker->total; index++) + { + if (worker->busy[index] == 0) + { + BLI_remove_thread_index(&worker->threadbase, index); + break; + } + } + } + } + else + { + index = BLI_available_thread_index(&worker->threadbase); + } + + worker->busy[index] = 1; + + p->param = param; + p->index = index; + p->worker = worker; + + BLI_insert_thread(&worker->threadbase, p); +} + /* eof */ diff --git a/source/blender/blenloader/SConscript b/source/blender/blenloader/SConscript index fb36b15e3e7..e4e39e6cac4 100644 --- a/source/blender/blenloader/SConscript +++ b/source/blender/blenloader/SConscript @@ -5,7 +5,6 @@ sources = env.Glob('intern/*.c') incs = '. #/intern/guardedalloc ../blenlib ../blenkernel' incs += ' ../makesdna ../readblenfile ../include' -incs += ' ../python ../../kernel/gen_messaging' incs += ' ../render/extern/include' incs += ' ' + env['BF_ZLIB_INC'] diff --git a/source/blender/blenloader/intern/readblenentry.c b/source/blender/blenloader/intern/readblenentry.c index 5a75b5c8b11..e4bc6e3abb2 100644 --- a/source/blender/blenloader/intern/readblenentry.c +++ b/source/blender/blenloader/intern/readblenentry.c @@ -364,6 +364,9 @@ BlendFileData *BLO_read_from_memfile(const char *filename, MemFile *memfile, Ble if (fd) { strcpy(fd->filename, filename); + /* clear ob->proxy_from pointers in G.main */ + blo_clear_proxy_pointers_from_lib(fd); + /* separate libraries from G.main */ blo_split_main(&mainlist, G.main); /* add the library pointers in oldmap lookup */ diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 372e9856b98..1fd766be256 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -1130,6 +1130,19 @@ static void change_idid_adr(ListBase *mainlist, FileData *basefd, void *old, voi } } +/* lib linked proxy objects point to our local data, we need + * to clear that pointer before reading the undo memfile since + * the object might be removed, it is set again in reading + * if the local object still exists */ +void blo_clear_proxy_pointers_from_lib(FileData *fd) +{ + Object *ob= G.main->object.first; + + for(;ob; ob= ob->id.next) + if(ob->id.lib) + ob->proxy_from= NULL; +} + /* assumed; G.main still exists */ void blo_make_image_pointer_map(FileData *fd) { @@ -1511,6 +1524,7 @@ static void lib_verify_nodetree(Main *main, int open) { Scene *sce; Material *ma; + Tex *tx; bNodeTree *ntree; /* this crashes blender on undo/redo @@ -1535,6 +1549,11 @@ static void lib_verify_nodetree(Main *main, int open) if(sce->nodetree) ntreeVerifyTypes(sce->nodetree); } + /* and texture trees */ + for(tx= main->tex.first; tx; tx= tx->id.next) { + if(tx->nodetree) + ntreeVerifyTypes(tx->nodetree); + } } @@ -1571,6 +1590,9 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree) else if(ELEM3(node->type, CMP_NODE_IMAGE, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) ((ImageUser *)node->storage)->ok= 1; } + else if( ntree->type==NTREE_TEXTURE && (node->type==TEX_NODE_CURVE_RGB || node->type==TEX_NODE_CURVE_TIME) ) { + direct_link_curvemapping(fd, node->storage); + } } link_list(fd, &node->inputs); link_list(fd, &node->outputs); @@ -2478,6 +2500,9 @@ static void lib_link_texture(FileData *fd, Main *main) if(tex->env) tex->env->object= newlibadr(fd, tex->id.lib, tex->env->object); if(tex->pd) tex->pd->object= newlibadr(fd, tex->id.lib, tex->pd->object); + if(tex->nodetree) + lib_link_ntree(fd, &tex->id, tex->nodetree); + tex->id.flag -= LIB_NEEDLINK; } tex= tex->id.next; @@ -2503,11 +2528,17 @@ static void direct_link_texture(FileData *fd, Tex *tex) memset(tex->env->cube, 0, 6*sizeof(void *)); tex->env->ok= 0; } + tex->pd= newdataadr(fd, tex->pd); if(tex->pd) { tex->pd->point_tree = NULL; tex->pd->coba= newdataadr(fd, tex->pd->coba); } + + tex->nodetree= newdataadr(fd, tex->nodetree); + if(tex->nodetree) + direct_link_nodetree(fd, tex->nodetree); + tex->preview = direct_link_preview_image(fd, tex->preview); tex->iuser.ok= 1; @@ -7385,6 +7416,24 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } } + + /* sanity check for skgen + * */ + { + Scene *sce; + for(sce=main->scene.first; sce; sce = sce->id.next) + { + if (sce->toolsettings->skgen_subdivisions[0] == sce->toolsettings->skgen_subdivisions[1] || + sce->toolsettings->skgen_subdivisions[0] == sce->toolsettings->skgen_subdivisions[2] || + sce->toolsettings->skgen_subdivisions[1] == sce->toolsettings->skgen_subdivisions[2]) + { + sce->toolsettings->skgen_subdivisions[0] = SKGEN_SUB_CORRELATION; + sce->toolsettings->skgen_subdivisions[1] = SKGEN_SUB_LENGTH; + sce->toolsettings->skgen_subdivisions[2] = SKGEN_SUB_ANGLE; + } + } + } + if ((main->versionfile < 245) || (main->versionfile == 245 && main->subversionfile < 2)) { Image *ima; @@ -8323,11 +8372,23 @@ static void expand_key(FileData *fd, Main *mainvar, Key *key) expand_doit(fd, mainvar, key->ipo); } +static void expand_nodetree(FileData *fd, Main *mainvar, bNodeTree *ntree) +{ + bNode *node; + + for(node= ntree->nodes.first; node; node= node->next) + if(node->id && node->type!=CMP_NODE_R_LAYERS) + expand_doit(fd, mainvar, node->id); + +} static void expand_texture(FileData *fd, Main *mainvar, Tex *tex) { expand_doit(fd, mainvar, tex->ima); expand_doit(fd, mainvar, tex->ipo); + + if(tex->nodetree) + expand_nodetree(fd, mainvar, tex->nodetree); } static void expand_brush(FileData *fd, Main *mainvar, Brush *brush) @@ -8340,16 +8401,6 @@ static void expand_brush(FileData *fd, Main *mainvar, Brush *brush) expand_doit(fd, mainvar, brush->clone.image); } -static void expand_nodetree(FileData *fd, Main *mainvar, bNodeTree *ntree) -{ - bNode *node; - - for(node= ntree->nodes.first; node; node= node->next) - if(node->id && node->type!=CMP_NODE_R_LAYERS) - expand_doit(fd, mainvar, node->id); - -} - static void expand_material(FileData *fd, Main *mainvar, Material *ma) { int a; diff --git a/source/blender/blenloader/intern/readfile.h b/source/blender/blenloader/intern/readfile.h index 7ddb1e361da..8547a4d9652 100644 --- a/source/blender/blenloader/intern/readfile.h +++ b/source/blender/blenloader/intern/readfile.h @@ -112,6 +112,7 @@ FileData *blo_openblenderfile( char *name, BlendReadError *error_r); FileData *blo_openblendermemory( void *buffer, int buffersize, BlendReadError *error_r); FileData *blo_openblendermemfile(struct MemFile *memfile, BlendReadError *error_r); +void blo_clear_proxy_pointers_from_lib(FileData *fd); void blo_make_image_pointer_map(FileData *fd); void blo_end_image_pointer_map(FileData *fd); void blo_add_library_pointer_map(ListBase *mainlist, FileData *fd); diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 5c1032045d7..93bf8111c98 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -174,8 +174,6 @@ Important to know is that 'streaming' has been added to files, for Blender Publi #include "BIF_verse.h" #endif -#include "GEN_messaging.h" - #include "BLO_writefile.h" #include "BLO_readfile.h" #include "BLO_undofile.h" @@ -472,6 +470,8 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree) write_curvemapping(wd, node->storage); else if(ntree->type==NTREE_COMPOSIT && (node->type==CMP_NODE_TIME || node->type==CMP_NODE_CURVE_VEC || node->type==CMP_NODE_CURVE_RGB)) write_curvemapping(wd, node->storage); + else if(ntree->type==NTREE_TEXTURE && (node->type==TEX_NODE_CURVE_RGB || node->type==TEX_NODE_CURVE_TIME) ) + write_curvemapping(wd, node->storage); else writestruct(wd, DATA, node->typeinfo->storagename, 1, node->storage); } @@ -1340,6 +1340,12 @@ static void write_textures(WriteData *wd, ListBase *idbase) if(tex->pd->coba) writestruct(wd, DATA, "ColorBand", 1, tex->pd->coba); } + /* nodetree is integral part of texture, no libdata */ + if(tex->nodetree) { + writestruct(wd, DATA, "bNodeTree", 1, tex->nodetree); + write_nodetree(wd, tex->nodetree); + } + write_previews(wd, tex->preview); } tex= tex->id.next; diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt index 0aac462573a..2d41a6d73e6 100644 --- a/source/blender/imbuf/CMakeLists.txt +++ b/source/blender/imbuf/CMakeLists.txt @@ -54,5 +54,9 @@ IF(WITH_FFMPEG) ADD_DEFINITIONS(-DWITH_FFMPEG) ENDIF(WITH_FFMPEG) +if(WITH_DDS) + ADD_DEFINITIONS(-DWITH_DDS) +ENDIF(WITH_DDS) + BLENDERLIB(bf_imbuf "${SRC}" "${INC}") #env.BlenderLib ( libname = 'bf_imbuf', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [80, 40] ) diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h index d4d8030bf10..8bc1439fd09 100644 --- a/source/blender/imbuf/IMB_imbuf.h +++ b/source/blender/imbuf/IMB_imbuf.h @@ -403,9 +403,14 @@ void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf); * * @attention defined in imageprocess.c */ -void bicubic_interpolation(struct ImBuf *in, struct ImBuf *out, float x, float y, int xout, int yout); +void bicubic_interpolation(struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); void neareast_interpolation(struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); void bilinear_interpolation(struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); + +void bicubic_interpolation_color(struct ImBuf *in, unsigned char *col, float *col_float, float u, float v); +void neareast_interpolation_color(struct ImBuf *in, unsigned char *col, float *col_float, float u, float v); +void bilinear_interpolation_color(struct ImBuf *in, unsigned char *col, float *col_float, float u, float v); + /** * Change the ordering of the color bytes pointed to by rect from * rgba to abgr. size * 4 color bytes are reordered. diff --git a/source/blender/imbuf/SConscript b/source/blender/imbuf/SConscript index 4eba4a843b2..a8c49c0394e 100644 --- a/source/blender/imbuf/SConscript +++ b/source/blender/imbuf/SConscript @@ -4,7 +4,7 @@ Import ('env') sources = env.Glob('intern/*.c') incs = '. ../makesdna #/intern/guardedalloc #/intern/memutil ../blenlib' -incs += ' ../avi ../quicktime ../blenkernel' +incs += ' ../avi ../blenkernel' incs += ' ' + env['BF_JPEG_INC'] incs += ' ' + env['BF_PNG_INC'] @@ -36,7 +36,7 @@ if env['WITH_BF_REDCODE']: incs += ' ' + env['BF_REDCODE_INC'] if env['WITH_BF_QUICKTIME']: - incs += ' ' + env['BF_QUICKTIME_INC'] + incs += ' ../quicktime ' + env['BF_QUICKTIME_INC'] defs.append('WITH_QUICKTIME') env.BlenderLib ( libname = 'bf_imbuf', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [80, 40] ) diff --git a/source/blender/imbuf/intern/IMB_anim.h b/source/blender/imbuf/intern/IMB_anim.h index 7dc1f966b71..745248d3218 100644 --- a/source/blender/imbuf/intern/IMB_anim.h +++ b/source/blender/imbuf/intern/IMB_anim.h @@ -82,7 +82,11 @@ #endif #ifdef WITH_REDCODE -#include <redcode/format.h> +#ifdef _WIN32 /* on windows we use the one in extern instead */ +#include "libredcode/format.h" +#else +#include "libredcode/format.h" +#endif #endif #include "IMB_imbuf_types.h" diff --git a/source/blender/imbuf/intern/amiga.c b/source/blender/imbuf/intern/amiga.c index 3d52a287a31..534e4945aa3 100644 --- a/source/blender/imbuf/intern/amiga.c +++ b/source/blender/imbuf/intern/amiga.c @@ -29,8 +29,12 @@ * ***** END GPL LICENSE BLOCK ***** */ -#ifdef WIN32 +#ifdef _WIN32 #include <io.h> +#define open _open +#define read _read +#define close _close +#define write _write #endif #include "imbuf.h" #include "imbuf_patch.h" diff --git a/source/blender/imbuf/intern/anim.c b/source/blender/imbuf/intern/anim.c index c0e84b73e47..80bf401bec0 100644 --- a/source/blender/imbuf/intern/anim.c +++ b/source/blender/imbuf/intern/anim.c @@ -97,8 +97,13 @@ #endif #ifdef WITH_REDCODE -#include <redcode/format.h> -#include <redcode/codec.h> +#ifdef _WIN32 /* on windows we use the ones in extern instead */ +#include "libredcode/format.h" +#include "libredcode/codec.h" +#else +#include "libredcode/format.h" +#include "libredcode/codec.h" +#endif #endif /****/ diff --git a/source/blender/imbuf/intern/dds/CMakeLists.txt b/source/blender/imbuf/intern/dds/CMakeLists.txt new file mode 100644 index 00000000000..842f53bd88b --- /dev/null +++ b/source/blender/imbuf/intern/dds/CMakeLists.txt @@ -0,0 +1,45 @@ +# $Id: CMakeLists.txt 14444 2008-04-16 22:40:48Z hos $ +# ***** 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) 2006, Blender Foundation +# All rights reserved. +# +# The Original Code is: all of this file. +# +# Contributor(s): +# +# ***** END GPL LICENSE BLOCK ***** + +FILE (GLOB SRC *.cpp) + +SET(INC + . + ../../../blenkernel + ../../../makesdna + ../../ + .. + ../../../blenlib + intern/include + ../../../../../intern/guardedalloc +) + +if(WITH_DDS) + ADD_DEFINITIONS(-DWITH_DDS) +ENDIF(WITH_DDS) + +BLENDERLIB(bf_dds "${SRC}" "${INC}") +#env.BlenderLib ('bf_dds', source_files, incs, defs, libtype=['core','player'], priority = [90, 200]) diff --git a/source/blender/imbuf/intern/imageprocess.c b/source/blender/imbuf/intern/imageprocess.c index 30e688ebe29..f25872538cf 100644 --- a/source/blender/imbuf/intern/imageprocess.c +++ b/source/blender/imbuf/intern/imageprocess.c @@ -80,6 +80,17 @@ void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf) } } } +static void pixel_from_buffer(struct ImBuf *ibuf, unsigned char *outI, float *outF, int x, int y) + +{ + int offset = ibuf->x * y * 4 + 4*x; + + if (ibuf->rect) + outI= (unsigned char *)ibuf->rect + offset; + + if (ibuf->rect_float) + outF= (float *)ibuf->rect_float + offset; +} /************************************************************************** * INTERPOLATIONS @@ -92,34 +103,82 @@ void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf) /* More info: http://wiki.blender.org/index.php/User:Damiles#Bicubic_pixel_interpolation */ /* function assumes out to be zero'ed, only does RGBA */ + static float P(float k){ - float aux; - aux=(float)(1.0f/6.0f)*( pow( MAX2(k+2.0f,0) , 3.0f ) - 4.0f * pow( MAX2(k+1.0f,0) , 3.0f ) + 6.0f * pow( MAX2(k,0) , 3.0f ) - 4.0f * pow( MAX2(k-1.0f,0) , 3.0f)); - return aux ; + float p1, p2, p3, p4; + p1 = MAX2(k+2.0f,0); + p2 = MAX2(k+1.0f,0); + p3 = MAX2(k,0); + p4 = MAX2(k-1.0f,0); + return (float)(1.0f/6.0f)*( p1*p1*p1 - 4.0f * p2*p2*p2 + 6.0f * p3*p3*p3 - 4.0f * p4*p4*p4); } -void bicubic_interpolation(ImBuf *in, ImBuf *out, float x, float y, int xout, int yout) + +#if 0 +/* older, slower function, works the same as above */ +static float P(float k){ + return (float)(1.0f/6.0f)*( pow( MAX2(k+2.0f,0) , 3.0f ) - 4.0f * pow( MAX2(k+1.0f,0) , 3.0f ) + 6.0f * pow( MAX2(k,0) , 3.0f ) - 4.0f * pow( MAX2(k-1.0f,0) , 3.0f)); +} +#endif + +void bicubic_interpolation_color(struct ImBuf *in, unsigned char *outI, float *outF, float u, float v) { int i,j,n,m,x1,y1; - unsigned char *dataI,*outI; - float a,b, outR,outG,outB,outA,*dataF,*outF; - int do_rect, do_float; + unsigned char *dataI; + float a,b,w,wx,wy[4], outR,outG,outB,outA,*dataF; - if (in == NULL) return; - if (in->rect == NULL && in->rect_float == NULL) return; + /* ImBuf in must have a valid rect or rect_float, assume this is alredy checked */ - do_rect= (out->rect != NULL); - do_float= (out->rect_float != NULL); + i= (int)floor(u); + j= (int)floor(v); + a= u - i; + b= v - j; - i= (int)floor(x); - j= (int)floor(y); - a= x - i; - b= y - j; + outR = outG = outB = outA = 0.0f; + +/* Optimized and not so easy to read */ + + /* avoid calling multiple times */ + wy[0] = P(b-(-1)); + wy[1] = P(b- 0); + wy[2] = P(b- 1); + wy[3] = P(b- 2); + + for(n= -1; n<= 2; n++){ + x1= i+n; + if (x1>0 && x1 < in->x) { + wx = P(n-a); + for(m= -1; m<= 2; m++){ + y1= j+m; + if (y1>0 && y1<in->y) { + /* normally we could do this */ + /* w = P(n-a) * P(b-m); */ + /* except that would call P() 16 times per pixel therefor pow() 64 times, better precalc these */ + w = wx * wy[m+1]; + + if (outF) { + dataF= in->rect_float + in->x * y1 * 4 + 4*x1; + outR+= dataF[0] * w; + outG+= dataF[1] * w; + outB+= dataF[2] * w; + outA+= dataF[3] * w; + } + if (outI) { + dataI= (unsigned char*)in->rect + in->x * y1 * 4 + 4*x1; + outR+= dataI[0] * w; + outG+= dataI[1] * w; + outB+= dataI[2] * w; + outA+= dataI[3] * w; + } + } + } + } + } - outR= 0.0f; - outG= 0.0f; - outB= 0.0f; - outA= 0.0f; +/* Done with optimized part */ + +#if 0 + /* older, slower function, works the same as above */ for(n= -1; n<= 2; n++){ for(m= -1; m<= 2; m++){ x1= i+n; @@ -142,15 +201,15 @@ void bicubic_interpolation(ImBuf *in, ImBuf *out, float x, float y, int xout, in } } } - if (do_rect) { - outI= (unsigned char *)out->rect + out->x * yout * 4 + 4*xout; +#endif + + if (outI) { outI[0]= (int)outR; outI[1]= (int)outG; outI[2]= (int)outB; outI[3]= (int)outA; } - if (do_float) { - outF= (float *)out->rect_float + out->x * yout * 4 + 4*xout; + if (outF) { outF[0]= outR; outF[1]= outG; outF[2]= outB; @@ -158,23 +217,33 @@ void bicubic_interpolation(ImBuf *in, ImBuf *out, float x, float y, int xout, in } } + +void bicubic_interpolation(ImBuf *in, ImBuf *out, float u, float v, int xout, int yout) +{ + + unsigned char *outI = NULL; + float *outF = NULL; + + if (in == NULL || (in->rect == NULL && in->rect_float == NULL)) return; + + pixel_from_buffer(out, outI, outF, xout, yout); /* gcc warns these could be uninitialized, but its ok */ + + bicubic_interpolation_color(in, outI, outF, u, v); +} + /* function assumes out to be zero'ed, only does RGBA */ /* BILINEAR INTERPOLATION */ -void bilinear_interpolation(ImBuf *in, ImBuf *out, float u, float v, int xout, int yout) +void bilinear_interpolation_color(struct ImBuf *in, unsigned char *outI, float *outF, float u, float v) { - float *row1, *row2, *row3, *row4, a, b, *outF; - unsigned char *row1I, *row2I, *row3I, *row4I, *outI; + float *row1, *row2, *row3, *row4, a, b; + unsigned char *row1I, *row2I, *row3I, *row4I; float a_b, ma_b, a_mb, ma_mb; float empty[4]= {0.0f, 0.0f, 0.0f, 0.0f}; unsigned char emptyI[4]= {0, 0, 0, 0}; int y1, y2, x1, x2; - int do_rect, do_float; - - if (in==NULL) return; - if (in->rect==NULL && in->rect_float==NULL) return; - - do_rect= (out->rect != NULL); - do_float= (out->rect_float != NULL); + + + /* ImBuf in must have a valid rect or rect_float, assume this is alredy checked */ x1= (int)floor(u); x2= (int)ceil(u); @@ -184,16 +253,7 @@ void bilinear_interpolation(ImBuf *in, ImBuf *out, float u, float v, int xout, i // sample area entirely outside image? if (x2<0 || x1>in->x-1 || y2<0 || y1>in->y-1) return; - if (do_rect) - outI=(unsigned char *)out->rect + out->x * yout * 4 + 4*xout; - else - outI= NULL; - if (do_float) - outF=(float *)out->rect_float + out->x * yout * 4 + 4*xout; - else - outF= NULL; - - if (do_float) { + if (outF) { // sample including outside of edges of image if (x1<0 || y1<0) row1= empty; else row1= (float *)in->rect_float + in->x * y1 * 4 + 4*x1; @@ -216,7 +276,7 @@ void bilinear_interpolation(ImBuf *in, ImBuf *out, float u, float v, int xout, i outF[2]= ma_mb*row1[2] + a_mb*row3[2] + ma_b*row2[2]+ a_b*row4[2]; outF[3]= ma_mb*row1[3] + a_mb*row3[3] + ma_b*row2[3]+ a_b*row4[3]; } - if (do_rect) { + if (outI) { // sample including outside of edges of image if (x1<0 || y1<0) row1I= emptyI; else row1I= (unsigned char *)in->rect + in->x * y1 * 4 + 4*x1; @@ -241,45 +301,44 @@ void bilinear_interpolation(ImBuf *in, ImBuf *out, float u, float v, int xout, i } } +void bilinear_interpolation(ImBuf *in, ImBuf *out, float u, float v, int xout, int yout) +{ + + unsigned char *outI = NULL; + float *outF = NULL; + + if (in == NULL || (in->rect == NULL && in->rect_float == NULL)) return; + + pixel_from_buffer(out, outI, outF, xout, yout); /* gcc warns these could be uninitialized, but its ok */ + + bilinear_interpolation_color(in, outI, outF, u, v); +} + /* function assumes out to be zero'ed, only does RGBA */ /* NEAREST INTERPOLATION */ -void neareast_interpolation(ImBuf *in, ImBuf *out, float u, float v,int xout, int yout) +void neareast_interpolation_color(struct ImBuf *in, unsigned char *outI, float *outF, float u, float v) { - float *outF,*dataF; - unsigned char *dataI,*outI; + float *dataF; + unsigned char *dataI; int y1, x1; - int do_rect, do_float; - - if (in==NULL) return; - if (in->rect==NULL && in->rect_float==NULL) return; - - do_rect= (out->rect != NULL); - do_float= (out->rect_float != NULL); + /* ImBuf in must have a valid rect or rect_float, assume this is alredy checked */ + x1= (int)(u); y1= (int)(v); - if (do_rect) - outI=(unsigned char *)out->rect + out->x * yout * 4 + 4*xout; - else - outI= NULL; - if (do_float) - outF=(float *)out->rect_float + out->x * yout * 4 + 4*xout; - else - outF= NULL; - // sample area entirely outside image? if (x1<0 || x1>in->x-1 || y1<0 || y1>in->y-1) return; // sample including outside of edges of image if (x1<0 || y1<0) { - if (do_rect) { + if (outI) { outI[0]= 0; outI[1]= 0; outI[2]= 0; outI[3]= 0; } - if (do_float) { + if (outF) { outF[0]= 0.0f; outF[1]= 0.0f; outF[2]= 0.0f; @@ -287,14 +346,14 @@ void neareast_interpolation(ImBuf *in, ImBuf *out, float u, float v,int xout, in } } else { dataI= (unsigned char *)in->rect + in->x * y1 * 4 + 4*x1; - if (do_rect) { + if (outI) { outI[0]= dataI[0]; outI[1]= dataI[1]; outI[2]= dataI[2]; outI[3]= dataI[3]; } dataF= in->rect_float + in->x * y1 * 4 + 4*x1; - if (do_float) { + if (outF) { outF[0]= dataF[0]; outF[1]= dataF[1]; outF[2]= dataF[2]; @@ -302,3 +361,16 @@ void neareast_interpolation(ImBuf *in, ImBuf *out, float u, float v,int xout, in } } } + +void neareast_interpolation(ImBuf *in, ImBuf *out, float x, float y, int xout, int yout) +{ + + unsigned char *outI = NULL; + float *outF = NULL; + + if (in == NULL || (in->rect == NULL && in->rect_float == NULL)) return; + + pixel_from_buffer(out, outI, outF, xout, yout); /* gcc warns these could be uninitialized, but its ok */ + + neareast_interpolation_color(in, outI, outF, x, y); +}
\ No newline at end of file diff --git a/source/blender/imbuf/intern/readimage.c b/source/blender/imbuf/intern/readimage.c index 566df53a25e..05e7921665b 100644 --- a/source/blender/imbuf/intern/readimage.c +++ b/source/blender/imbuf/intern/readimage.c @@ -29,11 +29,14 @@ * $Id$ */ -#ifdef WIN32 +#ifdef _WIN32 #include <io.h> #include <stddef.h> #include <sys/types.h> #include "mmap_win.h" +#define open _open +#define read _read +#define close _close #endif #include "BLI_blenlib.h" diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c index 4f6730db1f1..c86f9b017bf 100644 --- a/source/blender/imbuf/intern/util.c +++ b/source/blender/imbuf/intern/util.c @@ -29,6 +29,13 @@ * $Id$ */ +#ifdef _WIN32 +#include <io.h> +#define open _open +#define read _read +#define close _close +#endif + #include "BLI_blenlib.h" #include "DNA_userdef_types.h" @@ -64,6 +71,8 @@ #ifdef WITH_FFMPEG #include <ffmpeg/avcodec.h> #include <ffmpeg/avformat.h> +//#include <ffmpeg/avdevice.h> +#include <ffmpeg/log.h> #if LIBAVFORMAT_VERSION_INT < (49 << 16) #define FFMPEG_OLD_FRAME_RATE 1 @@ -229,6 +238,19 @@ static int isqtime (char *name) { #endif #ifdef WITH_FFMPEG + +void silence_log_ffmpeg(int quiet) +{ + if (quiet) + { + av_log_set_level(AV_LOG_QUIET); + } + else + { + av_log_set_level(AV_LOG_INFO); + } +} + extern void do_init_ffmpeg(); void do_init_ffmpeg() { @@ -236,6 +258,12 @@ void do_init_ffmpeg() if (!ffmpeg_init) { ffmpeg_init = 1; av_register_all(); + //avdevice_register_all(); + + if ((G.f & G_DEBUG) == 0) + { + silence_log_ffmpeg(1); + } } } @@ -254,7 +282,8 @@ static AVCodecContext* get_codec_from_stream(AVStream* stream) static int isffmpeg (char *filename) { AVFormatContext *pFormatCtx; - int i, videoStream; + unsigned int i; + int videoStream; AVCodec *pCodec; AVCodecContext *pCodecCtx; diff --git a/source/blender/include/BIF_editarmature.h b/source/blender/include/BIF_editarmature.h index d390b96f61f..ce275563a87 100644 --- a/source/blender/include/BIF_editarmature.h +++ b/source/blender/include/BIF_editarmature.h @@ -68,6 +68,10 @@ typedef struct EditBone } EditBone; +float rollBoneToVector(EditBone *bone, float new_up_axis[3]); + +void make_boneList(struct ListBase *list, struct ListBase *bones, EditBone *parent); +void editbones_to_armature (struct ListBase *list, struct Object *ob); void adduplicate_armature(void); void addvert_armature(void); @@ -148,6 +152,15 @@ void align_selected_bones(void); #define BONESEL_NOSEL 0x80000000 /* Indicates a negative number */ +/* from autoarmature */ +void BIF_retargetArmature(); +void BIF_adjustRetarget(); +void BIF_freeRetarget(); + +struct ReebArc; +float calcVariance(struct ReebArc *arc, int start, int end, float v0[3], float n[3]); +float calcDistance(struct ReebArc *arc, int start, int end, float head[3], float tail[3]); + /* useful macros */ #define EBONE_VISIBLE(arm, ebone) ((arm->layer & ebone->layer) && !(ebone->flag & BONE_HIDDEN_A)) #define EBONE_EDITABLE(ebone) ((ebone->flag & BONE_SELECTED) && !(ebone->flag & BONE_EDITMODE_LOCKED)) diff --git a/source/blender/include/BSE_node.h b/source/blender/include/BSE_node.h index 0e9e511e9e6..d0656f09a46 100644 --- a/source/blender/include/BSE_node.h +++ b/source/blender/include/BSE_node.h @@ -81,6 +81,7 @@ void node_active_link_viewer(struct SpaceNode *snode); void node_transform_ext(int mode, int unused); void node_shader_default(struct Material *ma); void node_composit_default(struct Scene *scene); +void node_texture_default(struct Tex *tx); int node_has_hidden_sockets(struct bNode *node); diff --git a/source/blender/include/blendef.h b/source/blender/include/blendef.h index 50179325609..60d3a589c51 100644 --- a/source/blender/include/blendef.h +++ b/source/blender/include/blendef.h @@ -415,6 +415,7 @@ /* NODE: 851-900 */ #define B_NODE_USEMAT 851 #define B_NODE_USESCENE 852 +#define B_NODE_USETEX 853 /* FREE 901 - 999 */ diff --git a/source/blender/include/butspace.h b/source/blender/include/butspace.h index 3de427476b9..fd3f6e926b9 100644 --- a/source/blender/include/butspace.h +++ b/source/blender/include/butspace.h @@ -258,6 +258,7 @@ void curvemap_buttons(struct uiBlock *block, struct CurveMapping *cumap, char la #define B_ENV_OB 1354 #define B_ENV_FREE_ALL 1357 +#define B_TEX_USENODES 1358 /* **************** animbuts = object buttons ******* */ @@ -443,7 +444,8 @@ void curvemap_buttons(struct uiBlock *block, struct CurveMapping *cumap, char la #define B_SETMCOL_RND 2083 #define B_DRAWBWEIGHTS 2084 -#define B_GEN_SKELETON 2090 +#define B_GEN_SKELETON 2085 +#define B_RETARGET_SKELETON 2086 /* *********************** */ #define B_VGROUPBUTS 2100 diff --git a/source/blender/include/reeb.h b/source/blender/include/reeb.h index c8352aedec5..57f7d1b60cf 100644 --- a/source/blender/include/reeb.h +++ b/source/blender/include/reeb.h @@ -28,18 +28,35 @@ #ifndef REEB_H_ #define REEB_H_ +//#define WITH_BF_REEB + #include "DNA_listBase.h" +#include "BLI_graph.h" + +struct GHash; struct EdgeHash; struct ReebArc; struct ReebEdge; struct ReebNode; typedef struct ReebGraph { - ListBase arcs; - ListBase nodes; + ListBase arcs; + ListBase nodes; + + float length; + + FreeArc free_arc; + FreeNode free_node; + RadialSymmetry radial_symmetry; + AxialSymmetry axial_symmetry; + /*********************************/ + + int resolution; int totnodes; struct EdgeHash *emap; + int multi_level; + struct ReebGraph *link_up; /* for multi resolution filtering, points to higher levels */ } ReebGraph; typedef struct EmbedBucket { @@ -49,13 +66,25 @@ typedef struct EmbedBucket { } EmbedBucket; typedef struct ReebNode { - struct ReebNode *next, *prev; + void *next, *prev; + float p[3]; + int flag; + + int degree; struct ReebArc **arcs; + + int subgraph_index; + + int symmetry_level; + int symmetry_flag; + float symmetry_axis[3]; + /*********************************/ + int index; - int degree; float weight; - float p[3]; - int flags; + int multi_level; + struct ReebNode *link_down; /* for multi resolution filtering, points to lower levels, if present */ + struct ReebNode *link_up; } ReebNode; typedef struct ReebEdge { @@ -63,15 +92,28 @@ typedef struct ReebEdge { struct ReebArc *arc; struct ReebNode *v1, *v2; struct ReebEdge *nextEdge; + int flag; } ReebEdge; typedef struct ReebArc { - struct ReebArc *next, *prev; + void *next, *prev; + struct ReebNode *head, *tail; + int flag; + + float length; + + int symmetry_level; + int symmetry_group; + int symmetry_flag; + /*********************************/ + ListBase edges; - struct ReebNode *v1, *v2; + int bcount; struct EmbedBucket *buckets; - int bcount; - int flags; + + struct GHash *faces; + float angle; + struct ReebArc *link_up; /* for multi resolution filtering, points to higher levels */ } ReebArc; typedef struct ReebArcIterator { @@ -79,29 +121,37 @@ typedef struct ReebArcIterator { int index; int start; int end; - int stride; + int stride; + int length; } ReebArcIterator; struct EditMesh; +struct EdgeIndex; -int weightToHarmonic(struct EditMesh *em); -int weightFromDistance(struct EditMesh *em); +int weightToHarmonic(struct EditMesh *em, struct EdgeIndex *indexed_edges); +int weightFromDistance(struct EditMesh *em, struct EdgeIndex *indexed_edges); int weightFromLoc(struct EditMesh *me, int axis); -void weightToVCol(struct EditMesh *em); +void weightToVCol(struct EditMesh *em, int index); +void arcToVCol(struct ReebGraph *rg, struct EditMesh *em, int index); +void angleToVCol(struct EditMesh *em, int index); void renormalizeWeight(struct EditMesh *em, float newmax); ReebGraph * generateReebGraph(struct EditMesh *me, int subdivisions); -void freeGraph(ReebGraph *rg); -void exportGraph(ReebGraph *rg, int count); - -#define OTHER_NODE(arc, node) ((arc->v1 == node) ? arc->v2 : arc->v1) +ReebGraph * newReebGraph(); void initArcIterator(struct ReebArcIterator *iter, struct ReebArc *arc, struct ReebNode *head); void initArcIterator2(struct ReebArcIterator *iter, struct ReebArc *arc, int start, int end); +void initArcIteratorStart(struct ReebArcIterator *iter, struct ReebArc *arc, struct ReebNode *head, int start); struct EmbedBucket * nextBucket(struct ReebArcIterator *iter); +struct EmbedBucket * nextNBucket(ReebArcIterator *iter, int n); +struct EmbedBucket * peekBucket(ReebArcIterator *iter, int n); +struct EmbedBucket * currentBucket(struct ReebArcIterator *iter); +struct EmbedBucket * previousBucket(struct ReebArcIterator *iter); +int iteratorStopped(struct ReebArcIterator *iter); /* Filtering */ void filterNullReebGraph(ReebGraph *rg); +int filterSmartReebGraph(ReebGraph *rg, float threshold); int filterExternalReebGraph(ReebGraph *rg, float threshold); int filterInternalReebGraph(ReebGraph *rg, float threshold); @@ -110,18 +160,33 @@ void repositionNodes(ReebGraph *rg); void postprocessGraph(ReebGraph *rg, char mode); void removeNormalNodes(ReebGraph *rg); -/* Graph processing */ -void buildAdjacencyList(ReebGraph *rg); - void sortNodes(ReebGraph *rg); void sortArcs(ReebGraph *rg); -int subtreeDepth(ReebNode *node, ReebArc *rootArc); -int countConnectedArcs(ReebGraph *rg, ReebNode *node); -int hasAdjacencyList(ReebGraph *rg); -int isGraphCyclic(ReebGraph *rg); - -/* Sanity check */ +/*------------ Sanity check ------------*/ void verifyBuckets(ReebGraph *rg); +void verifyFaces(ReebGraph *rg); + +/*********************** PUBLIC *********************************/ + +#define REEB_MAX_MULTI_LEVEL 10 + +ReebGraph *BIF_ReebGraphFromEditMesh(void); +ReebGraph *BIF_ReebGraphMultiFromEditMesh(void); +void BIF_flagMultiArcs(ReebGraph *rg, int flag); + +void BIF_GlobalReebGraphFromEditMesh(void); +void BIF_GlobalReebFree(void); + +ReebNode *BIF_otherNodeFromIndex(ReebArc *arc, ReebNode *node); +ReebNode *BIF_NodeFromIndex(ReebArc *arc, ReebNode *node); +ReebNode *BIF_lowestLevelNode(ReebNode *node); + +ReebGraph *BIF_graphForMultiNode(ReebGraph *rg, ReebNode *node); + +void REEB_freeGraph(ReebGraph *rg); +void REEB_exportGraph(ReebGraph *rg, int count); +void REEB_draw(); + #endif /*REEB_H_*/ diff --git a/source/blender/include/transform.h b/source/blender/include/transform.h index 51fa39ff9d6..fa7b8fc0a19 100644 --- a/source/blender/include/transform.h +++ b/source/blender/include/transform.h @@ -160,7 +160,7 @@ typedef struct TransData { TransDataExtension *ext; /* for objects, poses. 1 single malloc per TransInfo! */ TransDataIpokey *tdi; /* for objects, ipo keys. per transdata a malloc */ TransDataCurveHandleFlags *hdata; /* for curves, stores handle flags for modification/cancel */ - void *tdmir; /* mirrored element pointer, in editmode mesh to EditVert */ + void *extra; /* extra data (mirrored element pointer, in editmode mesh to EditVert) (editbone for roll fixing) (...) */ short flag; /* Various flags */ short protectflag; /* If set, copy of Object or PoseChannel protection */ /*#ifdef WITH_VERSE*/ @@ -297,6 +297,7 @@ typedef struct TransInfo { #define TD_NO_EXT (1 << 10) /* ext abused for particle key timing */ #define TD_SKIP (1 << 11) /* don't transform this data */ #define TD_BEZTRIPLE (1 << 12) /* if this is a bez triple, we need to restore the handles, if this is set transdata->misc.hdata needs freeing */ +#define TD_NO_LOC (1 << 13) /* when this is set, don't apply translation changes to this element */ /* transsnap->status */ #define SNAP_ON 1 diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h index 0648c535353..93cb9f59860 100644 --- a/source/blender/makesdna/DNA_armature_types.h +++ b/source/blender/makesdna/DNA_armature_types.h @@ -156,6 +156,7 @@ typedef enum eBone_Flag { BONE_DRAWWIRE = (1<<17), /* bone should be drawn as OB_WIRE, regardless of draw-types of view+armature */ BONE_NO_CYCLICOFFSET = (1<<18), /* when no parent, bone will not get cyclic offset */ BONE_EDITMODE_LOCKED = (1<<19), /* bone transforms are locked in EditMode */ + BONE_TRANSFORM_CHILD = (1<<20), /* Indicates that a parent is also being transformed */ } eBone_Flag; #endif diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index eda37d952c1..d5eb4024dcc 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -121,6 +121,7 @@ typedef struct bNode { float locx, locy; /* root offset for drawing */ float width, miniwidth; short custom1, custom2; /* to be abused for buttons */ + float custom3, custom4; short need_exec, exec; /* need_exec is set as UI execution event, exec is flag during exec */ @@ -156,7 +157,7 @@ typedef struct bNodeLink { } bNodeLink; /* the basis for a Node tree, all links and nodes reside internal here */ -/* only re-usable node trees are in the library though, materials allocate own tree struct */ +/* only re-usable node trees are in the library though, materials and textures allocate own tree struct */ typedef struct bNodeTree { ID id; @@ -185,6 +186,7 @@ typedef struct bNodeTree { /* ntree->type, index */ #define NTREE_SHADER 0 #define NTREE_COMPOSIT 1 +#define NTREE_TEXTURE 2 /* ntree->init, flag */ #define NTREE_TYPE_INIT 1 @@ -285,4 +287,9 @@ typedef struct NodeLensDist { short jit, proj, fit, pad; } NodeLensDist; +/* TEX_output */ +typedef struct TexNodeOutput { + char name[32]; +} TexNodeOutput; + #endif diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index fad5c020727..b885bbf084e 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -395,6 +395,8 @@ extern Object workob; #define BA_FROMSET 128 +#define BA_TRANSFORM_CHILD 256 /* child of a transformed object */ + /* an initial attempt as making selection more specific! */ #define BA_DESELECT 0 #define BA_SELECT 1 diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index a5eaf222941..c1c164f136f 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -433,14 +433,20 @@ typedef struct ToolSettings { float skgen_angle_limit; float skgen_correlation_limit; float skgen_symmetry_limit; + float skgen_retarget_angle_weight; + float skgen_retarget_length_weight; + float skgen_retarget_distance_weight; short skgen_options; char skgen_postpro; char skgen_postpro_passes; char skgen_subdivisions[3]; + char skgen_multi_level; + char skgen_optimisation_method; + + char tpad[6]; /* Alt+RMB option */ char edge_mode; - char pad3[4]; } ToolSettings; /* Used by all brushes to store their properties, which can be directly set @@ -837,12 +843,21 @@ typedef struct Scene { #define RETOPO_ELLIPSE 4 /* toolsettings->skgen_options */ -#define SKGEN_FILTER_INTERNAL 1 -#define SKGEN_FILTER_EXTERNAL 2 -#define SKGEN_SYMMETRY 4 -#define SKGEN_CUT_LENGTH 8 -#define SKGEN_CUT_ANGLE 16 -#define SKGEN_CUT_CORRELATION 32 +#define SKGEN_FILTER_INTERNAL (1 << 0) +#define SKGEN_FILTER_EXTERNAL (1 << 1) +#define SKGEN_SYMMETRY (1 << 2) +#define SKGEN_CUT_LENGTH (1 << 3) +#define SKGEN_CUT_ANGLE (1 << 4) +#define SKGEN_CUT_CORRELATION (1 << 5) +#define SKGEN_HARMONIC (1 << 6) +#define SKGEN_STICK_TO_EMBEDDING (1 << 7) +#define SKGEN_ADAPTIVE_DISTANCE (1 << 8) +#define SKGEN_FILTER_SMART (1 << 9) +#define SKGEN_DISP_LENGTH (1 << 10) +#define SKGEN_DISP_WEIGHT (1 << 11) +#define SKGEN_DISP_ORIG (1 << 12) +#define SKGEN_DISP_EMBED (1 << 13) +#define SKGEN_DISP_INDEX (1 << 14) #define SKGEN_SUB_LENGTH 0 #define SKGEN_SUB_ANGLE 1 diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index b057efb4a55..fd497cef178 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -55,13 +55,13 @@ typedef struct MTex { float ofs[3], size[3]; short texflag, colormodel, pmapto, pmaptoneg; - short normapspace, pad[3]; + short normapspace, which_output, pad[2]; float r, g, b, k; float def_var, rt; float colfac, norfac, varfac; float dispfac; - float warpfac; + float warpfac; } MTex; @@ -199,6 +199,7 @@ typedef struct Tex { struct ImageUser iuser; + struct bNodeTree *nodetree; struct Ipo *ipo; struct Image *ima; struct PluginTex *plugin; @@ -207,6 +208,9 @@ typedef struct Tex { struct PreviewImage * preview; struct PointDensity *pd; + char use_nodes; + char pad[7]; + } Tex; /* used for mapping node. note: rot is in degrees */ diff --git a/source/blender/makesdna/intern/SConscript b/source/blender/makesdna/intern/SConscript index acba9ae2d1d..c8c8bd1ba68 100644 --- a/source/blender/makesdna/intern/SConscript +++ b/source/blender/makesdna/intern/SConscript @@ -10,36 +10,50 @@ root_build_dir=env['BF_BUILDDIR'] source_files = ['makesdna.c'] header_files = env.Glob('../*.h') -makesdna_tool = env.Copy() -dna = env.Copy() +makesdna_tool = env.Clone() +dna = env.Clone() makesdna_tool.Append(CCFLAGS = '-DBASE_HEADER="\\"source/blender/makesdna/\\"" ') makesdna_tool.Append (CPPPATH = ['#/intern/guardedalloc', - '../../makesdna']) + '../../makesdna']) if env['OURPLATFORM'] == 'linuxcross': - makesdna_tool.Replace(CC='gcc') - makesdna_tool.Replace(AR='ar') - makesdna_tool.Replace(LINK='gcc') + USE_WINE = True # when cross compiling on linux 64bit this is useful +else: + USE_WINE = False + +if not USE_WINE: + if env['OURPLATFORM'] == 'linuxcross': + makesdna_tool.Replace(CC='gcc') + makesdna_tool.Replace(AR='ar') + makesdna_tool.Replace(LINK='gcc') if sys.platform != 'cygwin': - makesdna_tool.Append (CCFLAGS = cflags) + makesdna_tool.Append (CCFLAGS = cflags) makesdna_tool.Append (CPPDEFINES = defines) -makesdna_tool.Append (LIBPATH = '#'+root_build_dir+'/lib') +targetdir = root_build_dir+'/lib' +if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'): + targetdir = '#'+targetdir +makesdna_tool.Append (LIBPATH = targetdir) if env['BF_PROFILE']: - makesdna_tool.Append (LINKFLAGS = env['BF_PROFILE_FLAGS']) + makesdna_tool.Append (LINKFLAGS = env['BF_PROFILE_LINKFLAGS']) -if env['OURPLATFORM'] == 'linux2' and root_build_dir[0]==os.sep: - makesdna = makesdna_tool.Program (target = root_build_dir+'/makesdna', source = source_files, LIBS=['bf_guardedalloc']) -else: - makesdna = makesdna_tool.Program (target = '#'+root_build_dir+'/makesdna', source = source_files, LIBS=['bf_guardedalloc']) +targetdir = root_build_dir + '/makesdna' + +if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'): + targetdir = '#' + targetdir + +makesdna = makesdna_tool.Program (target = targetdir, source = source_files, LIBS=['bf_guardedalloc']) dna_dict = dna.Dictionary() dna.Depends ('dna.c', makesdna) dna.Depends ('dna.c', header_files) if env['OURPLATFORM'] != 'linuxcross': - dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna $TARGET") + if USE_WINE: + dna.Command ('dna.c', '', 'wine ' + root_build_dir+os.sep+"makesdna $TARGET") + else: + dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna $TARGET") else: - dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna.exe $TARGET") + dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna.exe $TARGET") obj = 'intern/dna.c' Return ('obj') diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index cf83804b999..22e732d046b 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -23,7 +23,7 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c intern/CMP_nodes/*.c intern/SHD_nodes/*.c) +FILE(GLOB SRC intern/*.c intern/CMP_nodes/*.c intern/SHD_nodes/*.c intern/TEX_nodes/*.c) SET(INC . ../../../intern/guardedalloc ../include ../blenlib ../makesdna diff --git a/source/blender/nodes/Makefile b/source/blender/nodes/Makefile index ee0c82fad62..39d85d26fef 100644 --- a/source/blender/nodes/Makefile +++ b/source/blender/nodes/Makefile @@ -29,6 +29,6 @@ # Bounces make to subdirectories. SOURCEDIR = source/blender/nodes -DIRS = intern intern/CMP_nodes intern/SHD_nodes +DIRS = intern intern/CMP_nodes intern/SHD_nodes intern/TEX_nodes include nan_subdirs.mk diff --git a/source/blender/nodes/SConscript b/source/blender/nodes/SConscript index f80f4b521db..91ca6cd8c81 100644 --- a/source/blender/nodes/SConscript +++ b/source/blender/nodes/SConscript @@ -4,25 +4,29 @@ Import ('env') sources = env.Glob('intern/*.c') sources += env.Glob('intern/CMP_nodes/*.c') sources += env.Glob('intern/SHD_nodes/*.c') +sources += env.Glob('intern/TEX_nodes/*.c') incs = '. ./intern ' incs += '#/intern/guardedalloc ../include ../blenlib ../makesdna' -incs += ' ../python ../render/extern/include ' +incs += ' ../render/extern/include ' incs += ' ../imbuf ../avi ' -incs += ' ../blenloader ../quicktime' +incs += ' ../blenloader' incs += ' ../blenkernel ../renderconverter ' incs += ' ../gpu #/extern/glew/include ' - -incs += ' ' + env['BF_PYTHON_INC'] incs += ' ' + env['BF_OPENGL_INC'] incs += ' ' + env['BF_ZLIB_INC'] -incs += ' ' + env['BF_SDL_INC'] defs = '' +if env['WITH_BF_PYTHON']: + incs += ' ' + env['BF_PYTHON_INC'] + incs += ' ../python' +else: + defs += 'DISABLE_PYTHON' + if env['WITH_BF_INTERNATIONAL']: - defs += 'WITH_FREETYPE2' + defs += ' WITH_FREETYPE2' if env['WITH_BF_VERSE']: defs += ' WITH_VERSE' diff --git a/source/blender/nodes/TEX_node.h b/source/blender/nodes/TEX_node.h new file mode 100644 index 00000000000..6be2123b96d --- /dev/null +++ b/source/blender/nodes/TEX_node.h @@ -0,0 +1,70 @@ +/** + * $Id: CMP_node.h 12429 2007-10-29 14:37:19Z bebraw $ + * + * ***** 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. The Blender + * Foundation also sells licenses for use in proprietary software under + * the Blender License. See http://www.blender.org/BL/ for information + * about this. + * + * 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef TEX_NODE_H +#define TEX_NODE_H + +#include "BKE_node.h" + + +/* ****************** types array for all texture nodes ****************** */ + +extern bNodeType tex_node_math; +extern bNodeType tex_node_mix_rgb; +extern bNodeType tex_node_valtorgb; +extern bNodeType tex_node_rgbtobw; +extern bNodeType tex_node_output; +extern bNodeType tex_node_viewer; +extern bNodeType tex_node_checker; +extern bNodeType tex_node_texture; +extern bNodeType tex_node_bricks; +extern bNodeType tex_node_image; +extern bNodeType tex_node_curve_rgb; +extern bNodeType tex_node_curve_time; +extern bNodeType tex_node_invert; +extern bNodeType tex_node_hue_sat; + +extern bNodeType tex_node_rotate; +extern bNodeType tex_node_translate; + +extern bNodeType tex_node_proc_voronoi; +extern bNodeType tex_node_proc_blend; +extern bNodeType tex_node_proc_magic; +extern bNodeType tex_node_proc_marble; +extern bNodeType tex_node_proc_clouds; +extern bNodeType tex_node_proc_wood; +extern bNodeType tex_node_proc_musgrave; +extern bNodeType tex_node_proc_noise; +extern bNodeType tex_node_proc_stucci; +extern bNodeType tex_node_proc_distnoise; + +#endif diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c b/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c index 49473b213ce..2065ac2ed33 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c @@ -27,17 +27,21 @@ * ***** END GPL LICENSE BLOCK ***** */ +#ifndef DISABLE_PYTHON #include <Python.h> #include <compile.h> #include <eval.h> +#endif #include "DNA_text_types.h" #include "BKE_text.h" #include "BKE_utildefines.h" +#ifndef DISABLE_PYTHON #include "api2_2x/Node.h" #include "api2_2x/gen_utils.h" #include "BPY_extern.h" +#endif #include "../SHD_util.h" @@ -45,6 +49,7 @@ static void node_dynamic_setup(bNode *node); static void node_dynamic_exec_cb(void *data, bNode *node, bNodeStack **in, bNodeStack **out); static void node_dynamic_free_storage_cb(bNode *node); +#ifndef DISABLE_PYTHON static PyObject *init_dynamicdict(void) { PyObject *newscriptdict; PyGILState_STATE gilstate = PyGILState_Ensure(); @@ -58,6 +63,7 @@ static PyObject *init_dynamicdict(void) { return newscriptdict; } +#endif static bNodeType *node_dynamic_find_typeinfo(ListBase *list, ID *id) { @@ -140,12 +146,12 @@ static void node_dynamic_update_socket_links(bNode *node, bNodeTree *ntree) static void node_dynamic_free_storage_cb(bNode *node) { +#ifndef DISABLE_PYTHON NodeScriptDict *nsd; PyObject *pydict; BPy_Node *pynode; if (!node->storage) return; - nsd = (NodeScriptDict *)(node->storage); pydict = nsd->dict; if (pydict) { @@ -155,6 +161,7 @@ static void node_dynamic_free_storage_cb(bNode *node) if (pynode) { Py_DECREF(pynode); } +#endif MEM_freeN(node->storage); node->storage = NULL; } @@ -169,6 +176,7 @@ static void node_dynamic_disable(bNode *node) /* Disable all pynodes using the given text (script) id */ static void node_dynamic_disable_all_by_id(ID *id) { +#ifndef DISABLE_PYTHON Material *ma; /* XXX hardcoded for shaders */ for (ma= G.main->mat.first; ma; ma= ma->id.next) { @@ -183,6 +191,7 @@ static void node_dynamic_disable_all_by_id(ID *id) } } } +#endif } static void node_rem_socklist_links(bNodeTree *ntree, ListBase *lb) @@ -327,6 +336,7 @@ int nodeDynamicUnlinkText(ID *txtid) { static void node_dynamic_pyerror_print(bNode *node) { +#ifndef DISABLE_PYTHON PyGILState_STATE gilstate = PyGILState_Ensure(); fprintf(stderr, "\nError in dynamic node script \"%s\":\n", node->name); @@ -334,6 +344,7 @@ static void node_dynamic_pyerror_print(bNode *node) else { fprintf(stderr, "Not a valid dynamic node Python script.\n"); } PyGILState_Release(gilstate); +#endif } static void node_dynamic_register_type(bNode *node) @@ -348,6 +359,7 @@ static void node_dynamic_register_type(bNode *node) node->typeinfo->name = BLI_strdup(node->name); } +#ifndef DISABLE_PYTHON /* node_dynamic_get_pynode: * Find the pynode definition from the script */ static PyObject *node_dynamic_get_pynode(PyObject *dict) @@ -389,9 +401,13 @@ static PyObject *node_dynamic_get_pynode(PyObject *dict) "no PyNode definition found in the script!"); return NULL; } +#endif /* DISABLE_PYTHON */ static int node_dynamic_parse(struct bNode *node) { +#ifdef DISABLE_PYTHON + return -1; +#else PyObject *dict= NULL; PyObject *pynode_data= NULL; PyObject *pynode= NULL; @@ -479,12 +495,14 @@ static int node_dynamic_parse(struct bNode *node) } return 0; +#endif } /* node_dynamic_setup: prepare for execution (state: NODE_DYNAMIC_READY) * pynodes already linked to a script (node->id != NULL). */ static void node_dynamic_setup(bNode *node) { +#ifndef DISABLE_PYTHON NodeScriptDict *nsd = NULL; bNodeTree *nodetree = NULL; bNodeType *ntype = NULL; @@ -608,7 +626,7 @@ static void node_dynamic_setup(bNode *node) node->custom1 = BSET(node->custom1, NODE_DYNAMIC_READY); PyGILState_Release(gilstate); - +#endif /* DISABLE_PYTHON */ return; } @@ -641,6 +659,9 @@ static void node_dynamic_init_cb(bNode *node) { /* node_dynamic_copy_cb: pynode copy callback */ static void node_dynamic_copy_cb(bNode *orig_node, bNode *new_node) { +#ifdef DISABLE_PYTHON + return; +#else NodeScriptDict *nsd; PyGILState_STATE gilstate; @@ -657,11 +678,15 @@ static void node_dynamic_copy_cb(bNode *orig_node, bNode *new_node) Py_INCREF((PyObject *)(nsd->dict)); PyGILState_Release(gilstate); +#endif } /* node_dynamic_exec_cb: the execution callback called per pixel * during rendering. */ static void node_dynamic_exec_cb(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { +#ifdef DISABLE_PYTHON + return; +#else BPy_Node *mynode = NULL; NodeScriptDict *nsd = NULL; PyObject *pyresult = NULL; @@ -716,6 +741,7 @@ static void node_dynamic_exec_cb(void *data, bNode *node, bNodeStack **in, bNode PyGILState_Release(gilstate); } } +#endif } bNodeType node_dynamic_typeinfo = { diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c b/source/blender/nodes/intern/SHD_nodes/SHD_texture.c index 31dbde940fd..908cbf5abfd 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_texture.c @@ -50,6 +50,9 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b TexResult texres; float vec[3], nor[3]={0.0f, 0.0f, 0.0f}; int retval; + short which_output = node->custom1; + + short thread = shi->thread; /* out: value, color, normal */ @@ -61,7 +64,7 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b if(in[0]->datatype==NS_OSA_VECTORS) { float *fp= in[0]->data; - retval= multitex_ext((Tex *)node->id, vec, fp, fp+3, shi->osatex, &texres); + retval= multitex_thread((Tex *)node->id, vec, fp, fp+3, shi->osatex, &texres, thread, which_output); } else if(in[0]->datatype==NS_OSA_VALUES) { float *fp= in[0]->data; @@ -69,14 +72,14 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b dxt[0]= fp[0]; dxt[1]= dxt[2]= 0.0f; dyt[0]= fp[1]; dyt[1]= dyt[2]= 0.0f; - retval= multitex_ext((Tex *)node->id, vec, dxt, dyt, shi->osatex, &texres); + retval= multitex_thread((Tex *)node->id, vec, dxt, dyt, shi->osatex, &texres, thread, which_output); } else - retval= multitex_ext((Tex *)node->id, vec, NULL, NULL, 0, &texres); + retval= multitex_thread((Tex *)node->id, vec, NULL, NULL, 0, &texres, thread, which_output); } - else { /* only for previewrender, so we see stuff */ + else { VECCOPY(vec, shi->lo); - retval= multitex_ext((Tex *)node->id, vec, NULL, NULL, 0, &texres); + retval= multitex_thread((Tex *)node->id, vec, NULL, NULL, 0, &texres, thread, which_output); } /* stupid exception */ diff --git a/source/blender/nodes/intern/SHD_util.c b/source/blender/nodes/intern/SHD_util.c index f673834d2b7..b5e82db8a93 100644 --- a/source/blender/nodes/intern/SHD_util.c +++ b/source/blender/nodes/intern/SHD_util.c @@ -82,6 +82,7 @@ void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr) /* convert caller data to struct */ scd.shi= shi; scd.shr= shr; + /* each material node has own local shaderesult, with optional copying */ memset(shr, 0, sizeof(ShadeResult)); diff --git a/source/blender/nodes/intern/TEX_nodes/Makefile b/source/blender/nodes/intern/TEX_nodes/Makefile new file mode 100644 index 00000000000..7fad19a772c --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/Makefile @@ -0,0 +1,48 @@ +# +# $Id: Makefile 12796 2007-12-05 16:58:52Z sirdude $ +# +# ***** BEGIN GPL/BL DUAL 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. The Blender +# Foundation also sells licenses for use in proprietary software under +# the Blender License. See http://www.blender.org/BL/ for information +# about this. +# +# 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): none yet. +# +# ***** END GPL/BL DUAL LICENSE BLOCK ***** +# +# + +LIBNAME = nodes_tex +DIR = $(OCGDIR)/blender/$(LIBNAME) + +include nan_compile.mk + +CFLAGS += $(LEVEL_1_C_WARNINGS) + +CPPFLAGS += -I../../../blenkernel +CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include +CPPFLAGS += -I../../../makesdna +CPPFLAGS += -I../../../blenlib +CPPFLAGS += -I../../../include +CPPFLAGS += -I../../../imbuf +CPPFLAGS += -I../../../render/extern/include +CPPFLAGS += -I$(OPENGL_HEADERS) diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c b/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c new file mode 100644 index 00000000000..c9fa3528b02 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c @@ -0,0 +1,123 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" +#include <math.h> + +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Bricks 1", 0.596f, 0.282f, 0.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_RGBA, 1, "Bricks 2", 0.632f, 0.504f, 0.05f, 1.0f, 0.0f, 1.0f }, + { SOCK_RGBA, 1, "Mortar", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_VALUE, 1, "Thickness", 0.02f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }, + { SOCK_VALUE, 1, "Bias", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f }, + { SOCK_VALUE, 1, "Brick Width", 0.5f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f }, + { SOCK_VALUE, 1, "Row Height", 0.25f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f }, + { -1, 0, "" } +}; +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void init(bNode *node) { + node->custom3 = 0.5; /* offset */ + node->custom4 = 1.0; /* squash */ +} + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float x = coord[0]; + float y = coord[1]; + + float bricknum, rownum, offset = 0; + float ins_x, ins_y; + float tint; + + float bricks1[4]; + float bricks2[4]; + float mortar[4]; + + float mortar_thickness = tex_input_value(in[3], coord, thread); + float bias = tex_input_value(in[4], coord, thread); + float brick_width = tex_input_value(in[5], coord, thread); + float row_height = tex_input_value(in[6], coord, thread); + + tex_input_rgba(bricks1, in[0], coord, thread); + tex_input_rgba(bricks2, in[1], coord, thread); + tex_input_rgba(mortar, in[2], coord, thread); + + rownum = floor(y / row_height); + + if( node->custom1 && node->custom2 ) { + brick_width *= ((int)(rownum) % node->custom2 ) ? 1.0f : node->custom4; /* squash */ + offset = ((int)(rownum) % node->custom1 ) ? 0 : (brick_width*node->custom3); /* offset */ + } + + bricknum = floor((x+offset) / brick_width); + + ins_x = (x+offset) - brick_width*bricknum; + ins_y = y - row_height*rownum; + + srand( (123456*rownum) + bricknum ); + tint = rand() / (float)RAND_MAX + bias; + CLAMP(tint,0.0f,1.0f); + + if( ins_x < mortar_thickness || ins_y < mortar_thickness || + ins_x > (brick_width - mortar_thickness) || + ins_y > (row_height - mortar_thickness) ) { + QUATCOPY( out, mortar ); + } else { + QUATCOPY( out, bricks1 ); + ramp_blend( MA_RAMP_BLEND, out, out+1, out+2, tint, bricks2 ); + } +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_bricks= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_BRICKS, + /* name */ "Bricks", + /* width+range */ 150, 60, 150, + /* class+opts */ NODE_CLASS_PATTERN, NODE_OPTIONS | NODE_PREVIEW, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ init, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c b/source/blender/nodes/intern/TEX_nodes/TEX_checker.c new file mode 100644 index 00000000000..60357782e25 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_checker.c @@ -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. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" +#include <math.h> + +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color1", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_RGBA, 1, "Color2", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_VALUE, 1, "Size", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 100.0f }, + { -1, 0, "" } +}; +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float x = coord[0]; + float y = coord[1]; + float z = coord[2]; + float sz = tex_input_value(in[2], coord, thread); + + /* 0.00001 because of unit sized stuff */ + int xi = (int)fabs(floor(0.00001 + x / sz)); + int yi = (int)fabs(floor(0.00001 + y / sz)); + int zi = (int)fabs(floor(0.00001 + z / sz)); + + if( (xi % 2 == yi % 2) == (zi % 2) ) { + tex_input_rgba(out, in[0], coord, thread); + } else { + tex_input_rgba(out, in[1], coord, thread); + } +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_checker= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_CHECKER, + /* name */ "Checker", + /* width+range */ 100, 60, 150, + /* class+opts */ NODE_CLASS_PATTERN, NODE_OPTIONS | NODE_PREVIEW, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c b/source/blender/nodes/intern/TEX_nodes/TEX_curves.c new file mode 100644 index 00000000000..8c86656b4f3 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_curves.c @@ -0,0 +1,127 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + +/* **************** CURVE Time ******************** */ + +/* custom1 = sfra, custom2 = efra */ +static bNodeSocketType time_outputs[]= { + { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; + +static void time_colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + /* stack order output: fac */ + float fac= 0.0f; + + if(node->custom1 < node->custom2) + fac = (G.scene->r.cfra - node->custom1)/(float)(node->custom2-node->custom1); + + fac = curvemapping_evaluateF(node->storage, 0, fac); + out[0] = CLAMPIS(fac, 0.0f, 1.0f); +} + +static void time_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &time_colorfn); +} + + +static void time_init(bNode* node) +{ + node->custom1= G.scene->r.sfra; + node->custom2= G.scene->r.efra; + node->storage= curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); +} + +bNodeType tex_node_curve_time= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_CURVE_TIME, + /* name */ "Time", + /* width+range */ 140, 100, 320, + /* class+opts */ NODE_CLASS_INPUT, NODE_OPTIONS, + /* input sock */ NULL, + /* output sock */ time_outputs, + /* storage */ "CurveMapping", + /* execfunc */ time_exec, + /* butfunc */ NULL, + /* initfunc */ time_init, + /* freestoragefunc */ node_free_curves, + /* copystoragefunc */ node_copy_curves, + /* id */ NULL +}; + +/* **************** CURVE RGB ******************** */ +static bNodeSocketType rgb_inputs[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType rgb_outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f}, + { -1, 0, "" } +}; + +static void rgb_colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float cin[4]; + tex_input_rgba(cin, in[0], coord, thread); + + curvemapping_evaluateRGBF(node->storage, out, cin); + out[3] = cin[3]; +} + +static void rgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &rgb_colorfn); +} + +static void rgb_init(bNode *node) +{ + node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f); +} + +bNodeType tex_node_curve_rgb= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_CURVE_RGB, + /* name */ "RGB Curves", + /* width+range */ 200, 140, 320, + /* class+opts */ NODE_CLASS_OP_COLOR, NODE_OPTIONS, + /* input sock */ rgb_inputs, + /* output sock */ rgb_outputs, + /* storage */ "CurveMapping", + /* execfunc */ rgb_exec, + /* butfunc */ NULL, + /* initfunc */ rgb_init, + /* freestoragefunc */ node_free_curves, + /* copystoragefunc */ node_copy_curves, + /* id */ NULL +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c b/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c new file mode 100644 index 00000000000..d1a33896fc3 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c @@ -0,0 +1,104 @@ +/** + * + * ***** 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) 2006 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Juho Vepsäläinen + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + + +static bNodeSocketType inputs[]= { + { SOCK_VALUE, 1, "Hue", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f}, + { SOCK_VALUE, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f}, + { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void do_hue_sat_fac(bNode *node, float *out, float hue, float sat, float val, float *in, float fac) +{ + if(fac != 0 && (hue != 0.5f || sat != 1 || val != 1)) { + float col[3], hsv[3], mfac= 1.0f - fac; + + rgb_to_hsv(in[0], in[1], in[2], hsv, hsv+1, hsv+2); + hsv[0]+= (hue - 0.5f); + if(hsv[0]>1.0) hsv[0]-=1.0; else if(hsv[0]<0.0) hsv[0]+= 1.0; + hsv[1]*= sat; + if(hsv[1]>1.0) hsv[1]= 1.0; else if(hsv[1]<0.0) hsv[1]= 0.0; + hsv[2]*= val; + if(hsv[2]>1.0) hsv[2]= 1.0; else if(hsv[2]<0.0) hsv[2]= 0.0; + hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col+1, col+2); + + out[0]= mfac*in[0] + fac*col[0]; + out[1]= mfac*in[1] + fac*col[1]; + out[2]= mfac*in[2] + fac*col[2]; + } + else { + QUATCOPY(out, in); + } +} + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float in0 = tex_input_value(in[0], coord, thread); + float in1 = tex_input_value(in[1], coord, thread); + float in2 = tex_input_value(in[2], coord, thread); + float in3 = tex_input_value(in[3], coord, thread); + + float in4[4]; + tex_input_rgba(in4, in[4], coord, thread); + + do_hue_sat_fac(node, out, in0, in1, in2, in4, in3); +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); +} + +bNodeType tex_node_hue_sat= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_HUE_SAT, + /* name */ "Hue Saturation Value", + /* width+range */ 150, 80, 250, + /* class+opts */ NODE_CLASS_OP_COLOR, NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; + + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_image.c b/source/blender/nodes/intern/TEX_nodes/TEX_image.c new file mode 100644 index 00000000000..f9477fef12b --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_image.c @@ -0,0 +1,106 @@ +/** + * $Id: TEX_image.c 10456 2007-04-04 13:58:12Z jesterking $ + * + * ***** 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) 2006 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float x = coord[0]; + float y = coord[1]; + Image *ima= (Image *)node->id; + ImageUser *iuser= (ImageUser *)node->storage; + + if( ima ) { + ImBuf *ibuf = BKE_image_get_ibuf(ima, iuser); + if( ibuf ) { + float xsize, ysize; + float xoff, yoff; + int px, py; + + float *result; + + xsize = ibuf->x / 2; + ysize = ibuf->y / 2; + xoff = yoff = -1; + + px = (int)( (x-xoff) * xsize ); + py = (int)( (y-yoff) * ysize ); + + if( (!xsize) || (!ysize) ) return; + if( !ibuf->rect_float ) IMB_float_from_rect(ibuf); + + while( px < 0 ) px += ibuf->x; + while( py < 0 ) py += ibuf->y; + while( px >= ibuf->x ) px -= ibuf->x; + while( py >= ibuf->y ) py -= ibuf->y; + + result = ibuf->rect_float + py*ibuf->x*4 + px*4; + QUATCOPY( out, result ); + } + } +}; + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +static void init(bNode* node) +{ + ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user"); + node->storage= iuser; + iuser->sfra= 1; + iuser->fie_ima= 2; + iuser->ok= 1; +} + +bNodeType tex_node_image= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_IMAGE, + /* name */ "Image", + /* width+range */ 120, 80, 300, + /* class+opts */ NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS, + /* input sock */ NULL, + /* output sock */ outputs, + /* storage */ "ImageUser", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ init, + /* freestoragefunc */ node_free_standard_storage, + /* copystoragefunc */ node_copy_standard_storage, + /* id */ NULL +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c b/source/blender/nodes/intern/TEX_nodes/TEX_invert.c new file mode 100644 index 00000000000..09716951009 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_invert.c @@ -0,0 +1,79 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + +/* **************** INVERT ******************** */ +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float col[4]; + + tex_input_rgba(col, in[0], coord, thread); + + col[0] = 1.0f - col[0]; + col[1] = 1.0f - col[1]; + col[2] = 1.0f - col[2]; + + VECCOPY(out, col); + out[3] = col[3]; +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_invert= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_INVERT, + /* name */ "Invert", + /* width+range */ 90, 80, 100, + /* class+opts */ NODE_CLASS_OP_COLOR, NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_math.c b/source/blender/nodes/intern/TEX_nodes/TEX_math.c new file mode 100644 index 00000000000..a2c66078692 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_math.c @@ -0,0 +1,172 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + + + +/* **************** SCALAR MATH ******************** */ +static bNodeSocketType inputs[]= { + { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f}, + { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType outputs[]= { + { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void valuefn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float in0 = tex_input_value(in[0], coord, thread); + float in1 = tex_input_value(in[1], coord, thread); + + switch(node->custom1){ + + case 0: /* Add */ + *out= in0 + in1; + break; + case 1: /* Subtract */ + *out= in0 - in1; + break; + case 2: /* Multiply */ + *out= in0 * in1; + break; + case 3: /* Divide */ + { + if(in1==0) /* We don't want to divide by zero. */ + *out= 0.0; + else + *out= in0 / in1; + } + break; + case 4: /* Sine */ + { + *out= sin(in0); + } + break; + case 5: /* Cosine */ + { + *out= cos(in0); + } + break; + case 6: /* Tangent */ + { + *out= tan(in0); + } + break; + case 7: /* Arc-Sine */ + { + /* Can't do the impossible... */ + if( in0 <= 1 && in0 >= -1 ) + *out= asin(in0); + else + *out= 0.0; + } + break; + case 8: /* Arc-Cosine */ + { + /* Can't do the impossible... */ + if( in0 <= 1 && in0 >= -1 ) + *out= acos(in0); + else + *out= 0.0; + } + break; + case 9: /* Arc-Tangent */ + { + *out= atan(in0); + } + break; + case 10: /* Power */ + { + /* Don't want any imaginary numbers... */ + if( in0 >= 0 ) + *out= pow(in0, in1); + else + *out= 0.0; + } + break; + case 11: /* Logarithm */ + { + /* Don't want any imaginary numbers... */ + if( in0 > 0 && in1 > 0 ) + *out= log(in0) / log(in1); + else + *out= 0.0; + } + break; + case 12: /* Minimum */ + { + if( in0 < in1 ) + *out= in0; + else + *out= in1; + } + break; + case 13: /* Maximum */ + { + if( in0 > in1 ) + *out= in0; + else + *out= in1; + } + break; + case 14: /* Round */ + { + *out= (int)(in0 + 0.5f); + } + break; + } +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &valuefn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_math= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_MATH, + /* name */ "Math", + /* width+range */ 120, 110, 160, + /* class+opts */ NODE_CLASS_CONVERTOR, NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "node_math", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c b/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c new file mode 100644 index 00000000000..b1ccb7a3d07 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c @@ -0,0 +1,81 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + + +/* **************** MIX RGB ******************** */ +static bNodeSocketType inputs[]= { + { SOCK_VALUE, 1, "Factor", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }, + { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f }, + { SOCK_RGBA , 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float fac = tex_input_value(in[0], coord, thread); + float col1[4], col2[4]; + + tex_input_rgba(col1, in[1], coord, thread); + tex_input_rgba(col2, in[2], coord, thread); + + CLAMP(fac, 0.0f, 1.0f); + + QUATCOPY(out, col1); + ramp_blend(node->custom1, out, out+1, out+2, fac, col2); +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_mix_rgb= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_MIX_RGB, + /* name */ "Mix", + /* width+range */ 100, 60, 150, + /* class+opts */ NODE_CLASS_OP_COLOR, NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_output.c b/source/blender/nodes/intern/TEX_nodes/TEX_output.c new file mode 100644 index 00000000000..060ea8d7e67 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_output.c @@ -0,0 +1,90 @@ +/** + * + * ***** 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) 2006 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + +/* **************** COMPOSITE ******************** */ +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +/* applies to render pipeline */ +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + TexCallData *cdata = (TexCallData *)data; + TexResult *target = cdata->target; + + if(in[1]->hasinput && !in[0]->hasinput) + tex_do_preview(node, in[1], data); + else + tex_do_preview(node, in[0], data); + + if(!cdata->do_preview) { + if(cdata->which_output == node->custom1) + { + tex_input_rgba(&target->tr, in[0], cdata->coord, cdata->thread); + + target->tin = (target->tr + target->tg + target->tb) / 3.0f; + target->talpha = 1.0f; + + if(target->nor) { + if(in[1]->hasinput) + tex_input_vec(target->nor, in[1], cdata->coord, cdata->thread); + else + target->nor = 0; + } + } + } +} + +static void init(bNode* node) +{ + TexNodeOutput *tno = MEM_callocN(sizeof(TexNodeOutput), "TEX_output"); + strcpy(tno->name, "Default"); + node->storage= tno; +} + + +bNodeType tex_node_output= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_OUTPUT, + /* name */ "Output", + /* width+range */ 150, 60, 200, + /* class+opts */ NODE_CLASS_OUTPUT, NODE_PREVIEW | NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ NULL, + /* storage */ "TexNodeOutput", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ init, + /* freestoragefunc */ node_free_standard_storage, + /* copystoragefunc */ node_copy_standard_storage, + /* id */ NULL +}; diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c b/source/blender/nodes/intern/TEX_nodes/TEX_proc.c new file mode 100644 index 00000000000..9078dd1be21 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_proc.c @@ -0,0 +1,310 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" +#include "RE_shader_ext.h" + +/* + In this file: wrappers to use procedural textures as nodes +*/ + + +static bNodeSocketType outputs_both[]= { + { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; +static bNodeSocketType outputs_color_only[]= { + { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; + +/* Inputs common to all, #defined because nodes will need their own inputs too */ +#define I 2 /* count */ +#define COMMON_INPUTS \ + { SOCK_RGBA, 1, "Color 1", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, \ + { SOCK_RGBA, 1, "Color 2", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f } + +/* Calls multitex and copies the result to the outputs. Called by xxx_exec, which handles inputs. */ +static void do_proc(float *result, float *coord, float *col1, float *col2, char is_normal, Tex *tex, short thread) +{ + TexResult texres; + int textype; + + if(is_normal) { + texres.nor = result; + } + else + texres.nor = NULL; + + textype = multitex_thread(tex, coord, 0, 0, 0, &texres, thread, 0); + + if(is_normal) + return; + + if(textype & TEX_RGB) { + QUATCOPY(result, &texres.tr); + } + else { + QUATCOPY(result, col1); + ramp_blend(MA_RAMP_BLEND, result, result+1, result+2, texres.tin, col2); + } +} + +typedef void (*MapFn) (Tex *tex, bNodeStack **in, float *coord, short thread); + +static void texfn( + float *result, + float *coord, + bNode *node, + bNodeStack **in, + char is_normal, + MapFn map_inputs, + short thread) +{ + Tex tex = *((Tex*)(node->storage)); + float col1[4], col2[4]; + tex_input_rgba(col1, in[0], coord, thread); + tex_input_rgba(col2, in[1], coord, thread); + + map_inputs(&tex, in, coord, thread); + + do_proc(result, coord, col1, col2, is_normal, &tex, thread); +} + +static int count_outputs(bNode *node) +{ + bNodeSocket *sock; + int num = 0; + for(sock= node->outputs.first; sock; sock= sock->next) { + num++; + } + return num; +} + +/* Boilerplate generators */ + +#define ProcNoInputs(name) \ + static void name##_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) \ + {} + +#define ProcDef(name) \ + static void name##_colorfn(float *result, float *coord, bNode *node, bNodeStack **in, short thread) \ + { \ + texfn(result, coord, node, in, 0, &name##_map_inputs, thread); \ + } \ + static void name##_normalfn(float *result, float *coord, bNode *node, bNodeStack **in, short thread) \ + { \ + texfn(result, coord, node, in, 1, &name##_map_inputs, thread); \ + } \ + static void name##_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) \ + { \ + int outs = count_outputs(node); \ + if(outs >= 1) tex_output(node, in, out[0], &name##_colorfn); \ + if(outs >= 2) tex_output(node, in, out[1], &name##_normalfn); \ + if(outs >= 1) tex_do_preview(node, out[0], data); \ + } + + +/* --- VORONOI -- */ +static bNodeSocketType voronoi_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "W1", 1.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f }, + { SOCK_VALUE, 1, "W2", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f }, + { SOCK_VALUE, 1, "W3", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f }, + { SOCK_VALUE, 1, "W4", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f }, + + { SOCK_VALUE, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.01f, 10.0f }, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 4.0f }, + + { -1, 0, "" } +}; +static void voronoi_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->vn_w1 = tex_input_value(in[I+0], coord, thread); + tex->vn_w2 = tex_input_value(in[I+1], coord, thread); + tex->vn_w3 = tex_input_value(in[I+2], coord, thread); + tex->vn_w4 = tex_input_value(in[I+3], coord, thread); + + tex->ns_outscale = tex_input_value(in[I+4], coord, thread); + tex->noisesize = tex_input_value(in[I+5], coord, thread); +} +ProcDef(voronoi) + +/* --- BLEND -- */ +static bNodeSocketType blend_inputs[]= { + COMMON_INPUTS, + { -1, 0, "" } +}; +ProcNoInputs(blend) +ProcDef(blend) + +/* -- MAGIC -- */ +static bNodeSocketType magic_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f }, + { -1, 0, "" } +}; +static void magic_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->turbul = tex_input_value(in[I+0], coord, thread); +} +ProcDef(magic) + +/* --- MARBLE --- */ +static bNodeSocketType marble_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f }, + { -1, 0, "" } +}; +static void marble_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->noisesize = tex_input_value(in[I+0], coord, thread); + tex->turbul = tex_input_value(in[I+1], coord, thread); +} +ProcDef(marble) + +/* --- CLOUDS --- */ +static bNodeSocketType clouds_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { -1, 0, "" } +}; +static void clouds_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->noisesize = tex_input_value(in[I+0], coord, thread); +} +ProcDef(clouds) + +/* --- DISTORTED NOISE --- */ +static bNodeSocketType distnoise_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { SOCK_VALUE, 1, "Distortion", 1.00f, 0.0f, 0.0f, 0.0f, 0.0000f, 10.0f }, + { -1, 0, "" } +}; +static void distnoise_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->noisesize = tex_input_value(in[I+0], coord, thread); + tex->dist_amount = tex_input_value(in[I+1], coord, thread); +} +ProcDef(distnoise) + +/* --- WOOD --- */ +static bNodeSocketType wood_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f }, + { -1, 0, "" } +}; +static void wood_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->noisesize = tex_input_value(in[I+0], coord, thread); + tex->turbul = tex_input_value(in[I+1], coord, thread); +} +ProcDef(wood) + +/* --- MUSGRAVE --- */ +static bNodeSocketType musgrave_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "H", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { SOCK_VALUE, 1, "Lacunarity", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6.0f }, + { SOCK_VALUE, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 8.0f }, + + { SOCK_VALUE, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f }, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { -1, 0, "" } +}; +static void musgrave_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->mg_H = tex_input_value(in[I+0], coord, thread); + tex->mg_lacunarity = tex_input_value(in[I+1], coord, thread); + tex->mg_octaves = tex_input_value(in[I+2], coord, thread); + tex->ns_outscale = tex_input_value(in[I+3], coord, thread); + tex->noisesize = tex_input_value(in[I+4], coord, thread); +} +ProcDef(musgrave) + +/* --- NOISE --- */ +static bNodeSocketType noise_inputs[]= { + COMMON_INPUTS, + { -1, 0, "" } +}; +ProcNoInputs(noise) +ProcDef(noise) + +/* --- STUCCI --- */ +static bNodeSocketType stucci_inputs[]= { + COMMON_INPUTS, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f }, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f }, + { -1, 0, "" } +}; +static void stucci_map_inputs(Tex *tex, bNodeStack **in, float *coord, short thread) +{ + tex->noisesize = tex_input_value(in[I+0], coord, thread); + tex->turbul = tex_input_value(in[I+1], coord, thread); +} +ProcDef(stucci) + +/* --- */ + +static void init(bNode *node) +{ + Tex *tex = MEM_callocN(sizeof(Tex), "Tex"); + node->storage= tex; + + default_tex(tex); + tex->type = node->type - TEX_NODE_PROC; + + if(tex->type == TEX_WOOD) + tex->stype = TEX_BANDNOISE; + +} + +/* Node type definitions */ +#define TexDef(TEXTYPE, outputs, name, Name) \ + { NULL, NULL, TEX_NODE_PROC+TEXTYPE, Name, 140,80,140, NODE_CLASS_TEXTURE, \ + NODE_OPTIONS | NODE_PREVIEW, name##_inputs, outputs, "Tex", name##_exec, NULL, init, \ + node_free_standard_storage, node_copy_standard_storage, NULL } + +#define C outputs_color_only +#define CV outputs_both + +bNodeType tex_node_proc_voronoi = TexDef(TEX_VORONOI, CV, voronoi, "Voronoi" ); +bNodeType tex_node_proc_blend = TexDef(TEX_BLEND, C, blend, "Blend" ); +bNodeType tex_node_proc_magic = TexDef(TEX_MAGIC, C, magic, "Magic" ); +bNodeType tex_node_proc_marble = TexDef(TEX_MARBLE, CV, marble, "Marble" ); +bNodeType tex_node_proc_clouds = TexDef(TEX_CLOUDS, CV, clouds, "Clouds" ); +bNodeType tex_node_proc_wood = TexDef(TEX_WOOD, CV, wood, "Wood" ); +bNodeType tex_node_proc_musgrave = TexDef(TEX_MUSGRAVE, CV, musgrave, "Musgrave" ); +bNodeType tex_node_proc_noise = TexDef(TEX_NOISE, C, noise, "Noise" ); +bNodeType tex_node_proc_stucci = TexDef(TEX_STUCCI, CV, stucci, "Stucci" ); +bNodeType tex_node_proc_distnoise = TexDef(TEX_DISTNOISE, CV, distnoise, "Distorted Noise" ); + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c b/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c new file mode 100644 index 00000000000..93bf17d4862 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c @@ -0,0 +1,114 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include <math.h> +#include "MTC_vectorops.h" +#include "../TEX_util.h" + +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Turns", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f }, + { SOCK_VECTOR, 1, "Axis", 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f }, + { -1, 0, "" } +}; + +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float new_coord[3]; + + float ax[4]; + float para[3]; + float perp[3]; + float cp[3]; + + float magsq, ndx; + + float a = tex_input_value(in[1], coord, thread); + float cos_a = cos(a * 2 * M_PI); + float sin_a = sin(a * 2 * M_PI); + + // x' = xcosa + n(n.x)(1-cosa)+(x*n)sina + + tex_input_vec(ax, in[2], coord, thread); + magsq = ax[0]*ax[0] + ax[1]*ax[1] + ax[2]*ax[2]; + + if(magsq == 0) magsq = 1; + + ndx = MTC_dot3Float(coord, ax); + + para[0] = ax[0] * ndx * (1 - cos_a); + para[1] = ax[1] * ndx * (1 - cos_a); + para[2] = ax[2] * ndx * (1 - cos_a); + + MTC_diff3Float(perp, coord, para); + + perp[0] = coord[0] * cos_a; + perp[1] = coord[1] * cos_a; + perp[2] = coord[2] * cos_a; + + MTC_cross3Float(cp, ax, coord); + + cp[0] = cp[0] * sin_a; + cp[1] = cp[1] * sin_a; + cp[2] = cp[2] * sin_a; + + new_coord[0] = para[0] + perp[0] + cp[0]; + new_coord[1] = para[1] + perp[1] + cp[1]; + new_coord[2] = para[2] + perp[2] + cp[2]; + + tex_input_rgba(out, in[0], new_coord, thread); +} +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_rotate= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_ROTATE, + /* name */ "Rotate", + /* width+range */ 90, 80, 100, + /* class+opts */ NODE_CLASS_DISTORT, NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c new file mode 100644 index 00000000000..884d2cd0eb6 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_texture.c @@ -0,0 +1,103 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" +#include "RE_shader_ext.h" + +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color1", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f }, + { SOCK_RGBA, 1, "Color2", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; + +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + static float red[] = {1,0,0,1}; + static float white[] = {1,1,1,1}; + + Tex *nodetex = (Tex *)node->id; + + if(node->custom2) { + /* this node refers to its own texture tree! */ + QUATCOPY( + out, + (fabs(coord[0] - coord[1]) < .01) ? white : red + ); + } + else if(nodetex) { + TexResult texres; + int textype; + float nor[] = {0,0,0}; + float col1[4], col2[4]; + + tex_input_rgba(col1, in[0], coord, thread); + tex_input_rgba(col2, in[1], coord, thread); + + texres.nor = nor; + textype = multitex_ext(nodetex, coord, 0, 0, 0, &texres); + + if(textype & TEX_RGB) { + QUATCOPY(out, &texres.tr); + } + else { + QUATCOPY(out, col1); + ramp_blend(MA_RAMP_BLEND, out, out+1, out+2, texres.tin, col2); + } + } +} + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_texture= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_TEXTURE, + /* name */ "Texture", + /* width+range */ 120, 80, 240, + /* class+opts */ NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c b/source/blender/nodes/intern/TEX_nodes/TEX_translate.c new file mode 100644 index 00000000000..bd7e61d0ff4 --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_translate.c @@ -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. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include <math.h> +#include "../TEX_util.h" + +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f }, + { -1, 0, "" } +}; + +static bNodeSocketType outputs[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float offset[3], new_coord[3]; + + tex_input_vec(offset, in[1], coord, thread); + + new_coord[0] = coord[0] + offset[0]; + new_coord[1] = coord[1] + offset[1]; + new_coord[2] = coord[2] + offset[2]; + + tex_input_rgba(out, in[0], new_coord, thread); +} +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &colorfn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_translate = { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_TRANSLATE, + /* name */ "Translate", + /* width+range */ 90, 80, 100, + /* class+opts */ NODE_CLASS_DISTORT, NODE_OPTIONS, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c b/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c new file mode 100644 index 00000000000..ec59769fdfd --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c @@ -0,0 +1,122 @@ +/** + * $Id: SHD_valToRgb.c 10456 2007-04-04 13:58:12Z jesterking $ + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" + +/* **************** VALTORGB ******************** */ +static bNodeSocketType valtorgb_in[]= { + { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; +static bNodeSocketType valtorgb_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void valtorgb_colorfn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + if(node->storage) { + float fac = tex_input_value(in[0], coord, thread); + + do_colorband(node->storage, fac, out); + } +} + +static void valtorgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &valtorgb_colorfn); +} + +static void valtorgb_init(bNode *node) +{ + node->storage = add_colorband(1); +} + +bNodeType tex_node_valtorgb= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_VALTORGB, + /* name */ "ColorRamp", + /* width+range */ 240, 200, 300, + /* class+opts */ NODE_CLASS_CONVERTOR, NODE_OPTIONS, + /* input sock */ valtorgb_in, + /* output sock */ valtorgb_out, + /* storage */ "ColorBand", + /* execfunc */ valtorgb_exec, + /* butfunc */ NULL, + /* initfunc */ valtorgb_init, + /* freestoragefunc */ node_free_standard_storage, + /* copystoragefunc */ node_copy_standard_storage, + /* id */ NULL + +}; + +/* **************** RGBTOBW ******************** */ +static bNodeSocketType rgbtobw_in[]= { + { SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; +static bNodeSocketType rgbtobw_out[]= { + { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + + +static void rgbtobw_valuefn(float *out, float *coord, bNode *node, bNodeStack **in, short thread) +{ + float cin[4]; + tex_input_rgba(cin, in[0], coord, thread); + + *out = cin[0] * 0.35f + cin[1] * 0.45f + cin[2] * 0.2f; +} + +static void rgbtobw_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_output(node, in, out[0], &rgbtobw_valuefn); + + tex_do_preview(node, out[0], data); +} + +bNodeType tex_node_rgbtobw= { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_RGBTOBW, + /* name */ "RGB to BW", + /* width+range */ 80, 40, 120, + /* class+opts */ NODE_CLASS_CONVERTOR, 0, + /* input sock */ rgbtobw_in, + /* output sock */ rgbtobw_out, + /* storage */ "", + /* execfunc */ rgbtobw_exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; + diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c b/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c new file mode 100644 index 00000000000..acdaacf873c --- /dev/null +++ b/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c @@ -0,0 +1,61 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../TEX_util.h" +#include <math.h> + +static bNodeSocketType inputs[]= { + { SOCK_RGBA, 1, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, + { -1, 0, "" } +}; +static bNodeSocketType outputs[]= { + { -1, 0, "" } +}; + +static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + tex_do_preview(node, in[0], data); +} + +bNodeType tex_node_viewer = { + /* *next,*prev */ NULL, NULL, + /* type code */ TEX_NODE_VIEWER, + /* name */ "Viewer", + /* width+range */ 100, 60, 150, + /* class+opts */ NODE_CLASS_OUTPUT, NODE_PREVIEW, + /* input sock */ inputs, + /* output sock */ outputs, + /* storage */ "", + /* execfunc */ exec, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; diff --git a/source/blender/nodes/intern/TEX_util.c b/source/blender/nodes/intern/TEX_util.c new file mode 100644 index 00000000000..10fe3bab26c --- /dev/null +++ b/source/blender/nodes/intern/TEX_util.c @@ -0,0 +1,270 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/* + HOW TEXTURE NODES WORK + + In contrast to Shader nodes, which place a colour into the output + stack when executed, Texture nodes place a TexDelegate* there. To + obtain a colour value from this, a node further up the chain reads + the TexDelegate* from its input stack, and uses tex_call_delegate to + retrieve the colour from the delegate. +*/ + +#include <assert.h> +#include "TEX_util.h" + +#define PREV_RES 128 /* default preview resolution */ + +void tex_call_delegate(TexDelegate *dg, float *out, float *coord, short thread) +{ + dg->fn(out, coord, dg->node, dg->in, thread); +} + +void tex_input_vec(float *out, bNodeStack *in, float *coord, short thread) +{ + TexDelegate *dg = in->data; + if(dg) { + tex_call_delegate(dg, out, coord, thread); + + if(in->hasoutput && in->sockettype == SOCK_VALUE) { + out[1] = out[2] = out[0]; + out[3] = 1; + } + } + else { + QUATCOPY(out, in->vec); + } +} + +void tex_input_rgba(float *out, bNodeStack *in, float *coord, short thread) +{ + tex_input_vec(out, in, coord, thread); + + if(in->hasoutput && in->sockettype == SOCK_VECTOR) { + out[0] = out[0] * .5f + .5f; + out[1] = out[1] * .5f + .5f; + out[2] = out[2] * .5f + .5f; + out[3] = 1; + } +} + +float tex_input_value(bNodeStack *in, float *coord, short thread) +{ + float out[4]; + tex_input_vec(out, in, coord, thread); + return out[0]; +} + +static void init_preview(bNode *node) +{ + int xsize = node->prvr.xmax - node->prvr.xmin; + int ysize = node->prvr.ymax - node->prvr.ymin; + + if(xsize == 0) { + xsize = PREV_RES; + ysize = PREV_RES; + } + + if(node->preview==NULL) + node->preview= MEM_callocN(sizeof(bNodePreview), "node preview"); + + if(node->preview->rect) + if(node->preview->xsize!=xsize && node->preview->ysize!=ysize) { + MEM_freeN(node->preview->rect); + node->preview->rect= NULL; + } + + if(node->preview->rect==NULL) { + node->preview->rect= MEM_callocN(4*xsize + xsize*ysize*sizeof(float)*4, "node preview rect"); + node->preview->xsize= xsize; + node->preview->ysize= ysize; + } +} + +void tex_do_preview(bNode *node, bNodeStack *ns, TexCallData *cdata) +{ + int x, y; + float *result; + bNodePreview *preview; + + if(!cdata->do_preview) + return; + + if(!(node->typeinfo->flag & NODE_PREVIEW)) + return; + + init_preview(node); + + preview = node->preview; + + for(x=0; x<preview->xsize; x++) + for(y=0; y<preview->ysize; y++) + { + cdata->coord[0] = ((float) x / preview->xsize) * 2 - 1; + cdata->coord[1] = ((float) y / preview->ysize) * 2 - 1; + + result = preview->rect + 4 * (preview->xsize*y + x); + + tex_input_rgba(result, ns, cdata->coord, cdata->thread); + } +} + +void tex_output(bNode *node, bNodeStack **in, bNodeStack *out, TexFn texfn) +{ + TexDelegate *dg; + if(!out->data) + /* Freed in tex_end_exec (node.c) */ + dg = out->data = MEM_mallocN(sizeof(TexDelegate), "tex delegate"); + else + dg = out->data; + + + dg->fn = texfn; + dg->node = node; + memcpy(dg->in, in, MAX_SOCKET * sizeof(bNodeStack*)); + dg->type = out->sockettype; +} + +void ntreeTexCheckCyclics(struct bNodeTree *ntree) +{ + bNode *node; + for(node= ntree->nodes.first; node; node= node->next) { + + if(node->type == TEX_NODE_TEXTURE && node->id) + { + /* custom2 stops the node from rendering */ + if(node->custom1) { + node->custom2 = 1; + node->custom1 = 0; + } else { + Tex *tex = (Tex *)node->id; + + node->custom2 = 0; + + node->custom1 = 1; + if(tex->use_nodes && tex->nodetree) { + ntreeTexCheckCyclics(tex->nodetree); + } + node->custom1 = 0; + } + } + + } +} + +void ntreeTexExecTree(bNodeTree *nodes, TexResult *texres, float *coord, char do_preview, short thread, Tex *tex, short which_output) +{ + TexResult dummy_texres; + TexCallData data; + + if(!texres) texres = &dummy_texres; + data.coord = coord; + data.target = texres; + data.do_preview = do_preview; + data.thread = thread; + data.which_output = which_output; + + ntreeExecTree(nodes, &data, thread); +} + +void ntreeTexUpdatePreviews(bNodeTree* nodetree) +{ + Tex *tex; + float coord[] = {0,0,0}; + TexResult dummy_texres; + + for(tex= G.main->tex.first; tex; tex= tex->id.next) + if(tex->nodetree == nodetree) break; + if(!tex) return; + + dummy_texres.nor = 0; + + ntreeBeginExecTree(nodetree); + ntreeTexExecTree(nodetree, &dummy_texres, coord, 1, 0, tex, 0); + ntreeEndExecTree(nodetree); + +} + +char* ntreeTexOutputMenu(bNodeTree *ntree) +{ + bNode *node; + int len = 1; + char *str; + char ctrl[4]; + int index = 0; + + for(node= ntree->nodes.first; node; node= node->next) + if(node->type == TEX_NODE_OUTPUT) { + len += strlen( + ((TexNodeOutput*)node->storage)->name + ) + strlen(" %xNNN|"); + index ++; + + if(node->custom1 > 999) { + printf("Error: too many outputs"); + break; + } + } + + str = malloc(len * sizeof(char)); + *str = 0; + + for(node= ntree->nodes.first; node; node= node->next) + if(node->type == TEX_NODE_OUTPUT) { + strcat(str, ((TexNodeOutput*)node->storage)->name); + strcat(str, " %x"); + + sprintf(ctrl, "%d", node->custom1); + strcat(str, ctrl); + + if(--index) + strcat(str, "|"); + else + break; + } + + return str; +} + +void ntreeTexAssignIndex(struct bNodeTree *ntree, struct bNode *node) +{ + bNode *tnode; + int index = 0; + + check_index: + for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) + if(tnode->type == TEX_NODE_OUTPUT && tnode != node) + if(tnode->custom1 == index) { + index ++; + goto check_index; + } + + node->custom1 = index; +} + diff --git a/source/blender/nodes/intern/TEX_util.h b/source/blender/nodes/intern/TEX_util.h new file mode 100644 index 00000000000..69cf20794c9 --- /dev/null +++ b/source/blender/nodes/intern/TEX_util.h @@ -0,0 +1,104 @@ +/** + * + * ***** 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) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef TEX_NODE_UTIL_H_ +#define TEX_NODE_UTIL_H_ + +#include <math.h> +#include <string.h> + +#include "MEM_guardedalloc.h" + +#include "DNA_action_types.h" +#include "DNA_color_types.h" +#include "DNA_ipo_types.h" +#include "DNA_ID.h" +#include "DNA_image_types.h" +#include "DNA_material_types.h" +#include "DNA_node_types.h" +#include "DNA_object_types.h" +#include "DNA_scene_types.h" +#include "DNA_space_types.h" +#include "DNA_screen_types.h" +#include "DNA_texture_types.h" +#include "DNA_userdef_types.h" + +#include "BKE_blender.h" +#include "BKE_colortools.h" +#include "BKE_global.h" +#include "BKE_image.h" +#include "BKE_main.h" +#include "BKE_material.h" +#include "BKE_texture.h" +#include "BKE_utildefines.h" +#include "BKE_library.h" + +#include "../SHD_node.h" +#include "node_util.h" + +#include "BLI_arithb.h" +#include "BLI_blenlib.h" +#include "BLI_rand.h" +#include "BLI_threads.h" + +#include "IMB_imbuf_types.h" +#include "IMB_imbuf.h" + +#include "RE_pipeline.h" +#include "RE_shader_ext.h" + +typedef struct TexCallData { + TexResult *target; + float *coord; + char do_preview; + short thread; + short which_output; +} TexCallData; + +typedef void(*TexFn) (float *out, float *coord, bNode *node, bNodeStack **in, short thread); + +typedef struct TexDelegate { + TexFn fn; + bNode *node; + bNodeStack *in[MAX_SOCKET]; + int type; +} TexDelegate; + +void tex_call_delegate(TexDelegate*, float *out, float *coord, short thread); + +void tex_input_rgba(float *out, bNodeStack *in, float *coord, short thread); +void tex_input_vec(float *out, bNodeStack *in, float *coord, short thread); +float tex_input_value(bNodeStack *in, float *coord, short thread); + +void tex_output(bNode *node, bNodeStack **in, bNodeStack *out, TexFn texfn); +void tex_do_preview(bNode *node, bNodeStack *ns, TexCallData *cdata); + +void ntreeTexUpdatePreviews( bNodeTree* nodetree ); +void ntreeTexExecTree(bNodeTree *nodes, TexResult *texres, float *coord, char do_preview, short thread, struct Tex *tex, short which_output); + +#endif diff --git a/source/blender/python/BPY_interface.c b/source/blender/python/BPY_interface.c index 1c8b606ace3..331f72021f2 100644 --- a/source/blender/python/BPY_interface.c +++ b/source/blender/python/BPY_interface.c @@ -167,7 +167,7 @@ static void DoAllScriptsFromList( ListBase * list, short event ); static PyObject *importText( char *name ); static void init_ourImport( void ); static void init_ourReload( void ); -static PyObject *blender_import( PyObject * self, PyObject * args ); +static PyObject *blender_import( PyObject * self, PyObject * args, PyObject * kw); static void BPY_Err_Handle( char *script_name ); @@ -2849,24 +2849,28 @@ static PyObject *importText( char *name ) } static PyMethodDef bimport[] = { - {"blimport", blender_import, METH_VARARGS, "our own import"} + {"blimport", blender_import, METH_KEYWORDS, "our own import"} }; -static PyObject *blender_import( PyObject * self, PyObject * args ) +static PyObject *blender_import( PyObject * self, PyObject * args, PyObject * kw) { PyObject *exception, *err, *tb; char *name; PyObject *globals = NULL, *locals = NULL, *fromlist = NULL; PyObject *m; + //PyObject_Print(args, stderr, 0); #if (PY_VERSION_HEX >= 0x02060000) int dummy_val; /* what does this do?*/ + static char *kwlist[] = {"name", "globals", "locals", "fromlist", "level", 0}; - if( !PyArg_ParseTuple( args, "s|OOOi:bimport", + if( !PyArg_ParseTupleAndKeywords( args, kw, "s|OOOi:bimport", kwlist, &name, &globals, &locals, &fromlist, &dummy_val) ) return NULL; #else - if( !PyArg_ParseTuple( args, "s|OOO:bimport", + static char *kwlist[] = {"name", "globals", "locals", "fromlist", 0}; + + if( !PyArg_ParseTupleAndKeywords( args, kw, "s|OOO:bimport", kwlist, &name, &globals, &locals, &fromlist ) ) return NULL; #endif diff --git a/source/blender/python/api2_2x/Armature.c b/source/blender/python/api2_2x/Armature.c index aa3ef82a3e8..99a4398ec89 100644 --- a/source/blender/python/api2_2x/Armature.c +++ b/source/blender/python/api2_2x/Armature.c @@ -244,7 +244,8 @@ static PyObject *BonesDict_GetItem(BPy_BonesDict *self, PyObject* key) } if(value == NULL){ /* item not found in dict. throw exception */ char* key_str = PyString_AsString( key ); - if (key_str) { + + if (key_str==NULL) { return EXPP_ReturnPyObjError(PyExc_KeyError, "bone key must be a string" ); } else { char buffer[128]; diff --git a/source/blender/python/api2_2x/Draw.c b/source/blender/python/api2_2x/Draw.c index e0111f099aa..c238fe5601c 100644 --- a/source/blender/python/api2_2x/Draw.c +++ b/source/blender/python/api2_2x/Draw.c @@ -258,7 +258,7 @@ Normal button (a sphere that you can roll to change the normal)\n\n\ [tooltip=] The button's tooltip"; static char Method_Number_doc[] = - "(name, event, x, y, width, height, initial, min, max, [tooltip]) - Create a \ + "(name, event, x, y, width, height, initial, min, max, [tooltip], [callback], [clickstep], [precision]) - Create a \ new Number button\n\n\ (name) A string to display on the button\n\ (event) The event number to pass to the button event function when activated\n\ @@ -266,7 +266,10 @@ new Number button\n\n\ (width, height) The button width and height\n\ (initial, min, max) Three values (int or float) specifying the initial and \ limit values.\n\ -[tooltip=] The button's tooltip"; +[tooltip=] The button's tooltip\n\ +[callback=] The button's callback\n\ +[clickstep=] Click step for the button\n\ +[precision=] How many decimal places to maintain, if not given, it is calculated depending on range, otherwise 1,2,3 or 4. Larger values are clamped to 4"; static char Method_String_doc[] = "(name, event, x, y, width, height, initial, length, [tooltip]) - Create a \ @@ -1600,6 +1603,8 @@ static PyObject *Method_Number( PyObject * self, PyObject * args ) Button *but; PyObject *mino, *maxo, *inio; PyObject *callback=NULL; + PyObject *a1=NULL; + PyObject *a2=NULL; uiBut *ubut= NULL; if (G.background) { @@ -1607,11 +1612,11 @@ static PyObject *Method_Number( PyObject * self, PyObject * args ) "Can't run Draw.Number() in background mode." ); } - if( !PyArg_ParseTuple( args, "siiiiiOOO|sO", &name, &event, - &x, &y, &w, &h, &inio, &mino, &maxo, &tip, &callback ) ) + if( !PyArg_ParseTuple( args, "siiiiiOOO|sOOO", &name, &event, + &x, &y, &w, &h, &inio, &mino, &maxo, &tip, &callback, &a1, &a2 ) ) return EXPP_ReturnPyObjError( PyExc_TypeError, "expected a string, five ints, three PyObjects and\n\ - optionally string and callback arguments" ); + optionally string, callback, range and precision arguments" ); UI_METHOD_ERRORCHECK; @@ -1632,14 +1637,30 @@ static PyObject *Method_Number( PyObject * self, PyObject * args ) min = (float)PyFloat_AsDouble( mino ); max = (float)PyFloat_AsDouble( maxo ); - range= (float)fabs(max-min); /* Click step will be a 10th of the range. */ - if (!range) range= 1.0f; /* avoid any odd errors */ + if(a1 && PyNumber_Check(a1)) { + if(PyFloat_Check(a1)) + range= (float)PyFloat_AsDouble(a1); + else + range= (float)PyInt_AsLong(a1); + } else { + range= (float)fabs(max-min); /* Click step will be a 10th of the range. */ + if (!range) range= 1.0f; /* avoid any odd errors */ + } - /* set the precission to display*/ - if (range>=1000.0f) precission=1.0f; - else if (range>=100.0f) precission=2.0f; - else if (range>=10.0f) precission=3.0f; - else precission=4.0f; + if(a2 && PyNumber_Check(a2)) { + if(PyFloat_Check(a2)) + precission= (float)PyFloat_AsDouble(a2); + else + precission= (float)PyInt_AsLong(a2); + } else { + /* set the precission to display*/ + if (range>=1000.0f) precission=1.0f; + else if (range>=100.0f) precission=2.0f; + else if (range>=10.0f) precission=3.0f; + else precission=4.0f; + + range *= 10; + } but->type = BFLOAT_TYPE; but->val.asfloat = ini; @@ -1647,7 +1668,7 @@ static PyObject *Method_Number( PyObject * self, PyObject * args ) if( block ) ubut= uiDefButF( block, NUM, event, name, (short)x, (short)y, (short)w, (short)h, - &but->val.asfloat, min, max, 10*range, precission, but->tooltip ); + &but->val.asfloat, min, max, range, precission, but->tooltip ); } else { int ini, min, max; diff --git a/source/blender/python/api2_2x/Image.c b/source/blender/python/api2_2x/Image.c index 5ef2cbadbdc..dc15e008209 100644 --- a/source/blender/python/api2_2x/Image.c +++ b/source/blender/python/api2_2x/Image.c @@ -1380,6 +1380,8 @@ static PyGetSetDef BPy_Image_getseters[] = { "image odd fields toggle", (void *)IMA_STD_FIELD }, {"antialias", (getter)Image_getFlag, (setter)Image_setFlag, "image antialiasing toggle", (void *)IMA_ANTIALI }, + {"premul", (getter)Image_getFlag, (setter)Image_setFlag, + "image premultiply alpha toggle", (void *)IMA_DO_PREMUL }, {"reflect", (getter)Image_getFlag, (setter)Image_setFlag, "image reflect toggle", (void *)IMA_REFLECT }, {"clampX", (getter)Image_getFlagTpage, (setter)Image_setFlagTpage, diff --git a/source/blender/python/api2_2x/Mesh.c b/source/blender/python/api2_2x/Mesh.c index a97a55244ad..32ddb464c88 100644 --- a/source/blender/python/api2_2x/Mesh.c +++ b/source/blender/python/api2_2x/Mesh.c @@ -6271,19 +6271,12 @@ static PyObject *Mesh_getFromObject( BPy_Mesh * self, PyObject * args ) if( origmesh->mat ) { for( i = origmesh->totcol; i-- > 0; ) { /* are we an object material or data based? */ - if (ob->colbits & 1<<i) { + if (ob->colbits & 1<<i) self->mesh->mat[i] = ob->mat[i]; - - if (ob->mat[i]) - ob->mat[i]->id.us++; - if (origmesh->mat[i]) - origmesh->mat[i]->id.us--; - } else { + else self->mesh->mat[i] = origmesh->mat[i]; - - if (origmesh->mat[i]) - origmesh->mat[i]->id.us++; - } + if (self->mesh->mat[i]) + self->mesh->mat[i]->id.us++; } } } diff --git a/source/blender/python/api2_2x/doc/Draw.py b/source/blender/python/api2_2x/doc/Draw.py index 127f37bfbad..98e92196f8d 100644 --- a/source/blender/python/api2_2x/doc/Draw.py +++ b/source/blender/python/api2_2x/doc/Draw.py @@ -706,7 +706,7 @@ def Normal(event, x, y, width, height, initial, tooltip = None, callback = None) @note: Using the same button variable with more then 1 button at a time will corrupt memory. """ -def Number(name, event, x, y, width, height, initial, min, max, tooltip = None, callback = None): +def Number(name, event, x, y, width, height, initial, min, max, tooltip = None, callback = None, clickstep = None, precision = None): """ Create a new Number Button object. @type name: string @@ -735,6 +735,11 @@ def Number(name, event, x, y, width, height, initial, min, max, tooltip = None, @param callback: an optional argument so this button can have its own callback function. the function will run whenever this button is pressed. This function must accept 2 arguments (event, val). + @type clickstep: float + @param clickstep: an optional argument to control the amount of change per click on the button. + @type precision: float + @param precision: an optional argument to control the amount of places after the decimal. From 1 to 4 places with 1.0..4.0. + Larger values are clamped to 4 places. @rtype: Blender Button @return: The Button created. diff --git a/source/blender/python/api2_2x/doc/Image.py b/source/blender/python/api2_2x/doc/Image.py index 564cac3ef9b..e376b11c4fa 100644 --- a/source/blender/python/api2_2x/doc/Image.py +++ b/source/blender/python/api2_2x/doc/Image.py @@ -107,6 +107,8 @@ class Image: @type fields_odd: boolean @ivar antialias: enable or disable the antialias option for this image. @type antialias: boolean + @ivar premul: premultiply alpha toggle. + @type premul: boolean @ivar bindcode: Texture's bind code (readonly). @type bindcode: int @ivar source: Image source type. See L{the Sources dictionary<Sources>} . diff --git a/source/blender/python/api2_2x/doc/SConscript b/source/blender/python/api2_2x/doc/SConscript index 49d20894c58..eca5d9a615c 100644 --- a/source/blender/python/api2_2x/doc/SConscript +++ b/source/blender/python/api2_2x/doc/SConscript @@ -23,6 +23,6 @@ if epydoc: optvalues["names"] = names optparser = OptionParser() optparser.set_defaults(**optvalues) - (options, args) = optparser.parse_args() + (options, args) = optparser.parse_args([]) cli.write_html(docindex, options) diff --git a/source/blender/python/api2_2x/matrix.c b/source/blender/python/api2_2x/matrix.c index 79ca5e09b25..7802de822cb 100644 --- a/source/blender/python/api2_2x/matrix.c +++ b/source/blender/python/api2_2x/matrix.c @@ -246,8 +246,8 @@ PyObject *Matrix_Invert(MatrixObject * self) /*calculate the classical adjoint*/ if(self->rowSize == 2) { mat[0] = self->matrix[1][1]; - mat[1] = -self->matrix[1][0]; - mat[2] = -self->matrix[0][1]; + mat[1] = -self->matrix[0][1]; + mat[2] = -self->matrix[1][0]; mat[3] = self->matrix[0][0]; } else if(self->rowSize == 3) { Mat3Adj((float (*)[3]) mat,(float (*)[3]) *self->matrix); diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript index 607ddf5c7a3..50c4b554193 100644 --- a/source/blender/render/SConscript +++ b/source/blender/render/SConscript @@ -6,7 +6,7 @@ sources = env.Glob('intern/source/*.c') incs = 'intern/include #/intern/guardedalloc ../blenlib ../makesdna' incs += ' extern/include ../blenkernel ../radiosity/extern/include ../imbuf' -incs += ' ../quicktime ../include ../../kernel/gen_messaging ../blenloader' +incs += ' ../include ../blenloader' defs = [] @@ -17,7 +17,7 @@ else: if env['WITH_BF_QUICKTIME']: defs.append('WITH_QUICKTIME') - incs += ' ' + env['BF_QUICKTIME_INC'] + incs += ' ../quicktime ' + env['BF_QUICKTIME_INC'] if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG') diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index 112a1e9929d..a37862aa0ae 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -184,6 +184,7 @@ typedef struct ShadeInput /* node shaders... */ struct Tex; int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres); +int multitex_thread(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output); /* shaded view and bake */ struct Render; diff --git a/source/blender/render/intern/include/pixelshading.h b/source/blender/render/intern/include/pixelshading.h index c6b11b4af9a..799f5521017 100644 --- a/source/blender/render/intern/include/pixelshading.h +++ b/source/blender/render/intern/include/pixelshading.h @@ -53,8 +53,8 @@ int shadeHaloFloat(HaloRen *har, /** * Render the sky at pixel (x, y). */ -void shadeSkyPixel(float *collector, float fx, float fy); -void shadeSkyView(float *colf, float *rco, float *view, float *dxyview); +void shadeSkyPixel(float *collector, float fx, float fy, short thread); +void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short thread); void shadeAtmPixel(struct SunSky *sunsky, float *collector, float fx, float fy, float distance); void shadeSunView(float *colf, float *view); /* ------------------------------------------------------------------------- */ diff --git a/source/blender/render/intern/include/texture.h b/source/blender/render/intern/include/texture.h index 6e1ad562c14..23abec2f9ef 100644 --- a/source/blender/render/intern/include/texture.h +++ b/source/blender/render/intern/include/texture.h @@ -53,12 +53,13 @@ struct ImBuf; /* texture.h */ void do_halo_tex(struct HaloRen *har, float xn, float yn, float *colf); -void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, float *blend, int skyflag); +void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, float *blend, int skyflag, short thread); void do_material_tex(struct ShadeInput *shi); void do_lamp_tex(LampRen *la, float *lavec, struct ShadeInput *shi, float *colf, int effect); void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, float *val); void init_render_textures(Render *re); +void end_render_textures(void); void render_realtime_texture(struct ShadeInput *shi, struct Image *ima); diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index b9b151ab9fd..09f2d1275f4 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -2300,6 +2300,7 @@ static void displace_render_face(Render *re, ObjectRen *obr, VlakRen *vlr, float shi.vlr= vlr; /* current render face */ shi.mat= vlr->mat; /* current input material */ + shi.thread= 0; /* Displace the verts, flag is set when done */ if (!vlr->v1->flag) @@ -4453,6 +4454,7 @@ void RE_Database_Free(Render *re) end_radio_render(); end_render_materials(); + end_render_textures(); free_pointdensities(re); @@ -5197,23 +5199,30 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float * float hoco[4], ho[4], fsvec[4], camco[4]; float mat[4][4], winmat[4][4]; float imat[4][4]; - MVert *vverts; - + FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(fsob, eModifierType_Fluidsim); + FluidsimSettings *fss = fluidmd->fss; + float *velarray = NULL; + /* only one step needed */ if(step) return 1; + if(fluidmd) + fss = fluidmd->fss; + else + return 0; + Mat4CpyMat4(mat, re->viewmat); MTC_Mat4Invert(imat, mat); /* set first vertex OK */ - if( (!fsob->fluidsimSettings) || (!fsob->fluidsimSettings->meshSurfNormals) ) return 0; - vverts = fsob->fluidsimSettings->meshSurfNormals; - //fprintf(stderr, "GZ_VEL obj '%s', calc load_fluidsimspeedvectors\n",fsob->id.name); // NT DEBUG - - if( obr->totvert != fsob->fluidsimSettings->meshSurface->totvert ) { + if(!fss->meshSurfNormals) return 0; + + if( obr->totvert != GET_INT_FROM_POINTER(fss->meshSurface) ) { //fprintf(stderr, "load_fluidsimspeedvectors - modified fluidsim mesh, not using speed vectors (%d,%d)...\n", obr->totvert, fsob->fluidsimSettings->meshSurface->totvert); // DEBUG return 0; } + + velarray = (float *)fss->meshSurfNormals; if(obi->flag & R_TRANSFORMED) Mat4MulMat4(winmat, obi->mat, re->winmat); @@ -5225,7 +5234,8 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float * so that also small drops/little water volumes return a velocity != 0. But I had no luck in fixing that function - DG */ for(a=0; a<obr->totvert; a++) { - for(j=0;j<3;j++) avgvel[j] += vverts[a].co[j]; + for(j=0;j<3;j++) avgvel[j] += velarray[3*a + j]; + } for(j=0;j<3;j++) avgvel[j] /= (float)(obr->totvert); @@ -5239,7 +5249,7 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float * // get fluid velocity fsvec[3] = 0.; //fsvec[0] = fsvec[1] = fsvec[2] = fsvec[3] = 0.; fsvec[2] = 2.; // NT fixed test - for(j=0;j<3;j++) fsvec[j] = vverts[a].co[j]; + for(j=0;j<3;j++) fsvec[j] = velarray[3*a + j]; /* (bad) HACK insert average velocity if none is there (see previous comment) */ if((fsvec[0] == 0.0) && (fsvec[1] == 0.0) && (fsvec[2] == 0.0)) diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c index d281ac9e5c8..13fa9b17b71 100644 --- a/source/blender/render/intern/source/envmap.c +++ b/source/blender/render/intern/source/envmap.c @@ -439,12 +439,19 @@ static void render_envmap(Render *re, EnvMap *env) if(re->test_break()==0) { RenderLayer *rl= envre->result->layers.first; + int y; + char *alpha; ibuf= IMB_allocImBuf(envre->rectx, envre->recty, 24, IB_rect, 0); ibuf->rect_float= rl->rectf; IMB_rect_from_float(ibuf); ibuf->rect_float= NULL; - + + /* envmap renders without alpha */ + alpha= ((char *)ibuf->rect)+3; + for(y= ibuf->x*ibuf->y - 1; y>=0; y--, alpha+=4) + *alpha= 255; + env->cube[part]= ibuf; } diff --git a/source/blender/render/intern/source/pixelshading.c b/source/blender/render/intern/source/pixelshading.c index 60723963af9..af6093ab36c 100644 --- a/source/blender/render/intern/source/pixelshading.c +++ b/source/blender/render/intern/source/pixelshading.c @@ -511,7 +511,7 @@ static void fillBackgroundImage(float *collector, float fx, float fy) } /* Only view vector is important here. Result goes to colf[3] */ -void shadeSkyView(float *colf, float *rco, float *view, float *dxyview) +void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short thread) { float lo[3], zen[3], hor[3], blend, blendm; int skyflag; @@ -550,7 +550,7 @@ void shadeSkyView(float *colf, float *rco, float *view, float *dxyview) SWAP(float, lo[1], lo[2]); } - do_sky_tex(rco, lo, dxyview, hor, zen, &blend, skyflag); + do_sky_tex(rco, lo, dxyview, hor, zen, &blend, skyflag, thread); } if(blend>1.0) blend= 1.0; @@ -607,7 +607,7 @@ void shadeSunView(float *colf, float *view) /* Stuff the sky color into the collector. */ -void shadeSkyPixel(float *collector, float fx, float fy) +void shadeSkyPixel(float *collector, float fx, float fy, short thread) { float view[3], dxyview[2]; @@ -653,7 +653,7 @@ void shadeSkyPixel(float *collector, float fx, float fy) } /* get sky color in the collector */ - shadeSkyView(collector, NULL, view, dxyview); + shadeSkyView(collector, NULL, view, dxyview, thread); collector[3] = 0.0f; } diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c index bba7cb924eb..8bbdb243c8a 100644 --- a/source/blender/render/intern/source/rayshade.c +++ b/source/blender/render/intern/source/rayshade.c @@ -416,7 +416,7 @@ static void ray_fadeout_endcolor(float *col, ShadeInput *origshi, ShadeInput *sh VECCOPY(shi->view, vec); Normalize(shi->view); - shadeSkyView(col, isec->start, shi->view, NULL); + shadeSkyView(col, isec->start, shi->view, NULL, shi->thread); shadeSunView(col, shi->view); } } @@ -1652,7 +1652,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *shadfac) shadfac[2]+= (1.0f-skyfac)*R.wrld.horb + skyfac*R.wrld.zenb; } else { /* WO_AOSKYTEX */ - shadeSkyView(skycol, isec.start, view, dxyview); + shadeSkyView(skycol, isec.start, view, dxyview, shi->thread); shadeSunView(skycol, shi->view); shadfac[0]+= skycol[0]; shadfac[1]+= skycol[1]; @@ -1777,7 +1777,7 @@ static void ray_ao_spheresamp(ShadeInput *shi, float *shadfac) shadfac[2]+= (1.0f-fac)*R.wrld.horb + fac*R.wrld.zenb; } else { /* WO_AOSKYTEX */ - shadeSkyView(skycol, isec.start, view, dxyview); + shadeSkyView(skycol, isec.start, view, dxyview, shi->thread); shadeSunView(skycol, shi->view); shadfac[0]+= skycol[0]; shadfac[1]+= skycol[1]; diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c index 1eb42bca569..c3b281f2a23 100644 --- a/source/blender/render/intern/source/rendercore.c +++ b/source/blender/render/intern/source/rendercore.c @@ -647,7 +647,7 @@ static void sky_tile(RenderPart *pa, RenderLayer *rl) if(pass[3]<1.0f) { if(done==0) { - shadeSkyPixel(col, x, y); + shadeSkyPixel(col, x, y, pa->thread); done= 1; } diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c index 9fb48a08503..9bde6675798 100644 --- a/source/blender/render/intern/source/sss.c +++ b/source/blender/render/intern/source/sss.c @@ -451,13 +451,13 @@ static void compute_radiance(ScatterTree *tree, float *co, float *rad) VECCOPY(rdsum, result.rdsum); VECADD(backrdsum, result.rdsum, result.backrdsum); - if(rdsum[0] > 0.0f) rad[0]= tree->ss[0]->color*rad[0]/rdsum[0]; - if(rdsum[1] > 0.0f) rad[1]= tree->ss[1]->color*rad[1]/rdsum[1]; - if(rdsum[2] > 0.0f) rad[2]= tree->ss[2]->color*rad[2]/rdsum[2]; + if(rdsum[0] > 1e-16f) rad[0]= tree->ss[0]->color*rad[0]/rdsum[0]; + if(rdsum[1] > 1e-16f) rad[1]= tree->ss[1]->color*rad[1]/rdsum[1]; + if(rdsum[2] > 1e-16f) rad[2]= tree->ss[2]->color*rad[2]/rdsum[2]; - if(backrdsum[0] > 0.0f) backrad[0]= tree->ss[0]->color*backrad[0]/backrdsum[0]; - if(backrdsum[1] > 0.0f) backrad[1]= tree->ss[1]->color*backrad[1]/backrdsum[1]; - if(backrdsum[2] > 0.0f) backrad[2]= tree->ss[2]->color*backrad[2]/backrdsum[2]; + if(backrdsum[0] > 1e-16f) backrad[0]= tree->ss[0]->color*backrad[0]/backrdsum[0]; + if(backrdsum[1] > 1e-16f) backrad[1]= tree->ss[1]->color*backrad[1]/backrdsum[1]; + if(backrdsum[2] > 1e-16f) backrad[2]= tree->ss[2]->color*backrad[2]/backrdsum[2]; rad[0]= MAX2(rad[0], backrad[0]); rad[1]= MAX2(rad[1], backrad[1]); @@ -504,20 +504,20 @@ static void sum_leaf_radiance(ScatterTree *tree, ScatterNode *node) } } - if(node->area > 0) { + if(node->area > 1e-16f) { inv= 1.0/node->area; node->rad[0] *= inv; node->rad[1] *= inv; node->rad[2] *= inv; } - if(node->backarea > 0) { + if(node->backarea > 1e-16f) { inv= 1.0/node->backarea; node->backrad[0] *= inv; node->backrad[1] *= inv; node->backrad[2] *= inv; } - if(totrad > 0.0f) { + if(totrad > 1e-16f) { inv= 1.0/totrad; node->co[0] *= inv; node->co[1] *= inv; @@ -578,20 +578,20 @@ static void sum_branch_radiance(ScatterTree *tree, ScatterNode *node) node->backarea += subnode->backarea; } - if(node->area > 0) { + if(node->area > 1e-16f) { inv= 1.0/node->area; node->rad[0] *= inv; node->rad[1] *= inv; node->rad[2] *= inv; } - if(node->backarea > 0) { + if(node->backarea > 1e-16f) { inv= 1.0/node->backarea; node->backrad[0] *= inv; node->backrad[1] *= inv; node->backrad[2] *= inv; } - if(totrad > 0.0f) { + if(totrad > 1e-16f) { inv= 1.0/totrad; node->co[0] *= inv; node->co[1] *= inv; diff --git a/source/blender/render/intern/source/texture.c b/source/blender/render/intern/source/texture.c index 4fdccc9d892..d7d4d124b18 100644 --- a/source/blender/render/intern/source/texture.c +++ b/source/blender/render/intern/source/texture.c @@ -43,11 +43,13 @@ #include "DNA_meshdata_types.h" #include "DNA_material_types.h" #include "DNA_image_types.h" +#include "DNA_node_types.h" #include "IMB_imbuf_types.h" #include "IMB_imbuf.h" #include "BKE_image.h" +#include "BKE_node.h" #include "BKE_plugin_types.h" #include "BKE_utildefines.h" @@ -115,6 +117,10 @@ void init_render_texture(Render *re, Tex *tex) } } } + + if(tex->nodetree && tex->use_nodes) { + ntreeBeginExecTree(tex->nodetree); /* has internal flag to detect it only does it once */ + } } /* ------------------------------------------------------------------------- */ @@ -130,6 +136,20 @@ void init_render_textures(Render *re) } } +void end_render_texture(Tex *tex) +{ + if(tex && tex->use_nodes && tex->nodetree) + ntreeEndExecTree(tex->nodetree); +} + +void end_render_textures(void) +{ + Tex *tex; + for(tex= G.main->tex.first; tex; tex= tex->id.next) + if(tex->id.us) + end_render_texture(tex); +} + /* ------------------------------------------------------------------------- */ @@ -692,6 +712,19 @@ static float voronoiTex(Tex *tex, float *texvec, TexResult *texres) } +/* ------------------------------------------------------------------------- */ + +static int evalnodes(Tex *tex, float *texvec, TexResult *texres, short thread, short which_output) +{ + short rv = TEX_INT; + bNodeTree *nodes = tex->nodetree; + + ntreeTexExecTree(nodes, texres, texvec, 0, thread, tex, which_output); + + if(texres->nor) rv |= TEX_NOR; + rv |= TEX_RGB; + return rv; +} /* ------------------------------------------------------------------------- */ @@ -1131,13 +1164,17 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d /* ************************************** */ -static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres) +static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres, short thread, short which_output) { float tmpvec[3]; int retval=0; /* return value, int:0, col:1, nor:2, everything:3 */ texres->talpha= 0; /* is set when image texture returns alpha (considered premul) */ + if(tex->use_nodes && tex->nodetree) { + retval = evalnodes(tex, texvec, texres, thread, which_output); + } + else switch(tex->type) { case 0: @@ -1240,7 +1277,11 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, * the color values are set before using the r/g/b values, otherwise you may use uninitialized values - Campbell */ int multitex_ext(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres) { - + return multitex_thread(tex, texvec, dxt, dyt, osatex, texres, 0, 0); +} + +int multitex_thread(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexResult *texres, short thread, short which_output) +{ if(tex==NULL) { memset(texres, 0, sizeof(TexResult)); return 0; @@ -1268,10 +1309,10 @@ int multitex_ext(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, Te do_2d_mapping(&mtex, texvec_l, NULL, NULL, dxt_l, dyt_l); - return multitex(tex, texvec_l, dxt_l, dyt_l, osatex, texres); + return multitex(tex, texvec_l, dxt_l, dyt_l, osatex, texres, thread, which_output); } else - return multitex(tex, texvec, dxt, dyt, osatex, texres); + return multitex(tex, texvec, dxt, dyt, osatex, texres, thread, which_output); } /* ------------------------------------------------------------------------- */ @@ -1529,7 +1570,7 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa } - rgbnor= multitex(tex, texvec, NULL, NULL, 0, &texres); /* NULL = dxt/dyt, 0 = shi->osatex - not supported */ + rgbnor= multitex(tex, texvec, NULL, NULL, 0, &texres, 0, mtex->which_output); /* NULL = dxt/dyt, 0 = shi->osatex - not supported */ /* texture output */ @@ -1833,7 +1874,7 @@ void do_material_tex(ShadeInput *shi) } } - rgbnor= multitex(tex, texvec, dxt, dyt, shi->osatex, &texres); + rgbnor= multitex(tex, texvec, dxt, dyt, shi->osatex, &texres, shi->thread, mtex->which_output); /* texture output */ @@ -2217,7 +2258,7 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf) if(mtex->tex->type==TEX_IMAGE) do_2d_mapping(mtex, texvec, NULL, NULL, dxt, dyt); - rgb= multitex(mtex->tex, texvec, dxt, dyt, osatex, &texres); + rgb= multitex(mtex->tex, texvec, dxt, dyt, osatex, &texres, 0, mtex->which_output); /* texture output */ if(rgb && (mtex->texflag & MTEX_RGBTOINT)) { @@ -2288,7 +2329,7 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf) /* ------------------------------------------------------------------------- */ /* hor and zen are RGB vectors, blend is 1 float, should all be initialized */ -void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, float *blend, int skyflag) +void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, float *blend, int skyflag, short thread) { MTex *mtex; TexResult texres= {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, NULL}; @@ -2388,7 +2429,7 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f /* texture */ if(mtex->tex->type==TEX_IMAGE) do_2d_mapping(mtex, texvec, NULL, NULL, dxt, dyt); - rgb= multitex(mtex->tex, texvec, dxt, dyt, R.osa, &texres); + rgb= multitex(mtex->tex, texvec, dxt, dyt, R.osa, &texres, thread, mtex->which_output); /* texture output */ if(rgb && (mtex->texflag & MTEX_RGBTOINT)) { @@ -2569,7 +2610,7 @@ void do_lamp_tex(LampRen *la, float *lavec, ShadeInput *shi, float *colf, int ef do_2d_mapping(mtex, texvec, NULL, NULL, dxt, dyt); } - rgb= multitex(tex, texvec, dxt, dyt, shi->osatex, &texres); + rgb= multitex(tex, texvec, dxt, dyt, shi->osatex, &texres, shi->thread, mtex->which_output); /* texture output */ if(rgb && (mtex->texflag & MTEX_RGBTOINT)) { @@ -2654,7 +2695,7 @@ int externtex(MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *t do_2d_mapping(mtex, texvec, NULL, NULL, dxt, dyt); } - rgb= multitex(tex, texvec, dxt, dyt, 0, &texr); + rgb= multitex(tex, texvec, dxt, dyt, 0, &texr, 0, mtex->which_output); if(rgb) { texr.tin= (0.35*texr.tr+0.45*texr.tg+0.2*texr.tb); diff --git a/source/blender/render/intern/source/volumetric.c b/source/blender/render/intern/source/volumetric.c index 86705232b1e..359f6202fe4 100644 --- a/source/blender/render/intern/source/volumetric.c +++ b/source/blender/render/intern/source/volumetric.c @@ -585,7 +585,7 @@ static void vol_trace_behind(ShadeInput *shi, VlakRen *vlr, float *co, float *co if(RE_ray_tree_intersect(R.raytree, &isect)) { shade_intersection(shi, col, &isect); } else { - shadeSkyView(col, co, shi->view, NULL); + shadeSkyView(col, co, shi->view, NULL, shi->thread); shadeSunView(col, shi->view); } } diff --git a/source/blender/src/SConscript b/source/blender/src/SConscript index 47b269c85d7..c5edd711d0a 100644 --- a/source/blender/src/SConscript +++ b/source/blender/src/SConscript @@ -23,19 +23,22 @@ incs = ' #/intern/guardedalloc #/intern/memutil' incs += ' ../blenlib ../makesdna ../blenkernel' incs += ' ../include #/intern/bmfont ../imbuf ../render/extern/include' incs += ' #/intern/bsp/extern ../radiosity/extern/include' -incs += ' #/intern/decimation/extern ../blenloader ../python' +incs += ' #/intern/decimation/extern ../blenloader' incs += ' ../../kernel/gen_system #/intern/SoundSystem ../readstreamglue ../nodes' -incs += ' ../quicktime #/intern/elbeem/extern' +incs += ' #/intern/elbeem/extern' incs += ' #/intern/ghost #/intern/opennl/extern' incs += ' ../gpu #extern/glew/include' - -incs += ' ' + env['BF_PYTHON_INC'] -incs += ' ' + env['BF_SDL_INC'] incs += ' ' + env['BF_OPENGL_INC'] defs = [] +if env['WITH_BF_PYTHON']: + incs += ' ../python ' + env['BF_PYTHON_INC'] +else: + defs.append('DISABLE_PYTHON') + + if env['BF_TWEAK_MODE']: defs.append('TWEAK_MODE') @@ -58,9 +61,13 @@ if env['WITH_BF_QUICKTIME']: defs.append('WITH_QUICKTIME') if env['WITH_BF_ICONV']: + incs += ' ../quicktime' incs += ' ' + env['BF_ICONV_INC'] defs.append('WITH_ICONV') +if env['WITH_BF_GAMEENGINE']: + defs.append('GAMEBLENDER=1') + if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG') incs += ' ' + env['BF_FFMPEG_INC'] @@ -68,7 +75,7 @@ if env['WITH_BF_FFMPEG']: if env['WITH_BF_OGG']: defs.append('WITH_OGG') -if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'): +if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross'): incs += ' ' + env['BF_PTHREADS_INC'] if env['WITH_BF_VERSE']: @@ -82,7 +89,9 @@ if env['BF_BUILDINFO']: if env['BF_NO_ELBEEM']: defs.append('DISABLE_ELBEEM') -if not env['WITH_BF_SDL']: +if env['WITH_BF_SDL']: + incs += ' ' + env['BF_SDL_INC'] +else: defs.append('DISABLE_SDL') if env['BF_SPLIT_SRC'] and (env['OURPLATFORM'] == 'win32-mingw'): diff --git a/source/blender/src/autoarmature.c b/source/blender/src/autoarmature.c new file mode 100644 index 00000000000..b0a7a2ab5cc --- /dev/null +++ b/source/blender/src/autoarmature.c @@ -0,0 +1,2968 @@ +/** + * $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. + * + * Contributor(s): Martin Poirier + * + * ***** END GPL LICENSE BLOCK ***** + * autoarmature.c: Interface for automagically manipulating armature (retarget, created, ...) + */ + +#include <ctype.h> +#include <stdlib.h> +#include <string.h> +#include <math.h> + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "MEM_guardedalloc.h" + +#include "PIL_time.h" + +#include "DNA_ID.h" +#include "DNA_action_types.h" +#include "DNA_armature_types.h" +#include "DNA_constraint_types.h" +#include "DNA_mesh_types.h" +#include "DNA_meshdata_types.h" +#include "DNA_object_types.h" +#include "DNA_scene_types.h" +#include "DNA_view3d_types.h" + +#include "BLI_blenlib.h" +#include "BLI_arithb.h" +#include "BLI_editVert.h" +#include "BLI_ghash.h" +#include "BLI_graph.h" +#include "BLI_rand.h" +#include "BLI_threads.h" + +#include "BDR_editobject.h" + +#include "BKE_global.h" +#include "BKE_utildefines.h" +#include "BKE_constraint.h" +#include "BKE_armature.h" + +#include "BIF_editarmature.h" +#include "BIF_space.h" + +#include "PIL_time.h" + +#include "mydevice.h" +#include "reeb.h" // FIX ME +#include "blendef.h" + +/************ RIG RETARGET DATA STRUCTURES ***************/ + +struct RigJoint; +struct RigGraph; +struct RigNode; +struct RigArc; +struct RigEdge; + +//#define USE_THREADS + +typedef struct RigGraph { + ListBase arcs; + ListBase nodes; + + float length; + + FreeArc free_arc; + FreeNode free_node; + RadialSymmetry radial_symmetry; + AxialSymmetry axial_symmetry; + /*********************************/ + + struct RigNode *head; + ReebGraph *link_mesh; + + ListBase editbones; + + ListBase controls; + struct ThreadedWorker *worker; + + GHash *bones_map; /* map of editbones by name */ + GHash *controls_map; /* map of rigcontrols by bone pointer */ + + Object *ob; +} RigGraph; + +typedef struct RigNode { + void *next, *prev; + float p[3]; + int flag; + + int degree; + struct BArc **arcs; + + int subgraph_index; + + int symmetry_level; + int symmetry_flag; + float symmetry_axis[3]; + /*********************************/ + + ReebNode *link_mesh; +} RigNode; + +typedef struct RigArc { + void *next, *prev; + RigNode *head, *tail; + int flag; + + float length; + + int symmetry_level; + int symmetry_group; + int symmetry_flag; + /*********************************/ + + ListBase edges; + int count; + ReebArc *link_mesh; +} RigArc; + +typedef struct RigEdge { + struct RigEdge *next, *prev; + float head[3], tail[3]; + float length; + float angle; + EditBone *bone; + float up_axis[3]; +} RigEdge; + +/* Control flags */ +#define RIG_CTRL_DONE 1 +#define RIG_CTRL_PARENT_DEFORM 2 +#define RIG_CTRL_FIT_ROOT 4 +#define RIG_CTRL_FIT_BONE 8 + +typedef struct RigControl { + struct RigControl *next, *prev; + float head[3], tail[3]; + EditBone *bone; + EditBone *link; + float up_axis[3]; + float offset[3]; + int flag; +} RigControl; + +typedef struct MemoNode { + float weight; + int next; +} MemoNode; + +typedef struct RetargetParam { + RigGraph *rigg; + RigArc *iarc; + RigNode *inode_start; +} RetargetParam; + +typedef enum +{ + RETARGET_LENGTH, + RETARGET_AGGRESSIVE +} RetargetMode; + +typedef enum +{ + METHOD_BRUTE_FORCE = 0, + METHOD_MEMOIZE = 1, + METHOD_ANNEALING = 2 +} RetargetMethod; + +typedef enum +{ + ARC_FREE = 0, + ARC_TAKEN = 1, + ARC_USED = 2 +} ArcUsageFlags; + + +RigGraph *GLOBAL_RIGG = NULL; + +/*******************************************************************************************************/ + +void *exec_retargetArctoArc(void *param); + +static void RIG_calculateEdgeAngle(RigEdge *edge_first, RigEdge *edge_second); + +/* two levels */ +#define SHAPE_LEVELS (SHAPE_RADIX * SHAPE_RADIX) + +/*********************************** EDITBONE UTILS ****************************************************/ + +int countEditBoneChildren(ListBase *list, EditBone *parent) +{ + EditBone *ebone; + int count = 0; + + for (ebone = list->first; ebone; ebone = ebone->next) + { + if (ebone->parent == parent) + { + count++; + } + } + + return count; +} + +EditBone* nextEditBoneChild(ListBase *list, EditBone *parent, int n) +{ + EditBone *ebone; + + for (ebone = list->first; ebone; ebone = ebone->next) + { + if (ebone->parent == parent) + { + if (n == 0) + { + return ebone; + } + n--; + } + } + + return NULL; +} + +void getEditBoneRollUpAxis(EditBone *bone, float roll, float up_axis[3]) +{ + float mat[3][3], nor[3]; + + VecSubf(nor, bone->tail, bone->head); + + vec_roll_to_mat3(nor, roll, mat); + VECCOPY(up_axis, mat[2]); +} + +float getNewBoneRoll(EditBone *bone, float old_up_axis[3], float quat[4]) +{ + float mat[3][3]; + float nor[3], up_axis[3], new_up_axis[3], vec[3]; + float roll; + + VECCOPY(new_up_axis, old_up_axis); + QuatMulVecf(quat, new_up_axis); + + VecSubf(nor, bone->tail, bone->head); + + vec_roll_to_mat3(nor, 0, mat); + VECCOPY(up_axis, mat[2]); + + roll = NormalizedVecAngle2(new_up_axis, up_axis); + + Crossf(vec, up_axis, new_up_axis); + + if (Inpf(vec, nor) < 0) + { + roll = -roll; + } + + return roll; +} + +/************************************ DESTRUCTORS ******************************************************/ + +void RIG_freeRigArc(BArc *arc) +{ + BLI_freelistN(&((RigArc*)arc)->edges); +} + +void RIG_freeRigGraph(BGraph *rg) +{ + BNode *node; + BArc *arc; + +#ifdef USE_THREADS + BLI_destroy_worker(((RigGraph*)rg)->worker); +#endif + + REEB_freeGraph(((RigGraph*)rg)->link_mesh); + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + RIG_freeRigArc(arc); + } + BLI_freelistN(&rg->arcs); + + for (node = rg->nodes.first; node; node = node->next) + { + BLI_freeNode(rg, (BNode*)node); + } + BLI_freelistN(&rg->nodes); + + BLI_freelistN(&((RigGraph*)rg)->controls); + + BLI_ghash_free(((RigGraph*)rg)->bones_map, NULL, NULL); + BLI_ghash_free(((RigGraph*)rg)->controls_map, NULL, NULL); + + BLI_freelistN(&((RigGraph*)rg)->editbones); + + MEM_freeN(rg); +} + +/************************************* ALLOCATORS ******************************************************/ + +static RigGraph *newRigGraph() +{ + RigGraph *rg; + int totthread; + + rg = MEM_callocN(sizeof(RigGraph), "rig graph"); + + rg->head = NULL; + + rg->bones_map = BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp); + rg->controls_map = BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp); + + rg->free_arc = RIG_freeRigArc; + rg->free_node = NULL; + +#ifdef USE_THREADS + if(G.scene->r.mode & R_FIXED_THREADS) + { + totthread = G.scene->r.threads; + } + else + { + totthread = BLI_system_thread_count(); + } + + rg->worker = BLI_create_worker(exec_retargetArctoArc, totthread, 20); /* fix number of threads */ +#endif + + return rg; +} + +static RigArc *newRigArc(RigGraph *rg) +{ + RigArc *arc; + + arc = MEM_callocN(sizeof(RigArc), "rig arc"); + arc->count = 0; + BLI_addtail(&rg->arcs, arc); + + return arc; +} + +static RigControl *newRigControl(RigGraph *rg) +{ + RigControl *ctrl; + + ctrl = MEM_callocN(sizeof(RigControl), "rig control"); + + BLI_addtail(&rg->controls, ctrl); + + return ctrl; +} + +static RigNode *newRigNodeHead(RigGraph *rg, RigArc *arc, float p[3]) +{ + RigNode *node; + node = MEM_callocN(sizeof(RigNode), "rig node"); + BLI_addtail(&rg->nodes, node); + + VECCOPY(node->p, p); + node->degree = 1; + node->arcs = NULL; + + arc->head = node; + + return node; +} + +static void addRigNodeHead(RigGraph *rg, RigArc *arc, RigNode *node) +{ + node->degree++; + + arc->head = node; +} + +static RigNode *newRigNode(RigGraph *rg, float p[3]) +{ + RigNode *node; + node = MEM_callocN(sizeof(RigNode), "rig node"); + BLI_addtail(&rg->nodes, node); + + VECCOPY(node->p, p); + node->degree = 0; + node->arcs = NULL; + + return node; +} + +static RigNode *newRigNodeTail(RigGraph *rg, RigArc *arc, float p[3]) +{ + RigNode *node = newRigNode(rg, p); + + node->degree = 1; + arc->tail = node; + + return node; +} + +static void RIG_appendEdgeToArc(RigArc *arc, RigEdge *edge) +{ + BLI_addtail(&arc->edges, edge); + + if (edge->prev == NULL) + { + VECCOPY(edge->head, arc->head->p); + } + else + { + RigEdge *last_edge = edge->prev; + VECCOPY(edge->head, last_edge->tail); + RIG_calculateEdgeAngle(last_edge, edge); + } + + edge->length = VecLenf(edge->head, edge->tail); + + arc->length += edge->length; + + arc->count += 1; +} + +static void RIG_addEdgeToArc(RigArc *arc, float tail[3], EditBone *bone) +{ + RigEdge *edge; + + edge = MEM_callocN(sizeof(RigEdge), "rig edge"); + + VECCOPY(edge->tail, tail); + edge->bone = bone; + + if (bone) + { + getEditBoneRollUpAxis(bone, bone->roll, edge->up_axis); + } + + RIG_appendEdgeToArc(arc, edge); +} + +/*******************************************************************************************************/ + +static void RIG_calculateEdgeAngle(RigEdge *edge_first, RigEdge *edge_second) +{ + float vec_first[3], vec_second[3]; + + VecSubf(vec_first, edge_first->tail, edge_first->head); + VecSubf(vec_second, edge_second->tail, edge_second->head); + + Normalize(vec_first); + Normalize(vec_second); + + edge_first->angle = saacos(Inpf(vec_first, vec_second)); +} + +/************************************ CONTROL BONES ****************************************************/ + +static void RIG_addControlBone(RigGraph *rg, EditBone *bone) +{ + RigControl *ctrl = newRigControl(rg); + ctrl->bone = bone; + VECCOPY(ctrl->head, bone->head); + VECCOPY(ctrl->tail, bone->tail); + getEditBoneRollUpAxis(bone, bone->roll, ctrl->up_axis); + + BLI_ghash_insert(rg->controls_map, bone->name, ctrl); +} + +static int RIG_parentControl(RigControl *ctrl, EditBone *link) +{ + if (link) + { + float offset[3]; + int flag = 0; + + VecSubf(offset, ctrl->bone->head, link->head); + + /* if root matches, check for direction too */ + if (Inpf(offset, offset) < 0.0001) + { + float vbone[3], vparent[3]; + + flag |= RIG_CTRL_FIT_ROOT; + + VecSubf(vbone, ctrl->bone->tail, ctrl->bone->head); + VecSubf(vparent, link->tail, link->head); + + /* test for opposite direction */ + if (Inpf(vbone, vparent) > 0) + { + float nor[3]; + float len; + + Crossf(nor, vbone, vparent); + + len = Inpf(nor, nor); + if (len < 0.0001) + { + flag |= RIG_CTRL_FIT_BONE; + } + } + } + + /* Bail out if old one is automatically better */ + if (flag < ctrl->flag) + { + return 0; + } + + /* if there's already a link + * overwrite only if new link is higher in the chain */ + if (ctrl->link && flag == ctrl->flag) + { + EditBone *bone = NULL; + + for (bone = ctrl->link; bone; bone = bone->parent) + { + /* if link is in the chain, break and use that one */ + if (bone == link) + { + break; + } + } + + /* not in chain, don't update link */ + if (bone == NULL) + { + return 0; + } + } + + + ctrl->link = link; + ctrl->flag = flag; + + VECCOPY(ctrl->offset, offset); + + return 1; + } + + return 0; +} + +static void RIG_reconnectControlBones(RigGraph *rg) +{ + RigControl *ctrl; + int change = 1; + + /* first pass, link to deform bones */ + for (ctrl = rg->controls.first; ctrl; ctrl = ctrl->next) + { + bPoseChannel *pchan; + bConstraint *con; + int found = 0; + + /* DO SOME MAGIC HERE */ + for (pchan= rg->ob->pose->chanbase.first; pchan; pchan= pchan->next) + { + for (con= pchan->constraints.first; con; con= con->next) + { + bConstraintTypeInfo *cti= constraint_get_typeinfo(con); + ListBase targets = {NULL, NULL}; + bConstraintTarget *ct; + + /* constraint targets */ + if (cti && cti->get_constraint_targets) + { + cti->get_constraint_targets(con, &targets); + + for (ct= targets.first; ct; ct= ct->next) + { + if ((ct->tar == rg->ob) && strcmp(ct->subtarget, ctrl->bone->name) == 0) + { + /* SET bone link to bone corresponding to pchan */ + EditBone *link = BLI_ghash_lookup(rg->bones_map, pchan->name); + + found = RIG_parentControl(ctrl, link); + } + } + + if (cti->flush_constraint_targets) + cti->flush_constraint_targets(con, &targets, 0); + } + } + } + + /* if not found yet, check parent */ + if (found == 0) + { + if (ctrl->bone->parent) + { + /* make sure parent is a deforming bone + * NULL if not + * */ + EditBone *link = BLI_ghash_lookup(rg->bones_map, ctrl->bone->parent->name); + + found = RIG_parentControl(ctrl, link); + } + + /* check if bone is not superposed on another one */ + { + RigArc *arc; + RigArc *best_arc = NULL; + EditBone *link = NULL; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + RigEdge *edge; + for (edge = arc->edges.first; edge; edge = edge->next) + { + if (edge->bone) + { + int fit = 0; + + fit = VecLenf(ctrl->bone->head, edge->bone->head) < 0.0001; + fit = fit || VecLenf(ctrl->bone->tail, edge->bone->tail) < 0.0001; + + if (fit) + { + /* pick the bone on the arc with the lowest symmetry level + * means you connect control to the trunk of the skeleton */ + if (best_arc == NULL || arc->symmetry_level < best_arc->symmetry_level) + { + best_arc = arc; + link = edge->bone; + } + } + } + } + } + + found = RIG_parentControl(ctrl, link); + } + } + + /* if not found yet, check child */ + if (found == 0) + { + RigArc *arc; + RigArc *best_arc = NULL; + EditBone *link = NULL; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + RigEdge *edge; + for (edge = arc->edges.first; edge; edge = edge->next) + { + if (edge->bone && edge->bone->parent == ctrl->bone) + { + /* pick the bone on the arc with the lowest symmetry level + * means you connect control to the trunk of the skeleton */ + if (best_arc == NULL || arc->symmetry_level < best_arc->symmetry_level) + { + best_arc = arc; + link = edge->bone; + } + } + } + } + + found = RIG_parentControl(ctrl, link); + } + + } + + + /* second pass, make chains in control bones */ + while (change) + { + change = 0; + + printf("-------------------------\n"); + + for (ctrl = rg->controls.first; ctrl; ctrl = ctrl->next) + { + /* if control is not linked yet */ + if (ctrl->link == NULL) + { + bPoseChannel *pchan; + bConstraint *con; + RigControl *ctrl_parent = NULL; + RigControl *ctrl_child; + int found = 0; + + if (ctrl->bone->parent) + { + ctrl_parent = BLI_ghash_lookup(rg->controls_map, ctrl->bone->parent->name); + } + + /* check constraints first */ + + /* DO SOME MAGIC HERE */ + for (pchan= rg->ob->pose->chanbase.first; pchan; pchan= pchan->next) + { + for (con= pchan->constraints.first; con; con= con->next) + { + bConstraintTypeInfo *cti= constraint_get_typeinfo(con); + ListBase targets = {NULL, NULL}; + bConstraintTarget *ct; + + /* constraint targets */ + if (cti && cti->get_constraint_targets) + { + cti->get_constraint_targets(con, &targets); + + for (ct= targets.first; ct; ct= ct->next) + { + if ((ct->tar == rg->ob) && strcmp(ct->subtarget, ctrl->bone->name) == 0) + { + /* SET bone link to ctrl corresponding to pchan */ + RigControl *link = BLI_ghash_lookup(rg->controls_map, pchan->name); + + /* if owner is a control bone, link with it */ + if (link && link->link) + { + printf("%s -constraint- %s\n", ctrl->bone->name, link->bone->name); + RIG_parentControl(ctrl, link->bone); + found = 1; + break; + } + } + } + + if (cti->flush_constraint_targets) + cti->flush_constraint_targets(con, &targets, 0); + } + } + } + + if (found == 0) + { + /* check if parent is already linked */ + if (ctrl_parent && ctrl_parent->link) + { + printf("%s -parent- %s\n", ctrl->bone->name, ctrl_parent->bone->name); + RIG_parentControl(ctrl, ctrl_parent->bone); + change = 1; + } + else + { + /* check childs */ + for (ctrl_child = rg->controls.first; ctrl_child; ctrl_child = ctrl_child->next) + { + /* if a child is linked, link to that one */ + if (ctrl_child->link && ctrl_child->bone->parent == ctrl->bone) + { + printf("%s -child- %s\n", ctrl->bone->name, ctrl_child->bone->name); + RIG_parentControl(ctrl, ctrl_child->bone); + change = 1; + break; + } + } + } + } + } + } + + } +} + +/*******************************************************************************************************/ + +static void RIG_joinArcs(RigGraph *rg, RigNode *node, RigArc *joined_arc1, RigArc *joined_arc2) +{ + RigEdge *edge, *next_edge; + + /* ignore cases where joint is at start or end */ + if (joined_arc1->head == joined_arc2->head || joined_arc1->tail == joined_arc2->tail) + { + return; + } + + /* swap arcs to make sure arc1 is before arc2 */ + if (joined_arc1->head == joined_arc2->tail) + { + RigArc *tmp = joined_arc1; + joined_arc1 = joined_arc2; + joined_arc2 = tmp; + } + + for (edge = joined_arc2->edges.first; edge; edge = next_edge) + { + next_edge = edge->next; + + RIG_appendEdgeToArc(joined_arc1, edge); + } + + joined_arc1->tail = joined_arc2->tail; + + joined_arc2->edges.first = joined_arc2->edges.last = NULL; + + BLI_removeArc((BGraph*)rg, (BArc*)joined_arc2); + + BLI_removeNode((BGraph*)rg, (BNode*)node); +} + +static void RIG_removeNormalNodes(RigGraph *rg) +{ + RigNode *node, *next_node; + + for (node = rg->nodes.first; node; node = next_node) + { + next_node = node->next; + + if (node->degree == 2) + { + RigArc *arc, *joined_arc1 = NULL, *joined_arc2 = NULL; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + if (arc->head == node || arc->tail == node) + { + if (joined_arc1 == NULL) + { + joined_arc1 = arc; + } + else + { + joined_arc2 = arc; + break; + } + } + } + + RIG_joinArcs(rg, node, joined_arc1, joined_arc2); + } + } +} + +static void RIG_removeUneededOffsets(RigGraph *rg) +{ + RigArc *arc; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + RigEdge *first_edge, *last_edge; + + first_edge = arc->edges.first; + last_edge = arc->edges.last; + + if (first_edge->bone == NULL) + { + if (first_edge->bone == NULL && VecLenf(first_edge->tail, arc->head->p) <= 0.001) + { + BLI_remlink(&arc->edges, first_edge); + MEM_freeN(first_edge); + } + else if (arc->head->degree == 1) + { + RigNode *new_node = (RigNode*)BLI_FindNodeByPosition((BGraph*)rg, first_edge->tail, 0.001); + + if (new_node) + { + BLI_remlink(&arc->edges, first_edge); + MEM_freeN(first_edge); + BLI_replaceNodeInArc((BGraph*)rg, (BArc*)arc, (BNode*)new_node, (BNode*)arc->head); + } + else + { + RigEdge *next_edge = first_edge->next; + + if (next_edge) + { + BLI_remlink(&arc->edges, first_edge); + MEM_freeN(first_edge); + + VECCOPY(arc->head->p, next_edge->head); + } + } + } + else + { + /* check if all arc connected start with a null edge */ + RigArc *other_arc; + for (other_arc = rg->arcs.first; other_arc; other_arc = other_arc->next) + { + if (other_arc != arc) + { + RigEdge *test_edge; + if (other_arc->head == arc->head) + { + test_edge = other_arc->edges.first; + + if (test_edge->bone != NULL) + { + break; + } + } + else if (other_arc->tail == arc->head) + { + test_edge = other_arc->edges.last; + + if (test_edge->bone != NULL) + { + break; + } + } + } + } + + if (other_arc == NULL) + { + RigNode *new_node = (RigNode*)BLI_FindNodeByPosition((BGraph*)rg, first_edge->tail, 0.001); + + if (new_node) + { + /* remove null edge in other arcs too */ + for (other_arc = rg->arcs.first; other_arc; other_arc = other_arc->next) + { + if (other_arc != arc) + { + RigEdge *test_edge; + if (other_arc->head == arc->head) + { + BLI_replaceNodeInArc((BGraph*)rg, (BArc*)other_arc, (BNode*)new_node, (BNode*)other_arc->head); + test_edge = other_arc->edges.first; + BLI_remlink(&other_arc->edges, test_edge); + MEM_freeN(test_edge); + } + else if (other_arc->tail == arc->head) + { + BLI_replaceNodeInArc((BGraph*)rg, (BArc*)other_arc, (BNode*)new_node, (BNode*)other_arc->tail); + test_edge = other_arc->edges.last; + BLI_remlink(&other_arc->edges, test_edge); + MEM_freeN(test_edge); + } + } + } + + BLI_remlink(&arc->edges, first_edge); + MEM_freeN(first_edge); + BLI_replaceNodeInArc((BGraph*)rg, (BArc*)arc, (BNode*)new_node, (BNode*)arc->head); + } + else + { + RigEdge *next_edge = first_edge->next; + + if (next_edge) + { + BLI_remlink(&arc->edges, first_edge); + MEM_freeN(first_edge); + + VECCOPY(arc->head->p, next_edge->head); + + /* remove null edge in other arcs too */ + for (other_arc = rg->arcs.first; other_arc; other_arc = other_arc->next) + { + if (other_arc != arc) + { + RigEdge *test_edge; + if (other_arc->head == arc->head) + { + test_edge = other_arc->edges.first; + BLI_remlink(&other_arc->edges, test_edge); + MEM_freeN(test_edge); + } + else if (other_arc->tail == arc->head) + { + test_edge = other_arc->edges.last; + BLI_remlink(&other_arc->edges, test_edge); + MEM_freeN(test_edge); + } + } + } + } + } + } + } + } + + if (last_edge->bone == NULL) + { + if (VecLenf(last_edge->head, arc->tail->p) <= 0.001) + { + BLI_remlink(&arc->edges, last_edge); + MEM_freeN(last_edge); + } + else if (arc->tail->degree == 1) + { + RigNode *new_node = (RigNode*)BLI_FindNodeByPosition((BGraph*)rg, last_edge->head, 0.001); + + if (new_node) + { + RigEdge *previous_edge = last_edge->prev; + + BLI_remlink(&arc->edges, last_edge); + MEM_freeN(last_edge); + BLI_replaceNodeInArc((BGraph*)rg, (BArc*)arc, (BNode*)new_node, (BNode*)arc->tail); + + /* set previous angle to 0, since there's no following edges */ + if (previous_edge) + { + previous_edge->angle = 0; + } + } + else + { + RigEdge *previous_edge = last_edge->prev; + + if (previous_edge) + { + BLI_remlink(&arc->edges, last_edge); + MEM_freeN(last_edge); + + VECCOPY(arc->tail->p, previous_edge->tail); + previous_edge->angle = 0; + } + } + } + } + } +} + +static void RIG_arcFromBoneChain(RigGraph *rg, ListBase *list, EditBone *root_bone, RigNode *starting_node) +{ + EditBone *bone, *last_bone = root_bone; + RigArc *arc = NULL; + int contain_head = 0; + + for(bone = root_bone; bone; bone = nextEditBoneChild(list, bone, 0)) + { + int nb_children; + + if ((bone->flag & BONE_NO_DEFORM) == 0) + { + BLI_ghash_insert(rg->bones_map, bone->name, bone); + + if (arc == NULL) + { + arc = newRigArc(rg); + + if (starting_node == NULL) + { + starting_node = newRigNodeHead(rg, arc, root_bone->head); + } + else + { + addRigNodeHead(rg, arc, starting_node); + } + } + + if (bone->parent && (bone->flag & BONE_CONNECTED) == 0) + { + RIG_addEdgeToArc(arc, bone->head, NULL); + } + + RIG_addEdgeToArc(arc, bone->tail, bone); + + last_bone = bone; + + if (strcmp(bone->name, "head") == 0) + { + contain_head = 1; + } + } + else if ((bone->flag & BONE_EDITMODE_LOCKED) == 0) /* ignore locked bones */ + { + RIG_addControlBone(rg, bone); + } + + nb_children = countEditBoneChildren(list, bone); + if (nb_children > 1) + { + RigNode *end_node = NULL; + int i; + + if (arc != NULL) + { + end_node = newRigNodeTail(rg, arc, bone->tail); + } + else + { + end_node = newRigNode(rg, bone->tail); + } + + for (i = 0; i < nb_children; i++) + { + root_bone = nextEditBoneChild(list, bone, i); + RIG_arcFromBoneChain(rg, list, root_bone, end_node); + } + + /* arc ends here, break */ + break; + } + } + + /* If the loop exited without forking */ + if (arc != NULL && bone == NULL) + { + newRigNodeTail(rg, arc, last_bone->tail); + } + + if (contain_head) + { + rg->head = arc->tail; + } +} + +/*******************************************************************************************************/ +static void RIG_findHead(RigGraph *rg) +{ + if (rg->head == NULL) + { + if (BLI_countlist(&rg->arcs) == 1) + { + RigArc *arc = rg->arcs.first; + + rg->head = (RigNode*)arc->head; + } + else + { + RigArc *arc; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + RigEdge *edge = arc->edges.last; + + if (edge->bone->flag & (BONE_TIPSEL|BONE_SELECTED)) + { + rg->head = arc->tail; + break; + } + } + } + + if (rg->head == NULL) + { + rg->head = rg->nodes.first; + } + } +} + +/*******************************************************************************************************/ + +void RIG_printNode(RigNode *node, char name[]) +{ + printf("%s %p %i <%0.3f, %0.3f, %0.3f>\n", name, node, node->degree, node->p[0], node->p[1], node->p[2]); + + if (node->symmetry_flag & SYM_TOPOLOGICAL) + { + if (node->symmetry_flag & SYM_AXIAL) + printf("Symmetry AXIAL\n"); + else if (node->symmetry_flag & SYM_RADIAL) + printf("Symmetry RADIAL\n"); + + printvecf("symmetry axis", node->symmetry_axis); + } +} + +void RIG_printArcBones(RigArc *arc) +{ + RigEdge *edge; + + for (edge = arc->edges.first; edge; edge = edge->next) + { + if (edge->bone) + printf("%s ", edge->bone->name); + else + printf("---- "); + } + printf("\n"); +} + +void RIG_printCtrl(RigControl *ctrl, char *indent) +{ + char text[128]; + + printf("%sBone: %s\n", indent, ctrl->bone->name); + printf("%sLink: %s\n", indent, ctrl->link ? ctrl->link->name : "!NONE!"); + + sprintf(text, "%soffset", indent); + printvecf(text, ctrl->offset); + + printf("%sFlag: %i\n", indent, ctrl->flag); +} + +void RIG_printLinkedCtrl(RigGraph *rg, EditBone *bone, int tabs) +{ + RigControl *ctrl; + char indent[64]; + char *s = indent; + int i; + + for (i = 0; i < tabs; i++) + { + s[0] = '\t'; + s++; + } + s[0] = 0; + + for (ctrl = rg->controls.first; ctrl; ctrl = ctrl->next) + { + if (ctrl->link == bone) + { + RIG_printCtrl(ctrl, indent); + RIG_printLinkedCtrl(rg, ctrl->bone, tabs + 1); + } + } +} + +void RIG_printArc(RigGraph *rg, RigArc *arc) +{ + RigEdge *edge; + + RIG_printNode((RigNode*)arc->head, "head"); + + for (edge = arc->edges.first; edge; edge = edge->next) + { + printf("\tinner joints %0.3f %0.3f %0.3f\n", edge->tail[0], edge->tail[1], edge->tail[2]); + printf("\t\tlength %f\n", edge->length); + printf("\t\tangle %f\n", edge->angle * 180 / M_PI); + if (edge->bone) + { + printf("\t\t%s\n", edge->bone->name); + RIG_printLinkedCtrl(rg, edge->bone, 3); + } + } + printf("symmetry level: %i flag: %i group %i\n", arc->symmetry_level, arc->symmetry_flag, arc->symmetry_group); + + RIG_printNode((RigNode*)arc->tail, "tail"); +} + +void RIG_printGraph(RigGraph *rg) +{ + RigArc *arc; + + printf("---- ARCS ----\n"); + for (arc = rg->arcs.first; arc; arc = arc->next) + { + RIG_printArc(rg, arc); + printf("\n"); + } + + if (rg->head) + { + RIG_printNode(rg->head, "HEAD NODE:"); + } + else + { + printf("HEAD NODE: NONE\n"); + } +} + +/*******************************************************************************************************/ + +static RigGraph *armatureToGraph(Object *ob, bArmature *arm) +{ + EditBone *ebone; + RigGraph *rg; + + rg = newRigGraph(); + + make_boneList(&rg->editbones, &arm->bonebase, NULL); + rg->ob = ob; + + /* Do the rotations */ + for (ebone = rg->editbones.first; ebone; ebone=ebone->next){ + if (ebone->parent == NULL) + { + RIG_arcFromBoneChain(rg, &rg->editbones, ebone, NULL); + } + } + + BLI_removeDoubleNodes((BGraph*)rg, 0.001); + + RIG_removeNormalNodes(rg); + + RIG_removeUneededOffsets(rg); + + BLI_buildAdjacencyList((BGraph*)rg); + + RIG_findHead(rg); + + BLI_markdownSymmetry((BGraph*)rg, (BNode*)rg->head, G.scene->toolsettings->skgen_symmetry_limit); + + RIG_reconnectControlBones(rg); /* after symmetry, because we use levels to find best match */ + + if (BLI_isGraphCyclic((BGraph*)rg)) + { + printf("armature cyclic\n"); + } + + return rg; +} + +/************************************ GENERATING *****************************************************/ + +static EditBone *add_editbonetolist(char *name, ListBase *list) +{ + EditBone *bone= MEM_callocN(sizeof(EditBone), "eBone"); + + BLI_strncpy(bone->name, name, 32); + unique_editbone_name(list, bone->name); + + BLI_addtail(list, bone); + + bone->flag |= BONE_TIPSEL; + bone->weight= 1.0F; + bone->dist= 0.25F; + bone->xwidth= 0.1; + bone->zwidth= 0.1; + bone->ease1= 1.0; + bone->ease2= 1.0; + bone->rad_head= 0.10; + bone->rad_tail= 0.05; + bone->segments= 1; + bone->layer= 1;//arm->layer; + + return bone; +} + +EditBone * generateBonesForArc(RigGraph *rigg, ReebArc *arc, ReebNode *head, ReebNode *tail) +{ + ReebArcIterator iter; + float n[3]; + float ADAPTIVE_THRESHOLD = G.scene->toolsettings->skgen_correlation_limit; + EditBone *lastBone = NULL; + + /* init iterator to get start and end from head */ + initArcIterator(&iter, arc, head); + + /* Calculate overall */ + VecSubf(n, arc->buckets[iter.end].p, head->p); + + if (1 /* G.scene->toolsettings->skgen_options & SKGEN_CUT_CORRELATION */ ) + { + EmbedBucket *bucket = NULL; + EmbedBucket *previous = NULL; + EditBone *child = NULL; + EditBone *parent = NULL; + float normal[3] = {0, 0, 0}; + float avg_normal[3]; + int total = 0; + int boneStart = iter.start; + + parent = add_editbonetolist("Bone", &rigg->editbones); + parent->flag = BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL; + VECCOPY(parent->head, head->p); + + for (previous = nextBucket(&iter), bucket = nextBucket(&iter); + bucket; + previous = bucket, bucket = nextBucket(&iter)) + { + float btail[3]; + float value = 0; + + if (G.scene->toolsettings->skgen_options & SKGEN_STICK_TO_EMBEDDING) + { + VECCOPY(btail, bucket->p); + } + else + { + float length; + + /* Calculate normal */ + VecSubf(n, bucket->p, parent->head); + length = Normalize(n); + + total += 1; + VecAddf(normal, normal, n); + VECCOPY(avg_normal, normal); + VecMulf(avg_normal, 1.0f / total); + + VECCOPY(btail, avg_normal); + VecMulf(btail, length); + VecAddf(btail, btail, parent->head); + } + + if (G.scene->toolsettings->skgen_options & SKGEN_ADAPTIVE_DISTANCE) + { + value = calcDistance(arc, boneStart, iter.index, parent->head, btail); + } + else + { + float n[3]; + + VecSubf(n, btail, parent->head); + value = calcVariance(arc, boneStart, iter.index, parent->head, n); + } + + if (value > ADAPTIVE_THRESHOLD) + { + VECCOPY(parent->tail, btail); + + child = add_editbonetolist("Bone", &rigg->editbones); + VECCOPY(child->head, parent->tail); + child->parent = parent; + child->flag |= BONE_CONNECTED|BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL; + + parent = child; // new child is next parent + boneStart = iter.index; // start from end + + normal[0] = normal[1] = normal[2] = 0; + total = 0; + } + } + + VECCOPY(parent->tail, tail->p); + + lastBone = parent; /* set last bone in the chain */ + } + + return lastBone; +} + +void generateMissingArcsFromNode(RigGraph *rigg, ReebNode *node, int multi_level_limit) +{ + while (node->multi_level > multi_level_limit && node->link_up) + { + node = node->link_up; + } + + while (node->multi_level < multi_level_limit && node->link_down) + { + node = node->link_down; + } + + if (node->multi_level == multi_level_limit) + { + int i; + + for (i = 0; i < node->degree; i++) + { + ReebArc *earc = node->arcs[i]; + + if (earc->flag == ARC_FREE && earc->head == node) + { + ReebNode *other = BIF_otherNodeFromIndex(earc, node); + + earc->flag = ARC_USED; + + generateBonesForArc(rigg, earc, node, other); + generateMissingArcsFromNode(rigg, other, multi_level_limit); + } + } + } +} + +void generateMissingArcs(RigGraph *rigg) +{ + ReebGraph *reebg = rigg->link_mesh; + int multi_level_limit = 5; + + for (reebg = rigg->link_mesh; reebg; reebg = reebg->link_up) + { + ReebArc *earc; + + for (earc = reebg->arcs.first; earc; earc = earc->next) + { + if (earc->flag == ARC_USED) + { + generateMissingArcsFromNode(rigg, earc->head, multi_level_limit); + generateMissingArcsFromNode(rigg, earc->tail, multi_level_limit); + } + } + } +} + +/************************************ RETARGETTING *****************************************************/ + +static void repositionControl(RigGraph *rigg, RigControl *ctrl, float head[3], float tail[3], float qrot[4], float resize) +{ + RigControl *ctrl_child; + float parent_offset[3], tail_offset[3]; + + VecSubf(tail_offset, ctrl->tail, ctrl->head); + VecMulf(tail_offset, resize); + + VECCOPY(parent_offset, ctrl->offset); + VecMulf(parent_offset, resize); + + QuatMulVecf(qrot, parent_offset); + QuatMulVecf(qrot, tail_offset); + + VecAddf(ctrl->bone->head, head, parent_offset); + VecAddf(ctrl->bone->tail, ctrl->bone->head, tail_offset); + ctrl->bone->roll = getNewBoneRoll(ctrl->bone, ctrl->up_axis, qrot); + + ctrl->flag |= RIG_CTRL_DONE; + + /* Cascade to connected control bones */ + for (ctrl_child = rigg->controls.first; ctrl_child; ctrl_child = ctrl_child->next) + { + if (ctrl_child->link == ctrl->bone) + { + repositionControl(rigg, ctrl_child, ctrl->bone->head, ctrl->bone->tail, qrot, resize); + } + } + +} + +static void repositionBone(RigGraph *rigg, RigEdge *edge, float vec0[3], float vec1[3]) +{ + EditBone *bone; + RigControl *ctrl; + float qrot[4], resize; + float v1[3], v2[3]; + float l1, l2; + + bone = edge->bone; + + VecSubf(v1, edge->tail, edge->head); + VecSubf(v2, vec1, vec0); + + l1 = Normalize(v1); + l2 = Normalize(v2); + + resize = l2 / l1; + + RotationBetweenVectorsToQuat(qrot, v1, v2); + + for (ctrl = rigg->controls.first; ctrl; ctrl = ctrl->next) + { + if (ctrl->link == bone) + { + repositionControl(rigg, ctrl, vec0, vec1, qrot, resize); + } + } + + VECCOPY(bone->head, vec0); + VECCOPY(bone->tail, vec1); + bone->roll = getNewBoneRoll(bone, edge->up_axis, qrot); +} + +static RetargetMode detectArcRetargetMode(RigArc *arc); +static void retargetArctoArcLength(RigGraph *rigg, RigArc *iarc, RigNode *inode_start); + + +static RetargetMode detectArcRetargetMode(RigArc *iarc) +{ + RetargetMode mode = RETARGET_AGGRESSIVE; + ReebArc *earc = iarc->link_mesh; + RigEdge *edge; + int large_angle = 0; + float avg_angle = 0; + float avg_length = 0; + int nb_edges = 0; + + + for (edge = iarc->edges.first; edge; edge = edge->next) + { + avg_angle += edge->angle; + nb_edges++; + } + + avg_angle /= nb_edges - 1; /* -1 because last edge doesn't have an angle */ + + avg_length = iarc->length / nb_edges; + + + if (nb_edges > 2) + { + for (edge = iarc->edges.first; edge; edge = edge->next) + { + if (fabs(edge->angle - avg_angle) > M_PI / 6) + { + large_angle = 1; + } + } + } + else if (nb_edges == 2 && avg_angle > 0) + { + large_angle = 1; + } + + + if (large_angle == 0) + { + mode = RETARGET_LENGTH; + } + + if (earc->bcount <= (iarc->count - 1)) + { + mode = RETARGET_LENGTH; + } + + mode = RETARGET_AGGRESSIVE; + + return mode; +} + +#ifndef USE_THREADS +static void printCostCube(float *cost_cube, int nb_joints) +{ + int i; + + for (i = 0; i < nb_joints; i++) + { + printf("%0.3f ", cost_cube[3 * i]); + } + printf("\n"); + + for (i = 0; i < nb_joints; i++) + { + printf("%0.3f ", cost_cube[3 * i + 1]); + } + printf("\n"); + + for (i = 0; i < nb_joints; i++) + { + printf("%0.3f ", cost_cube[3 * i + 2]); + } + printf("\n"); +} + +static void printMovesNeeded(int *positions, int nb_positions) +{ + int moves = 0; + int i; + + for (i = 0; i < nb_positions; i++) + { + moves += positions[i] - (i + 1); + } + + printf("%i moves needed\n", moves); +} + +static void printPositions(int *positions, int nb_positions) +{ + int i; + + for (i = 0; i < nb_positions; i++) + { + printf("%i ", positions[i]); + } + printf("\n"); +} +#endif + +#define MAX_COST 100 /* FIX ME */ + +static float costDistance(ReebArcIterator *iter, float *vec0, float *vec1, int i0, int i1) +{ + EmbedBucket *bucket = NULL; + float max_dist = 0; + float v1[3], v2[3], c[3]; + float v1_inpf; + + if (G.scene->toolsettings->skgen_retarget_distance_weight > 0) + { + VecSubf(v1, vec0, vec1); + + v1_inpf = Inpf(v1, v1); + + if (v1_inpf > 0) + { + int j; + for (j = i0 + 1; j < i1 - 1; j++) + { + float dist; + + bucket = peekBucket(iter, j); + + VecSubf(v2, bucket->p, vec1); + + Crossf(c, v1, v2); + + dist = Inpf(c, c) / v1_inpf; + + max_dist = dist > max_dist ? dist : max_dist; + } + + return G.scene->toolsettings->skgen_retarget_distance_weight * max_dist; + } + else + { + return MAX_COST; + } + } + else + { + return 0; + } +} + +static float costAngle(float original_angle, float vec_first[3], float vec_second[3]) +{ + if (G.scene->toolsettings->skgen_retarget_angle_weight > 0) + { + float current_angle; + + if (!VecIsNull(vec_first) && !VecIsNull(vec_second)) + { + current_angle = saacos(Inpf(vec_first, vec_second)); + + return G.scene->toolsettings->skgen_retarget_angle_weight * fabs(current_angle - original_angle); + } + else + { + return G.scene->toolsettings->skgen_retarget_angle_weight * M_PI; + } + } + else + { + return 0; + } +} + +static float costLength(float original_length, float current_length) +{ + if (current_length == 0) + { + return MAX_COST; + } + else + { + float length_ratio = fabs((current_length - original_length) / original_length); + return G.scene->toolsettings->skgen_retarget_length_weight * length_ratio * length_ratio; + } +} + +static float calcCostLengthDistance(ReebArcIterator *iter, float **vec_cache, RigEdge *edge, float *vec1, float *vec2, int i1, int i2) +{ + float vec[3]; + float length; + + VecSubf(vec, vec2, vec1); + length = Normalize(vec); + + return costLength(edge->length, length) + costDistance(iter, vec1, vec2, i1, i2); +} + +static float calcCostAngleLengthDistance(ReebArcIterator *iter, float **vec_cache, RigEdge *edge, float *vec0, float *vec1, float *vec2, int i1, int i2) +{ + float vec_second[3], vec_first[3]; + float length2; + float new_cost = 0; + + VecSubf(vec_second, vec2, vec1); + length2 = Normalize(vec_second); + + + /* Angle cost */ + if (edge->prev) + { + VecSubf(vec_first, vec1, vec0); + Normalize(vec_first); + + new_cost += costAngle(edge->prev->angle, vec_first, vec_second); + } + + /* Length cost */ + new_cost += costLength(edge->length, length2); + + /* Distance cost */ + new_cost += costDistance(iter, vec1, vec2, i1, i2); + + return new_cost; +} + +static float calcCost(ReebArcIterator *iter, RigEdge *e1, RigEdge *e2, float *vec0, float *vec1, float *vec2, int i0, int i1, int i2) +{ + float vec_second[3], vec_first[3]; + float length1, length2; + float new_cost = 0; + + VecSubf(vec_second, vec2, vec1); + length2 = Normalize(vec_second); + + VecSubf(vec_first, vec1, vec0); + length1 = Normalize(vec_first); + + /* Angle cost */ + new_cost += costAngle(e1->angle, vec_first, vec_second); + + /* Length cost */ + new_cost += costLength(e1->length, length1); + new_cost += costLength(e2->length, length2); + + /* Distance cost */ + new_cost += costDistance(iter, vec0, vec1, i0, i1); + new_cost += costDistance(iter, vec1, vec2, i1, i2); + + return new_cost; +} + +static void calcGradient(RigEdge *e1, RigEdge *e2, ReebArcIterator *iter, int index, int nb_joints, float *cost_cube, int *positions, float **vec_cache) +{ + EmbedBucket *bucket = NULL; + float *vec0, *vec1, *vec2; + float current_cost; + int i0, i1, i2; + int next_position; + + vec0 = vec_cache[index]; + vec1 = vec_cache[index + 1]; + vec2 = vec_cache[index + 2]; + + if (index == 0) + { + i0 = 0; + } + else + { + i0 = positions[index - 1]; + } + + i1 = positions[index]; + + if (index +1 == nb_joints) + { + i2 = iter->length; + } + else + { + i2 = positions[index + 1]; + } + + + current_cost = calcCost(iter, e1, e2, vec0, vec1, vec2, i0, i1, i2); + cost_cube[index * 3 + 1] = current_cost; + + next_position = positions[index] + 1; + + if (index + 1 < nb_joints && next_position == positions[index + 1]) + { + cost_cube[index * 3 + 2] = MAX_COST; + } + else if (next_position > iter->length) /* positions are indexed at 1, so length is last */ + { + cost_cube[index * 3 + 2] = MAX_COST; + } + else + { + bucket = peekBucket(iter, next_position); + + if (bucket == NULL) + { + cost_cube[index * 3 + 2] = MAX_COST; + } + else + { + vec1 = bucket->p; + + cost_cube[index * 3 + 2] = calcCost(iter, e1, e2, vec0, vec1, vec2, i0, next_position, i2) - current_cost; + } + } + + next_position = positions[index] - 1; + + if (index - 1 > -1 && next_position == positions[index - 1]) + { + cost_cube[index * 3] = MAX_COST; + } + else if (next_position < 1) /* positions are indexed at 1, so 1 is first */ + { + cost_cube[index * 3] = MAX_COST; + } + else + { + bucket = peekBucket(iter, next_position); + + if (bucket == NULL) + { + cost_cube[index * 3] = MAX_COST; + } + else + { + vec1 = bucket->p; + + cost_cube[index * 3] = calcCost(iter, e1, e2, vec0, vec1, vec2, i0, next_position, i2) - current_cost; + } + } +} + +static float probability(float delta_cost, float temperature) +{ + if (delta_cost < 0) + { + return 1; + } + else + { + return (float)exp(delta_cost / temperature); + } +} + +static int neighbour(int nb_joints, float *cost_cube, int *moving_joint, int *moving_direction) +{ + int total = 0; + int chosen = 0; + int i; + + for (i = 0; i < nb_joints; i++) + { + if (cost_cube[i * 3] < MAX_COST) + { + total++; + } + + if (cost_cube[i * 3 + 2] < MAX_COST) + { + total++; + } + } + + if (total == 0) + { + return 0; + } + + chosen = (int)(BLI_drand() * total); + + for (i = 0; i < nb_joints; i++) + { + if (cost_cube[i * 3] < MAX_COST) + { + if (chosen == 0) + { + *moving_joint = i; + *moving_direction = -1; + break; + } + chosen--; + } + + if (cost_cube[i * 3 + 2] < MAX_COST) + { + if (chosen == 0) + { + *moving_joint = i; + *moving_direction = 1; + break; + } + chosen--; + } + } + + return 1; +} + +static int indexMemoNode(int nb_positions, int previous, int current, int joints_left) +{ + return joints_left * nb_positions * nb_positions + current * nb_positions + previous; +} + +static void copyMemoPositions(int *positions, MemoNode *table, int nb_positions, int joints_left) +{ + int previous = 0, current = 0; + int i = 0; + + for (i = 0; joints_left > 0; joints_left--, i++) + { + MemoNode *node; + node = table + indexMemoNode(nb_positions, previous, current, joints_left); + + positions[i] = node->next; + + previous = current; + current = node->next; + } +} + +static MemoNode * solveJoints(MemoNode *table, ReebArcIterator *iter, float **vec_cache, int nb_joints, int nb_positions, int previous, int current, RigEdge *edge, int joints_left) +{ + MemoNode *node; + int index = indexMemoNode(nb_positions, previous, current, joints_left); + + node = table + index; + + if (node->weight != 0) + { + return node; + } + else if (joints_left == 0) + { + float *vec1 = vec_cache[current]; + float *vec2 = vec_cache[nb_positions + 1]; + + node->weight = calcCostLengthDistance(iter, vec_cache, edge, vec1, vec2, current, iter->length); + + return node; + } + else + { + MemoNode *min_node = NULL; + float *vec0 = vec_cache[previous]; + float *vec1 = vec_cache[current]; + float min_weight; + int min_next; + int next; + + for (next = current + 1; next <= nb_positions - (joints_left - 1); next++) + { + MemoNode *next_node; + float *vec2 = vec_cache[next]; + float weight = 0; + + /* ADD WEIGHT OF PREVIOUS - CURRENT - NEXT triple */ + weight = calcCostAngleLengthDistance(iter, vec_cache, edge, vec0, vec1, vec2, current, next); + + if (weight >= MAX_COST) + { + continue; + } + + /* add node weight */ + next_node = solveJoints(table, iter, vec_cache, nb_joints, nb_positions, current, next, edge->next, joints_left - 1); + weight += next_node->weight; + + if (min_node == NULL || weight < min_weight) + { + min_weight = weight; + min_node = next_node; + min_next = next; + } + } + + if (min_node) + { + node->weight = min_weight; + node->next = min_next; + return node; + } + else + { + node->weight = MAX_COST; + return node; + } + } + +} + +static int testFlipArc(RigArc *iarc, RigNode *inode_start) +{ + ReebArc *earc = iarc->link_mesh; + ReebNode *enode_start = BIF_NodeFromIndex(earc, inode_start->link_mesh); + + /* no flip needed if both nodes are the same */ + if ((enode_start == earc->head && inode_start == iarc->head) || (enode_start == earc->tail && inode_start == iarc->tail)) + { + return 0; + } + else + { + return 1; + } +} + +static void retargetArctoArcAggresive(RigGraph *rigg, RigArc *iarc, RigNode *inode_start) +{ + ReebArcIterator iter; + RigEdge *edge; + EmbedBucket *bucket = NULL; + ReebNode *node_start, *node_end; + ReebArc *earc = iarc->link_mesh; + float min_cost = FLT_MAX; + float *vec0, *vec1, *vec2; + float **vec_cache; + float *cost_cache; + int *best_positions; + int *positions; + int nb_edges = BLI_countlist(&iarc->edges); + int nb_joints = nb_edges - 1; + RetargetMethod method = G.scene->toolsettings->skgen_optimisation_method; + int i; + + if (nb_joints > earc->bcount) + { + printf("NOT ENOUGH BUCKETS!\n"); + return; + } + + positions = MEM_callocN(sizeof(int) * nb_joints, "Aggresive positions"); + best_positions = MEM_callocN(sizeof(int) * nb_joints, "Best Aggresive positions"); + cost_cache = MEM_callocN(sizeof(float) * nb_edges, "Cost cache"); + vec_cache = MEM_callocN(sizeof(float*) * (nb_edges + 1), "Vec cache"); + + if (testFlipArc(iarc, inode_start)) + { + node_start = earc->tail; + node_end = earc->head; + } + else + { + node_start = earc->head; + node_end = earc->tail; + } + + /* init with first values */ + for (i = 0; i < nb_joints; i++) + { + positions[i] = i + 1; + //positions[i] = (earc->bcount / nb_edges) * (i + 1); + } + + /* init cost cache */ + for (i = 0; i < nb_edges; i++) + { + cost_cache[i] = 0; + } + + vec_cache[0] = node_start->p; + vec_cache[nb_edges] = node_end->p; + + if (method == METHOD_MEMOIZE) + { + int nb_positions = earc->bcount; + int nb_memo_nodes = nb_positions * nb_positions * (nb_joints + 1); + MemoNode *table = MEM_callocN(nb_memo_nodes * sizeof(MemoNode), "memoization table"); + MemoNode *result; + float **positions_cache = MEM_callocN(sizeof(float*) * (nb_positions + 2), "positions cache"); + int i; + + positions_cache[0] = node_start->p; + positions_cache[nb_positions + 1] = node_end->p; + + initArcIterator(&iter, earc, node_start); + + for (i = 1; i <= nb_positions; i++) + { + EmbedBucket *bucket = peekBucket(&iter, i); + positions_cache[i] = bucket->p; + } + + result = solveJoints(table, &iter, positions_cache, nb_joints, earc->bcount, 0, 0, iarc->edges.first, nb_joints); + + min_cost = result->weight; + copyMemoPositions(best_positions, table, earc->bcount, nb_joints); + + MEM_freeN(table); + MEM_freeN(positions_cache); + } + /* BRUTE FORCE */ + else if (method == METHOD_BRUTE_FORCE) + { + int last_index = 0; + int first_pass = 1; + int must_move = nb_joints - 1; + + while(1) + { + float cost = 0; + int need_calc = 0; + + /* increment to next possible solution */ + + i = nb_joints - 1; + + if (first_pass) + { + need_calc = 0; + first_pass = 0; + } + else + { + /* increment positions, starting from the last one + * until a valid increment is found + * */ + for (i = must_move; i >= 0; i--) + { + int remaining_joints = nb_joints - (i + 1); + + positions[i] += 1; + need_calc = i; + + if (positions[i] + remaining_joints <= earc->bcount) + { + break; + } + } + } + + if (i == -1) + { + break; + } + + /* reset joints following the last increment*/ + for (i = i + 1; i < nb_joints; i++) + { + positions[i] = positions[i - 1] + 1; + } + + /* calculating cost */ + initArcIterator(&iter, earc, node_start); + + vec0 = NULL; + vec1 = node_start->p; + vec2 = NULL; + + for (edge = iarc->edges.first, i = 0, last_index = 0; + edge; + edge = edge->next, i += 1) + { + + if (i >= need_calc) + { + float vec_first[3], vec_second[3]; + float length1, length2; + float new_cost = 0; + int i1, i2; + + if (i < nb_joints) + { + i2 = positions[i]; + bucket = peekBucket(&iter, positions[i]); + vec2 = bucket->p; + vec_cache[i + 1] = vec2; /* update cache for updated position */ + } + else + { + i2 = iter.length; + vec2 = node_end->p; + } + + if (i > 0) + { + i1 = positions[i - 1]; + } + else + { + i1 = 1; + } + + vec1 = vec_cache[i]; + + + VecSubf(vec_second, vec2, vec1); + length2 = Normalize(vec_second); + + /* check angle */ + if (i != 0 && G.scene->toolsettings->skgen_retarget_angle_weight > 0) + { + RigEdge *previous = edge->prev; + + vec0 = vec_cache[i - 1]; + VecSubf(vec_first, vec1, vec0); + length1 = Normalize(vec_first); + + /* Angle cost */ + new_cost += costAngle(previous->angle, vec_first, vec_second); + } + + /* Length Cost */ + new_cost += costLength(edge->length, length2); + + /* Distance Cost */ + new_cost += costDistance(&iter, vec1, vec2, i1, i2); + + cost_cache[i] = new_cost; + } + + cost += cost_cache[i]; + + if (cost > min_cost) + { + must_move = i; + break; + } + } + + if (must_move != i || must_move > nb_joints - 1) + { + must_move = nb_joints - 1; + } + + /* cost optimizing */ + if (cost < min_cost) + { + min_cost = cost; + memcpy(best_positions, positions, sizeof(int) * nb_joints); + } + } + } + /* SIMULATED ANNEALING */ + else if (method == METHOD_ANNEALING) + { + RigEdge *previous; + float *cost_cube; + float cost; + int k; + int kmax; + + kmax = 100000; + + BLI_srand(nb_joints); + + /* [joint: index][position: -1, 0, +1] */ + cost_cube = MEM_callocN(sizeof(float) * 3 * nb_joints, "Cost Cube"); + + initArcIterator(&iter, earc, node_start); + + /* init vec_cache */ + for (i = 0; i < nb_joints; i++) + { + bucket = peekBucket(&iter, positions[i]); + vec_cache[i + 1] = bucket->p; + } + + cost = 0; + + /* init cost cube */ + for (previous = iarc->edges.first, edge = previous->next, i = 0; + edge; + previous = edge, edge = edge->next, i += 1) + { + calcGradient(previous, edge, &iter, i, nb_joints, cost_cube, positions, vec_cache); + + cost += cost_cube[3 * i + 1]; + } + +#ifndef USE_THREADS + printf("initial cost: %f\n", cost); + printf("kmax: %i\n", kmax); +#endif + + for (k = 0; k < kmax; k++) + { + int status; + int moving_joint = -1; + int move_direction = -1; + float delta_cost; + float temperature; + + status = neighbour(nb_joints, cost_cube, &moving_joint, &move_direction); + + if (status == 0) + { + /* if current state is still a minimum, copy it */ + if (cost < min_cost) + { + min_cost = cost; + memcpy(best_positions, positions, sizeof(int) * nb_joints); + } + break; + } + + delta_cost = cost_cube[moving_joint * 3 + (1 + move_direction)]; + + temperature = 1 - (float)k / (float)kmax; + if (probability(delta_cost, temperature) > BLI_frand()) + { + /* update position */ + positions[moving_joint] += move_direction; + + /* update vector cache */ + bucket = peekBucket(&iter, positions[moving_joint]); + vec_cache[moving_joint + 1] = bucket->p; + + cost += delta_cost; + + /* cost optimizing */ + if (cost < min_cost) + { + min_cost = cost; + memcpy(best_positions, positions, sizeof(int) * nb_joints); + } + + /* update cost cube */ + for (previous = iarc->edges.first, edge = previous->next, i = 0; + edge; + previous = edge, edge = edge->next, i += 1) + { + if (i == moving_joint - 1 || + i == moving_joint || + i == moving_joint + 1) + { + calcGradient(previous, edge, &iter, i, nb_joints, cost_cube, positions, vec_cache); + } + } + } + } + + //min_cost = cost; + //memcpy(best_positions, positions, sizeof(int) * nb_joints); + +// printf("k = %i\n", k); + + + MEM_freeN(cost_cube); + } + + + vec0 = node_start->p; + initArcIterator(&iter, earc, node_start); + +#ifndef USE_THREADS + printPositions(best_positions, nb_joints); + printMovesNeeded(best_positions, nb_joints); + printf("min_cost %f\n", min_cost); + printf("buckets: %i\n", earc->bcount); +#endif + + /* set joints to best position */ + for (edge = iarc->edges.first, i = 0; + edge; + edge = edge->next, i++) + { + if (i < nb_joints) + { + bucket = peekBucket(&iter, best_positions[i]); + vec1 = bucket->p; + } + else + { + vec1 = node_end->p; + } + + if (edge->bone) + { + repositionBone(rigg, edge, vec0, vec1); + } + + vec0 = vec1; + } + + MEM_freeN(positions); + MEM_freeN(best_positions); + MEM_freeN(cost_cache); + MEM_freeN(vec_cache); +} + +static void retargetArctoArcLength(RigGraph *rigg, RigArc *iarc, RigNode *inode_start) +{ + ReebArcIterator iter; + ReebArc *earc = iarc->link_mesh; + ReebNode *node_start, *node_end; + RigEdge *edge; + EmbedBucket *bucket = NULL; + float embedding_length = 0; + float *vec0 = NULL; + float *vec1 = NULL; + float *previous_vec = NULL; + + + if (testFlipArc(iarc, inode_start)) + { + node_start = (ReebNode*)earc->tail; + node_end = (ReebNode*)earc->head; + } + else + { + node_start = (ReebNode*)earc->head; + node_end = (ReebNode*)earc->tail; + } + + initArcIterator(&iter, earc, node_start); + + bucket = nextBucket(&iter); + + vec0 = node_start->p; + + while (bucket != NULL) + { + vec1 = bucket->p; + + embedding_length += VecLenf(vec0, vec1); + + vec0 = vec1; + bucket = nextBucket(&iter); + } + + embedding_length += VecLenf(node_end->p, vec1); + + /* fit bones */ + initArcIterator(&iter, earc, node_start); + + bucket = nextBucket(&iter); + + vec0 = node_start->p; + previous_vec = vec0; + vec1 = bucket->p; + + for (edge = iarc->edges.first; edge; edge = edge->next) + { + float new_bone_length = edge->length / iarc->length * embedding_length; + + float length = 0; + + while (bucket && new_bone_length > length) + { + length += VecLenf(previous_vec, vec1); + bucket = nextBucket(&iter); + previous_vec = vec1; + vec1 = bucket->p; + } + + if (bucket == NULL) + { + vec1 = node_end->p; + } + + /* no need to move virtual edges (space between unconnected bones) */ + if (edge->bone) + { + repositionBone(rigg, edge, vec0, vec1); + } + + vec0 = vec1; + previous_vec = vec1; + } +} + +static void retargetArctoArc(RigGraph *rigg, RigArc *iarc, RigNode *inode_start) +{ +#ifdef USE_THREADS + RetargetParam *p = MEM_callocN(sizeof(RetargetParam), "RetargetParam"); + + p->rigg = rigg; + p->iarc = iarc; + p->inode_start = inode_start; + + BLI_insert_work(rigg->worker, p); +#else + RetargetParam p; + + p.rigg = rigg; + p.iarc = iarc; + p.inode_start = inode_start; + + exec_retargetArctoArc(&p); +#endif +} + +void *exec_retargetArctoArc(void *param) +{ + RetargetParam *p = (RetargetParam*)param; + RigGraph *rigg = p->rigg; + RigArc *iarc = p->iarc; + RigNode *inode_start = p->inode_start; + ReebArc *earc = iarc->link_mesh; + + if (BLI_countlist(&iarc->edges) == 1) + { + RigEdge *edge = iarc->edges.first; + + if (testFlipArc(iarc, inode_start)) + { + repositionBone(rigg, edge, earc->tail->p, earc->head->p); + } + else + { + repositionBone(rigg, edge, earc->head->p, earc->tail->p); + } + } + else + { + RetargetMode mode = detectArcRetargetMode(iarc); + + if (mode == RETARGET_AGGRESSIVE) + { + retargetArctoArcAggresive(rigg, iarc, inode_start); + } + else + { + retargetArctoArcLength(rigg, iarc, inode_start); + } + } + +#ifdef USE_THREADS + MEM_freeN(p); +#endif + + return NULL; +} + +static void matchMultiResolutionNode(RigGraph *rigg, RigNode *inode, ReebNode *top_node) +{ + ReebNode *enode = top_node; + ReebGraph *reebg = BIF_graphForMultiNode(rigg->link_mesh, enode); + int ishape, eshape; + + ishape = BLI_subtreeShape((BGraph*)rigg, (BNode*)inode, NULL, 0) % SHAPE_LEVELS; + eshape = BLI_subtreeShape((BGraph*)reebg, (BNode*)enode, NULL, 0) % SHAPE_LEVELS; + + inode->link_mesh = enode; + + while (ishape == eshape && enode->link_down) + { + inode->link_mesh = enode; + + enode = enode->link_down; + reebg = BIF_graphForMultiNode(rigg->link_mesh, enode); /* replace with call to link_down once that exists */ + eshape = BLI_subtreeShape((BGraph*)reebg, (BNode*)enode, NULL, 0) % SHAPE_LEVELS; + } +} + +static void markMultiResolutionChildArc(ReebNode *end_enode, ReebNode *enode) +{ + int i; + + for(i = 0; i < enode->degree; i++) + { + ReebArc *earc = (ReebArc*)enode->arcs[i]; + + if (earc->flag == ARC_FREE) + { + earc->flag = ARC_TAKEN; + + if (earc->tail->degree > 1 && earc->tail != end_enode) + { + markMultiResolutionChildArc(end_enode, earc->tail); + } + break; + } + } +} + +static void markMultiResolutionArc(ReebArc *start_earc) +{ + if (start_earc->link_up) + { + ReebArc *earc; + for (earc = start_earc->link_up ; earc; earc = earc->link_up) + { + earc->flag = ARC_TAKEN; + + if (earc->tail->index != start_earc->tail->index) + { + markMultiResolutionChildArc(earc->tail, earc->tail); + } + } + } +} + +static void matchMultiResolutionArc(RigGraph *rigg, RigNode *start_node, RigArc *next_iarc, ReebArc *next_earc) +{ + ReebNode *enode = next_earc->head; + ReebGraph *reebg = BIF_graphForMultiNode(rigg->link_mesh, enode); + int ishape, eshape; + + ishape = BLI_subtreeShape((BGraph*)rigg, (BNode*)start_node, (BArc*)next_iarc, 1) % SHAPE_LEVELS; + eshape = BLI_subtreeShape((BGraph*)reebg, (BNode*)enode, (BArc*)next_earc, 1) % SHAPE_LEVELS; + + while (ishape != eshape && next_earc->link_up) + { + next_earc->flag = ARC_TAKEN; // mark previous as taken, to prevent backtrack on lower levels + + next_earc = next_earc->link_up; + reebg = reebg->link_up; + enode = next_earc->head; + eshape = BLI_subtreeShape((BGraph*)reebg, (BNode*)enode, (BArc*)next_earc, 1) % SHAPE_LEVELS; + } + + next_earc->flag = ARC_USED; + next_iarc->link_mesh = next_earc; + + /* mark all higher levels as taken too */ + markMultiResolutionArc(next_earc); +// while (next_earc->link_up) +// { +// next_earc = next_earc->link_up; +// next_earc->flag = ARC_TAKEN; +// } +} + +static void matchMultiResolutionStartingNode(RigGraph *rigg, ReebGraph *reebg, RigNode *inode) +{ + ReebNode *enode; + int ishape, eshape; + + enode = reebg->nodes.first; + + ishape = BLI_subtreeShape((BGraph*)rigg, (BNode*)inode, NULL, 0) % SHAPE_LEVELS; + eshape = BLI_subtreeShape((BGraph*)rigg->link_mesh, (BNode*)enode, NULL, 0) % SHAPE_LEVELS; + + while (ishape != eshape && reebg->link_up) + { + reebg = reebg->link_up; + + enode = reebg->nodes.first; + + eshape = BLI_subtreeShape((BGraph*)reebg, (BNode*)enode, NULL, 0) % SHAPE_LEVELS; + } + + inode->link_mesh = enode; +} + +static void findCorrespondingArc(RigGraph *rigg, RigArc *start_arc, RigNode *start_node, RigArc *next_iarc, int root) +{ + ReebNode *enode = start_node->link_mesh; + ReebArc *next_earc; + int symmetry_level = next_iarc->symmetry_level; + int symmetry_group = next_iarc->symmetry_group; + int symmetry_flag = next_iarc->symmetry_flag; + int i; + + next_iarc->link_mesh = NULL; + +// if (root) +// { +// printf("-----------------------\n"); +// printf("MATCHING LIMB\n"); +// RIG_printArcBones(next_iarc); +// } + + for(i = 0; i < enode->degree; i++) + { + next_earc = (ReebArc*)enode->arcs[i]; + +// if (next_earc->flag == ARC_FREE) +// { +// printf("candidate (level %i ?= %i) (flag %i ?= %i) (group %i ?= %i)\n", +// symmetry_level, next_earc->symmetry_level, +// symmetry_flag, next_earc->symmetry_flag, +// symmetry_group, next_earc->symmetry_flag); +// } + + if (next_earc->flag == ARC_FREE && + next_earc->symmetry_flag == symmetry_flag && + next_earc->symmetry_group == symmetry_group && + next_earc->symmetry_level == symmetry_level) + { +// printf("CORRESPONDING ARC FOUND\n"); +// printf("flag %i -- level %i -- flag %i -- group %i\n", next_earc->flag, next_earc->symmetry_level, next_earc->symmetry_flag, next_earc->symmetry_group); + + matchMultiResolutionArc(rigg, start_node, next_iarc, next_earc); + break; + } + } + + /* not found, try at higher nodes (lower node might have filtered internal arcs, messing shape of tree */ + if (next_iarc->link_mesh == NULL) + { +// printf("NO CORRESPONDING ARC FOUND - GOING TO HIGHER LEVELS\n"); + + if (enode->link_up) + { + start_node->link_mesh = enode->link_up; + findCorrespondingArc(rigg, start_arc, start_node, next_iarc, 0); + } + } + + /* still not found, print debug info */ + if (root && next_iarc->link_mesh == NULL) + { + start_node->link_mesh = enode; /* linking back with root node */ + +// printf("NO CORRESPONDING ARC FOUND\n"); +// RIG_printArcBones(next_iarc); +// +// printf("ON NODE %i, multilevel %i\n", enode->index, enode->multi_level); +// +// printf("LOOKING FOR\n"); +// printf("flag %i -- level %i -- flag %i -- group %i\n", ARC_FREE, symmetry_level, symmetry_flag, symmetry_group); +// +// printf("CANDIDATES\n"); +// for(i = 0; i < enode->degree; i++) +// { +// next_earc = (ReebArc*)enode->arcs[i]; +// printf("flag %i -- level %i -- flag %i -- group %i\n", next_earc->flag, next_earc->symmetry_level, next_earc->symmetry_flag, next_earc->symmetry_group); +// } + + /* Emergency matching */ + for(i = 0; i < enode->degree; i++) + { + next_earc = (ReebArc*)enode->arcs[i]; + + if (next_earc->flag == ARC_FREE && next_earc->symmetry_level == symmetry_level) + { +// printf("USING: \n"); +// printf("flag %i -- level %i -- flag %i -- group %i\n", next_earc->flag, next_earc->symmetry_level, next_earc->symmetry_flag, next_earc->symmetry_group); + matchMultiResolutionArc(rigg, start_node, next_iarc, next_earc); + break; + } + } + } + +} + +static void retargetSubgraph(RigGraph *rigg, RigArc *start_arc, RigNode *start_node) +{ + RigNode *inode = start_node; + int i; + + /* no start arc on first node */ + if (start_arc) + { + ReebNode *enode = start_node->link_mesh; + ReebArc *earc = start_arc->link_mesh; + + retargetArctoArc(rigg, start_arc, start_node); + + enode = BIF_otherNodeFromIndex(earc, enode); + inode = (RigNode*)BLI_otherNode((BArc*)start_arc, (BNode*)inode); + + /* match with lowest node with correct shape */ + matchMultiResolutionNode(rigg, inode, enode); + } + + for(i = 0; i < inode->degree; i++) + { + RigArc *next_iarc = (RigArc*)inode->arcs[i]; + + /* no back tracking */ + if (next_iarc != start_arc) + { + findCorrespondingArc(rigg, start_arc, inode, next_iarc, 1); + if (next_iarc->link_mesh) + { + retargetSubgraph(rigg, next_iarc, inode); + } + } + } +} + +static void adjustGraphs(RigGraph *rigg) +{ + RigArc *arc; + + for (arc = rigg->arcs.first; arc; arc = arc->next) + { + if (arc->link_mesh) + { + retargetArctoArc(rigg, arc, arc->head); + } + } + +#ifdef USE_THREADS + BLI_end_worker(rigg->worker); +#endif + + /* Turn the list into an armature */ + editbones_to_armature(&rigg->editbones, rigg->ob); + + BIF_undo_push("Retarget Skeleton"); +} + +static void retargetGraphs(RigGraph *rigg) +{ + ReebGraph *reebg = rigg->link_mesh; + RigNode *inode; + + /* flag all ReebArcs as free */ + BIF_flagMultiArcs(reebg, ARC_FREE); + + /* return to first level */ + reebg = rigg->link_mesh; + + inode = rigg->head; + + matchMultiResolutionStartingNode(rigg, reebg, inode); + + retargetSubgraph(rigg, NULL, inode); + + //generateMissingArcs(rigg); + +#ifdef USE_THREADS + BLI_end_worker(rigg->worker); +#endif + + /* Turn the list into an armature */ + editbones_to_armature(&rigg->editbones, rigg->ob); +} + + +void BIF_retargetArmature() +{ + Object *ob; + Base *base; + ReebGraph *reebg; + double start_time, end_time; + double gstart_time, gend_time; + double reeb_time, rig_time, retarget_time, total_time; + + gstart_time = start_time = PIL_check_seconds_timer(); + + reebg = BIF_ReebGraphMultiFromEditMesh(); + + end_time = PIL_check_seconds_timer(); + reeb_time = end_time - start_time; + + printf("Reeb Graph created\n"); + + base= FIRSTBASE; + for (base = FIRSTBASE; base; base = base->next) + { + if TESTBASELIB(base) { + ob = base->object; + + if (ob->type==OB_ARMATURE) + { + RigGraph *rigg; + bArmature *arm; + + arm = ob->data; + + /* Put the armature into editmode */ + + + start_time = PIL_check_seconds_timer(); + + rigg = armatureToGraph(ob, arm); + + end_time = PIL_check_seconds_timer(); + rig_time = end_time - start_time; + + printf("Armature graph created\n"); + + //RIG_printGraph(rigg); + + rigg->link_mesh = reebg; + + printf("retargetting %s\n", ob->id.name); + + start_time = PIL_check_seconds_timer(); + + retargetGraphs(rigg); + + end_time = PIL_check_seconds_timer(); + retarget_time = end_time - start_time; + + BIF_freeRetarget(); + + GLOBAL_RIGG = rigg; + + break; /* only one armature at a time */ + } + } + } + + gend_time = PIL_check_seconds_timer(); + + total_time = gend_time - gstart_time; + + printf("-----------\n"); + printf("runtime: \t%.3f\n", total_time); + printf("reeb: \t\t%.3f (%.1f%%)\n", reeb_time, reeb_time / total_time * 100); + printf("rig: \t\t%.3f (%.1f%%)\n", rig_time, rig_time / total_time * 100); + printf("retarget: \t%.3f (%.1f%%)\n", retarget_time, retarget_time / total_time * 100); + printf("-----------\n"); + + BIF_undo_push("Retarget Skeleton"); + + allqueue(REDRAWVIEW3D, 0); +} + +void BIF_adjustRetarget() +{ + if (GLOBAL_RIGG) + { + adjustGraphs(GLOBAL_RIGG); + } +} + +void BIF_freeRetarget() +{ + if (GLOBAL_RIGG) + { + RIG_freeRigGraph((BGraph*)GLOBAL_RIGG); + GLOBAL_RIGG = NULL; + } +} diff --git a/source/blender/src/butspace.c b/source/blender/src/butspace.c index f134e9a9650..2ca709184c5 100644 --- a/source/blender/src/butspace.c +++ b/source/blender/src/butspace.c @@ -511,7 +511,8 @@ void curvemap_buttons(uiBlock *block, CurveMapping *cumap, char labeltype, short static void do_node_buts(unsigned short event) { Material *ma; - + SpaceNode *snode = curarea->spacedata.first; + /* all operations default on active material layer here */ /* but this also gets called for lamp and world... */ ma= G.buts->lockpoin; @@ -523,6 +524,7 @@ static void do_node_buts(unsigned short event) if(event>=B_NODE_EXEC) { if(ma) end_render_material(ma); /// temporal... 3d preview BIF_preview_changed(ID_MA); + BIF_preview_changed(ID_TE); allqueue(REDRAWNODE, 0); allqueue(REDRAWBUTSSHADING, 0); } diff --git a/source/blender/src/buttons_editing.c b/source/blender/src/buttons_editing.c index 3d60e9a8eea..b6dfd29d62a 100644 --- a/source/blender/src/buttons_editing.c +++ b/source/blender/src/buttons_editing.c @@ -180,6 +180,8 @@ #include "butspace.h" // own module #include "multires.h" +#include "reeb.h" + static float editbutweight= 1.0; float editbutvweight= 1; static int actmcol= 0, acttface= 0, acttface_rnd = 0, actmcol_rnd = 0; @@ -3244,6 +3246,7 @@ void do_curvebuts(unsigned short event) case B_CONVERTNURB: if(G.obedit) { setsplinetype(event-B_CONVERTPOLY); + BIF_undo_push("Convert type"); DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); } @@ -3275,6 +3278,7 @@ void do_curvebuts(unsigned short event) } nu= nu->next; } + BIF_undo_push("Cyclic"); DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); } @@ -3282,6 +3286,7 @@ void do_curvebuts(unsigned short event) case B_SETWEIGHT: if(G.obedit) { weightflagNurb(1, editbutweight, 0); + BIF_undo_push("Set weight"); DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); } @@ -3315,6 +3320,7 @@ void do_curvebuts(unsigned short event) } makeknots(nu, 2, nu->flagv>>1); } + BIF_undo_push("Make knots"); DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); } @@ -3366,6 +3372,7 @@ void do_curvebuts(unsigned short event) nu= nu->next; } } + BIF_undo_push("Make 2D/3D"); DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); break; @@ -3381,6 +3388,7 @@ void do_curvebuts(unsigned short event) } } + BIF_undo_push("Set resolution"); DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWBUTSALL, 0); @@ -5052,6 +5060,9 @@ void do_meshbuts(unsigned short event) case B_GEN_SKELETON: generateSkeleton(); break; + case B_RETARGET_SKELETON: + BIF_retargetArmature(); + break; } /* WATCH IT: previous events only in editmode! */ @@ -5150,6 +5161,100 @@ static void skgen_reorder(void *option, void *arg2) } } +static void skgen_graphgen(void *arg1, void *arg2) +{ + BIF_GlobalReebGraphFromEditMesh(); + allqueue(REDRAWVIEW3D, 0); +} + +static void skgen_graphfree(void *arg1, void *arg2) +{ + BIF_GlobalReebFree(); + allqueue(REDRAWVIEW3D, 0); +} + +static void skgen_rigadjust(void *arg1, void *arg2) +{ + BIF_adjustRetarget(); +} + +static void skgen_rigfree(void *arg1, void *arg2) +{ + BIF_freeRetarget(); +} + +static void skgen_graph_block(uiBlock *block) +{ + uiBlockBeginAlign(block); + uiDefButS(block, NUM, B_DIFF, "Resolution:", 1025,150,225,19, &G.scene->toolsettings->skgen_resolution,10.0,1000.0, 0, 0, "Specifies the resolution of the graph's embedding"); + uiDefButBitS(block, TOG, SKGEN_HARMONIC, B_DIFF, "H", 1250,150, 25,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Apply harmonic smoothing to the weighting"); + uiDefButBitS(block, TOG, SKGEN_FILTER_INTERNAL, B_DIFF, "Filter In", 1025,130, 83,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Filter internal small arcs from graph"); + uiDefButF(block, NUM, B_DIFF, "", 1111,130,164,19, &G.scene->toolsettings->skgen_threshold_internal,0.0, 10.0, 10, 0, "Specify the threshold ratio for filtering internal arcs"); + uiDefButBitS(block, TOG, SKGEN_FILTER_EXTERNAL, B_DIFF, "Filter Ex", 1025,110, 53,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Filter external small arcs from graph"); + uiDefButBitS(block, TOG, SKGEN_FILTER_SMART, B_DIFF, "Sm", 1078,110, 30,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Smart Filtering"); + uiDefButF(block, NUM, B_DIFF, "", 1111,110,164,19, &G.scene->toolsettings->skgen_threshold_external,0.0, 10.0, 10, 0, "Specify the threshold ratio for filtering external arcs"); + + uiDefButBitS(block, TOG, SKGEN_SYMMETRY, B_DIFF, "Symmetry", 1025, 90,125,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Restore symmetries based on topology"); + uiDefButF(block, NUM, B_DIFF, "T:", 1150, 90,125,19, &G.scene->toolsettings->skgen_symmetry_limit,0.0, 1.0, 10, 0, "Specify the threshold distance for considering potential symmetric arcs"); + uiDefButC(block, NUM, B_DIFF, "P:", 1025, 70, 62,19, &G.scene->toolsettings->skgen_postpro_passes, 0, 10, 10, 0, "Specify the number of processing passes on the embeddings"); + uiDefButC(block, ROW, B_DIFF, "Smooth", 1087, 70, 63,19, &G.scene->toolsettings->skgen_postpro, 5.0, (float)SKGEN_SMOOTH, 0, 0, "Smooth embeddings"); + uiDefButC(block, ROW, B_DIFF, "Average", 1150, 70, 62,19, &G.scene->toolsettings->skgen_postpro, 5.0, (float)SKGEN_AVERAGE, 0, 0, "Average embeddings"); + uiDefButC(block, ROW, B_DIFF, "Sharpen", 1212, 70, 63,19, &G.scene->toolsettings->skgen_postpro, 5.0, (float)SKGEN_SHARPEN, 0, 0, "Sharpen embeddings"); + + uiBlockEndAlign(block); +} + +static void editing_panel_mesh_skgen_display(Object *ob, Mesh *me) +{ + uiBlock *block; + uiBut *but; + + block= uiNewBlock(&curarea->uiblocks, "editing_panel_mesh_skgen_display", UI_EMBOSS, UI_HELV, curarea->win); + uiNewPanelTabbed("Mesh Tools More", "Skgen"); + if(uiNewPanel(curarea, block, "Graph", "Editing", 960, 0, 318, 204)==0) return; + + but = uiDefBut(block, BUT, B_DIFF, "Generate", 1025,170,125,19, 0, 0, 0, 0, 0, "Generate Graph from Mesh"); + uiButSetFunc(but, skgen_graphgen, NULL, NULL); + but = uiDefBut(block, BUT, B_DIFF, "Free", 1150,170,125,19, 0, 0, 0, 0, 0, "Free Graph from Mesh"); + uiButSetFunc(but, skgen_graphfree, NULL, NULL); + + skgen_graph_block(block); + + uiBlockBeginAlign(block); + uiDefButBitS(block, TOG, SKGEN_DISP_LENGTH, REDRAWVIEW3D, "Length", 1025, 40, 50,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Show Length"); + uiDefButBitS(block, TOG, SKGEN_DISP_WEIGHT, REDRAWVIEW3D, "Weight", 1075, 40, 50,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Show Weight"); + uiDefButBitS(block, TOG, SKGEN_DISP_EMBED, REDRAWVIEW3D, "Embed", 1125, 40, 50,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Show Arc Embedings"); + uiDefButBitS(block, TOG, SKGEN_DISP_INDEX, REDRAWVIEW3D, "Index", 1175, 40, 50,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Show Arc and Node indexes"); + uiDefButBitS(block, TOG, SKGEN_DISP_ORIG, REDRAWVIEW3D, "Original", 1225, 40, 50,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Show Original Graph"); + + uiBlockEndAlign(block); + + uiDefButC(block, NUM, REDRAWVIEW3D, "Level:", 1025, 20, 125,19, &G.scene->toolsettings->skgen_multi_level, 0, REEB_MAX_MULTI_LEVEL, 1, 0,"Specify the level to draw"); +} + +static void editing_panel_mesh_skgen_retarget(Object *ob, Mesh *me) +{ + uiBlock *block; + uiBut *but; + + block= uiNewBlock(&curarea->uiblocks, "editing_panel_mesh_skgen_retarget", UI_EMBOSS, UI_HELV, curarea->win); + uiNewPanelTabbed("Mesh Tools More", "Skgen"); + if(uiNewPanel(curarea, block, "Retarget", "Editing", 960, 0, 318, 204)==0) return; + + uiDefBut(block, BUT, B_RETARGET_SKELETON, "Retarget Skeleton", 1025,170,100,19, 0, 0, 0, 0, 0, "Retarget Selected Armature to this Mesh"); + but = uiDefBut(block, BUT, B_DIFF, "Adjust", 1125,170,100,19, 0, 0, 0, 0, 0, "Adjust Retarget using new weights"); + uiButSetFunc(but, skgen_rigadjust, NULL, NULL); + but = uiDefBut(block, BUT, B_DIFF, "Free", 1225,170,50,19, 0, 0, 0, 0, 0, "Free Retarget structure"); + uiButSetFunc(but, skgen_rigfree, NULL, NULL); + + skgen_graph_block(block); + + uiDefButF(block, NUM, B_DIFF, "Ang:", 1025, 40, 83,19, &G.scene->toolsettings->skgen_retarget_angle_weight, 0, 10, 1, 0, "Angle Weight"); + uiDefButF(block, NUM, B_DIFF, "Len:", 1108, 40, 83,19, &G.scene->toolsettings->skgen_retarget_length_weight, 0, 10, 1, 0, "Length Weight"); + uiDefButF(block, NUM, B_DIFF, "Dist:", 1191, 40, 84,19, &G.scene->toolsettings->skgen_retarget_distance_weight, 0, 10, 1, 0, "Distance Weight"); + uiDefButC(block, NUM, B_DIFF, "Method:", 1025, 20, 125,19, &G.scene->toolsettings->skgen_optimisation_method, 0, 2, 1, 0,"Optimisation Method (0: brute, 1: memoize, 2: annealing max fixed"); +} + static void editing_panel_mesh_skgen(Object *ob, Mesh *me) { uiBlock *block; @@ -5157,20 +5262,17 @@ static void editing_panel_mesh_skgen(Object *ob, Mesh *me) int i; block= uiNewBlock(&curarea->uiblocks, "editing_panel_mesh_skgen", UI_EMBOSS, UI_HELV, curarea->win); - if(uiNewPanel(curarea, block, "Skeleton Generator", "Editing", 960, 0, 318, 204)==0) return; + uiNewPanelTabbed("Mesh Tools More", "Skgen"); + if(uiNewPanel(curarea, block, "Generator", "Editing", 960, 0, 318, 204)==0) return; - uiDefBut(block, BUT, B_GEN_SKELETON, "Generate Skeleton", 1025,170,250,19, 0, 0, 0, 0, 0, "Generate Skeleton from Mesh"); + uiDefBut(block, BUT, B_GEN_SKELETON, "Generate", 1025,170,250,19, 0, 0, 0, 0, 0, "Generate Skeleton from Mesh"); - uiBlockBeginAlign(block); - uiDefButS(block, NUM, B_DIFF, "Resolution:", 1025,150,250,19, &G.scene->toolsettings->skgen_resolution,10.0,1000.0, 0, 0, "Specifies the resolution of the graph's embedding"); - uiDefButBitS(block, TOG, SKGEN_FILTER_INTERNAL, B_DIFF, "Filter In", 1025,130, 83,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Filter internal small arcs from graph"); - uiDefButF(block, NUM, B_DIFF, "T:", 1111,130,164,19, &G.scene->toolsettings->skgen_threshold_internal,0.0, 1.0, 10, 0, "Specify the threshold ratio for filtering internal arcs"); - uiDefButBitS(block, TOG, SKGEN_FILTER_EXTERNAL, B_DIFF, "Filter Ex", 1025,110, 83,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Filter external small arcs from graph"); - uiDefButF(block, NUM, B_DIFF, "T:", 1111,110,164,19, &G.scene->toolsettings->skgen_threshold_external,0.0, 1.0, 10, 0, "Specify the threshold ratio for filtering external arcs"); + skgen_graph_block(block); + uiBlockBeginAlign(block); for(i = 0; i < SKGEN_SUB_TOTAL; i++) { - int y = 90 - 20 * i; + int y = 50 - 20 * i; but = uiDefIconBut(block, BUT, B_MODIFIER_RECALC, VICON_MOVE_DOWN, 1025, y, 16, 19, NULL, 0.0, 0.0, 0.0, 0.0, "Change the order the subdivisions algorithm are applied"); uiButSetFunc(but, skgen_reorder, SET_INT_IN_POINTER(i), NULL); @@ -5187,18 +5289,14 @@ static void editing_panel_mesh_skgen(Object *ob, Mesh *me) uiDefButF(block, NUM, B_DIFF, "T:", 1111, y,164,19, &G.scene->toolsettings->skgen_angle_limit,0.0, 90.0, 10, 0, "Specify the threshold angle in degrees for subdivision"); break; case SKGEN_SUB_CORRELATION: - uiDefButBitS(block, TOG, SKGEN_CUT_CORRELATION, B_DIFF, "Correlation", 1041, y, 67,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Subdivide arcs based on correlation"); - uiDefButF(block, NUM, B_DIFF, "T:", 1111, y,164,19, &G.scene->toolsettings->skgen_correlation_limit,0.0, 1.0, 0.01, 0, "Specify the threshold correlation for subdivision"); + uiDefButBitS(block, TOG, SKGEN_CUT_CORRELATION, B_DIFF, "Adaptative", 1041, y, 67,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Subdivide arcs adaptatively"); + uiDefButF(block, NUM, B_DIFF, "T:", 1111, y,114,19, &G.scene->toolsettings->skgen_correlation_limit,0.0, 1.0, 0.01, 0, "Specify the adaptive threshold for subdivision"); + uiDefButBitS(block, TOG, SKGEN_STICK_TO_EMBEDDING, B_DIFF, "E", 1225, y, 25,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Stick endpoint to embedding"); + uiDefButBitS(block, TOG, SKGEN_ADAPTIVE_DISTANCE, B_DIFF, "D", 1250, y, 25,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Adaptive distance (on) or variance(off)"); break; } } - uiDefButBitS(block, TOG, SKGEN_SYMMETRY, B_DIFF, "Symmetry", 1025, 30,125,19, &G.scene->toolsettings->skgen_options, 0, 0, 0, 0, "Restore symmetries based on topology"); - uiDefButF(block, NUM, B_DIFF, "T:", 1150, 30,125,19, &G.scene->toolsettings->skgen_symmetry_limit,0.0, 1.0, 10, 0, "Specify the threshold distance for considering potential symmetric arcs"); - uiDefButC(block, NUM, B_DIFF, "P:", 1025, 10, 62,19, &G.scene->toolsettings->skgen_postpro_passes, 0, 10, 10, 0, "Specify the number of processing passes on the embeddings"); - uiDefButC(block, ROW, B_DIFF, "Smooth", 1087, 10, 63,19, &G.scene->toolsettings->skgen_postpro, 5.0, (float)SKGEN_SMOOTH, 0, 0, "Smooth embeddings"); - uiDefButC(block, ROW, B_DIFF, "Average", 1150, 10, 62,19, &G.scene->toolsettings->skgen_postpro, 5.0, (float)SKGEN_AVERAGE, 0, 0, "Average embeddings"); - uiDefButC(block, ROW, B_DIFF, "Sharpen", 1212, 10, 63,19, &G.scene->toolsettings->skgen_postpro, 5.0, (float)SKGEN_SHARPEN, 0, 0, "Sharpen embeddings"); uiBlockEndAlign(block); } @@ -5741,11 +5839,11 @@ void sculptmode_draw_interface_textures(uiBlock *block, unsigned short cx, unsig for(i=-1; i<8; i++) { char str[64]; int loos; - mtex= sd->mtex[i]; if(i==-1) strcpy(str, "Default"); else { + mtex= sd->mtex[i]; if(mtex && mtex->tex) splitIDname(mtex->tex->id.name+2, str, &loos); else strcpy(str, ""); } @@ -5756,13 +5854,15 @@ void sculptmode_draw_interface_textures(uiBlock *block, unsigned short cx, unsig cy= orig_y-20; cx+= 85; - mtex= sd->mtex[sd->texact]; if(sd->texact == -1) { uiBlockBeginAlign(block); uiDefBut(block,LABEL,B_NOP,"",cx,cy,115,20,0,0,0,0,0,""); /* Padding */ } else { - ID *id= NULL; + ID *id = NULL; + + mtex= sd->mtex[sd->texact]; + uiBlockBeginAlign(block); if(mtex && mtex->tex) id= &mtex->tex->id; @@ -6623,8 +6723,11 @@ void editing_panels() editing_panel_mesh_tools1(ob, ob->data); uiNewPanelTabbed("Mesh Tools 1", "Editing"); - if (G.rt == 42) /* hidden for now, no time for docs */ - editing_panel_mesh_skgen(ob, ob->data); + #ifdef WITH_BF_REEB + editing_panel_mesh_skgen(ob, ob->data); + editing_panel_mesh_skgen_retarget(ob, ob->data); + editing_panel_mesh_skgen_display(ob, ob->data); + #endif editing_panel_mesh_uvautocalculation(); if (EM_texFaceCheck()) diff --git a/source/blender/src/buttons_logic.c b/source/blender/src/buttons_logic.c index 0dcdc36fdcd..8aca111f41f 100644 --- a/source/blender/src/buttons_logic.c +++ b/source/blender/src/buttons_logic.c @@ -3549,7 +3549,7 @@ void logic_buts(void) if(ob->controllers.first) uiSetCurFont(block, UI_HELV); uiDefButBitS(block, TOG, OB_ADDCONT, B_ADD_CONT, "Add",(short)(xco+width-40), yco, 50, 19, &ob->scaflag, 0, 0, 0, 0, "Add a new Controller"); uiBlockEndAlign(block); - yco-=17; + yco-=20; /* mark all actuators linked to these controllers */ /* note that some of these actuators could be from objects that are not in the display list. diff --git a/source/blender/src/buttons_object.c b/source/blender/src/buttons_object.c index 763038adaae..748524f2fc8 100644 --- a/source/blender/src/buttons_object.c +++ b/source/blender/src/buttons_object.c @@ -152,7 +152,10 @@ #include "BSE_edit.h" #include "BDR_editobject.h" + +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "butspace.h" // own module @@ -643,6 +646,7 @@ static void draw_constraint (uiBlock *block, ListBase *list, bConstraint *con, s } else { switch (con->type) { +#ifndef DISABLE_PYTHON case CONSTRAINT_TYPE_PYTHON: { bPythonConstraint *data = con->data; @@ -724,6 +728,7 @@ static void draw_constraint (uiBlock *block, ListBase *list, bConstraint *con, s draw_constraint_spaceselect(block, con, *xco, *yco-(73+theight), is_armature_owner(ob), -1); } break; +#endif /* DISABLE_PYTHON */ case CONSTRAINT_TYPE_ACTION: { bActionConstraint *data = con->data; diff --git a/source/blender/src/buttons_shading.c b/source/blender/src/buttons_shading.c index 3e5f5305033..55475e74450 100644 --- a/source/blender/src/buttons_shading.c +++ b/source/blender/src/buttons_shading.c @@ -286,6 +286,7 @@ void do_texbuts(unsigned short event) scrarea_queue_headredraw(curarea); BIF_preview_changed(ID_TE); allqueue(REDRAWBUTSSHADING, 0); + allqueue(REDRAWNODE, 0); if(G.buts->texfrom == 3) /* brush texture */ allqueue(REDRAWIMAGE, 0); break; @@ -414,6 +415,16 @@ void do_texbuts(unsigned short event) } } break; + case B_TEX_USENODES: + if(tex->use_nodes && tex->nodetree==NULL) { + node_texture_default(tex); + } + tex->type = 0; + BIF_preview_changed(ID_TE); + allqueue(REDRAWNODE, 0); + allqueue(REDRAWBUTSSHADING, 0); + allqueue(REDRAWIPO, 0); + break; default: if(event>=B_PLUGBUT && event<=B_PLUGBUT+23) { @@ -1848,11 +1859,13 @@ static void texture_panel_texture(MTex *actmtex, Material *ma, World *wrld, Lamp /* newnoise: all texture types as menu, not enough room for more buttons. * Can widen panel, but looks ugly when other panels overlap it */ + if( !tex->use_nodes ) { + sprintf(textypes, "Texture Type %%t|None %%x%d|Image %%x%d|EnvMap %%x%d|Clouds %%x%d|Marble %%x%d|Stucci %%x%d|Wood %%x%d|Magic %%x%d|Blend %%x%d|Noise %%x%d|Plugin %%x%d|Musgrave %%x%d|Voronoi %%x%d|DistortedNoise %%x%d|Point Density %%x%d", 0, TEX_IMAGE, TEX_ENVMAP, TEX_CLOUDS, TEX_MARBLE, TEX_STUCCI, TEX_WOOD, TEX_MAGIC, TEX_BLEND, TEX_NOISE, TEX_PLUGIN, TEX_MUSGRAVE, TEX_VORONOI, TEX_DISTNOISE, TEX_POINTDENSITY); + uiDefBut(block, LABEL, 0, "Texture Type", 160, 150, 140, 20, 0, 0.0, 0.0, 0, 0, ""); + uiDefButS(block, MENU, B_TEXTYPE, textypes, 160, 125, 140, 25, &tex->type, 0,0,0,0, "Select texture type"); + } - sprintf(textypes, "Texture Type %%t|None %%x%d|Image %%x%d|EnvMap %%x%d|Clouds %%x%d|Marble %%x%d|Stucci %%x%d|Wood %%x%d|Magic %%x%d|Blend %%x%d|Noise %%x%d|Plugin %%x%d|Musgrave %%x%d|Voronoi %%x%d|DistortedNoise %%x%d|Point Density %%x%d", 0, TEX_IMAGE, TEX_ENVMAP, TEX_CLOUDS, TEX_MARBLE, TEX_STUCCI, TEX_WOOD, TEX_MAGIC, TEX_BLEND, TEX_NOISE, TEX_PLUGIN, TEX_MUSGRAVE, TEX_VORONOI, TEX_DISTNOISE, TEX_POINTDENSITY); - uiDefBut(block, LABEL, 0, "Texture Type", 160, 150, 140, 20, 0, 0.0, 0.0, 0, 0, ""); - uiDefButS(block, MENU, B_TEXTYPE, textypes, 160, 125, 140, 25, &tex->type, 0,0,0,0, "Select texture type"); - + uiDefButC(block, TOG, B_TEX_USENODES, "Nodes", 160, 100, 140, 25, &tex->use_nodes, 0.0f, 0.0f, 0, 0, ""); } else { // label to avoid centering @@ -3860,6 +3873,12 @@ static void material_panel_texture(Object *ob, Material *ma) uiBlockSetCol(block, TH_AUTO); uiDefBut(block, BUT, B_TEXCLEAR, "Clear", 122, 130, 72, 20, 0, 0, 0, 0, 0, "Erases link to texture"); + if(mtex->tex->use_nodes) { + char *menustr = ntreeTexOutputMenu(mtex->tex->nodetree); + uiDefBut(block, LABEL, 0, "Use Output:", 100, 100, 163, 20, 0, 0, 0, 0, 0, ""); + uiDefButS(block, MENU, B_MATPRV, menustr, 100, 80, 163, 20, &mtex->which_output, 0, 0, 0, 0, "Which output to use, for multi-output textures"); + free(menustr); + } } else uiDefButS(block, TOG, B_EXTEXBROWSE, "Add New" ,100, 150, 163, 20, &(G.buts->texnr), -1.0, 32767.0, 0, 0, "Adds a new texture datablock"); diff --git a/source/blender/src/drawipo.c b/source/blender/src/drawipo.c index aee00baef8e..973782d7463 100644 --- a/source/blender/src/drawipo.c +++ b/source/blender/src/drawipo.c @@ -86,7 +86,9 @@ #include "BSE_editnla_types.h" #include "BSE_time.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "mydevice.h" #include "blendef.h" @@ -1925,6 +1927,7 @@ void do_ipobuts(unsigned short event) ei= get_active_editipo(); if(ei) { if(ei->icu->driver) { +#ifndef DISABLE_PYTHON if (ei->icu->driver->type == IPO_DRIVER_TYPE_PYTHON) { /* first del pydriver's global dict, just in case * an available pydrivers.py module needs to be reloaded */ @@ -1933,7 +1936,9 @@ void do_ipobuts(unsigned short event) BPY_pydriver_eval(ei->icu->driver); DAG_scene_sort(G.scene); } - else if(G.sipo->blocktype==ID_KE || G.sipo->blocktype==ID_AC) + else +#endif + if(G.sipo->blocktype==ID_KE || G.sipo->blocktype==ID_AC) DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); else DAG_object_flush_update(G.scene, ob, OB_RECALC_OB); diff --git a/source/blender/src/drawnode.c b/source/blender/src/drawnode.c index 7decec3f0e3..04407b8500a 100644 --- a/source/blender/src/drawnode.c +++ b/source/blender/src/drawnode.c @@ -451,6 +451,9 @@ static void node_browse_tex_cb(void *ntree_v, void *node_v) nodeSetActive(ntree, node); + if( ntree->type == NTREE_TEXTURE ) + ntreeTexCheckCyclics( ntree ); + allqueue(REDRAWBUTSSHADING, 0); allqueue(REDRAWNODE, 0); NodeTagChanged(ntree, node); @@ -491,29 +494,45 @@ static void node_dynamic_update_cb(void *ntree_v, void *node_v) static int node_buts_texture(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) { + short multi = ( + node->id && + ((Tex*)node->id)->use_nodes && + (node->type != CMP_NODE_TEXTURE) && + (node->type != TEX_NODE_TEXTURE) + ); + if(block) { uiBut *bt; char *strp; + short width = (short)(butr->xmax - butr->xmin); /* browse button texture */ uiBlockBeginAlign(block); IDnames_to_pupstring(&strp, NULL, "", &(G.main->tex), NULL, NULL); node->menunr= 0; bt= uiDefButS(block, MENU, B_NODE_EXEC+node->nr, strp, - butr->xmin, butr->ymin, 20, 19, + butr->xmin, butr->ymin+(multi?30:0), 20, 19, &node->menunr, 0, 0, 0, 0, "Browse texture"); uiButSetFunc(bt, node_browse_tex_cb, ntree, node); if(strp) MEM_freeN(strp); if(node->id) { bt= uiDefBut(block, TEX, B_NOP, "TE:", - butr->xmin+19, butr->ymin, butr->xmax-butr->xmin-19, 19, + butr->xmin+19, butr->ymin+(multi?30:0), butr->xmax-butr->xmin-19, 19, node->id->name+2, 0.0, 19.0, 0, 0, "Texture name"); uiButSetFunc(bt, node_ID_title_cb, node, NULL); } + uiBlockEndAlign(block); + if(multi) { + char *menustr = ntreeTexOutputMenu(((Tex*)node->id)->nodetree); + uiDefButS(block, MENU, B_MATPRV, menustr, butr->xmin, butr->ymin, width, 19, &node->custom1, 0, 0, 0, 0, "Which output to use, for multi-output textures"); + free(menustr); + return 50; + } + return 20; } - return 19; + else return multi? 50: 20; } static int node_buts_math(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) @@ -2183,6 +2202,261 @@ static void node_composit_set_butfunc(bNodeType *ntype) } } +/* ****************** BUTTON CALLBACKS FOR TEXTURE NODES ***************** */ + +static int node_texture_buts_bricks(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) +{ + if(block) { + short w = butr->xmax-butr->xmin; + short ofw = 32; + + uiBlockBeginAlign(block); + + /* Offset */ + uiDefButF( + block, NUM, B_NODE_EXEC+node->nr, "Offset", + butr->xmin, butr->ymin+20, w-ofw, 20, + &node->custom3, + 0, 1, 0.25, 2, + "Offset amount" ); + uiDefButS( + block, NUM, B_NODE_EXEC+node->nr, "", + butr->xmin+w-ofw, butr->ymin+20, ofw, 20, + &node->custom1, + 2, 99, 0, 0, + "Offset every N rows" ); + + /* Squash */ + uiDefButF( + block, NUM, B_NODE_EXEC+node->nr, "Squash", + butr->xmin, butr->ymin+0, w-ofw, 20, + &node->custom4, + 0, 99, 0.25, 2, + "Stretch amount" ); + uiDefButS( + block, NUM, B_NODE_EXEC+node->nr, "", + butr->xmin+w-ofw, butr->ymin+0, ofw, 20, + &node->custom2, + 2, 99, 0, 0, + "Stretch every N rows" ); + + uiBlockEndAlign(block); + } + return 40; +} + +/* Copied from buttons_shading.c -- needs unifying */ +static char* noisebasis_menu() +{ + static char nbmenu[256]; + sprintf(nbmenu, "Noise Basis %%t|Blender Original %%x%d|Original Perlin %%x%d|Improved Perlin %%x%d|Voronoi F1 %%x%d|Voronoi F2 %%x%d|Voronoi F3 %%x%d|Voronoi F4 %%x%d|Voronoi F2-F1 %%x%d|Voronoi Crackle %%x%d|CellNoise %%x%d", TEX_BLENDER, TEX_STDPERLIN, TEX_NEWPERLIN, TEX_VORONOI_F1, TEX_VORONOI_F2, TEX_VORONOI_F3, TEX_VORONOI_F4, TEX_VORONOI_F2F1, TEX_VORONOI_CRACKLE, TEX_CELLNOISE); + return nbmenu; +} + +static int node_texture_buts_proc(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) +{ + Tex *tex = (Tex *)node->storage; + short x,y,w,h; + + if( block ) { + x = butr->xmin; + y = butr->ymin; + w = butr->xmax - x; + h = butr->ymax - y; + } + + switch( tex->type ) { + case TEX_BLEND: + if( block ) { + uiBlockBeginAlign( block ); + uiDefButS( block, MENU, B_NODE_EXEC+node->nr, + "Linear %x0|Quad %x1|Ease %x2|Diag %x3|Sphere %x4|Halo %x5|Radial %x6", + x, y+20, w, 20, &tex->stype, 0, 1, 0, 0, "Blend Type" ); + uiDefButBitS(block, TOG, TEX_FLIPBLEND, B_NODE_EXEC+node->nr, "Flip XY", x, y, w, 20, + &tex->flag, 0, 0, 0, 0, "Flips the direction of the progression 90 degrees"); + uiBlockEndAlign( block ); + } + return 40; + + + case TEX_MARBLE: + if( block ) { + uiBlockBeginAlign(block); + + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Soft", 0*w/3+x, 40+y, w/3, 18, &tex->stype, 2.0, (float)TEX_SOFT, 0, 0, "Uses soft marble"); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Sharp", 1*w/3+x, 40+y, w/3, 18, &tex->stype, 2.0, (float)TEX_SHARP, 0, 0, "Uses more clearly defined marble"); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Sharper", 2*w/3+x, 40+y, w/3, 18, &tex->stype, 2.0, (float)TEX_SHARPER, 0, 0, "Uses very clearly defined marble"); + + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Soft noise", 0*w/2+x, 20+y, w/2, 19, &tex->noisetype, 12.0, (float)TEX_NOISESOFT, 0, 0, "Generates soft noise"); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Hard noise", 1*w/2+x, 20+y, w/2, 19, &tex->noisetype, 12.0, (float)TEX_NOISEPERL, 0, 0, "Generates hard noise"); + + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Sin", 0*w/3+x, 0+y, w/3, 18, &tex->noisebasis2, 8.0, 0.0, 0, 0, "Uses a sine wave to produce bands."); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Saw", 1*w/3+x, 0+y, w/3, 18, &tex->noisebasis2, 8.0, 1.0, 0, 0, "Uses a saw wave to produce bands"); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Tri", 2*w/3+x, 0+y, w/3, 18, &tex->noisebasis2, 8.0, 2.0, 0, 0, "Uses a triangle wave to produce bands"); + + uiBlockEndAlign(block); + } + return 60; + + case TEX_WOOD: + if( block ) { + uiDefButS(block, MENU, B_TEXPRV, noisebasis_menu(), x, y+64, w, 18, &tex->noisebasis, 0,0,0,0, "Sets the noise basis used for turbulence"); + + uiBlockBeginAlign(block); + uiDefButS(block, ROW, B_TEXPRV, "Bands", x, 40+y, w/2, 18, &tex->stype, 2.0, (float)TEX_BANDNOISE, 0, 0, "Uses standard noise"); + uiDefButS(block, ROW, B_TEXPRV, "Rings", w/2+x, 40+y, w/2, 18, &tex->stype, 2.0, (float)TEX_RINGNOISE, 0, 0, "Lets Noise return RGB value"); + + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Sin", 0*w/3+x, 20+y, w/3, 18, &tex->noisebasis2, 8.0, (float)TEX_SIN, 0, 0, "Uses a sine wave to produce bands."); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Saw", 1*w/3+x, 20+y, w/3, 18, &tex->noisebasis2, 8.0, (float)TEX_SAW, 0, 0, "Uses a saw wave to produce bands"); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Tri", 2*w/3+x, 20+y, w/3, 18, &tex->noisebasis2, 8.0, (float)TEX_TRI, 0, 0, "Uses a triangle wave to produce bands"); + + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Soft noise", 0*w/2+x, 0+y, w/2, 19, &tex->noisetype, 12.0, (float)TEX_NOISESOFT, 0, 0, "Generates soft noise"); + uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "Hard noise", 1*w/2+x, 0+y, w/2, 19, &tex->noisetype, 12.0, (float)TEX_NOISEPERL, 0, 0, "Generates hard noise"); + uiBlockEndAlign(block); + } + return 80; + + case TEX_CLOUDS: + if( block ) { + uiDefButS(block, MENU, B_TEXPRV, noisebasis_menu(), x, y+60, w, 18, &tex->noisebasis, 0,0,0,0, "Sets the noise basis used for turbulence"); + + uiBlockBeginAlign(block); + uiDefButS(block, ROW, B_TEXPRV, "B/W", x, y+38, w/2, 18, &tex->stype, 2.0, (float)TEX_DEFAULT, 0, 0, "Uses standard noise"); + uiDefButS(block, ROW, B_TEXPRV, "Color", w/2+x, y+38, w/2, 18, &tex->stype, 2.0, (float)TEX_COLOR, 0, 0, "Lets Noise return RGB value"); + uiDefButS(block, ROW, B_TEXPRV, "Soft", x, y+20, w/2, 18, &tex->noisetype, 12.0, (float)TEX_NOISESOFT, 0, 0, "Generates soft noise"); + uiDefButS(block, ROW, B_TEXPRV, "Hard", w/2+x, y+20, w/2, 18, &tex->noisetype, 12.0, (float)TEX_NOISEPERL, 0, 0, "Generates hard noise"); + uiBlockEndAlign(block); + + uiDefButS(block, NUM, B_TEXPRV, "Depth:", x, y, w, 18, &tex->noisedepth, 0.0, 6.0, 0, 0, "Sets the depth of the cloud calculation"); + } + return 80; + + case TEX_DISTNOISE: + if( block ) { + uiBlockBeginAlign(block); + uiDefButS(block, MENU, B_TEXPRV, noisebasis_menu(), x, y+18, w, 18, &tex->noisebasis2, 0,0,0,0, "Sets the noise basis to distort"); + uiDefButS(block, MENU, B_TEXPRV, noisebasis_menu(), x, y, w, 18, &tex->noisebasis, 0,0,0,0, "Sets the noise basis which does the distortion"); + uiBlockEndAlign(block); + } + return 36; + } + return 0; +} + +static int node_texture_buts_image(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) +{ + char *strp; + uiBut *bt; + + if( block ) { + uiBlockBeginAlign(block); + uiBlockSetCol(block, TH_BUT_SETTING2); + + /* browse button */ + IMAnames_to_pupstring(&strp, NULL, "LOAD NEW %x32767", &(G.main->image), NULL, NULL); + node->menunr= 0; + bt= uiDefButS(block, MENU, B_NOP, strp, + butr->xmin, butr->ymin, 19, 19, + &node->menunr, 0, 0, 0, 0, "Browses existing choices"); + uiButSetFunc(bt, node_browse_image_cb, ntree, node); + if(strp) MEM_freeN(strp); + + /* Add New button */ + if(node->id==NULL) { + bt= uiDefBut(block, BUT, B_NODE_LOADIMAGE, "Load New", + butr->xmin+19, butr->ymin, (short)(butr->xmax-butr->xmin-19.0f), 19, + NULL, 0.0, 0.0, 0, 0, "Add new Image"); + uiButSetFunc(bt, node_active_cb, ntree, node); + uiBlockSetCol(block, TH_AUTO); + } + else { + /* name button */ + short xmin= (short)butr->xmin, xmax= (short)butr->xmax; + short width= xmax - xmin - 19; + + bt= uiDefBut(block, TEX, B_NOP, "IM:", + xmin+19, butr->ymin, width, 19, + node->id->name+2, 0.0, 19.0, 0, 0, "Image name"); + uiButSetFunc(bt, node_ID_title_cb, node, NULL); + } + } + return 20; +} + +static int node_texture_buts_output(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) +{ + if( block ) { + uiBut *bt; + short width; + char *name = ((TexNodeOutput*)node->storage)->name; + + uiBlockBeginAlign(block); + + width = (short)(butr->xmax - butr->xmin); + + bt = uiDefBut( + block, TEX, B_NOP, + "Name:", + butr->xmin, butr->ymin, + width, 19, + name, 0, 31, + 0, 0, + "Name this output" + ); + + uiBlockEndAlign(block); + } + return 19; +} + +/* only once called */ +static void node_texture_set_butfunc(bNodeType *ntype) +{ + if( ntype->type >= TEX_NODE_PROC && ntype->type < TEX_NODE_PROC_MAX ) { + ntype->butfunc = node_texture_buts_proc; + } + else switch(ntype->type) { + + case TEX_NODE_MATH: + ntype->butfunc = node_buts_math; + break; + + case TEX_NODE_MIX_RGB: + ntype->butfunc = node_buts_mix_rgb; + break; + + case TEX_NODE_VALTORGB: + ntype->butfunc = node_buts_valtorgb; + break; + + case TEX_NODE_CURVE_RGB: + ntype->butfunc= node_buts_curvecol; + break; + + case TEX_NODE_CURVE_TIME: + ntype->butfunc = node_buts_time; + break; + + case TEX_NODE_TEXTURE: + ntype->butfunc = node_buts_texture; + break; + + case TEX_NODE_BRICKS: + ntype->butfunc = node_texture_buts_bricks; + break; + + case TEX_NODE_IMAGE: + ntype->butfunc = node_texture_buts_image; + break; + + case TEX_NODE_OUTPUT: + ntype->butfunc = node_texture_buts_output; + break; + + default: + ntype->butfunc= NULL; + } +} /* ******* init draw callbacks for all tree types, only called in usiblender.c, once ************* */ @@ -2202,6 +2476,11 @@ void init_node_butfuncs(void) node_composit_set_butfunc(ntype); ntype= ntype->next; } + ntype = node_all_textures.first; + while(ntype) { + node_texture_set_butfunc(ntype); + ntype= ntype->next; + } } /* ************** Generic drawing ************** */ diff --git a/source/blender/src/drawscript.c b/source/blender/src/drawscript.c index c744449d1db..f9e2d138a78 100644 --- a/source/blender/src/drawscript.c +++ b/source/blender/src/drawscript.c @@ -55,7 +55,9 @@ #include "BKE_global.h" #include "BKE_main.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "BIF_gl.h" #include "BIF_keyval.h" @@ -87,6 +89,9 @@ void drawscriptspace(ScrArea *sa, void *spacedata) glClear(GL_COLOR_BUFFER_BIT); myortho2(-0.5, curarea->winrct.xmax-curarea->winrct.xmin-0.5, -0.5, curarea->winrct.ymax-curarea->winrct.ymin-0.5); +#ifdef DISABLE_PYTHON + return; +#else if (!sc->script) return; script = sc->script; @@ -115,10 +120,12 @@ void drawscriptspace(ScrArea *sa, void *spacedata) addqueue(curarea->win, MOUSEX, 0); } } +#endif /* DISABLE_PYTHON */ } void winqreadscriptspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt) { +#ifndef DISABLE_PYTHON unsigned short event = evt->event; short val = evt->val; char ascii = evt->ascii; @@ -163,19 +170,21 @@ void winqreadscriptspace(struct ScrArea *sa, void *spacedata, struct BWinEvent * if (event == QKEY) if (val && (G.qual & LR_CTRLKEY) && okee("Quit Blender")) exit_usiblender(); } - +#endif return; + } void free_scriptspace (SpaceScript *sc) { if (!sc) return; - +#ifndef DISABLE_PYTHON /*free buttons references*/ if (sc->but_refs) { BPy_Set_DrawButtonsList(sc->but_refs); BPy_Free_DrawButtonsList(); sc->but_refs = NULL; } +#endif sc->script = NULL; } diff --git a/source/blender/src/drawtext.c b/source/blender/src/drawtext.c index ca1f6cff202..1c8380c7a7d 100644 --- a/source/blender/src/drawtext.c +++ b/source/blender/src/drawtext.c @@ -71,8 +71,10 @@ #include "BSE_filesel.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "mydevice.h" #include "blendef.h" @@ -1841,7 +1843,8 @@ void unlink_text(Text *text) bScreen *scr; ScrArea *area; SpaceLink *sl; - + +#ifndef DISABLE_PYTHON /* check if this text was used as script link: * this check function unsets the pointers and returns how many * script links used this Text */ @@ -1852,7 +1855,8 @@ void unlink_text(Text *text) if (nodeDynamicUnlinkText ((ID*)text)) { allqueue(REDRAWNODE, 0); } - +#endif + for (scr= G.main->screen.first; scr; scr= scr->id.next) { for (area= scr->areabase.first; area; area= area->next) { for (sl= area->spacedata.first; sl; sl= sl->next) { @@ -2050,7 +2054,9 @@ void run_python_script(SpaceText *st) { Text *text=st->text; char *py_filename; - +#ifdef DISABLE_PYTHON + error("python disabled in this build"); +#else if (!BPY_txt_do_python_Text(text)) { int lineno = BPY_Err_getLinenumber(); // jump to error if happened in current text: @@ -2072,6 +2078,7 @@ void run_python_script(SpaceText *st) "check console"); } } +#endif } static void set_tabs(Text *text) @@ -2929,8 +2936,10 @@ void winqreadtextspace(ScrArea *sa, void *spacedata, BWinEvent *evt) break; /* BREAK Q */ case RKEY: if (G.qual == LR_ALTKEY) { +#ifndef DISABLE_PYTHON if (text->compiled) BPY_free_compiled_text(text); text->compiled = NULL; +#endif if (okee("Reopen text")) { if (!reopen_text(text)) error("Could not reopen file"); @@ -3199,13 +3208,14 @@ void winqreadtextspace(ScrArea *sa, void *spacedata, BWinEvent *evt) } } +#ifndef DISABLE_PYTHON /* Run text plugin scripts if enabled */ if (st->doplugins && event && val) { if (BPY_menu_do_shortcut(PYMENU_TEXTPLUGIN, event, G.qual)) { do_draw= 1; } } - +#endif if (do_draw) redraw_alltext(); } diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c index 8f2623575aa..de3e464060d 100644 --- a/source/blender/src/drawview.c +++ b/source/blender/src/drawview.c @@ -153,7 +153,9 @@ #include "BSE_time.h" #include "BSE_view.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "RE_render_ext.h" @@ -165,6 +167,8 @@ #include "RE_pipeline.h" // make_stars +#include "reeb.h" + #include "GPU_draw.h" #include "GPU_material.h" @@ -3238,6 +3242,8 @@ void drawview3dspace(ScrArea *sa, void *spacedata) BIF_drawPropCircle(); // only editmode and particles have proportional edit BIF_drawSnap(); } + + REEB_draw(); if(G.scene->radio) RAD_drawall(v3d->drawtype>=OB_SOLID); @@ -3350,6 +3356,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata) } } +#ifndef DISABLE_PYTHON /* run any view3d draw handler script links */ if (sa->scriptlink.totscript) BPY_do_spacehandlers(sa, 0, 0, SPACEHANDLER_VIEW3D_DRAW); @@ -3359,7 +3366,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata) !during_script()) { BPY_do_pyscript((ID *)G.scene, SCRIPT_REDRAW); } - +#endif } void drawview3d_render(struct View3D *v3d, float viewmat[][4], int winx, int winy, float winmat[][4], int shadow) diff --git a/source/blender/src/editarmature.c b/source/blender/src/editarmature.c index 0b8c1339dae..ee5d56eaf43 100644 --- a/source/blender/src/editarmature.c +++ b/source/blender/src/editarmature.c @@ -1817,6 +1817,31 @@ void deselectall_armature(int toggle, int doundo) } } +/* adjust bone roll to align Z axis with vector + * vec is in local space and is normalized + */ +float rollBoneToVector(EditBone *bone, float new_up_axis[3]) +{ + float mat[3][3], nor[3], up_axis[3], vec[3]; + float roll; + + VecSubf(nor, bone->tail, bone->head); + + vec_roll_to_mat3(nor, 0, mat); + VECCOPY(up_axis, mat[2]); + + roll = NormalizedVecAngle2(new_up_axis, up_axis); + + Crossf(vec, up_axis, new_up_axis); + + if (Inpf(vec, nor) < 0) + { + roll = -roll; + } + + return roll; +} + /* Sets the roll value of selected bones, depending on the mode * mode == 0: their z-axes point upwards * mode == 1: their z-axes point towards 3d-cursor @@ -4514,542 +4539,7 @@ void transform_armature_mirror_update(void) /*************************************** SKELETON GENERATOR ******************************************/ /*****************************************************************************************************/ -/**************************************** SYMMETRY HANDLING ******************************************/ - -void markdownSymmetryArc(ReebArc *arc, ReebNode *node, int level); - -void mirrorAlongAxis(float v[3], float center[3], float axis[3]) -{ - float dv[3], pv[3]; - - VecSubf(dv, v, center); - Projf(pv, dv, axis); - VecMulf(pv, -2); - VecAddf(v, v, pv); -} - -/* Helper structure for radial symmetry */ -typedef struct RadialArc -{ - ReebArc *arc; - float n[3]; /* normalized vector joining the nodes of the arc */ -} RadialArc; - -void reestablishRadialSymmetry(ReebNode *node, int depth, float axis[3]) -{ - RadialArc *ring = NULL; - RadialArc *unit; - float limit = G.scene->toolsettings->skgen_symmetry_limit; - int symmetric = 1; - int count = 0; - int i; - - /* count the number of arcs in the symmetry ring */ - for (i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - /* depth is store as a negative in flag. symmetry level is positive */ - if (connectedArc->flags == -depth) - { - count++; - } - } - - ring = MEM_callocN(sizeof(RadialArc) * count, "radial symmetry ring"); - unit = ring; - - /* fill in the ring */ - for (unit = ring, i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - /* depth is store as a negative in flag. symmetry level is positive */ - if (connectedArc->flags == -depth) - { - ReebNode *otherNode = OTHER_NODE(connectedArc, node); - float vec[3]; - - unit->arc = connectedArc; - - /* project the node to node vector on the symmetry plane */ - VecSubf(unit->n, otherNode->p, node->p); - Projf(vec, unit->n, axis); - VecSubf(unit->n, unit->n, vec); - - Normalize(unit->n); - - unit++; - } - } - - /* sort ring */ - for (i = 0; i < count - 1; i++) - { - float minAngle = 3; /* arbitrary high value, higher than 2, at least */ - int minIndex = -1; - int j; - - for (j = i + 1; j < count; j++) - { - float angle = Inpf(ring[i].n, ring[j].n); - - /* map negative values to 1..2 */ - if (angle < 0) - { - angle = 1 - angle; - } - - if (angle < minAngle) - { - minIndex = j; - minAngle = angle; - } - } - - /* swap if needed */ - if (minIndex != i + 1) - { - RadialArc tmp; - tmp = ring[i + 1]; - ring[i + 1] = ring[minIndex]; - ring[minIndex] = tmp; - } - } - - for (i = 0; i < count && symmetric; i++) - { - ReebNode *node1, *node2; - float tangent[3]; - float normal[3]; - float p[3]; - int j = (i + 1) % count; /* next arc in the circular list */ - - VecAddf(tangent, ring[i].n, ring[j].n); - Crossf(normal, tangent, axis); - - node1 = OTHER_NODE(ring[i].arc, node); - node2 = OTHER_NODE(ring[j].arc, node); - - VECCOPY(p, node2->p); - mirrorAlongAxis(p, node->p, normal); - - /* check if it's within limit before continuing */ - if (VecLenf(node1->p, p) > limit) - { - symmetric = 0; - } - - } - - if (symmetric) - { - /* first pass, merge incrementally */ - for (i = 0; i < count - 1; i++) - { - ReebNode *node1, *node2; - float tangent[3]; - float normal[3]; - int j = i + 1; - - VecAddf(tangent, ring[i].n, ring[j].n); - Crossf(normal, tangent, axis); - - node1 = OTHER_NODE(ring[i].arc, node); - node2 = OTHER_NODE(ring[j].arc, node); - - /* mirror first node and mix with the second */ - mirrorAlongAxis(node1->p, node->p, normal); - VecLerpf(node2->p, node2->p, node1->p, 1.0f / (j + 1)); - - /* Merge buckets - * there shouldn't be any null arcs here, but just to be safe - * */ - if (ring[i].arc->bcount > 0 && ring[j].arc->bcount > 0) - { - ReebArcIterator iter1, iter2; - EmbedBucket *bucket1 = NULL, *bucket2 = NULL; - - initArcIterator(&iter1, ring[i].arc, node); - initArcIterator(&iter2, ring[j].arc, node); - - bucket1 = nextBucket(&iter1); - bucket2 = nextBucket(&iter2); - - /* Make sure they both start at the same value */ - while(bucket1 && bucket1->val < bucket2->val) - { - bucket1 = nextBucket(&iter1); - } - - while(bucket2 && bucket2->val < bucket1->val) - { - bucket2 = nextBucket(&iter2); - } - - - for ( ;bucket1 && bucket2; bucket1 = nextBucket(&iter1), bucket2 = nextBucket(&iter2)) - { - bucket2->nv += bucket1->nv; /* add counts */ - - /* mirror on axis */ - mirrorAlongAxis(bucket1->p, node->p, normal); - /* add bucket2 in bucket1 */ - VecLerpf(bucket2->p, bucket2->p, bucket1->p, (float)bucket1->nv / (float)(bucket2->nv)); - } - } - } - - /* second pass, mirror back on previous arcs */ - for (i = count - 1; i > 0; i--) - { - ReebNode *node1, *node2; - float tangent[3]; - float normal[3]; - int j = i - 1; - - VecAddf(tangent, ring[i].n, ring[j].n); - Crossf(normal, tangent, axis); - - node1 = OTHER_NODE(ring[i].arc, node); - node2 = OTHER_NODE(ring[j].arc, node); - - /* copy first node than mirror */ - VECCOPY(node2->p, node1->p); - mirrorAlongAxis(node2->p, node->p, normal); - - /* Copy buckets - * there shouldn't be any null arcs here, but just to be safe - * */ - if (ring[i].arc->bcount > 0 && ring[j].arc->bcount > 0) - { - ReebArcIterator iter1, iter2; - EmbedBucket *bucket1 = NULL, *bucket2 = NULL; - - initArcIterator(&iter1, ring[i].arc, node); - initArcIterator(&iter2, ring[j].arc, node); - - bucket1 = nextBucket(&iter1); - bucket2 = nextBucket(&iter2); - - /* Make sure they both start at the same value */ - while(bucket1 && bucket1->val < bucket2->val) - { - bucket1 = nextBucket(&iter1); - } - - while(bucket2 && bucket2->val < bucket1->val) - { - bucket2 = nextBucket(&iter2); - } - - - for ( ;bucket1 && bucket2; bucket1 = nextBucket(&iter1), bucket2 = nextBucket(&iter2)) - { - /* copy and mirror back to bucket2 */ - bucket2->nv = bucket1->nv; - VECCOPY(bucket2->p, bucket1->p); - mirrorAlongAxis(bucket2->p, node->p, normal); - } - } - } - } - - MEM_freeN(ring); -} - -void reestablishAxialSymmetry(ReebNode *node, int depth, float axis[3]) -{ - ReebArc *arc1 = NULL; - ReebArc *arc2 = NULL; - ReebNode *node1 = NULL, *node2 = NULL; - float limit = G.scene->toolsettings->skgen_symmetry_limit; - float nor[3], vec[3], p[3]; - int i; - - for (i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - /* depth is store as a negative in flag. symmetry level is positive */ - if (connectedArc->flags == -depth) - { - if (arc1 == NULL) - { - arc1 = connectedArc; - node1 = OTHER_NODE(arc1, node); - } - else - { - arc2 = connectedArc; - node2 = OTHER_NODE(arc2, node); - break; /* Can stop now, the two arcs have been found */ - } - } - } - - /* shouldn't happen, but just to be sure */ - if (node1 == NULL || node2 == NULL) - { - return; - } - - VecSubf(p, node1->p, node->p); - Crossf(vec, p, axis); - Crossf(nor, vec, axis); - - /* mirror node2 along axis */ - VECCOPY(p, node2->p); - mirrorAlongAxis(p, node->p, nor); - - /* check if it's within limit before continuing */ - if (VecLenf(node1->p, p) <= limit) - { - - /* average with node1 */ - VecAddf(node1->p, node1->p, p); - VecMulf(node1->p, 0.5f); - - /* mirror back on node2 */ - VECCOPY(node2->p, node1->p); - mirrorAlongAxis(node2->p, node->p, nor); - - /* Merge buckets - * there shouldn't be any null arcs here, but just to be safe - * */ - if (arc1->bcount > 0 && arc2->bcount > 0) - { - ReebArcIterator iter1, iter2; - EmbedBucket *bucket1 = NULL, *bucket2 = NULL; - - initArcIterator(&iter1, arc1, node); - initArcIterator(&iter2, arc2, node); - - bucket1 = nextBucket(&iter1); - bucket2 = nextBucket(&iter2); - - /* Make sure they both start at the same value */ - while(bucket1 && bucket1->val < bucket2->val) - { - bucket1 = nextBucket(&iter1); - } - - while(bucket2 && bucket2->val < bucket1->val) - { - bucket2 = nextBucket(&iter2); - } - - - for ( ;bucket1 && bucket2; bucket1 = nextBucket(&iter1), bucket2 = nextBucket(&iter2)) - { - bucket1->nv += bucket2->nv; /* add counts */ - - /* mirror on axis */ - mirrorAlongAxis(bucket2->p, node->p, nor); - /* add bucket2 in bucket1 */ - VecLerpf(bucket1->p, bucket1->p, bucket2->p, (float)bucket2->nv / (float)(bucket1->nv)); - - /* copy and mirror back to bucket2 */ - bucket2->nv = bucket1->nv; - VECCOPY(bucket2->p, bucket1->p); - mirrorAlongAxis(bucket2->p, node->p, nor); - } - } - } -} - -void markdownSecondarySymmetry(ReebNode *node, int depth, int level) -{ - float axis[3] = {0, 0, 0}; - int count = 0; - int i; - - /* Only reestablish spatial symmetry if needed */ - if (G.scene->toolsettings->skgen_options & SKGEN_SYMMETRY) - { - /* count the number of branches in this symmetry group - * and determinte the axis of symmetry - * */ - for (i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - /* depth is store as a negative in flag. symmetry level is positive */ - if (connectedArc->flags == -depth) - { - count++; - } - /* If arc is on the axis */ - else if (connectedArc->flags == level) - { - VecAddf(axis, axis, connectedArc->v1->p); - VecSubf(axis, axis, connectedArc->v2->p); - } - } - - Normalize(axis); - - /* Split between axial and radial symmetry */ - if (count == 2) - { - reestablishAxialSymmetry(node, depth, axis); - } - else - { - reestablishRadialSymmetry(node, depth, axis); - } - } - - /* markdown secondary symetries */ - for (i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - if (connectedArc->flags == -depth) - { - /* markdown symmetry for branches corresponding to the depth */ - markdownSymmetryArc(connectedArc, node, level + 1); - } - } -} -void markdownSymmetryArc(ReebArc *arc, ReebNode *node, int level) -{ - int i; - arc->flags = level; - - node = OTHER_NODE(arc, node); - - for (i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - if (connectedArc != arc) - { - ReebNode *connectedNode = OTHER_NODE(connectedArc, node); - - /* symmetry level is positive value, negative values is subtree depth */ - connectedArc->flags = -subtreeDepth(connectedNode, connectedArc); - } - } - - arc = NULL; - - for (i = 0; node->arcs[i] != NULL; i++) - { - int issymmetryAxis = 0; - ReebArc *connectedArc = node->arcs[i]; - - /* only arcs not already marked as symetric */ - if (connectedArc->flags < 0) - { - int j; - - /* true by default */ - issymmetryAxis = 1; - - for (j = 0; node->arcs[j] != NULL && issymmetryAxis == 1; j++) - { - ReebArc *otherArc = node->arcs[j]; - - /* different arc, same depth */ - if (otherArc != connectedArc && otherArc->flags == connectedArc->flags) - { - /* not on the symmetry axis */ - issymmetryAxis = 0; - } - } - } - - /* arc could be on the symmetry axis */ - if (issymmetryAxis == 1) - { - /* no arc as been marked previously, keep this one */ - if (arc == NULL) - { - arc = connectedArc; - } - else - { - /* there can't be more than one symmetry arc */ - arc = NULL; - break; - } - } - } - - /* go down the arc continuing the symmetry axis */ - if (arc) - { - markdownSymmetryArc(arc, node, level); - } - - - /* secondary symmetry */ - for (i = 0; node->arcs[i] != NULL; i++) - { - ReebArc *connectedArc = node->arcs[i]; - - /* only arcs not already marked as symetric and is not the next arc on the symmetry axis */ - if (connectedArc->flags < 0) - { - /* subtree depth is store as a negative value in the flag */ - markdownSecondarySymmetry(node, -connectedArc->flags, level); - } - } -} - -void markdownSymmetry(ReebGraph *rg) -{ - ReebNode *node; - ReebArc *arc; - /* only for Acyclic graphs */ - int cyclic = isGraphCyclic(rg); - - /* mark down all arcs as non-symetric */ - for (arc = rg->arcs.first; arc; arc = arc->next) - { - arc->flags = 0; - } - - /* mark down all nodes as not on the symmetry axis */ - for (node = rg->nodes.first; node; node = node->next) - { - node->flags = 0; - } - - /* node list is sorted, so lowest node is always the head (by design) */ - node = rg->nodes.first; - - /* only work on acyclic graphs and if only one arc is incident on the first node */ - if (cyclic == 0 && countConnectedArcs(rg, node) == 1) - { - arc = node->arcs[0]; - - markdownSymmetryArc(arc, node, 1); - - /* mark down non-symetric arcs */ - for (arc = rg->arcs.first; arc; arc = arc->next) - { - if (arc->flags < 0) - { - arc->flags = 0; - } - else - { - /* mark down nodes with the lowest level symmetry axis */ - if (arc->v1->flags == 0 || arc->v1->flags > arc->flags) - { - arc->v1->flags = arc->flags; - } - if (arc->v2->flags == 0 || arc->v2->flags > arc->flags) - { - arc->v2->flags = arc->flags; - } - } - } - } -} /**************************************** SUBDIVISION ALGOS ******************************************/ @@ -5114,7 +4604,7 @@ EditBone * subdivideByAngle(ReebArc *arc, ReebNode *head, ReebNode *tail) return lastBone; } -float calcCorrelation(ReebArc *arc, int start, int end, float v0[3], float n[3]) +float calcVariance(ReebArc *arc, int start, int end, float v0[3], float n[3]) { int len = 2 + abs(end - start); @@ -5162,19 +4652,47 @@ float calcCorrelation(ReebArc *arc, int start, int end, float v0[3], float n[3]) /* adding start(0) and end(1) values to s_t */ s_t += (avg_t * avg_t) + (1 - avg_t) * (1 - avg_t); - return 1.0f - s_xyz / s_t; + return s_xyz / s_t; } else { - return 1.0f; + return 0; } } +float calcDistance(ReebArc *arc, int start, int end, float head[3], float tail[3]) +{ + ReebArcIterator iter; + EmbedBucket *bucket = NULL; + float max_dist = 0; + + /* calculate maximum distance */ + for (initArcIterator2(&iter, arc, start, end), bucket = nextBucket(&iter); + bucket; + bucket = nextBucket(&iter)) + { + float v1[3], v2[3], c[3]; + float dist; + + VecSubf(v1, head, tail); + VecSubf(v2, bucket->p, tail); + + Crossf(c, v1, v2); + + dist = Inpf(c, c) / Inpf(v1, v1); + + max_dist = dist > max_dist ? dist : max_dist; + } + + + return max_dist; +} + EditBone * subdivideByCorrelation(ReebArc *arc, ReebNode *head, ReebNode *tail) { ReebArcIterator iter; float n[3]; - float CORRELATION_THRESHOLD = G.scene->toolsettings->skgen_correlation_limit; + float ADAPTIVE_THRESHOLD = G.scene->toolsettings->skgen_correlation_limit; EditBone *lastBone = NULL; /* init iterator to get start and end from head */ @@ -5183,15 +4701,17 @@ EditBone * subdivideByCorrelation(ReebArc *arc, ReebNode *head, ReebNode *tail) /* Calculate overall */ VecSubf(n, arc->buckets[iter.end].p, head->p); - if (G.scene->toolsettings->skgen_options & SKGEN_CUT_CORRELATION && - calcCorrelation(arc, iter.start, iter.end, head->p, n) < CORRELATION_THRESHOLD) + if (G.scene->toolsettings->skgen_options & SKGEN_CUT_CORRELATION) { EmbedBucket *bucket = NULL; EmbedBucket *previous = NULL; EditBone *child = NULL; EditBone *parent = NULL; + float normal[3] = {0, 0, 0}; + float avg_normal[3]; + int total = 0; int boneStart = iter.start; - + parent = add_editbone("Bone"); parent->flag = BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL; VECCOPY(parent->head, head->p); @@ -5200,12 +4720,46 @@ EditBone * subdivideByCorrelation(ReebArc *arc, ReebNode *head, ReebNode *tail) bucket; previous = bucket, bucket = nextBucket(&iter)) { - /* Calculate normal */ - VecSubf(n, bucket->p, parent->head); + float btail[3]; + float value = 0; - if (calcCorrelation(arc, boneStart, iter.index, parent->head, n) < CORRELATION_THRESHOLD) + if (G.scene->toolsettings->skgen_options & SKGEN_STICK_TO_EMBEDDING) { - VECCOPY(parent->tail, previous->p); + VECCOPY(btail, bucket->p); + } + else + { + float length; + + /* Calculate normal */ + VecSubf(n, bucket->p, parent->head); + length = Normalize(n); + + total += 1; + VecAddf(normal, normal, n); + VECCOPY(avg_normal, normal); + VecMulf(avg_normal, 1.0f / total); + + VECCOPY(btail, avg_normal); + VecMulf(btail, length); + VecAddf(btail, btail, parent->head); + } + + if (G.scene->toolsettings->skgen_options & SKGEN_ADAPTIVE_DISTANCE) + { + value = calcDistance(arc, boneStart, iter.index, parent->head, btail); + } + else + { + float n[3]; + + VecSubf(n, btail, parent->head); + value = calcVariance(arc, boneStart, iter.index, parent->head, n); + } + + if (value > ADAPTIVE_THRESHOLD) + { + VECCOPY(parent->tail, btail); child = add_editbone("Bone"); VECCOPY(child->head, parent->tail); @@ -5214,6 +4768,9 @@ EditBone * subdivideByCorrelation(ReebArc *arc, ReebNode *head, ReebNode *tail) parent = child; // new child is next parent boneStart = iter.index; // start from end + + normal[0] = normal[1] = normal[2] = 0; + total = 0; } } @@ -5231,7 +4788,7 @@ float arcLengthRatio(ReebArc *arc) float embedLength = 0.0f; int i; - arcLength = VecLenf(arc->v1->p, arc->v2->p); + arcLength = VecLenf(arc->head->p, arc->tail->p); if (arc->bcount > 0) { @@ -5241,8 +4798,8 @@ float arcLengthRatio(ReebArc *arc) embedLength += VecLenf(arc->buckets[i - 1].p, arc->buckets[i].p); } /* Add head and tail -> embedding vectors */ - embedLength += VecLenf(arc->v1->p, arc->buckets[0].p); - embedLength += VecLenf(arc->v2->p, arc->buckets[arc->bcount - 1].p); + embedLength += VecLenf(arc->head->p, arc->buckets[0].p); + embedLength += VecLenf(arc->tail->p, arc->buckets[arc->bcount - 1].p); } else { @@ -5374,8 +4931,6 @@ void generateSkeletonFromReebGraph(ReebGraph *rg) { exit_editmode(EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); // freedata, and undo } - - setcursor_space(SPACE_VIEW3D, CURSOR_WAIT); dst = add_object(OB_ARMATURE); base_init_from_view3d(BASACT, G.vd); @@ -5392,7 +4947,7 @@ void generateSkeletonFromReebGraph(ReebGraph *rg) arcBoneMap = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp); - markdownSymmetry(rg); + BLI_markdownSymmetry((BGraph*)rg, rg->nodes.first, G.scene->toolsettings->skgen_symmetry_limit); for (arc = rg->arcs.first; arc; arc = arc->next) { @@ -5402,43 +4957,43 @@ void generateSkeletonFromReebGraph(ReebGraph *rg) /* Find out the direction of the arc through simple heuristics (in order of priority) : * - * 1- Arcs on primary symmetry axis (flags == 1) point up (head: high weight -> tail: low weight) + * 1- Arcs on primary symmetry axis (symmetry == 1) point up (head: high weight -> tail: low weight) * 2- Arcs starting on a primary axis point away from it (head: node on primary axis) * 3- Arcs point down (head: low weight -> tail: high weight) * - * Finally, the arc direction is stored in its flags: 1 (low -> high), -1 (high -> low) + * Finally, the arc direction is stored in its flag: 1 (low -> high), -1 (high -> low) */ /* if arc is a symmetry axis, internal bones go up the tree */ - if (arc->flags == 1 && arc->v2->degree != 1) + if (arc->symmetry_level == 1 && arc->tail->degree != 1) { - head = arc->v2; - tail = arc->v1; + head = arc->tail; + tail = arc->head; - arc->flags = -1; /* mark arc direction */ + arc->flag = -1; /* mark arc direction */ } /* Bones point AWAY from the symmetry axis */ - else if (arc->v1->flags == 1) + else if (arc->head->symmetry_level == 1) { - head = arc->v1; - tail = arc->v2; + head = arc->head; + tail = arc->tail; - arc->flags = 1; /* mark arc direction */ + arc->flag = 1; /* mark arc direction */ } - else if (arc->v2->flags == 1) + else if (arc->tail->symmetry_level == 1) { - head = arc->v2; - tail = arc->v1; + head = arc->tail; + tail = arc->head; - arc->flags = -1; /* mark arc direction */ + arc->flag = -1; /* mark arc direction */ } /* otherwise, always go from low weight to high weight */ else { - head = arc->v1; - tail = arc->v2; + head = arc->head; + tail = arc->tail; - arc->flags = 1; /* mark arc direction */ + arc->flag = 1; /* mark arc direction */ } /* Loop over subdivision methods */ @@ -5480,12 +5035,12 @@ void generateSkeletonFromReebGraph(ReebGraph *rg) ReebArc *incomingArc = NULL; int i; - for (i = 0; node->arcs[i] != NULL; i++) + for (i = 0; i < node->degree; i++) { - arc = node->arcs[i]; + arc = (ReebArc*)node->arcs[i]; /* if arc is incoming into the node */ - if ((arc->v1 == node && arc->flags == -1) || (arc->v2 == node && arc->flags == 1)) + if ((arc->head == node && arc->flag == -1) || (arc->tail == node && arc->flag == 1)) { if (incomingArc == NULL) { @@ -5506,12 +5061,12 @@ void generateSkeletonFromReebGraph(ReebGraph *rg) EditBone *parentBone = BLI_ghash_lookup(arcBoneMap, incomingArc); /* Look for outgoing arcs and parent their bones */ - for (i = 0; node->arcs[i] != NULL; i++) + for (i = 0; i < node->degree; i++) { arc = node->arcs[i]; /* if arc is outgoing from the node */ - if ((arc->v1 == node && arc->flags == 1) || (arc->v2 == node && arc->flags == -1)) + if ((arc->head == node && arc->flag == 1) || (arc->tail == node && arc->flag == -1)) { EditBone *childBone = BLI_ghash_lookup(arcBoneMap, arc); @@ -5529,89 +5084,21 @@ void generateSkeletonFromReebGraph(ReebGraph *rg) } BLI_ghash_free(arcBoneMap, NULL, NULL); - - setcursor_space(SPACE_VIEW3D, CURSOR_EDIT); BIF_undo_push("Generate Skeleton"); } void generateSkeleton(void) { - EditMesh *em = G.editMesh; - ReebGraph *rg = NULL; - int i; + ReebGraph *reebg; - if (em == NULL) - return; - setcursor_space(SPACE_VIEW3D, CURSOR_WAIT); - - if (weightFromDistance(em) == 0) - { - error("No selected vertex\n"); - return; - } - - renormalizeWeight(em, 1.0f); - - weightToHarmonic(em); - -#ifdef DEBUG_REEB - weightToVCol(em); -#endif - - rg = generateReebGraph(em, G.scene->toolsettings->skgen_resolution); - - verifyBuckets(rg); - - /* Remove arcs without embedding */ - filterNullReebGraph(rg); - - verifyBuckets(rg); - - - i = 1; - /* filter until there's nothing more to do */ - while (i == 1) - { - i = 0; /* no work done yet */ - - if (G.scene->toolsettings->skgen_options & SKGEN_FILTER_EXTERNAL) - { - i |= filterExternalReebGraph(rg, G.scene->toolsettings->skgen_threshold_external * G.scene->toolsettings->skgen_resolution); - } - - verifyBuckets(rg); - - if (G.scene->toolsettings->skgen_options & SKGEN_FILTER_INTERNAL) - { - i |= filterInternalReebGraph(rg, G.scene->toolsettings->skgen_threshold_internal * G.scene->toolsettings->skgen_resolution); - } - } - - verifyBuckets(rg); - - repositionNodes(rg); - verifyBuckets(rg); + reebg = BIF_ReebGraphFromEditMesh(); - /* Filtering might have created degree 2 nodes, so remove them */ - removeNormalNodes(rg); - - verifyBuckets(rg); - - for(i = 0; i < G.scene->toolsettings->skgen_postpro_passes; i++) - { - postprocessGraph(rg, G.scene->toolsettings->skgen_postpro); - } + generateSkeletonFromReebGraph(reebg); - buildAdjacencyList(rg); - - sortNodes(rg); - - sortArcs(rg); - - generateSkeletonFromReebGraph(rg); + REEB_freeGraph(reebg); - freeGraph(rg); + setcursor_space(SPACE_VIEW3D, CURSOR_EDIT); } diff --git a/source/blender/src/editconstraint.c b/source/blender/src/editconstraint.c index b6243a33944..42972e4aa5d 100644 --- a/source/blender/src/editconstraint.c +++ b/source/blender/src/editconstraint.c @@ -65,7 +65,9 @@ #include "BIF_space.h" #include "BIF_toolbox.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "blendef.h" #include "nla.h" @@ -444,7 +446,7 @@ void add_constraint (short only_IK) else if (nr==18) { char *menustr; int scriptint= 0; - +#ifndef DISABLE_PYTHON /* popup a list of usable scripts */ menustr = buildmenu_pyconstraints(NULL, &scriptint); scriptint = pupmenu(menustr); @@ -459,6 +461,7 @@ void add_constraint (short only_IK) /* make sure target allowance is set correctly */ BPY_pyconstraint_update(ob, con); } +#endif } else if (nr==19) { con = add_new_constraint(CONSTRAINT_TYPE_CHILDOF); @@ -700,7 +703,8 @@ static void test_constraints (Object *owner, const char substring[]) /* clear disabled-flag first */ curcon->flag &= ~CONSTRAINT_DISABLE; - + +#ifndef DISABLE_PYTHON /* Check specialised data (settings) for constraints that need this */ if (curcon->type == CONSTRAINT_TYPE_PYTHON) { bPythonConstraint *data = curcon->data; @@ -711,16 +715,16 @@ static void test_constraints (Object *owner, const char substring[]) } else if (BPY_is_pyconstraint(data->text)==0) { curcon->flag |= CONSTRAINT_DISABLE; - } - else { + } else { /* does the constraint require target input... also validates targets */ BPY_pyconstraint_update(owner, curcon); } - /* targets have already been checked for this */ continue; } - else if (curcon->type == CONSTRAINT_TYPE_KINEMATIC) { + else +#endif + if (curcon->type == CONSTRAINT_TYPE_KINEMATIC) { bKinematicConstraint *data = curcon->data; /* bad: we need a separate set of checks here as poletarget is @@ -869,6 +873,7 @@ void validate_pyconstraint_cb (void *arg1, void *arg2) data->text = text; } +#ifndef DISABLE_PYTHON /* this returns a string for the list of usable pyconstraint script names */ char *buildmenu_pyconstraints (Text *con_text, int *pyconindex) { @@ -909,15 +914,17 @@ char *buildmenu_pyconstraints (Text *con_text, int *pyconindex) return str; } +#endif /* DISABLE_PYTHON */ /* this callback gets called when the 'refresh' button of a pyconstraint gets pressed */ void update_pyconstraint_cb (void *arg1, void *arg2) { Object *owner= (Object *)arg1; bConstraint *con= (bConstraint *)arg2; - +#ifndef DISABLE_PYTHON if (owner && con) BPY_pyconstraint_update(owner, con); +#endif } /* ------------- Child-Of Constraint ------------------ */ diff --git a/source/blender/src/editface.c b/source/blender/src/editface.c index 77c27dfa3db..53fb6dbffb1 100644 --- a/source/blender/src/editface.c +++ b/source/blender/src/editface.c @@ -99,8 +99,10 @@ #include "BDR_unwrapper.h" #include "BDR_editobject.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif /* Pupmenu codes: */ #define UV_CUBE_MAPPING 2 @@ -1238,7 +1240,9 @@ void face_borderselect() void uv_autocalc_tface() { short mode, i=0, has_pymenu=0; /* pymenu must be bigger then UV_*_MAPPING */ +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif char menu_number[3]; /* uvmenu, will add python items */ @@ -1253,7 +1257,7 @@ void uv_autocalc_tface() MENUSTRING("Project from View (Bounds)",UV_BOUNDS_MAPPING) "|%l|" MENUSTRING("Reset", UV_RESET_MAPPING); - +#ifndef DISABLE_PYTHON /* note that we account for the 10 previous entries with i+10: */ for (pym = BPyMenuTable[PYMENU_UVCALCULATION]; pym; pym = pym->next, i++) { @@ -1268,14 +1272,15 @@ void uv_autocalc_tface() sprintf(menu_number, "%d", i+10); strcat(uvmenu, menu_number); } +#endif mode= pupmenu(uvmenu); - +#ifndef DISABLE_PYTHON if (mode >= 10) { BPY_menu_do_python(PYMENU_UVCALCULATION, mode - 10); return; } - +#endif switch(mode) { case UV_CUBE_MAPPING: calculate_uv_map(B_UVAUTO_CUBE); break; diff --git a/source/blender/src/editmesh_add.c b/source/blender/src/editmesh_add.c index 4dc64b0f933..16a5b049da2 100644 --- a/source/blender/src/editmesh_add.c +++ b/source/blender/src/editmesh_add.c @@ -90,8 +90,10 @@ #include "editmesh.h" /* bpymenu */ +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif static float icovert[12][3] = { {0,0,-200}, @@ -686,14 +688,17 @@ void addedgeface_mesh(void) } else if(amount > 4) { +#ifndef DISABLE_PYTHON /* Python Menu */ BPyMenu *pym; +#endif char menu_number[3]; int i=0, has_pymenu=0, ret; /* facemenu, will add python items */ char facemenu[4096]= "Make Faces%t|Auto%x1|Make FGon%x2|Clear FGon%x3"; +#ifndef DISABLE_PYTHON /* note that we account for the 10 previous entries with i+4: */ for (pym = BPyMenuTable[PYMENU_MESHFACEKEY]; pym; pym = pym->next, i++) { @@ -708,16 +713,18 @@ void addedgeface_mesh(void) sprintf(menu_number, "%d", i+4); strcat(facemenu, menu_number); } - +#endif ret= pupmenu(facemenu); if(ret==1) addfaces_from_edgenet(); else if(ret==2) make_fgon(1); else if(ret==3) make_fgon(0); +#ifndef DISABLE_PYTHON else if (ret >= 4) { BPY_menu_do_python(PYMENU_MESHFACEKEY, ret - 4); return; } +#endif return; } else if(amount<2) { diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c index 81d0ffeeb3b..3dbbe7d7336 100644 --- a/source/blender/src/editmesh_mods.c +++ b/source/blender/src/editmesh_mods.c @@ -1864,7 +1864,7 @@ void faceloop_select(EditEdge *startedge, int select) looking= 0; for(efa= em->faces.first; efa; efa= efa->next) { - if(efa->e4 && efa->f1==0) { /* not done quad */ + if(efa->h==0 && efa->e4 && efa->f1==0) { /* not done quad */ if(efa->e1->f1<=2 && efa->e2->f1<=2 && efa->e3->f1<=2 && efa->e4->f1<=2) { /* valence ok */ /* if edge tagged, select opposing edge and mark face ok */ diff --git a/source/blender/src/editnode.c b/source/blender/src/editnode.c index 23387673f95..f5de20891b4 100644 --- a/source/blender/src/editnode.c +++ b/source/blender/src/editnode.c @@ -40,6 +40,7 @@ #include "DNA_ipo_types.h" #include "DNA_object_types.h" #include "DNA_material_types.h" +#include "DNA_texture_types.h" #include "DNA_node_types.h" #include "DNA_space_types.h" #include "DNA_screen_types.h" @@ -53,6 +54,7 @@ #include "BKE_main.h" #include "BKE_node.h" #include "BKE_material.h" +#include "BKE_texture.h" #include "BKE_scene.h" #include "BKE_utildefines.h" @@ -176,6 +178,10 @@ static void snode_handle_recalc(SpaceNode *snode) allqueue(REDRAWNODE, 1); } + else if(snode->treetype==NTREE_TEXTURE) { + ntreeTexUpdatePreviews(snode->nodetree); + BIF_preview_changed(ID_TE); + } } static void shader_node_event(SpaceNode *snode, short event) @@ -423,6 +429,36 @@ static void composit_node_event(SpaceNode *snode, short event) } } +static void texture_node_event(SpaceNode *snode, short event) +{ + switch(event) { + case B_REDR: + allqueue(REDRAWNODE, 1); + break; + case B_NODE_LOADIMAGE: + { + bNode *node= nodeGetActive(snode->edittree); + char name[FILE_MAXDIR+FILE_MAXFILE]; + + if(node->id) + strcpy(name, ((Image *)node->id)->name); + else strcpy(name, U.textudir); + if (G.qual & LR_CTRLKEY) { + activate_imageselect(FILE_SPECIAL, "SELECT IMAGE", name, load_node_image); + } else { + activate_fileselect(FILE_SPECIAL, "SELECT IMAGE", name, load_node_image); + } + break; + } + default: + /* B_NODE_EXEC */ + ntreeTexCheckCyclics( snode->nodetree ); + snode_handle_recalc(snode); + allqueue(REDRAWNODE, 1); + break; + } +} + /* assumes nothing being done in ntree yet, sets the default in/out node */ /* called from shading buttons or header */ @@ -486,6 +522,36 @@ void node_composit_default(Scene *sce) ntreeCompositForceHidden(sce->nodetree); } +/* assumes nothing being done in ntree yet, sets the default in/out node */ +/* called from shading buttons or header */ +void node_texture_default(Tex *tx) +{ + bNode *in, *out; + bNodeSocket *fromsock, *tosock; + + /* but lets check it anyway */ + if(tx->nodetree) { + printf("error in texture initialize\n"); + return; + } + + tx->nodetree= ntreeAddTree(NTREE_TEXTURE); + + out= nodeAddNodeType(tx->nodetree, TEX_NODE_OUTPUT, NULL, NULL); + out->locx= 300.0f; out->locy= 300.0f; + + in= nodeAddNodeType(tx->nodetree, TEX_NODE_CHECKER, NULL, NULL); + in->locx= 10.0f; in->locy= 300.0f; + nodeSetActive(tx->nodetree, in); + + fromsock= in->outputs.first; + tosock= out->inputs.first; + nodeAddLink(tx->nodetree, in, fromsock, out, tosock); + + ntreeSolveOrder(tx->nodetree); /* needed for pointers */ + ntreeTexUpdatePreviews(tx->nodetree); +} + /* Here we set the active tree(s), even called for each redraw now, so keep it fast :) */ void snode_set_context(SpaceNode *snode) { @@ -516,6 +582,16 @@ void snode_set_context(SpaceNode *snode) snode->nodetree= G.scene->nodetree; } + else if(snode->treetype==NTREE_TEXTURE) { + if(ob) { + Tex *tx= give_current_texture(ob, ob->actcol); + if(tx) { + snode->from= (ID*)ob; /* please check this; i have no idea what 'from' is. */ + snode->id= &tx->id; + snode->nodetree= tx->nodetree; + } + } + } /* find editable group */ if(snode->nodetree) @@ -608,6 +684,12 @@ static void node_set_active(SpaceNode *snode, bNode *node) } } } + else if(snode->treetype==NTREE_TEXTURE) { + if(node->id) + BIF_preview_changed(-1); + allqueue(REDRAWBUTSSHADING, 1); + allqueue(REDRAWIPO, 0); + } } } @@ -1188,6 +1270,9 @@ static void scale_node(SpaceNode *snode, bNode *node) BIF_undo_push("Scale Node"); allqueue(REDRAWNODE, 1); + + if(snode->nodetree->type == NTREE_TEXTURE) + ntreeTexUpdatePreviews(snode->nodetree); } /* ******************** rename ******************* */ @@ -1702,6 +1787,12 @@ bNode *node_add_node(SpaceNode *snode, int type, float locx, float locy) NodeTagChanged(snode->edittree, node); } + + if(snode->nodetree->type==NTREE_TEXTURE) { + ntreeTexCheckCyclics(snode->edittree); + ntreeTexUpdatePreviews(snode->edittree); + } + return node; } @@ -2481,6 +2572,8 @@ void winqreadnodespace(ScrArea *sa, void *spacedata, BWinEvent *evt) shader_node_event(snode, val); else if(snode->treetype==NTREE_COMPOSIT) composit_node_event(snode, val); + else if(snode->treetype==NTREE_TEXTURE) + texture_node_event(snode, val); break; case RENDERPREVIEW: diff --git a/source/blender/src/editscreen.c b/source/blender/src/editscreen.c index 2557894d0e0..3cc306c8ea9 100644 --- a/source/blender/src/editscreen.c +++ b/source/blender/src/editscreen.c @@ -104,7 +104,10 @@ #include "BSE_seqaudio.h" #include "BSE_view.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif + #include "mydevice.h" #include "blendef.h" @@ -1378,11 +1381,13 @@ void screenmain(void) BIF_read_file(ext_load_str); sound_initialize_sounds(); } +#ifndef DISABLE_PYTHON else if ((event==ONLOAD_SCRIPT) && BPY_has_onload_script()) { /* event queued in setup_app_data() in blender.c, where G.f is checked */ onload_script = 1; firsttime = 1; /* see last 'if' in this function */ } +#endif else { towin= 1; } @@ -1518,13 +1523,14 @@ void screenmain(void) } /* Bizar hack. The event queue has mutated... */ if ( (firsttime) && (event == 0) ) { - +#ifndef DISABLE_PYTHON if (onload_script) { /* OnLoad scriptlink */ BPY_do_pyscript(&G.scene->id, SCRIPT_ONLOAD); onload_script = 0; - } - else if (G.fileflags & G_FILE_AUTOPLAY) { + } else +#endif + if (G.fileflags & G_FILE_AUTOPLAY) { // SET AUTOPLAY in G.flags for // other fileloads @@ -1887,9 +1893,9 @@ static void del_area(ScrArea *sa) uiFreeBlocks(&sa->uiblocks); uiFreePanels(&sa->panels); - +#ifndef DISABLE_PYTHON BPY_free_scriptlink(&sa->scriptlink); - +#endif if(sa==curarea) curarea= NULL; if(sa==g_activearea) g_activearea= NULL; } diff --git a/source/blender/src/gpencil.c b/source/blender/src/gpencil.c index 497443edffd..fd8bd7dc014 100644 --- a/source/blender/src/gpencil.c +++ b/source/blender/src/gpencil.c @@ -267,6 +267,7 @@ bGPDframe *gpencil_frame_duplicate (bGPDframe *src) /* make a copy of the source frame */ dst= MEM_dupallocN(src); + dst->prev= dst->next= NULL; /* copy strokes */ dst->strokes.first = dst->strokes.last= NULL; @@ -294,13 +295,18 @@ bGPDlayer *gpencil_layer_duplicate (bGPDlayer *src) /* make a copy of source layer */ dst= MEM_dupallocN(src); + dst->prev= dst->next= NULL; /* copy frames */ dst->frames.first= dst->frames.last= NULL; for (gpf= src->frames.first; gpf; gpf= gpf->next) { - /* make a copy of source stroke */ + /* make a copy of source frame */ gpfd= gpencil_frame_duplicate(gpf); BLI_addtail(&dst->frames, gpfd); + + /* if source frame was the current layer's 'active' frame, reassign that too */ + if (gpf == dst->actframe) + dst->actframe= gpfd; } /* return new layer */ diff --git a/source/blender/src/header_image.c b/source/blender/src/header_image.c index 4ca287d81c5..cf8f3c5c99d 100644 --- a/source/blender/src/header_image.c +++ b/source/blender/src/header_image.c @@ -82,8 +82,10 @@ #include "BSE_trans_types.h" #include "BSE_edit.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "IMB_imbuf_types.h" @@ -658,8 +660,9 @@ static uiBlock *image_image_rtmappingmenu(void *arg_unused) static void do_image_imagemenu(void *arg, int event) { /* events >=20 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 20) BPY_menu_do_python(PYMENU_IMAGE, event - 20); - +#endif switch(event) { case 0: @@ -704,7 +707,9 @@ static uiBlock *image_imagemenu(void *arg_unused) ImBuf *ibuf= BKE_image_get_ibuf(G.sima->image, &G.sima->iuser); uiBlock *block; short yco= 0, menuwidth=150; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i = 0; block= uiNewBlock(&curarea->uiblocks, "image_imagemenu", UI_EMBOSSP, UI_HELV, curarea->headwin); @@ -749,7 +754,7 @@ static uiBlock *image_imagemenu(void *arg_unused) uiDefIconTextBlockBut(block, image_image_rtmappingmenu, NULL, ICON_RIGHTARROW_THIN, "Realtime Texture Mapping", 0, yco-=20, 120, 19, ""); // uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Realtime Texture Animation|", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 7, ""); } - +#ifndef DISABLE_PYTHON /* note that we acount for the N previous entries with i+20: */ for (pym = BPyMenuTable[PYMENU_IMAGE]; pym; pym = pym->next, i++) { @@ -757,7 +762,7 @@ static uiBlock *image_imagemenu(void *arg_unused) NULL, 0.0, 0.0, 1, i+20, pym->tooltip?pym->tooltip:pym->filename); } - +#endif if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -948,6 +953,7 @@ static uiBlock *image_uvs_weldalignmenu(void *arg_unused) return block; } +#ifndef DISABLE_PYTHON static void do_image_uvs_scriptsmenu(void *arg, int event) { BPY_menu_do_python(PYMENU_UV, event); @@ -978,6 +984,7 @@ static uiBlock *image_uvs_scriptsmenu (void *args_unused) return block; } +#endif /* DISABLE_PYTHON */ static void do_image_uvsmenu(void *arg, int event) { @@ -1088,10 +1095,12 @@ static uiBlock *image_uvsmenu(void *arg_unused) uiDefIconTextBlockBut(block, image_uvs_showhidemenu, NULL, ICON_RIGHTARROW_THIN, "Show/Hide Faces", 0, yco-=20, menuwidth, 19, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBlockBut(block, image_uvs_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Scripts", 0, yco-=20, 120, 19, ""); - +#endif + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } diff --git a/source/blender/src/header_info.c b/source/blender/src/header_info.c index 28248c052b3..b6bd00d2ad6 100644 --- a/source/blender/src/header_info.c +++ b/source/blender/src/header_info.c @@ -115,8 +115,10 @@ #include "MEM_guardedalloc.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "GPU_extensions.h" #include "GPU_material.h" @@ -332,8 +334,9 @@ Scene *copy_scene(Scene *sce, int level) obase= obase->next; base= base->next; } +#ifndef DISABLE_PYTHON BPY_copy_scriptlink(&sce->scriptlink); - +#endif /* sculpt data */ sce->sculptdata.session = NULL; if (sce->sculptdata.cumap) { @@ -650,12 +653,14 @@ static void do_info_file_importmenu(void *arg, int event) areawinset(sa->win); } +#ifndef DISABLE_PYTHON /* events >=3 are registered bpython scripts */ if (event >= 3) { BPY_menu_do_python(PYMENU_IMPORT, event - 3); BIF_undo_push("Import file"); - } - else { + } else +#endif + { switch(event) { case 0: /* DXF */ @@ -677,7 +682,9 @@ static uiBlock *info_file_importmenu(void *arg_unused) { uiBlock *block; short yco = 20, menuwidth = 120; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i = 0; block= uiNewBlock(&curarea->uiblocks, "importmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); @@ -690,13 +697,13 @@ static uiBlock *info_file_importmenu(void *arg_unused) 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "STL...", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 2, ""); - +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); for (pym = BPyMenuTable[PYMENU_IMPORT]; pym; pym = pym->next, i++) { uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i+3, pym->tooltip?pym->tooltip:pym->filename); } - +#endif uiBlockSetDirection(block, UI_RIGHT); uiTextBoundsBlock(block, 60); @@ -712,11 +719,12 @@ static void do_info_file_exportmenu(void *arg, int event) if (!sa) sa= closest_bigger_area(); areawinset(sa->win); } - +#ifndef DISABLE_PYTHON /* events >=3 are registered bpython scripts */ if (event >= 3) BPY_menu_do_python(PYMENU_EXPORT, event - 3); - - else switch(event) { + else +#endif + switch(event) { case 0: write_vrml_fs(); @@ -735,7 +743,9 @@ static uiBlock *info_file_exportmenu(void *arg_unused) { uiBlock *block; short yco = 20, menuwidth = 120; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i = 0; block= uiNewBlock(&curarea->uiblocks, "exportmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); @@ -749,6 +759,7 @@ static uiBlock *info_file_exportmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "STL...", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 2, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); /* note that we acount for the 3 previous entries with i+3: */ @@ -757,7 +768,7 @@ static uiBlock *info_file_exportmenu(void *arg_unused) NULL, 0.0, 0.0, 1, i+3, pym->tooltip?pym->tooltip:pym->filename); } - +#endif uiBlockSetDirection(block, UI_RIGHT); uiTextBoundsBlock(block, 60); @@ -1160,9 +1171,12 @@ static uiBlock *info_filemenu(void *arg_unused) void do_info_add_meshmenu(void *arg, int event) { +#ifndef DISABLE_PYTHON if (event>=20) { BPY_menu_do_python(PYMENU_ADDMESH, event - 20); - } else { + } else +#endif + { switch(event) { case 0: /* Plane */ @@ -1214,7 +1228,9 @@ static uiBlock *info_add_meshmenu(void *arg_unused) short yco= 0; /* Python Menu */ +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i=0; block= uiNewBlock(&curarea->uiblocks, "add_meshmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); @@ -1231,7 +1247,7 @@ static uiBlock *info_add_meshmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Grid|", 0, yco-=20, 160, 19, NULL, 0.0, 0.0, 1, 8, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Monkey|", 0, yco-=20, 160, 19, NULL, 0.0, 0.0, 1, 9, ""); - +#ifndef DISABLE_PYTHON pym = BPyMenuTable[PYMENU_ADDMESH]; if (pym) { uiDefIconTextBut(block, SEPR, 0, ICON_BLANK1, "", 0, yco-=6, 160, 6, NULL, 0.0, 0.0, 0, 0, ""); @@ -1240,7 +1256,8 @@ static uiBlock *info_add_meshmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, 160, 19, NULL, 0.0, 0.0, 1, i+20, pym->tooltip?pym->tooltip:pym->filename); } } - +#endif + uiBlockSetDirection(block, UI_RIGHT); uiTextBoundsBlock(block, 50); @@ -1496,9 +1513,12 @@ static uiBlock *info_add_groupmenu(void *arg_unused) void do_info_addmenu(void *arg, int event) { +#ifndef DISABLE_PYTHON if (event>=20) { BPY_menu_do_python(PYMENU_ADD, event - 20); - } else { + } else +#endif + { switch(event) { case 0: /* Mesh */ @@ -1547,7 +1567,9 @@ static uiBlock *info_addmenu(void *arg_unused) { /* static short tog=0; */ uiBlock *block; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i=0; short yco= 0; @@ -1575,6 +1597,7 @@ static uiBlock *info_addmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Armature", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 8, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lattice", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 9, ""); +#ifndef DISABLE_PYTHON pym = BPyMenuTable[PYMENU_ADD]; if (pym) { uiDefIconTextBut(block, SEPR, 0, ICON_BLANK1, "", 0, yco-=6, 1620, 6, NULL, 0.0, 0.0, 0, 0, ""); @@ -1583,7 +1606,8 @@ static uiBlock *info_addmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, i+20, pym->tooltip?pym->tooltip:pym->filename); } } - +#endif + uiBlockSetDirection(block, UI_DOWN); uiTextBoundsBlock(block, 80); @@ -1948,9 +1972,10 @@ static void do_info_rendermenu(void *arg, int event) if (!sa) sa= closest_bigger_area(); areawinset(sa->win); } - +#ifndef DISABLE_PYTHON BPY_menu_do_python(PYMENU_RENDER, event - 10); BIF_undo_push("Rendering Script"); +#endif } else { switch(event) { @@ -1998,7 +2023,9 @@ static void do_info_rendermenu(void *arg, int event) static uiBlock *info_rendermenu(void *arg_unused) { uiBlock *block; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif short yco= 0; short menuwidth=120; int i=0; @@ -2026,12 +2053,14 @@ static uiBlock *info_rendermenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Render Settings|F10", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); for (pym = BPyMenuTable[PYMENU_RENDER]; pym; pym = pym->next, i++) { uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i+10, pym->tooltip?pym->tooltip:pym->filename); } - +#endif + uiBlockSetDirection(block, UI_DOWN); uiTextBoundsBlock(block, 80); @@ -2042,8 +2071,9 @@ static uiBlock *info_rendermenu(void *arg_unused) static void do_info_help_websitesmenu(void *arg, int event) { +#ifndef DISABLE_PYTHON BPY_menu_do_python(PYMENU_HELPWEBSITES, event); - +#endif allqueue(REDRAWVIEW3D, 0); } @@ -2051,17 +2081,19 @@ static void do_info_help_websitesmenu(void *arg, int event) static uiBlock *info_help_websitesmenu(void *arg_unused) { uiBlock *block; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif short yco = 20, menuwidth = 120; int i = 0; block= uiNewBlock(&curarea->uiblocks, "info_help_websitesmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); uiBlockSetButmFunc(block, do_info_help_websitesmenu, NULL); - +#ifndef DISABLE_PYTHON for (pym = BPyMenuTable[PYMENU_HELPWEBSITES]; pym; pym = pym->next, i++) { uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i, pym->tooltip?pym->tooltip:pym->filename); } - +#endif uiBlockSetDirection(block, UI_RIGHT); uiTextBoundsBlock(block, 60); @@ -2071,8 +2103,11 @@ static uiBlock *info_help_websitesmenu(void *arg_unused) static void do_info_help_systemmenu(void *arg, int event) { /* events >=10 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 10) BPY_menu_do_python(PYMENU_HELPSYSTEM, event - 10); - else { + else +#endif + { switch(event) { case 1: /* Benchmark */ @@ -2102,7 +2137,9 @@ static void do_info_help_systemmenu(void *arg, int event) static uiBlock *info_help_systemmenu(void *arg_unused) { uiBlock *block; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif short yco = 20, menuwidth = 120; int i = 0; @@ -2110,11 +2147,11 @@ static uiBlock *info_help_systemmenu(void *arg_unused) uiBlockSetButmFunc(block, do_info_help_systemmenu, NULL); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Benchmark", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - +#ifndef DISABLE_PYTHON for (pym = BPyMenuTable[PYMENU_HELPSYSTEM]; pym; pym = pym->next, i++) { uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i+10, pym->tooltip?pym->tooltip:pym->filename); } - +#endif uiBlockSetDirection(block, UI_RIGHT); uiTextBoundsBlock(block, 60); @@ -2132,8 +2169,11 @@ static void do_info_helpmenu(void *arg, int event) } /* events >=10 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 10) BPY_menu_do_python(PYMENU_HELP, event - 10); - else { + else +#endif + { switch(event) { case 0: /* About Blender */ @@ -2150,20 +2190,22 @@ static uiBlock *info_helpmenu(void *arg_unused) uiBlock *block; short yco= 0; short menuwidth=120; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i = 0; block= uiNewBlock(&curarea->uiblocks, "info_helpmenu", UI_EMBOSSP, UI_HELV, curarea->headwin); uiBlockSetButmFunc(block, do_info_helpmenu, NULL); uiDefIconTextBut(block, BUTM, B_SHOWSPLASH, ICON_BLANK1, "About Blender...", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); - +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); for (pym = BPyMenuTable[PYMENU_HELP]; pym; pym = pym->next, i++) { uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i+10, pym->tooltip?pym->tooltip:pym->filename); } - +#endif uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBlockBut(block, info_help_websitesmenu, NULL, ICON_RIGHTARROW_THIN, "Websites", 0, yco-=20, 120, 19, ""); diff --git a/source/blender/src/header_node.c b/source/blender/src/header_node.c index d27a41c59f5..2bd028766d1 100644 --- a/source/blender/src/header_node.c +++ b/source/blender/src/header_node.c @@ -68,6 +68,7 @@ void do_node_buttons(ScrArea *sa, unsigned short event) { SpaceNode *snode= sa->spacedata.first; Material *ma; + Tex *tx; switch(event) { case B_NODE_USEMAT: @@ -93,6 +94,21 @@ void do_node_buttons(ScrArea *sa, unsigned short event) snode_set_context(snode); allqueue(REDRAWNODE, 0); break; + + case B_NODE_USETEX: + tx = (Tex *)snode->id; + if(tx) { + tx->type = 0; + if(tx->use_nodes && tx->nodetree==NULL) { + node_texture_default(tx); + snode_set_context(snode); + } + BIF_preview_changed(ID_TE); + allqueue(REDRAWNODE, 0); + allqueue(REDRAWBUTSSHADING, 0); + allqueue(REDRAWIPO, 0); + } + break; } } @@ -424,6 +440,36 @@ static uiBlock *node_add_distortmenu(void *arg_unused) return block; } +static uiBlock *node_add_patternmenu(void *arg_unused) +{ + SpaceNode *snode= curarea->spacedata.first; + uiBlock *block; + + block= uiNewBlock(&curarea->uiblocks, "node_add_patternmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); + uiBlockSetButmFunc(block, do_node_addmenu, NULL); + + node_make_addmenu(snode, NODE_CLASS_PATTERN, block); + + uiBlockSetDirection(block, UI_RIGHT); + uiTextBoundsBlock(block, 60); + + return block; +} +static uiBlock *node_add_texturemenu(void *arg_unused) +{ + SpaceNode *snode= curarea->spacedata.first; + uiBlock *block; + + block= uiNewBlock(&curarea->uiblocks, "node_add_texturemenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); + uiBlockSetButmFunc(block, do_node_addmenu, NULL); + + node_make_addmenu(snode, NODE_CLASS_TEXTURE, block); + + uiBlockSetDirection(block, UI_RIGHT); + uiTextBoundsBlock(block, 60); + + return block; +} static uiBlock *node_add_groupmenu(void *arg_unused) { SpaceNode *snode= curarea->spacedata.first; @@ -486,7 +532,17 @@ static uiBlock *node_addmenu(void *arg_unused) uiDefIconTextBlockBut(block, node_add_distortmenu, NULL, ICON_RIGHTARROW_THIN, "Distort", 0, yco-=20, 120, 19, ""); uiDefIconTextBlockBut(block, node_add_groupmenu, NULL, ICON_RIGHTARROW_THIN, "Group", 0, yco-=20, 120, 19, ""); - } else + } else if(snode->treetype==NTREE_TEXTURE) { + uiDefIconTextBlockBut(block, node_add_inputmenu, NULL, ICON_RIGHTARROW_THIN, "Input", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_outputmenu, NULL, ICON_RIGHTARROW_THIN, "Output", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_colormenu, NULL, ICON_RIGHTARROW_THIN, "Color", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_patternmenu, NULL, ICON_RIGHTARROW_THIN, "Patterns", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_texturemenu, NULL, ICON_RIGHTARROW_THIN, "Textures", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_convertermenu, NULL, ICON_RIGHTARROW_THIN, "Convertor", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_distortmenu, NULL, ICON_RIGHTARROW_THIN, "Distort", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_groupmenu, NULL, ICON_RIGHTARROW_THIN, "Group", 0, yco-=20, 120, 19, ""); + } + else uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); if(curarea->headertype==HEADERTOP) { @@ -696,6 +752,9 @@ void node_buttons(ScrArea *sa) xco+= XIC; uiDefIconButI(block, ROW, B_REDR, ICON_IMAGE_DEHLT, xco,2,XIC,YIC-2, &(snode->treetype), 2, 1, 0, 0, "Composite Nodes"); + xco+= XIC; + uiDefIconButI(block, ROW, B_REDR, ICON_TEXTURE_DEHLT, xco,2,XIC,YIC-2, + &(snode->treetype), 2, 2, 0, 0, "Texture Nodes"); xco+= 2*XIC; uiBlockEndAlign(block); @@ -723,6 +782,19 @@ void node_buttons(ScrArea *sa) uiDefButBitS(block, TOG, SNODE_BACKDRAW, REDRAWNODE, "Backdrop", xco+5,0,80,19, &snode->flag, 0.0f, 0.0f, 0, 0, "Use active Viewer Node output as backdrop"); xco+= 80; } + else if(snode->treetype==NTREE_TEXTURE) { + if(snode->from) { + + xco= std_libbuttons(block, xco, 0, 0, NULL, B_TEXBROWSE, ID_TE, 1, snode->id, snode->from, &(snode->menunr), + B_TEXALONE, B_TEXLOCAL, B_TEXDELETE, B_AUTOTEXNAME, B_KEEPDATA); + + if(snode->id) { + Tex *tx= (Tex *)snode->id; + uiDefButC(block, TOG, B_NODE_USETEX, "Use Nodes", xco+5,0,70,19, &tx->use_nodes, 0.0f, 0.0f, 0, 0, ""); + xco+=80; + } + } + } /* always as last */ sa->headbutlen= xco+2*XIC; diff --git a/source/blender/src/header_oops.c b/source/blender/src/header_oops.c index 68326c330ad..b839029c139 100644 --- a/source/blender/src/header_oops.c +++ b/source/blender/src/header_oops.c @@ -63,8 +63,10 @@ #include "BKE_depsgraph.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif static int viewmovetemp = 0; diff --git a/source/blender/src/header_script.c b/source/blender/src/header_script.c index 53c4b9b5953..2bf58fb2873 100644 --- a/source/blender/src/header_script.c +++ b/source/blender/src/header_script.c @@ -57,8 +57,10 @@ #include "BKE_sca.h" #include "BSE_filesel.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "blendef.h" #include "mydevice.h" @@ -68,6 +70,7 @@ /* ********************** SCRIPT ****************************** */ /* action executed after clicking in Scripts menu */ +#ifndef DISABLE_PYTHON static void do_scripts_submenus(void *int_arg, int event) { int menutype = (intptr_t)int_arg; @@ -152,6 +155,7 @@ static uiBlock *script_scriptsmenu(void *arg_unused) uiTextBoundsBlock(block, 50); return block; } +#endif /* DISABLE_PYTHON */ void do_script_buttons(unsigned short event) { @@ -160,6 +164,7 @@ void do_script_buttons(unsigned short event) int nr= 1; Script *script = sc->script; +#ifndef DISABLE_PYTHON if (!sc) return; if (sc->spacetype != SPACE_SCRIPT) return; @@ -200,7 +205,7 @@ void do_script_buttons(unsigned short event) } break; } - +#endif return; } @@ -240,6 +245,7 @@ void script_buttons(void) uiBlockSetEmboss(block, UI_EMBOSS); xco+=XIC; +#ifndef DISABLE_PYTHON /* pull down menus */ if((curarea->flag & HEADER_NO_PULLDOWN)==0) { uiBlockSetEmboss(block, UI_EMBOSSP); @@ -248,7 +254,7 @@ void script_buttons(void) uiDefPulldownBut(block,script_scriptsmenu, NULL, "Scripts", xco, 0, xmax, 20, ""); xco+=xmax; } - +#endif uiBlockSetEmboss(block, UI_EMBOSS); uiBlockBeginAlign(block); diff --git a/source/blender/src/header_text.c b/source/blender/src/header_text.c index 9bb59a81192..9268642db2f 100644 --- a/source/blender/src/header_text.c +++ b/source/blender/src/header_text.c @@ -84,8 +84,10 @@ #include "BLI_blenlib.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "blendef.h" #include "mydevice.h" @@ -166,11 +168,12 @@ void do_text_buttons(unsigned short event) st->text = st->text->id.next; pop_space_text(st); } - + +#ifndef DISABLE_PYTHON BPY_clear_bad_scriptlinks(text); BPY_free_pyconstraint_links(text); free_text_controllers(text); - +#endif unlink_text(text); free_libblock(&G.main->text, text); @@ -231,7 +234,7 @@ void do_text_buttons(unsigned short event) break; } } - +#ifndef DISABLE_PYTHON static void do_text_template_scriptsmenu(void *arg, int event) { BPY_menu_do_python(PYMENU_SCRIPTTEMPLATE, event); @@ -293,6 +296,7 @@ static uiBlock *text_plugin_scriptsmenu (void *args_unused) return block; } +#endif /* action executed after clicking in File menu */ static void do_text_filemenu(void *arg, int event) @@ -316,8 +320,10 @@ static void do_text_filemenu(void *arg, int event) activate_fileselect(FILE_SPECIAL, "Open Text File", G.sce, add_text_fs); break; case 3: +#ifndef DISABLE_PYTHON if (text->compiled) BPY_free_compiled_text(text); text->compiled = NULL; +#endif if (okee("Reopen Text")) { if (!reopen_text(text)) { error("Could not reopen file"); @@ -339,6 +345,7 @@ static void do_text_filemenu(void *arg, int event) run_python_script(st); break; case 8: +#ifndef DISABLE_PYTHON { Object *ob; bConstraint *con; @@ -373,6 +380,7 @@ static void do_text_filemenu(void *arg, int event) } } } +#endif break; default: break; @@ -820,16 +828,18 @@ static uiBlock *text_filemenu(void *arg_unused) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Run Python Script|Alt P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 7, ""); - +#ifndef DISABLE_PYTHON if (BPY_is_pyconstraint(text)) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Refresh All PyConstraints", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 8, ""); - +#endif uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); } - + +#ifndef DISABLE_PYTHON uiDefIconTextBlockBut(block, text_template_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Script Templates", 0, yco-=20, 120, 19, ""); uiDefIconTextBlockBut(block, text_plugin_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Text Plugins", 0, yco-=20, 120, 19, ""); - +#endif + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -924,8 +934,10 @@ static short do_modification_check(SpaceText *st_v) { } else { switch (pupmenu("File Modified Outside Blender %t|Reload from disk %x0|Make text internal (separate copy) %x1|Ignore %x2")) { case 0: +#ifndef DISABLE_PYTHON if (text->compiled) BPY_free_compiled_text(text); text->compiled = NULL; +#endif reopen_text(text); if (st->showsyntax) txt_format_text(st); return 1; diff --git a/source/blender/src/header_view3d.c b/source/blender/src/header_view3d.c index d57fa18a705..e2caf97df05 100644 --- a/source/blender/src/header_view3d.c +++ b/source/blender/src/header_view3d.c @@ -125,8 +125,10 @@ #include "BIF_verse.h" #endif +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "blendef.h" #include "multires.h" @@ -461,6 +463,7 @@ static uiBlock *view3d_view_alignviewmenu(void *arg_unused) return block; } +#ifndef DISABLE_PYTHON static void do_view3d_view_spacehandlers(void *arg, int event) { Text *text = G.main->text.first; @@ -548,6 +551,7 @@ static uiBlock *view3d_view_spacehandlers(void *arg_unused) return block; } +#endif /* DISABLE_PYTHON */ static void do_view3d_viewmenu(void *arg, int event) { @@ -691,8 +695,10 @@ static uiBlock *view3d_viewmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Play Back Animation|Alt A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 13, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBlockBut(block, view3d_view_spacehandlers, NULL, ICON_RIGHTARROW_THIN, "Space Handler Scripts", 0, yco-=20, 120, 19, ""); +#endif if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); @@ -1468,8 +1474,10 @@ static uiBlock *view3d_select_pose_armaturemenu(void *arg_unused) void do_view3d_select_faceselmenu(void *arg, int event) { /* events >= 6 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 6) BPY_menu_do_python(PYMENU_FACESELECT, event - 6); - +#endif + switch(event) { case 0: /* border select */ borderselect(); @@ -1491,7 +1499,9 @@ static uiBlock *view3d_select_faceselmenu(void *arg_unused) { uiBlock *block; short yco= 0, menuwidth=120; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i = 0; block= uiNewBlock(&curarea->uiblocks, "view3d_select_faceselmenu", UI_EMBOSSP, UI_HELV, curarea->headwin); @@ -1507,6 +1517,7 @@ static uiBlock *view3d_select_faceselmenu(void *arg_unused) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Linked Faces|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); /* note that we account for the 6 previous entries with i+6: */ @@ -1515,7 +1526,8 @@ static uiBlock *view3d_select_faceselmenu(void *arg_unused) menuwidth, 19, NULL, 0.0, 0.0, 1, i+6, pym->tooltip?pym->tooltip:pym->filename); } - +#endif + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -2445,6 +2457,7 @@ static uiBlock *view3d_edit_object_showhidemenu(void *arg_unused) return block; } +#ifndef DISABLE_PYTHON static void do_view3d_edit_object_scriptsmenu(void *arg, int event) { BPY_menu_do_python(PYMENU_OBJECT, event); @@ -2471,6 +2484,7 @@ static uiBlock *view3d_edit_object_scriptsmenu(void *arg_unused) return block; } +#endif /* DISABLE_PYTHON */ #ifdef WITH_VERSE extern ListBase session_list; @@ -2610,9 +2624,10 @@ static uiBlock *view3d_edit_objectmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Move to Layer...|M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, ""); uiDefIconTextBlockBut(block, view3d_edit_object_showhidemenu, NULL, ICON_RIGHTARROW_THIN, "Show/Hide Objects", 0, yco-=20, 120, 19, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBlockBut(block, view3d_edit_object_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Scripts", 0, yco-=20, 120, 19, ""); - +#endif if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); @@ -3078,6 +3093,7 @@ static uiBlock *view3d_edit_mesh_showhidemenu(void *arg_unused) return block; } +#ifndef DISABLE_PYTHON static void do_view3d_edit_mesh_scriptsmenu(void *arg, int event) { BPY_menu_do_python(PYMENU_MESH, event); @@ -3104,6 +3120,7 @@ static uiBlock *view3d_edit_mesh_scriptsmenu(void *arg_unused) return block; } +#endif /* DISABLE_PYTHON */ static void do_view3d_edit_meshmenu(void *arg, int event) { @@ -3248,9 +3265,11 @@ static uiBlock *view3d_edit_meshmenu(void *arg_unused) uiDefIconTextBlockBut(block, view3d_edit_mesh_showhidemenu, NULL, ICON_RIGHTARROW_THIN, "Show/Hide Vertices", 0, yco-=20, 120, 19, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBlockBut(block, view3d_edit_mesh_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Scripts", 0, yco-=20, 120, 19, ""); - +#endif + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -3965,7 +3984,7 @@ static void do_view3d_edit_armaturemenu(void *arg, int event) } - +#ifndef DISABLE_PYTHON static void do_view3d_scripts_armaturemenu(void *arg, int event) { BPY_menu_do_python(PYMENU_ARMATURE, event); @@ -3996,6 +4015,7 @@ static uiBlock *view3d_scripts_armaturemenu(void *args_unused) return block; } +#endif /* DISABLE_PYTHON */ static void do_view3d_armature_settingsmenu(void *arg, int event) { @@ -4077,10 +4097,11 @@ static uiBlock *view3d_edit_armaturemenu(void *arg_unused) uiDefIconTextBlockBut(block, view3d_edit_armature_parentmenu, NULL, ICON_RIGHTARROW_THIN, "Parent", 0, yco-=20, 120, 19, ""); uiDefIconTextBlockBut(block, view3d_armature_settingsmenu, NULL, ICON_RIGHTARROW_THIN, "Bone Settings", 0, yco-=20, 120, 19, ""); +#ifndef DISABLE_PYTHON uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBlockBut(block, view3d_scripts_armaturemenu, NULL, ICON_RIGHTARROW_THIN, "Scripts", 0, yco-=20, 120, 19, ""); - +#endif if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -4486,8 +4507,9 @@ static uiBlock *view3d_pose_armaturemenu(void *arg_unused) static void do_view3d_vpaintmenu(void *arg, int event) { /* events >= 3 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 3) BPY_menu_do_python(PYMENU_VERTEXPAINT, event - 3); - +#endif switch(event) { case 0: /* undo vertex painting */ BIF_undo(); @@ -4509,7 +4531,9 @@ static uiBlock *view3d_vpaintmenu(void *arg_unused) { uiBlock *block; short yco= 0, menuwidth=120; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i=0; block= uiNewBlock(&curarea->uiblocks, "view3d_paintmenu", UI_EMBOSSP, UI_HELV, curarea->headwin); @@ -4519,6 +4543,7 @@ static uiBlock *view3d_vpaintmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Vertex Colors|Shift K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Shaded Vertex Colors", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); +#ifndef DISABLE_PYTHON /* note that we account for the 3 previous entries with i+3: even if the last item isnt displayed, it dosent matter */ for (pym = BPyMenuTable[PYMENU_VERTEXPAINT]; pym; pym = pym->next, i++) { @@ -4526,7 +4551,8 @@ static uiBlock *view3d_vpaintmenu(void *arg_unused) menuwidth, 19, NULL, 0.0, 0.0, 1, i+3, pym->tooltip?pym->tooltip:pym->filename); } - +#endif + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -4581,8 +4607,9 @@ static void do_view3d_wpaintmenu(void *arg, int event) Object *ob= OBACT; /* events >= 3 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 4) BPY_menu_do_python(PYMENU_WEIGHTPAINT, event - 4); - +#endif switch(event) { case 0: /* undo weight painting */ BIF_undo(); @@ -4604,7 +4631,9 @@ static uiBlock *view3d_wpaintmenu(void *arg_unused) { uiBlock *block; short yco= 0, menuwidth=120, menunr=1; +#ifndef DISABLE_PYTHON BPyMenu *pym; +#endif int i=0; block= uiNewBlock(&curarea->uiblocks, "view3d_paintmenu", UI_EMBOSSP, UI_HELV, curarea->headwin); @@ -4624,7 +4653,8 @@ static uiBlock *view3d_wpaintmenu(void *arg_unused) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); menunr++; } - + +#ifndef DISABLE_PYTHON /* note that we account for the 4 previous entries with i+4: even if the last item isnt displayed, it dosent matter */ for (pym = BPyMenuTable[PYMENU_WEIGHTPAINT]; pym; pym = pym->next, i++) { @@ -4632,7 +4662,8 @@ static uiBlock *view3d_wpaintmenu(void *arg_unused) menuwidth, 19, NULL, 0.0, 0.0, 1, i+4, pym->tooltip?pym->tooltip:pym->filename); } - +#endif + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -4904,8 +4935,9 @@ static uiBlock *view3d_faceselmenu(void *arg_unused) void do_view3d_select_particlemenu(void *arg, int event) { /* events >= 6 are registered bpython scripts */ +#ifndef DISABLE_PYTHON if (event >= 6) BPY_menu_do_python(PYMENU_FACESELECT, event - 6); - +#endif switch(event) { case 0: PE_borderselect(); diff --git a/source/blender/src/headerbuttons.c b/source/blender/src/headerbuttons.c index 44044841a99..f4135071e3e 100644 --- a/source/blender/src/headerbuttons.c +++ b/source/blender/src/headerbuttons.c @@ -161,8 +161,10 @@ #include "BDR_editmball.h" #include "BDR_sculptmode.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "GPU_draw.h" @@ -425,6 +427,15 @@ static void do_update_for_newframe(int mute, int events) /* composite */ if(G.scene->use_nodes && G.scene->nodetree) ntreeCompositTagAnimated(G.scene->nodetree); + + /* update animated texture nodes */ + { + Tex *tex; + for(tex= G.main->tex.first; tex; tex= tex->id.next) + if( tex->use_nodes && tex->nodetree ) { + ntreeTexTagAnimated( tex->nodetree ); + } + } } void update_for_newframe(void) @@ -535,6 +546,7 @@ static void filesel_u_renderdir(char *name) allqueue(REDRAWALL, 0); } +#ifndef DISABLE_PYTHON static void filesel_u_pythondir(char *name) { char dir[FILE_MAXDIR], file[FILE_MAXFILE]; @@ -550,6 +562,7 @@ static void filesel_u_pythondir(char *name) error("Invalid scripts dir: check console"); } } +#endif static void filesel_u_sounddir(char *name) { @@ -854,10 +867,25 @@ void do_global_buttons(unsigned short event) break; case B_EXTEXBROWSE: case B_TEXBROWSE: - - if(G.buts->texnr== -2) { + { + void *lockpoin = NULL; + short *menunr = 0; + + /* this is called now from Node editor too, buttons might not exist */ + if(curarea->spacetype==SPACE_NODE) { + SpaceNode *snode = curarea->spacedata.first; + menunr = &snode->menunr; + lockpoin = snode->id; + } + else if(G.buts) { + menunr = &G.buts->texnr; + lockpoin = G.buts->lockpoin; + } + else return; + + if(*menunr == -2) { - id= G.buts->lockpoin; + id= lockpoin; if(event==B_EXTEXBROWSE) { id= NULL; ma= give_current_material(ob, ob->actcol); @@ -868,16 +896,16 @@ void do_global_buttons(unsigned short event) } } if(G.qual & LR_CTRLKEY) { - activate_databrowse_imasel(id, ID_TE, 0, B_TEXBROWSE, &G.buts->texnr, do_global_buttons); + activate_databrowse_imasel((ID*)lockpoin, ID_TE, 0, B_TEXBROWSE, menunr, do_global_buttons); } else { - activate_databrowse(id, ID_TE, 0, B_TEXBROWSE, &G.buts->texnr, do_global_buttons); + activate_databrowse((ID*)lockpoin, ID_TE, 0, B_TEXBROWSE, menunr, do_global_buttons); } return; } - if(G.buts->texnr < 0) break; + if(*menunr < 0) break; - if(G.buts->pin) { + if(G.buts && G.buts->pin) { } else { @@ -892,7 +920,7 @@ void do_global_buttons(unsigned short event) idtest= G.main->tex.first; while(idtest) { - if(nr==G.buts->texnr) { + if(nr==*menunr) { break; } nr++; @@ -915,10 +943,12 @@ void do_global_buttons(unsigned short event) allqueue(REDRAWBUTSSHADING, 0); allqueue(REDRAWIPO, 0); allqueue(REDRAWOOPS, 0); + allqueue(REDRAWNODE, 0); BIF_preview_changed(ID_MA); } } break; + } case B_ACTIONDELETE: /* only available when not pinned */ if (G.saction->pin == 0) { @@ -1525,7 +1555,7 @@ void do_global_buttons(unsigned short event) activate_fileselect(FILE_SPECIAL, "SELECT RENDER PATH", U.renderdir, filesel_u_renderdir); break; - +#ifndef DISABLE_PYTHON case B_PYMENUEVAL: /* is button from space.c *info* */ waitcursor( 1 ); /* can take some time */ if (BPY_path_update() == 0) { /* re-eval scripts registration in menus */ @@ -1542,7 +1572,7 @@ void do_global_buttons(unsigned short event) activate_fileselect(FILE_SPECIAL, "SELECT SCRIPT PATH", U.pythondir, filesel_u_pythondir); break; - +#endif case B_SOUNDDIRFILESEL: /* is button from space.c *info* */ if(curarea->spacetype==SPACE_INFO) { sa= closest_bigger_area(); diff --git a/source/blender/src/interface.c b/source/blender/src/interface.c index 7c1a4668a56..7417218f253 100644 --- a/source/blender/src/interface.c +++ b/source/blender/src/interface.c @@ -96,7 +96,9 @@ #include "BSE_view.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" /* for BPY_button_eval */ +#endif #include "GHOST_Types.h" /* for tablet data */ @@ -1806,7 +1808,7 @@ static int ui_do_but_TEX(uiBut *but) ((G.qual & LR_COMMANDKEY) || (G.qual & LR_CTRLKEY)) && ((dev==XKEY) || (dev==CKEY) || (dev==VKEY)) ) { - char buf[UI_MAX_DRAW_STR]={0}; + char buf[UI_MAX_DRAW_STR+1]={0}; /* paste */ if (dev==VKEY) { @@ -2144,15 +2146,19 @@ static int ui_act_as_text_but(uiBut *but) but->max= max; if(textleft==0) but->flag &= ~UI_TEXT_LEFT; +#ifndef DISABLE_PYTHON if(BPY_button_eval(str, &value)) { /* Uncomment this if you want to see an error message (and annoy users) */ /* error("Invalid Python expression, check console");*/ value = 0.0f; /* Zero out value on error */ if(str[0]) - retval = 0; /* invalidate return value if eval failed, except when string was null */ + retval = B_NOP; /* invalidate return value if eval failed, except when string was null */ } - +#else + value=atof(str); +#endif + if(but->pointype!=FLO) value= (int)value; if(but->type==NUMABS) value= fabs(value); diff --git a/source/blender/src/interface_draw.c b/source/blender/src/interface_draw.c index 83ae449b989..78e74442342 100644 --- a/source/blender/src/interface_draw.c +++ b/source/blender/src/interface_draw.c @@ -68,6 +68,7 @@ #include "BKE_global.h" #include "BKE_key.h" #include "BKE_utildefines.h" +#include "BKE_texture.h" #include "datatoc.h" /* std font */ @@ -1978,6 +1979,7 @@ static void ui_draw_but_COLORBAND(uiBut *but) CBData *cbd; float x1, y1, sizex, sizey; float dx, v3[2], v1[2], v2[2], v1a[2], v2a[2]; + float pos, colf[4]; int a; if(coba==NULL) return; @@ -1998,7 +2000,7 @@ static void ui_draw_but_COLORBAND(uiBut *but) v1[0]+= dx; } - glShadeModel(GL_SMOOTH); + glShadeModel(GL_FLAT); glEnable(GL_BLEND); cbd= coba->data; @@ -2012,17 +2014,16 @@ static void ui_draw_but_COLORBAND(uiBut *but) glColor4fv( &cbd->r ); glVertex2fv(v1); glVertex2fv(v2); - for(a=0; a<coba->tot; a++, cbd++) { - - v1[0]=v2[0]= x1+ cbd->pos*sizex; - - glColor4fv( &cbd->r ); + for( a = 1; a < sizex; a++ ) { + pos = ((float)a) / (sizex-1); + do_colorband( coba, pos, colf ); + + v1[0]=v2[0]= x1 + a; + + glColor4fv( colf ); glVertex2fv(v1); glVertex2fv(v2); } - - v1[0]=v2[0]= x1+ sizex; - glVertex2fv(v1); glVertex2fv(v2); - + glEnd(); glShadeModel(GL_FLAT); glDisable(GL_BLEND); diff --git a/source/blender/src/poselib.c b/source/blender/src/poselib.c index b819dd2a865..13520c94b87 100644 --- a/source/blender/src/poselib.c +++ b/source/blender/src/poselib.c @@ -508,7 +508,7 @@ void poselib_rename_pose (Object *ob) if (marker == NULL) return; /* get name of pose */ - sprintf(name, marker->name); + strncpy(name, marker->name, sizeof(name)); if (sbutton(name, 0, sizeof(name)-1, "Name: ") == 0) return; diff --git a/source/blender/src/reeb.c b/source/blender/src/reeb.c index 85fb5815c3e..b37087064cb 100644 --- a/source/blender/src/reeb.c +++ b/source/blender/src/reeb.c @@ -30,10 +30,13 @@ #include <stdio.h> #include <stdlib.h> // for qsort +#include "PIL_time.h" + #include "DNA_listBase.h" #include "DNA_scene_types.h" #include "DNA_space_types.h" #include "DNA_meshdata_types.h" +#include "DNA_armature_types.h" #include "MEM_guardedalloc.h" @@ -41,14 +44,20 @@ #include "BLI_arithb.h" #include "BLI_editVert.h" #include "BLI_edgehash.h" +#include "BLI_ghash.h" +#include "BLI_heap.h" #include "BDR_editobject.h" +#include "BMF_Api.h" + #include "BIF_editmesh.h" #include "BIF_editarmature.h" #include "BIF_interface.h" #include "BIF_toolbox.h" #include "BIF_graphics.h" +#include "BIF_gl.h" +#include "BIF_resources.h" #include "BKE_global.h" #include "BKE_utildefines.h" @@ -60,6 +69,10 @@ #include "reeb.h" + +ReebGraph *GLOBAL_RG = NULL; +ReebGraph *FILTERED_RG = NULL; + /* * Skeleton generation algorithm based on: * "Harmonic Skeleton for Realistic Character Animation" @@ -72,11 +85,548 @@ * SIGGRAPH 2007 * * */ + +#define DEBUG_REEB +#define DEBUG_REEB_NODE + +typedef struct VertexData +{ + float w; /* weight */ + int i; /* index */ + ReebNode *n; +} VertexData; + +typedef struct EdgeIndex +{ + EditEdge **edges; + int *offset; +} EdgeIndex; + +typedef enum { + MERGE_LOWER, + MERGE_HIGHER, + MERGE_APPEND +} MergeDirection; int mergeArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1); +void mergeArcEdges(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc, MergeDirection direction); int mergeConnectedArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1); -EditEdge * NextEdgeForVert(EditMesh *em, EditVert *v); +EditEdge * NextEdgeForVert(EdgeIndex *indexed_edges, int index); +void mergeArcFaces(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc); +void addFacetoArc(ReebArc *arc, EditFace *efa); + +void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count); +void REEB_AxialSymmetry(BNode* root_node, BNode* node1, BNode* node2, struct BArc* barc1, BArc* barc2); + +void flipArcBuckets(ReebArc *arc); + + +/***************************************** UTILS **********************************************/ + +VertexData *allocVertexData(EditMesh *em) +{ + VertexData *data; + EditVert *eve; + int totvert, index; + + totvert = BLI_countlist(&em->verts); + + data = MEM_callocN(sizeof(VertexData) * totvert, "VertexData"); + + for(index = 0, eve = em->verts.first; eve; index++, eve = eve->next) + { + data[index].i = index; + data[index].w = 0; + eve->tmp.p = data + index; + } + + return data; +} + +int indexData(EditVert *eve) +{ + return ((VertexData*)eve->tmp.p)->i; +} + +float weightData(EditVert *eve) +{ + return ((VertexData*)eve->tmp.p)->w; +} + +void weightSetData(EditVert *eve, float w) +{ + ((VertexData*)eve->tmp.p)->w = w; +} + +ReebNode* nodeData(EditVert *eve) +{ + return ((VertexData*)eve->tmp.p)->n; +} + +void nodeSetData(EditVert *eve, ReebNode *n) +{ + ((VertexData*)eve->tmp.p)->n = n; +} + +void REEB_freeArc(BArc *barc) +{ + ReebArc *arc = (ReebArc*)barc; + BLI_freelistN(&arc->edges); + + if (arc->buckets) + MEM_freeN(arc->buckets); + + if (arc->faces) + BLI_ghash_free(arc->faces, NULL, NULL); + + MEM_freeN(arc); +} + +void REEB_freeGraph(ReebGraph *rg) +{ + ReebArc *arc; + ReebNode *node; + + // free nodes + for( node = rg->nodes.first; node; node = node->next ) + { + BLI_freeNode((BGraph*)rg, (BNode*)node); + } + BLI_freelistN(&rg->nodes); + + // free arcs + arc = rg->arcs.first; + while( arc ) + { + ReebArc *next = arc->next; + REEB_freeArc((BArc*)arc); + arc = next; + } + + // free edge map + BLI_edgehash_free(rg->emap, NULL); + + /* free linked graph */ + if (rg->link_up) + { + REEB_freeGraph(rg->link_up); + } + + MEM_freeN(rg); +} + +ReebGraph * newReebGraph() +{ + ReebGraph *rg; + rg = MEM_callocN(sizeof(ReebGraph), "reeb graph"); + + rg->totnodes = 0; + rg->emap = BLI_edgehash_new(); + + + rg->free_arc = REEB_freeArc; + rg->free_node = NULL; + rg->radial_symmetry = REEB_RadialSymmetry; + rg->axial_symmetry = REEB_AxialSymmetry; + + return rg; +} + +void BIF_flagMultiArcs(ReebGraph *rg, int flag) +{ + for ( ; rg; rg = rg->link_up) + { + BLI_flagArcs((BGraph*)rg, flag); + } +} + +ReebNode * addNode(ReebGraph *rg, EditVert *eve) +{ + float weight; + ReebNode *node = NULL; + + weight = weightData(eve); + + node = MEM_callocN(sizeof(ReebNode), "reeb node"); + + node->flag = 0; // clear flag on init + node->symmetry_level = 0; + node->arcs = NULL; + node->degree = 0; + node->weight = weight; + node->index = rg->totnodes; + VECCOPY(node->p, eve->co); + + BLI_addtail(&rg->nodes, node); + rg->totnodes++; + + nodeSetData(eve, node); + + return node; +} + +ReebNode * copyNode(ReebGraph *rg, ReebNode *node) +{ + ReebNode *cp_node = NULL; + + cp_node = MEM_callocN(sizeof(ReebNode), "reeb node copy"); + + memcpy(cp_node, node, sizeof(ReebNode)); + + cp_node->prev = NULL; + cp_node->next = NULL; + cp_node->arcs = NULL; + + cp_node->link_up = NULL; + cp_node->link_down = NULL; + + BLI_addtail(&rg->nodes, cp_node); + rg->totnodes++; + + return cp_node; +} + +void relinkNodes(ReebGraph *low_rg, ReebGraph *high_rg) +{ + ReebNode *low_node, *high_node; + + if (low_rg == NULL || high_rg == NULL) + { + return; + } + + for (low_node = low_rg->nodes.first; low_node; low_node = low_node->next) + { + for (high_node = high_rg->nodes.first; high_node; high_node = high_node->next) + { + if (low_node->index == high_node->index) + { + high_node->link_down = low_node; + low_node->link_up = high_node; + break; + } + } + } +} + +ReebNode *BIF_otherNodeFromIndex(ReebArc *arc, ReebNode *node) +{ + return (arc->head->index == node->index) ? arc->tail : arc->head; +} + +ReebNode *BIF_NodeFromIndex(ReebArc *arc, ReebNode *node) +{ + return (arc->head->index == node->index) ? arc->head : arc->tail; +} + +ReebNode *BIF_lowestLevelNode(ReebNode *node) +{ + while (node->link_down) + { + node = node->link_down; + } + + return node; +} + +ReebArc * copyArc(ReebGraph *rg, ReebArc *arc) +{ + ReebArc *cp_arc; + ReebNode *node; + + cp_arc = MEM_callocN(sizeof(ReebArc), "reeb arc copy"); + + memcpy(cp_arc, arc, sizeof(ReebArc)); + + cp_arc->link_up = arc; + + cp_arc->head = NULL; + cp_arc->tail = NULL; + + cp_arc->prev = NULL; + cp_arc->next = NULL; + + cp_arc->edges.first = NULL; + cp_arc->edges.last = NULL; + + /* copy buckets */ + cp_arc->buckets = MEM_callocN(sizeof(EmbedBucket) * cp_arc->bcount, "embed bucket"); + memcpy(cp_arc->buckets, arc->buckets, sizeof(EmbedBucket) * cp_arc->bcount); + + /* copy faces map */ + cp_arc->faces = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp); + mergeArcFaces(rg, cp_arc, arc); + + /* find corresponding head and tail */ + for (node = rg->nodes.first; node && (cp_arc->head == NULL || cp_arc->tail == NULL); node = node->next) + { + if (node->index == arc->head->index) + { + cp_arc->head = node; + } + else if (node->index == arc->tail->index) + { + cp_arc->tail = node; + } + } + + BLI_addtail(&rg->arcs, cp_arc); + + return cp_arc; +} + +ReebGraph * copyReebGraph(ReebGraph *rg, int level) +{ + ReebNode *node; + ReebArc *arc; + ReebGraph *cp_rg = newReebGraph(); + + cp_rg->resolution = rg->resolution; + cp_rg->length = rg->length; + cp_rg->link_up = rg; + cp_rg->multi_level = level; + + /* Copy nodes */ + for (node = rg->nodes.first; node; node = node->next) + { + ReebNode *cp_node = copyNode(cp_rg, node); + cp_node->multi_level = level; + } + + /* Copy arcs */ + for (arc = rg->arcs.first; arc; arc = arc->next) + { + copyArc(cp_rg, arc); + } + + BLI_buildAdjacencyList((BGraph*)cp_rg); + + return cp_rg; +} + +ReebGraph *BIF_graphForMultiNode(ReebGraph *rg, ReebNode *node) +{ + ReebGraph *multi_rg = rg; + + while(multi_rg && multi_rg->multi_level != node->multi_level) + { + multi_rg = multi_rg->link_up; + } + + return multi_rg; +} + +ReebEdge * copyEdge(ReebEdge *edge) +{ + ReebEdge *newEdge = NULL; + + newEdge = MEM_callocN(sizeof(ReebEdge), "reeb edge"); + memcpy(newEdge, edge, sizeof(ReebEdge)); + + newEdge->next = NULL; + newEdge->prev = NULL; + + return newEdge; +} + +void printArc(ReebArc *arc) +{ + ReebEdge *edge; + ReebNode *head = (ReebNode*)arc->head; + ReebNode *tail = (ReebNode*)arc->tail; + printf("arc: (%i) %f -> (%i) %f\n", head->index, head->weight, tail->index, tail->weight); + + for(edge = arc->edges.first; edge ; edge = edge->next) + { + printf("\tedge (%i, %i)\n", edge->v1->index, edge->v2->index); + } +} + +void flipArc(ReebArc *arc) +{ + ReebNode *tmp; + tmp = arc->head; + arc->head = arc->tail; + arc->tail = tmp; + + flipArcBuckets(arc); +} + +#ifdef DEBUG_REEB_NODE +void NodeDegreeDecrement(ReebGraph *rg, ReebNode *node) +{ + node->degree--; + +// if (node->degree == 0) +// { +// printf("would remove node %i\n", node->index); +// } +} + +void NodeDegreeIncrement(ReebGraph *rg, ReebNode *node) +{ +// if (node->degree == 0) +// { +// printf("first connect node %i\n", node->index); +// } + + node->degree++; +} + +#else +#define NodeDegreeDecrement(rg, node) {node->degree--;} +#define NodeDegreeIncrement(rg, node) {node->degree++;} +#endif +void repositionNodes(ReebGraph *rg) +{ + BArc *arc = NULL; + BNode *node = NULL; + + // Reset node positions + for(node = rg->nodes.first; node; node = node->next) + { + node->p[0] = node->p[1] = node->p[2] = 0; + } + + for(arc = rg->arcs.first; arc; arc = arc->next) + { + if (((ReebArc*)arc)->bcount > 0) + { + float p[3]; + + VECCOPY(p, ((ReebArc*)arc)->buckets[0].p); + VecMulf(p, 1.0f / arc->head->degree); + VecAddf(arc->head->p, arc->head->p, p); + + VECCOPY(p, ((ReebArc*)arc)->buckets[((ReebArc*)arc)->bcount - 1].p); + VecMulf(p, 1.0f / arc->tail->degree); + VecAddf(arc->tail->p, arc->tail->p, p); + } + } +} + +void verifyNodeDegree(ReebGraph *rg) +{ +#ifdef DEBUG_REEB + ReebNode *node = NULL; + ReebArc *arc = NULL; + + for(node = rg->nodes.first; node; node = node->next) + { + int count = 0; + for(arc = rg->arcs.first; arc; arc = arc->next) + { + if (arc->head == node || arc->tail == node) + { + count++; + } + } + if (count != node->degree) + { + printf("degree error in node %i: expected %i got %i\n", node->index, count, node->degree); + } + if (node->degree == 0) + { + printf("zero degree node %i with weight %f\n", node->index, node->weight); + } + } +#endif +} + +void verifyBucketsArc(ReebGraph *rg, ReebArc *arc) +{ + ReebNode *head = (ReebNode*)arc->head; + ReebNode *tail = (ReebNode*)arc->tail; + + if (arc->bcount > 0) + { + int i; + for(i = 0; i < arc->bcount; i++) + { + if (arc->buckets[i].nv == 0) + { + printArc(arc); + printf("count error in bucket %i/%i\n", i+1, arc->bcount); + } + } + + if (ceil(head->weight) != arc->buckets[0].val) + { + printArc(arc); + printf("alloc error in first bucket: %f should be %f \n", arc->buckets[0].val, ceil(head->weight)); + } + if (floor(tail->weight) != arc->buckets[arc->bcount - 1].val) + { + printArc(arc); + printf("alloc error in last bucket: %f should be %f \n", arc->buckets[arc->bcount - 1].val, floor(tail->weight)); + } + } +} + +void verifyBuckets(ReebGraph *rg) +{ +#ifdef DEBUG_REEB + ReebArc *arc = NULL; + for(arc = rg->arcs.first; arc; arc = arc->next) + { + verifyBucketsArc(rg, arc); + } +#endif +} + +void verifyFaces(ReebGraph *rg) +{ +#ifdef DEBUG_REEB + int total = 0; + ReebArc *arc = NULL; + for(arc = rg->arcs.first; arc; arc = arc->next) + { + total += BLI_ghash_size(arc->faces); + } + +#endif +} + +void verifyArcs(ReebGraph *rg) +{ + ReebArc *arc; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + if (arc->head->weight > arc->tail->weight) + { + printf("FLIPPED ARC!\n"); + } + } +} + +void verifyMultiResolutionLinks(ReebGraph *rg, int level) +{ +#ifdef DEBUG_REEB + ReebGraph *lower_rg = rg->link_up; + + if (lower_rg) + { + ReebArc *arc; + + for (arc = rg->arcs.first; arc; arc = arc->next) + { + if (BLI_findindex(&lower_rg->arcs, arc->link_up) == -1) + { + printf("missing arc %p for level %i\n", arc->link_up, level); + printf("Source arc was ---\n"); + printArc(arc); + + arc->link_up = NULL; + } + } + + + verifyMultiResolutionLinks(lower_rg, level + 1); + } +#endif +} /***************************************** BUCKET UTILS **********************************************/ void addVertToBucket(EmbedBucket *b, float co[3]) @@ -137,11 +687,30 @@ void mergeArcBuckets(ReebArc *aDst, ReebArc *aSrc, float start, float end) } } +void flipArcBuckets(ReebArc *arc) +{ + int i, j; + + for (i = 0, j = arc->bcount - 1; i < j; i++, j--) + { + EmbedBucket tmp; + + tmp = arc->buckets[i]; + arc->buckets[i] = arc->buckets[j]; + arc->buckets[j] = tmp; + } +} + +int countArcBuckets(ReebArc *arc) +{ + return (int)(floor(arc->tail->weight) - ceil(arc->head->weight)) + 1; +} + void allocArcBuckets(ReebArc *arc) { int i; - float start = ceil(arc->v1->weight); - arc->bcount = (int)(floor(arc->v2->weight) - start) + 1; + float start = ceil(arc->head->weight); + arc->bcount = countArcBuckets(arc); if (arc->bcount > 0) { @@ -164,6 +733,11 @@ void resizeArcBuckets(ReebArc *arc) EmbedBucket *oldBuckets = arc->buckets; int oldBCount = arc->bcount; + if (countArcBuckets(arc) == oldBCount) + { + return; + } + allocArcBuckets(arc); if (oldBCount != 0 && arc->bcount != 0) @@ -195,234 +769,394 @@ void resizeArcBuckets(ReebArc *arc) MEM_freeN(oldBuckets); } } -/***************************************** UTILS **********************************************/ -ReebEdge * copyEdge(ReebEdge *edge) +void reweightBuckets(ReebArc *arc) { - ReebEdge *newEdge = NULL; - - newEdge = MEM_callocN(sizeof(ReebEdge), "reeb edge"); - memcpy(newEdge, edge, sizeof(ReebEdge)); - - newEdge->next = NULL; - newEdge->prev = NULL; + int i; + float start = ceil((arc->head)->weight); - return newEdge; + if (arc->bcount > 0) + { + for(i = 0; i < arc->bcount; i++) + { + arc->buckets[i].val = start + i; + } + } } -void printArc(ReebArc *arc) +static void interpolateBuckets(ReebArc *arc, float *start_p, float *end_p, int start_index, int end_index) { - ReebEdge *edge; - printf("arc: (%i)%f -> (%i)%f\n", arc->v1->index, arc->v1->weight, arc->v2->index, arc->v2->weight); + int total; + int j; - for(edge = arc->edges.first; edge ; edge = edge->next) + total = end_index - start_index + 2; + + for (j = start_index; j <= end_index; j++) { - printf("\tedge (%i, %i)\n", edge->v1->index, edge->v2->index); + EmbedBucket *empty = arc->buckets + j; + empty->nv = 1; + VecLerpf(empty->p, start_p, end_p, (float)(j - start_index + 1) / total); } } -void freeArc(ReebArc *arc) +void fillArcEmptyBuckets(ReebArc *arc) { - BLI_freelistN(&arc->edges); + float *start_p, *end_p; + int start_index = 0, end_index = 0; + int missing = 0; + int i; - if (arc->buckets) - MEM_freeN(arc->buckets); + start_p = arc->head->p; - MEM_freeN(arc); + for(i = 0; i < arc->bcount; i++) + { + EmbedBucket *bucket = arc->buckets + i; + + if (missing) + { + if (bucket->nv > 0) + { + missing = 0; + + end_p = bucket->p; + end_index = i - 1; + + interpolateBuckets(arc, start_p, end_p, start_index, end_index); + } + } + else + { + if (bucket->nv == 0) + { + missing = 1; + + if (i > 0) + { + start_p = arc->buckets[i - 1].p; + } + start_index = i; + } + } + } + + if (missing) + { + end_p = arc->tail->p; + end_index = arc->bcount - 1; + + interpolateBuckets(arc, start_p, end_p, start_index, end_index); + } } -void freeGraph(ReebGraph *rg) +static void ExtendArcBuckets(ReebArc *arc) { - ReebArc *arc; - ReebNode *node; + ReebArcIterator iter; + EmbedBucket *previous, *bucket, *last_bucket, *first_bucket; + float average_length = 0, length; + int padding_head = 0, padding_tail = 0; - // free nodes - for( node = rg->nodes.first; node; node = node->next ) + if (arc->bcount == 0) { - // Free adjacency lists - if (node->arcs != NULL) - { - MEM_freeN(node->arcs); - } + return; /* failsafe, shouldn't happen */ } - BLI_freelistN(&rg->nodes); - // free arcs - arc = rg->arcs.first; - while( arc ) + initArcIterator(&iter, arc, arc->head); + + for ( previous = nextBucket(&iter), bucket = nextBucket(&iter); + bucket; + previous = bucket, bucket = nextBucket(&iter) + ) { - ReebArc *next = arc->next; - freeArc(arc); - arc = next; + average_length += VecLenf(previous->p, bucket->p); } + average_length /= (arc->bcount - 1); - // free edge map - BLI_edgehash_free(rg->emap, NULL); + first_bucket = arc->buckets; + last_bucket = arc->buckets + (arc->bcount - 1); - MEM_freeN(rg); -} + length = VecLenf(first_bucket->p, arc->head->p); + if (length > 2 * average_length) + { + padding_head = (int)floor(length / average_length); + } -void repositionNodes(ReebGraph *rg) -{ - ReebArc *arc = NULL; - ReebNode *node = NULL; + length = VecLenf(last_bucket->p, arc->tail->p); + if (length > 2 * average_length) + { + padding_tail = (int)floor(length / average_length); + } - // Reset node positions - for(node = rg->nodes.first; node; node = node->next) + if (padding_head + padding_tail > 0) { - node->p[0] = node->p[1] = node->p[2] = 0; + EmbedBucket *old_buckets = arc->buckets; + + arc->buckets = MEM_callocN(sizeof(EmbedBucket) * (padding_head + arc->bcount + padding_tail), "embed bucket"); + memcpy(arc->buckets + padding_head, old_buckets, arc->bcount * sizeof(EmbedBucket)); + + arc->bcount = padding_head + arc->bcount + padding_tail; + + MEM_freeN(old_buckets); } - for(arc = rg->arcs.first; arc; arc = arc->next) + if (padding_head > 0) { - if (arc->bcount > 0) - { - float p[3]; - - VECCOPY(p, arc->buckets[0].p); - VecMulf(p, 1.0f / arc->v1->degree); - VecAddf(arc->v1->p, arc->v1->p, p); - - VECCOPY(p, arc->buckets[arc->bcount - 1].p); - VecMulf(p, 1.0f / arc->v2->degree); - VecAddf(arc->v2->p, arc->v2->p, p); - } + interpolateBuckets(arc, arc->head->p, first_bucket->p, 0, padding_head); } -} - -void verifyNodeDegree(ReebGraph *rg) -{ - ReebNode *node = NULL; - ReebArc *arc = NULL; - - for(node = rg->nodes.first; node; node = node->next) + + if (padding_tail > 0) { - int count = 0; - for(arc = rg->arcs.first; arc; arc = arc->next) - { - if (arc->v1 == node || arc->v2 == node) - { - count++; - } - } - if (count != node->degree) - { - printf("degree error in node %i: expected %i got %i\n", node->index, count, node->degree); - } + interpolateBuckets(arc, last_bucket->p, arc->tail->p, arc->bcount - padding_tail, arc->bcount - 1); } } -void verifyBuckets(ReebGraph *rg) +/* CALL THIS ONLY AFTER FILTERING, SINCE IT MESSES UP WEIGHT DISTRIBUTION */ +void extendGraphBuckets(ReebGraph *rg) { -#ifdef DEBUG_REEB - ReebArc *arc = NULL; - for(arc = rg->arcs.first; arc; arc = arc->next) + ReebArc *arc; + + for (arc = rg->arcs.first; arc; arc = arc->next) { - if (arc->bcount > 0) - { - int i; - for(i = 0; i < arc->bcount; i++) - { - if (arc->buckets[i].nv == 0) - { - printArc(arc); - printf("count error in bucket %i/%i\n", i+1, arc->bcount); - } - } - - if (ceil(arc->v1->weight) < arc->buckets[0].val) - { - printArc(arc); - printf("alloc error in first bucket: %f should be %f \n", arc->buckets[0].val, ceil(arc->v1->weight)); - } - if (floor(arc->v2->weight) < arc->buckets[arc->bcount - 1].val) - { - printArc(arc); - printf("alloc error in last bucket: %f should be %f \n", arc->buckets[arc->bcount - 1].val, floor(arc->v2->weight)); - } - } + ExtendArcBuckets(arc); } -#endif } -/************************************** ADJACENCY LIST *************************************************/ +/**************************************** LENGTH CALCULATIONS ****************************************/ -void addArcToNodeAdjacencyList(ReebNode *node, ReebArc *arc) +void calculateArcLength(ReebArc *arc) { - ReebArc **arclist; + ReebArcIterator iter; + EmbedBucket *bucket = NULL; + float *vec0, *vec1; - for(arclist = node->arcs; *arclist; arclist++) - { } + arc->length = 0; - *arclist = arc; -} - -void buildAdjacencyList(ReebGraph *rg) -{ - ReebNode *node = NULL; - ReebArc *arc = NULL; + initArcIterator(&iter, arc, arc->head); - for(node = rg->nodes.first; node; node = node->next) + bucket = nextBucket(&iter); + + vec0 = arc->head->p; + vec1 = arc->head->p; /* in case there's no embedding */ + + while (bucket != NULL) { - if (node->arcs != NULL) - { - MEM_freeN(node->arcs); - } + vec1 = bucket->p; + + arc->length += VecLenf(vec0, vec1); - node->arcs = MEM_callocN((node->degree + 1) * sizeof(ReebArc*), "adjacency list"); + vec0 = vec1; + bucket = nextBucket(&iter); } + + arc->length += VecLenf(arc->tail->p, vec1); +} - for(arc = rg->arcs.first; arc; arc= arc->next) +void calculateGraphLength(ReebGraph *rg) +{ + ReebArc *arc; + + for (arc = rg->arcs.first; arc; arc = arc->next) { - addArcToNodeAdjacencyList(arc->v1, arc); - addArcToNodeAdjacencyList(arc->v2, arc); + calculateArcLength(arc); } } -int hasAdjacencyList(ReebGraph *rg) +/**************************************** SYMMETRY HANDLING ******************************************/ + +void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) { - ReebNode *node; + ReebNode *node = (ReebNode*)root_node; + float axis[3]; + int i; - for(node = rg->nodes.first; node; node = node->next) + VECCOPY(axis, root_node->symmetry_axis); + + /* first pass, merge incrementally */ + for (i = 0; i < count - 1; i++) { - if (node->arcs == NULL) + ReebNode *node1, *node2; + ReebArc *arc1, *arc2; + float tangent[3]; + float normal[3]; + int j = i + 1; + + VecAddf(tangent, ring[i].n, ring[j].n); + Crossf(normal, tangent, axis); + + node1 = (ReebNode*)BLI_otherNode(ring[i].arc, root_node); + node2 = (ReebNode*)BLI_otherNode(ring[j].arc, root_node); + + arc1 = (ReebArc*)ring[i].arc; + arc2 = (ReebArc*)ring[j].arc; + + /* mirror first node and mix with the second */ + BLI_mirrorAlongAxis(node1->p, root_node->p, normal); + VecLerpf(node2->p, node2->p, node1->p, 1.0f / (j + 1)); + + /* Merge buckets + * there shouldn't be any null arcs here, but just to be safe + * */ + if (arc1->bcount > 0 && arc2->bcount > 0) { - return 0; + ReebArcIterator iter1, iter2; + EmbedBucket *bucket1 = NULL, *bucket2 = NULL; + + initArcIterator(&iter1, arc1, (ReebNode*)root_node); + initArcIterator(&iter2, arc2, (ReebNode*)root_node); + + bucket1 = nextBucket(&iter1); + bucket2 = nextBucket(&iter2); + + /* Make sure they both start at the same value */ + while(bucket1 && bucket1->val < bucket2->val) + { + bucket1 = nextBucket(&iter1); + } + + while(bucket2 && bucket2->val < bucket1->val) + { + bucket2 = nextBucket(&iter2); + } + + + for ( ;bucket1 && bucket2; bucket1 = nextBucket(&iter1), bucket2 = nextBucket(&iter2)) + { + bucket2->nv += bucket1->nv; /* add counts */ + + /* mirror on axis */ + BLI_mirrorAlongAxis(bucket1->p, root_node->p, normal); + /* add bucket2 in bucket1 */ + VecLerpf(bucket2->p, bucket2->p, bucket1->p, (float)bucket1->nv / (float)(bucket2->nv)); + } } } - return 1; + /* second pass, mirror back on previous arcs */ + for (i = count - 1; i > 0; i--) + { + ReebNode *node1, *node2; + ReebArc *arc1, *arc2; + float tangent[3]; + float normal[3]; + int j = i - 1; + + VecAddf(tangent, ring[i].n, ring[j].n); + Crossf(normal, tangent, axis); + + node1 = (ReebNode*)BLI_otherNode(ring[i].arc, root_node); + node2 = (ReebNode*)BLI_otherNode(ring[j].arc, root_node); + + arc1 = (ReebArc*)ring[i].arc; + arc2 = (ReebArc*)ring[j].arc; + + /* copy first node than mirror */ + VECCOPY(node2->p, node1->p); + BLI_mirrorAlongAxis(node2->p, root_node->p, normal); + + /* Copy buckets + * there shouldn't be any null arcs here, but just to be safe + * */ + if (arc1->bcount > 0 && arc2->bcount > 0) + { + ReebArcIterator iter1, iter2; + EmbedBucket *bucket1 = NULL, *bucket2 = NULL; + + initArcIterator(&iter1, arc1, node); + initArcIterator(&iter2, arc2, node); + + bucket1 = nextBucket(&iter1); + bucket2 = nextBucket(&iter2); + + /* Make sure they both start at the same value */ + while(bucket1 && bucket1->val < bucket2->val) + { + bucket1 = nextBucket(&iter1); + } + + while(bucket2 && bucket2->val < bucket1->val) + { + bucket2 = nextBucket(&iter2); + } + + + for ( ;bucket1 && bucket2; bucket1 = nextBucket(&iter1), bucket2 = nextBucket(&iter2)) + { + /* copy and mirror back to bucket2 */ + bucket2->nv = bucket1->nv; + VECCOPY(bucket2->p, bucket1->p); + BLI_mirrorAlongAxis(bucket2->p, node->p, normal); + } + } + } } -int countConnectedArcs(ReebGraph *rg, ReebNode *node) +void REEB_AxialSymmetry(BNode* root_node, BNode* node1, BNode* node2, struct BArc* barc1, BArc* barc2) { - int count = 0; + ReebArc *arc1, *arc2; + float nor[3], p[3]; + + arc1 = (ReebArc*)barc1; + arc2 = (ReebArc*)barc2; + + VECCOPY(nor, root_node->symmetry_axis); - /* use adjacency list if present */ - if (node->arcs) + /* mirror node2 along axis */ + VECCOPY(p, node2->p); + BLI_mirrorAlongAxis(p, root_node->p, nor); + + /* average with node1 */ + VecAddf(node1->p, node1->p, p); + VecMulf(node1->p, 0.5f); + + /* mirror back on node2 */ + VECCOPY(node2->p, node1->p); + BLI_mirrorAlongAxis(node2->p, root_node->p, nor); + + /* Merge buckets + * there shouldn't be any null arcs here, but just to be safe + * */ + if (arc1->bcount > 0 && arc2->bcount > 0) { - ReebArc **arcs; + ReebArcIterator iter1, iter2; + EmbedBucket *bucket1 = NULL, *bucket2 = NULL; + + initArcIterator(&iter1, arc1, (ReebNode*)root_node); + initArcIterator(&iter2, arc2, (ReebNode*)root_node); + + bucket1 = nextBucket(&iter1); + bucket2 = nextBucket(&iter2); - for(arcs = node->arcs; *arcs; arcs++) + /* Make sure they both start at the same value */ + while(bucket1 && bucket1->val < bucket2->val) { - count++; + bucket1 = nextBucket(&iter1); } - } - else - { - ReebArc *arc; - for(arc = rg->arcs.first; arc; arc = arc->next) + + while(bucket2 && bucket2->val < bucket1->val) { - if (arc->v1 == node || arc->v2 == node) - { - count++; - } + bucket2 = nextBucket(&iter2); + } + + + for ( ;bucket1 && bucket2; bucket1 = nextBucket(&iter1), bucket2 = nextBucket(&iter2)) + { + bucket1->nv += bucket2->nv; /* add counts */ + + /* mirror on axis */ + BLI_mirrorAlongAxis(bucket2->p, root_node->p, nor); + /* add bucket2 in bucket1 */ + VecLerpf(bucket1->p, bucket1->p, bucket2->p, (float)bucket2->nv / (float)(bucket1->nv)); + + /* copy and mirror back to bucket2 */ + bucket2->nv = bucket1->nv; + VECCOPY(bucket2->p, bucket1->p); + BLI_mirrorAlongAxis(bucket2->p, root_node->p, nor); } } - - return count; } +/************************************** ADJACENCY LIST *************************************************/ + + /****************************************** SMOOTHING **************************************************/ void postprocessGraph(ReebGraph *rg, char mode) @@ -492,12 +1226,14 @@ int compareArcsWeight(void *varc1, void *varc2) { ReebArc *arc1 = (ReebArc*)varc1; ReebArc *arc2 = (ReebArc*)varc2; + ReebNode *node1 = (ReebNode*)arc1->head; + ReebNode *node2 = (ReebNode*)arc2->head; - if (arc1->v1->weight < arc2->v1->weight) + if (node1->weight < node2->weight) { return -1; } - if (arc1->v1->weight > arc2->v1->weight) + if (node1->weight > node2->weight) { return 1; } @@ -511,15 +1247,235 @@ void sortArcs(ReebGraph *rg) { BLI_sortlist(&rg->arcs, compareArcsWeight); } +/******************************************* JOINING ***************************************************/ + +void reweightArc(ReebGraph *rg, ReebArc *arc, ReebNode *start_node, float start_weight) +{ + ReebNode *node; + float old_weight; + float end_weight = start_weight + ABS(arc->tail->weight - arc->head->weight); + int i; + + node = (ReebNode*)BLI_otherNode((BArc*)arc, (BNode*)start_node); + + /* prevent backtracking */ + if (node->flag == 1) + { + return; + } + + if (arc->tail == start_node) + { + flipArc(arc); + } + + start_node->flag = 1; + + for (i = 0; i < node->degree; i++) + { + ReebArc *next_arc = node->arcs[i]; + + reweightArc(rg, next_arc, node, end_weight); + } + + /* update only if needed */ + if (arc->head->weight != start_weight || arc->tail->weight != end_weight) + { + old_weight = arc->head->weight; /* backup head weight, other arcs need it intact, it will be fixed by the source arc */ + + arc->head->weight = start_weight; + arc->tail->weight = end_weight; + + reweightBuckets(arc); + resizeArcBuckets(arc); + fillArcEmptyBuckets(arc); + + arc->head->weight = old_weight; + } +} + +void reweightSubgraph(ReebGraph *rg, ReebNode *start_node, float start_weight) +{ + int i; + + BLI_flagNodes((BGraph*)rg, 0); + + for (i = 0; i < start_node->degree; i++) + { + ReebArc *next_arc = start_node->arcs[i]; + + reweightArc(rg, next_arc, start_node, start_weight); + } + start_node->weight = start_weight; +} + +int joinSubgraphsEnds(ReebGraph *rg, float threshold, int nb_subgraphs) +{ + int joined = 0; + int subgraph; + + for (subgraph = 1; subgraph <= nb_subgraphs; subgraph++) + { + ReebNode *start_node, *end_node; + ReebNode *min_node_start = NULL, *min_node_end = NULL; + float min_distance = FLT_MAX; + + for (start_node = rg->nodes.first; start_node; start_node = start_node->next) + { + if (start_node->subgraph_index == subgraph && start_node->degree == 1) + { + + for (end_node = rg->nodes.first; end_node; end_node = end_node->next) + { + if (end_node->subgraph_index != subgraph) + { + float distance = VecLenf(start_node->p, end_node->p); + + if (distance < threshold && distance < min_distance) + { + min_distance = distance; + min_node_end = end_node; + min_node_start = start_node; + } + } + } + } + } + + end_node = min_node_end; + start_node = min_node_start; + + if (end_node && start_node) + { + ReebArc *start_arc, *end_arc; + int merging = 0; + + start_arc = start_node->arcs[0]; + end_arc = end_node->arcs[0]; + + if (start_arc->tail == start_node) + { + reweightSubgraph(rg, end_node, start_node->weight); + + start_arc->tail = end_node; + + merging = 1; + } + else if (start_arc->head == start_node) + { + reweightSubgraph(rg, start_node, end_node->weight); + + start_arc->head = end_node; + + merging = 2; + } + + if (merging) + { + BLI_ReflagSubgraph((BGraph*)rg, end_node->flag, subgraph); + + resizeArcBuckets(start_arc); + fillArcEmptyBuckets(start_arc); + + NodeDegreeIncrement(rg, end_node); + BLI_rebuildAdjacencyListForNode((BGraph*)rg, (BNode*)end_node); + + BLI_removeNode((BGraph*)rg, (BNode*)start_node); + } + + joined = 1; + } + } + + return joined; +} + +/* Reweight graph from smallest node, fix fliped arcs */ +void fixSubgraphsOrientation(ReebGraph *rg, int nb_subgraphs) +{ + int subgraph; + + for (subgraph = 1; subgraph <= nb_subgraphs; subgraph++) + { + ReebNode *node; + ReebNode *start_node = NULL; + + for (node = rg->nodes.first; node; node = node->next) + { + if (node->subgraph_index == subgraph) + { + if (start_node == NULL || node->weight < start_node->weight) + { + start_node = node; + } + } + } + + if (start_node) + { + reweightSubgraph(rg, start_node, start_node->weight); + } + } +} + +int joinSubgraphs(ReebGraph *rg, float threshold) +{ + int nb_subgraphs; + int joined = 0; + + BLI_buildAdjacencyList((BGraph*)rg); + + if (BLI_isGraphCyclic((BGraph*)rg)) + { + /* don't deal with cyclic graphs YET */ + return 0; + } + + /* sort nodes before flagging subgraphs to make sure root node is subgraph 0 */ + sortNodes(rg); + + nb_subgraphs = BLI_FlagSubgraphs((BGraph*)rg); + + /* Harmonic function can create flipped arcs, take the occasion to fix them */ + if (G.scene->toolsettings->skgen_options & SKGEN_HARMONIC) + { + fixSubgraphsOrientation(rg, nb_subgraphs); + } + + if (nb_subgraphs > 1) + { + joined |= joinSubgraphsEnds(rg, threshold, nb_subgraphs); + + if (joined) + { + removeNormalNodes(rg); + BLI_buildAdjacencyList((BGraph*)rg); + } + } + + return joined; +} /****************************************** FILTERING **************************************************/ +float lengthArc(ReebArc *arc) +{ +#if 0 + ReebNode *head = (ReebNode*)arc->head; + ReebNode *tail = (ReebNode*)arc->tail; + + return tail->weight - head->weight; +#else + return arc->length; +#endif +} + int compareArcs(void *varc1, void *varc2) { ReebArc *arc1 = (ReebArc*)varc1; ReebArc *arc2 = (ReebArc*)varc2; - float len1 = arc1->v2->weight - arc1->v1->weight; - float len2 = arc2->v2->weight - arc2->v1->weight; + float len1 = lengthArc(arc1); + float len2 = lengthArc(arc2); if (len1 < len2) { @@ -539,12 +1495,17 @@ void filterArc(ReebGraph *rg, ReebNode *newNode, ReebNode *removedNode, ReebArc { ReebArc *arc = NULL, *nextArc = NULL; - /* first pass, merge buckets for arcs that spawned the two nodes into the source arc*/ - for(arc = rg->arcs.first; arc; arc = arc->next) + if (merging) { - if (arc->v1 == srcArc->v1 && arc->v2 == srcArc->v2 && arc != srcArc) + /* first pass, merge buckets for arcs that spawned the two nodes into the source arc*/ + for(arc = rg->arcs.first; arc; arc = arc->next) { - mergeArcBuckets(srcArc, arc, srcArc->v1->weight, srcArc->v2->weight); + if (arc->head == srcArc->head && arc->tail == srcArc->tail && arc != srcArc) + { + ReebNode *head = srcArc->head; + ReebNode *tail = srcArc->tail; + mergeArcBuckets(srcArc, arc, head->weight, tail->weight); + } } } @@ -554,48 +1515,52 @@ void filterArc(ReebGraph *rg, ReebNode *newNode, ReebNode *removedNode, ReebArc { nextArc = arc->next; - if (arc->v1 == removedNode || arc->v2 == removedNode) + if (arc->head == removedNode || arc->tail == removedNode) { - if (arc->v1 == removedNode) + if (arc->head == removedNode) { - arc->v1 = newNode; + arc->head = newNode; } else { - arc->v2 = newNode; + arc->tail = newNode; } // Remove looped arcs - if (arc->v1 == arc->v2) + if (arc->head == arc->tail) { // v1 or v2 was already newNode, since we're removing an arc, decrement degree - newNode->degree--; + NodeDegreeDecrement(rg, newNode); - // If it's safeArc, it'll be removed later, so keep it for now + // If it's srcArc, it'll be removed later, so keep it for now if (arc != srcArc) { BLI_remlink(&rg->arcs, arc); - freeArc(arc); + REEB_freeArc((BArc*)arc); } } - // Remove flipped arcs - else if (arc->v1->weight > arc->v2->weight) - { - // Decrement degree from the other node - OTHER_NODE(arc, newNode)->degree--; - - BLI_remlink(&rg->arcs, arc); - freeArc(arc); - } else { - newNode->degree++; // incrementing degree since we're adding an arc + /* flip arcs that flipped, can happen on diamond shapes, mostly on null arcs */ + if (arc->head->weight > arc->tail->weight) + { + flipArc(arc); + } + //newNode->degree++; // incrementing degree since we're adding an arc + NodeDegreeIncrement(rg, newNode); + mergeArcFaces(rg, arc, srcArc); if (merging) { + ReebNode *head = arc->head; + ReebNode *tail = arc->tail; + // resize bucket list resizeArcBuckets(arc); - mergeArcBuckets(arc, srcArc, arc->v1->weight, arc->v2->weight); + mergeArcBuckets(arc, srcArc, head->weight, tail->weight); + + /* update length */ + arc->length += srcArc->length; } } } @@ -615,14 +1580,13 @@ void filterNullReebGraph(ReebGraph *rg) // Only collapse arcs too short to have any embed bucket if (arc->bcount == 0) { - ReebNode *newNode = arc->v1; - ReebNode *removedNode = arc->v2; + ReebNode *newNode = (ReebNode*)arc->head; + ReebNode *removedNode = (ReebNode*)arc->tail; float blend; blend = (float)newNode->degree / (float)(newNode->degree + removedNode->degree); // blending factors - //newNode->weight = FloatLerpf(newNode->weight, removedNode->weight, blend); - VecLerpf(newNode->p, newNode->p, removedNode->p, blend); + VecLerpf(newNode->p, removedNode->p, newNode->p, blend); filterArc(rg, newNode, removedNode, arc, 0); @@ -630,130 +1594,300 @@ void filterNullReebGraph(ReebGraph *rg) nextArc = arc->next; BLI_remlink(&rg->arcs, arc); - freeArc(arc); + REEB_freeArc((BArc*)arc); - BLI_freelinkN(&rg->nodes, removedNode); + BLI_removeNode((BGraph*)rg, (BNode*)removedNode); } arc = nextArc; } } -int filterInternalReebGraph(ReebGraph *rg, float threshold) +int filterInternalExternalReebGraph(ReebGraph *rg, float threshold_internal, float threshold_external) { ReebArc *arc = NULL, *nextArc = NULL; int value = 0; BLI_sortlist(&rg->arcs, compareArcs); - - arc = rg->arcs.first; - while(arc) + + for (arc = rg->arcs.first; arc; arc = nextArc) { nextArc = arc->next; // Only collapse non-terminal arcs that are shorter than threshold - if ((arc->v1->degree > 1 && arc->v2->degree > 1 && arc->v2->weight - arc->v1->weight < threshold)) + if (threshold_internal > 0 && arc->head->degree > 1 && arc->tail->degree > 1 && (lengthArc(arc) < threshold_internal)) { ReebNode *newNode = NULL; ReebNode *removedNode = NULL; - /* Keep the node with the highestn number of connected arcs */ - if (arc->v1->degree >= arc->v2->degree) + /* Always remove lower node, so arcs don't flip */ + newNode = arc->head; + removedNode = arc->tail; + + filterArc(rg, newNode, removedNode, arc, 1); + + // Reset nextArc, it might have changed + nextArc = arc->next; + + BLI_remlink(&rg->arcs, arc); + REEB_freeArc((BArc*)arc); + + BLI_removeNode((BGraph*)rg, (BNode*)removedNode); + value = 1; + } + + // Only collapse terminal arcs that are shorter than threshold + else if (threshold_external > 0 && (arc->head->degree == 1 || arc->tail->degree == 1) && (lengthArc(arc) < threshold_external)) + { + ReebNode *terminalNode = NULL; + ReebNode *middleNode = NULL; + ReebNode *removedNode = NULL; + + // Assign terminal and middle nodes + if (arc->head->degree == 1) { - newNode = arc->v1; - removedNode = arc->v2; + terminalNode = arc->head; + middleNode = arc->tail; } else { - newNode = arc->v2; - removedNode = arc->v1; + terminalNode = arc->tail; + middleNode = arc->head; } - filterArc(rg, newNode, removedNode, arc, 1); + if (middleNode->degree == 2) + { +#if 1 + // If middle node is a normal node, it will be removed later + /* USE THIS IF YOU WANT TO PROLONG ARCS TO THEIR TERMINAL NODES + * FOR HANDS, THIS IS NOT THE BEST RESULT + * */ + continue; +#else + removedNode = terminalNode; + + // removing arc, so we need to decrease the degree of the remaining node + NodeDegreeDecrement(rg, middleNode); +#endif + } + // Otherwise, just plain remove of the arc + else + { + removedNode = terminalNode; + + // removing arc, so we need to decrease the degree of the remaining node + NodeDegreeDecrement(rg, middleNode); + } // Reset nextArc, it might have changed nextArc = arc->next; BLI_remlink(&rg->arcs, arc); - freeArc(arc); + REEB_freeArc((BArc*)arc); - BLI_freelinkN(&rg->nodes, removedNode); + BLI_removeNode((BGraph*)rg, (BNode*)removedNode); value = 1; } - - arc = nextArc; } return value; } -int filterExternalReebGraph(ReebGraph *rg, float threshold) +int filterCyclesReebGraph(ReebGraph *rg, float distance_threshold) +{ + ReebArc *arc1, *arc2; + ReebArc *next2; + int filtered = 0; + + for (arc1 = rg->arcs.first; arc1; arc1 = arc1->next) + { + for (arc2 = arc1->next; arc2; arc2 = next2) + { + next2 = arc2->next; + if (arc1 != arc2 && arc1->head == arc2->head && arc1->tail == arc2->tail) + { + mergeArcEdges(rg, arc1, arc2, MERGE_APPEND); + mergeArcFaces(rg, arc1, arc2); + mergeArcBuckets(arc1, arc2, arc1->head->weight, arc1->tail->weight); + + NodeDegreeDecrement(rg, arc1->head); + NodeDegreeDecrement(rg, arc1->tail); + + BLI_remlink(&rg->arcs, arc2); + REEB_freeArc((BArc*)arc2); + + filtered = 1; + } + } + } + + return filtered; +} + +int filterSmartReebGraph(ReebGraph *rg, float threshold) { ReebArc *arc = NULL, *nextArc = NULL; int value = 0; BLI_sortlist(&rg->arcs, compareArcs); +#ifdef DEBUG_REEB + { + EditFace *efa; + for(efa=G.editMesh->faces.first; efa; efa=efa->next) { + efa->tmp.fp = -1; + } + } +#endif + arc = rg->arcs.first; while(arc) { nextArc = arc->next; + + /* need correct normals and center */ + recalc_editnormals(); - // Only collapse terminal arcs that are shorter than threshold - if ((arc->v1->degree == 1 || arc->v2->degree == 1) && arc->v2->weight - arc->v1->weight < threshold) + // Only test terminal arcs + if (arc->head->degree == 1 || arc->tail->degree == 1) { - ReebNode *terminalNode = NULL; - ReebNode *middleNode = NULL; - ReebNode *newNode = NULL; - ReebNode *removedNode = NULL; + GHashIterator ghi; int merging = 0; + int total = BLI_ghash_size(arc->faces); + float avg_angle = 0; + float avg_vec[3] = {0,0,0}; - // Assign terminal and middle nodes - if (arc->v1->degree == 1) - { - terminalNode = arc->v1; - middleNode = arc->v2; - } - else + for(BLI_ghashIterator_init(&ghi, arc->faces); + !BLI_ghashIterator_isDone(&ghi); + BLI_ghashIterator_step(&ghi)) { - terminalNode = arc->v2; - middleNode = arc->v1; + EditFace *efa = BLI_ghashIterator_getValue(&ghi); + +#if 0 + ReebArcIterator iter; + EmbedBucket *bucket = NULL; + EmbedBucket *previous = NULL; + float min_distance = -1; + float angle = 0; + + initArcIterator(&iter, arc, arc->head); + + bucket = nextBucket(&iter); + + while (bucket != NULL) + { + float *vec0 = NULL; + float *vec1 = bucket->p; + float midpoint[3], tangent[3]; + float distance; + + /* first bucket. Previous is head */ + if (previous == NULL) + { + vec0 = arc->head->p; + } + /* Previous is a valid bucket */ + else + { + vec0 = previous->p; + } + + VECCOPY(midpoint, vec1); + + distance = VecLenf(midpoint, efa->cent); + + if (min_distance == -1 || distance < min_distance) + { + min_distance = distance; + + VecSubf(tangent, vec1, vec0); + Normalize(tangent); + + angle = Inpf(tangent, efa->n); + } + + previous = bucket; + bucket = nextBucket(&iter); + } + + avg_angle += saacos(fabs(angle)); +#ifdef DEBUG_REEB + efa->tmp.fp = saacos(fabs(angle)); +#endif +#else + VecAddf(avg_vec, avg_vec, efa->n); +#endif } + + +#if 0 + avg_angle /= total; +#else + VecMulf(avg_vec, 1.0 / total); + avg_angle = Inpf(avg_vec, avg_vec); +#endif - // If middle node is a normal node, merge to terminal node - if (middleNode->degree == 2) - { + arc->angle = avg_angle; + + if (avg_angle > threshold) merging = 1; - newNode = terminalNode; - removedNode = middleNode; - } - // Otherwise, just plain remove of the arc - else - { - merging = 0; - newNode = middleNode; - removedNode = terminalNode; - } - // Merging arc if (merging) { - filterArc(rg, newNode, removedNode, arc, 1); - } - else - { - // removing arc, so we need to decrease the degree of the remaining node - newNode->degree--; + ReebNode *terminalNode = NULL; + ReebNode *middleNode = NULL; + ReebNode *newNode = NULL; + ReebNode *removedNode = NULL; + int merging = 0; + + // Assign terminal and middle nodes + if (arc->head->degree == 1) + { + terminalNode = arc->head; + middleNode = arc->tail; + } + else + { + terminalNode = arc->tail; + middleNode = arc->head; + } + + // If middle node is a normal node, merge to terminal node + if (middleNode->degree == 2) + { + merging = 1; + newNode = terminalNode; + removedNode = middleNode; + } + // Otherwise, just plain remove of the arc + else + { + merging = 0; + newNode = middleNode; + removedNode = terminalNode; + } + + // Merging arc + if (merging) + { + filterArc(rg, newNode, removedNode, arc, 1); + } + else + { + // removing arc, so we need to decrease the degree of the remaining node + //newNode->degree--; + NodeDegreeDecrement(rg, newNode); + } + + // Reset nextArc, it might have changed + nextArc = arc->next; + + BLI_remlink(&rg->arcs, arc); + REEB_freeArc((BArc*)arc); + + BLI_freelinkN(&rg->nodes, removedNode); + value = 1; } - - // Reset nextArc, it might have changed - nextArc = arc->next; - - BLI_remlink(&rg->arcs, arc); - freeArc(arc); - - BLI_freelinkN(&rg->nodes, removedNode); - value = 1; } arc = nextArc; @@ -762,6 +1896,63 @@ int filterExternalReebGraph(ReebGraph *rg, float threshold) return value; } +void filterGraph(ReebGraph *rg, short options, float threshold_internal, float threshold_external) +{ + int done = 1; + + calculateGraphLength(rg); + + if ((options & SKGEN_FILTER_EXTERNAL) == 0) + { + threshold_external = 0; + } + + if ((options & SKGEN_FILTER_INTERNAL) == 0) + { + threshold_internal = 0; + } + + if (threshold_internal > 0 || threshold_external > 0) + { + /* filter until there's nothing more to do */ + while (done == 1) + { + done = 0; /* no work done yet */ + + done = filterInternalExternalReebGraph(rg, threshold_internal, threshold_external); + } + } + + if (options & SKGEN_FILTER_SMART) + { + filterSmartReebGraph(rg, 0.5); + filterCyclesReebGraph(rg, 0.5); + } + + repositionNodes(rg); + + /* Filtering might have created degree 2 nodes, so remove them */ + removeNormalNodes(rg); +} + +void finalizeGraph(ReebGraph *rg, char passes, char method) +{ + int i; + + BLI_buildAdjacencyList((BGraph*)rg); + + sortNodes(rg); + + sortArcs(rg); + + for(i = 0; i < passes; i++) + { + postprocessGraph(rg, method); + } + + extendGraphBuckets(rg); +} + /************************************** WEIGHT SPREADING ***********************************************/ int compareVerts( const void* a, const void* b ) @@ -770,11 +1961,11 @@ int compareVerts( const void* a, const void* b ) EditVert *vb = *(EditVert**)b; int value = 0; - if (va->tmp.fp < vb->tmp.fp) + if (weightData(va) < weightData(vb)) { value = -1; } - else if (va->tmp.fp > vb->tmp.fp) + else if (weightData(va) > weightData(vb)) { value = 1; } @@ -806,109 +1997,21 @@ void spreadWeight(EditMesh *em) { eve = verts[i]; - if (i == 0 || (eve->tmp.fp - lastWeight) > FLT_EPSILON) + if (i == 0 || (weightData(eve) - lastWeight) > FLT_EPSILON) { - lastWeight = eve->tmp.fp; + lastWeight = weightData(eve); } else { work_needed = 1; - eve->tmp.fp = lastWeight + FLT_EPSILON * 2; - lastWeight = eve->tmp.fp; + weightSetData(eve, lastWeight + FLT_EPSILON * 2); + lastWeight = weightData(eve); } } } MEM_freeN(verts); } -/*********************************** GRAPH AS TREE FUNCTIONS *******************************************/ - -int subtreeDepth(ReebNode *node, ReebArc *rootArc) -{ - int depth = 0; - - /* Base case, no arcs leading away */ - if (node->arcs == NULL || *(node->arcs) == NULL) - { - return 0; - } - else - { - ReebArc ** pArc; - - for(pArc = node->arcs; *pArc; pArc++) - { - ReebArc *arc = *pArc; - - /* only arcs that go down the tree */ - if (arc != rootArc) - { - ReebNode *newNode = OTHER_NODE(arc, node); - depth = MAX2(depth, subtreeDepth(newNode, arc)); - } - } - } - - return depth + 1; -} - -/*************************************** CYCLE DETECTION ***********************************************/ - -int detectCycle(ReebNode *node, ReebArc *srcArc) -{ - int value = 0; - - if (node->flags == 0) - { - ReebArc ** pArc; - - /* mark node as visited */ - node->flags = 1; - - for(pArc = node->arcs; *pArc && value == 0; pArc++) - { - ReebArc *arc = *pArc; - - /* don't go back on the source arc */ - if (arc != srcArc) - { - value = detectCycle(OTHER_NODE(arc, node), arc); - } - } - } - else - { - value = 1; - } - - return value; -} - -int isGraphCyclic(ReebGraph *rg) -{ - ReebNode *node; - int value = 0; - - /* NEED TO CHECK IF ADJACENCY LIST EXIST */ - - /* Mark all nodes as not visited */ - for(node = rg->nodes.first; node; node = node->next) - { - node->flags = 0; - } - - /* detectCycles in subgraphs */ - for(node = rg->nodes.first; node && value == 0; node = node->next) - { - /* only for nodes in subgraphs that haven't been visited yet */ - if (node->flags == 0) - { - value = value || detectCycle(node, NULL); - } - } - - return value; -} /******************************************** EXPORT ***************************************************/ @@ -917,9 +2020,8 @@ void exportNode(FILE *f, char *text, ReebNode *node) fprintf(f, "%s i:%i w:%f d:%i %f %f %f\n", text, node->index, node->weight, node->degree, node->p[0], node->p[1], node->p[2]); } -void exportGraph(ReebGraph *rg, int count) +void REEB_exportGraph(ReebGraph *rg, int count) { -#ifdef DEBUG_REEB ReebArc *arc; char filename[128]; FILE *f; @@ -937,78 +2039,107 @@ void exportGraph(ReebGraph *rg, int count) for(arc = rg->arcs.first; arc; arc = arc->next) { int i; + float p[3]; - exportNode(f, "v1", arc->v1); + exportNode(f, "v1", arc->head); for(i = 0; i < arc->bcount; i++) { fprintf(f, "b nv:%i %f %f %f\n", arc->buckets[i].nv, arc->buckets[i].p[0], arc->buckets[i].p[1], arc->buckets[i].p[2]); } - exportNode(f, "v2", arc->v2); + VecAddf(p, arc->tail->p, arc->head->p); + VecMulf(p, 0.5f); + + fprintf(f, "angle %0.3f %0.3f %0.3f %0.3f %i\n", p[0], p[1], p[2], arc->angle, BLI_ghash_size(arc->faces)); + exportNode(f, "v2", arc->tail); } fclose(f); -#endif } /***************************************** MAIN ALGORITHM **********************************************/ -ReebArc * findConnectedArc(ReebGraph *rg, ReebArc *arc, ReebNode *v) +/* edges alone will create zero degree nodes, use this function to remove them */ +void removeZeroNodes(ReebGraph *rg) { - ReebArc *nextArc = arc->next; + ReebNode *node, *next_node; - for(nextArc = rg->arcs.first; nextArc; nextArc = nextArc->next) + for (node = rg->nodes.first; node; node = next_node) { - if (arc != nextArc && (nextArc->v1 == v || nextArc->v2 == v)) + next_node = node->next; + + if (node->degree == 0) { - break; + BLI_removeNode((BGraph*)rg, (BNode*)node); } } - - return nextArc; } void removeNormalNodes(ReebGraph *rg) { - ReebArc *arc; + ReebArc *arc, *nextArc; // Merge degree 2 nodes - for(arc = rg->arcs.first; arc; arc = arc->next) + for(arc = rg->arcs.first; arc; arc = nextArc) { - while (arc->v1->degree == 2 || arc->v2->degree == 2) + nextArc = arc->next; + + while (arc->head->degree == 2 || arc->tail->degree == 2) { // merge at v1 - if (arc->v1->degree == 2) + if (arc->head->degree == 2) { - ReebArc *nextArc = findConnectedArc(rg, arc, arc->v1); + ReebArc *connectedArc = (ReebArc*)BLI_findConnectedArc((BGraph*)rg, (BArc*)arc, (BNode*)arc->head); - // Merge arc only if needed - if (arc->v1 == nextArc->v2) - { - mergeConnectedArcs(rg, arc, nextArc); + /* If arcs are one after the other */ + if (arc->head == connectedArc->tail) + { + /* remove furthest arc */ + if (arc->tail->weight < connectedArc->head->weight) + { + mergeConnectedArcs(rg, arc, connectedArc); + nextArc = arc->next; + } + else + { + mergeConnectedArcs(rg, connectedArc, arc); + break; /* arc was removed, move to next */ + } } - // Otherwise, mark down vert + /* Otherwise, arcs are side by side */ else { - arc->v1->degree = 3; + /* Don't do anything, we need to keep the lowest node, even if degree 2 */ + break; } } // merge at v2 - if (arc->v2->degree == 2) + if (arc->tail->degree == 2) { - ReebArc *nextArc = findConnectedArc(rg, arc, arc->v2); + ReebArc *connectedArc = (ReebArc*)BLI_findConnectedArc((BGraph*)rg, (BArc*)arc, (BNode*)arc->tail); - // Merge arc only if needed - if (arc->v2 == nextArc->v1) + /* If arcs are one after the other */ + if (arc->tail == connectedArc->head) { - mergeConnectedArcs(rg, arc, nextArc); + /* remove furthest arc */ + if (arc->head->weight < connectedArc->tail->weight) + { + mergeConnectedArcs(rg, arc, connectedArc); + nextArc = arc->next; + } + else + { + mergeConnectedArcs(rg, connectedArc, arc); + break; /* arc was removed, move to next */ + } } - // Otherwise, mark down vert + /* Otherwise, arcs are side by side */ else { - arc->v2->degree = 3; + /* Don't do anything, we need to keep the lowest node, even if degree 2 */ + break; } } } @@ -1041,11 +2172,23 @@ ReebArc *nextArcMappedToEdge(ReebArc *arc, ReebEdge *e) return result; } -typedef enum { - MERGE_LOWER, - MERGE_HIGHER, - MERGE_APPEND -} MergeDirection; +void addFacetoArc(ReebArc *arc, EditFace *efa) +{ + BLI_ghash_insert(arc->faces, efa, efa); +} + +void mergeArcFaces(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc) +{ + GHashIterator ghi; + + for(BLI_ghashIterator_init(&ghi, aSrc->faces); + !BLI_ghashIterator_isDone(&ghi); + BLI_ghashIterator_step(&ghi)) + { + EditFace *efa = BLI_ghashIterator_getValue(&ghi); + BLI_ghash_insert(aDst->faces, efa, efa); + } +} void mergeArcEdges(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc, MergeDirection direction) { @@ -1109,29 +2252,32 @@ int mergeConnectedArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1) int result = 0; ReebNode *removedNode = NULL; + a0->length += a1->length; + mergeArcEdges(rg, a0, a1, MERGE_APPEND); + mergeArcFaces(rg, a0, a1); // Bring a0 to the combine length of both arcs - if (a0->v2 == a1->v1) + if (a0->tail == a1->head) { - removedNode = a0->v2; - a0->v2 = a1->v2; + removedNode = a0->tail; + a0->tail = a1->tail; } - else if (a0->v1 == a1->v2) + else if (a0->head == a1->tail) { - removedNode = a0->v1; - a0->v1 = a1->v1; + removedNode = a0->head; + a0->head = a1->head; } resizeArcBuckets(a0); // Merge a1 in a0 - mergeArcBuckets(a0, a1, a0->v1->weight, a0->v2->weight); + mergeArcBuckets(a0, a1, a0->head->weight, a0->tail->weight); // remove a1 from graph BLI_remlink(&rg->arcs, a1); - freeArc(a1); + REEB_freeArc((BArc*)a1); - BLI_freelinkN(&rg->nodes, removedNode); + BLI_removeNode((BGraph*)rg, (BNode*)removedNode); result = 1; return result; @@ -1141,74 +2287,89 @@ int mergeArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1) { int result = 0; // TRIANGLE POINTS DOWN - if (a0->v1->weight == a1->v1->weight) // heads are the same + if (a0->head->weight == a1->head->weight) // heads are the same { - if (a0->v2->weight == a1->v2->weight) // tails also the same, arcs can be totally merge together + if (a0->tail->weight == a1->tail->weight) // tails also the same, arcs can be totally merge together { mergeArcEdges(rg, a0, a1, MERGE_APPEND); + mergeArcFaces(rg, a0, a1); - mergeArcBuckets(a0, a1, a0->v1->weight, a0->v2->weight); + mergeArcBuckets(a0, a1, a0->head->weight, a0->tail->weight); // Adjust node degree - a1->v1->degree--; - a1->v2->degree--; + //a1->head->degree--; + NodeDegreeDecrement(rg, a1->head); + //a1->tail->degree--; + NodeDegreeDecrement(rg, a1->tail); // remove a1 from graph BLI_remlink(&rg->arcs, a1); - freeArc(a1); + REEB_freeArc((BArc*)a1); result = 1; } - else if (a0->v2->weight > a1->v2->weight) // a1->v2->weight is in the middle + else if (a0->tail->weight > a1->tail->weight) // a1->tail->weight is in the middle { mergeArcEdges(rg, a1, a0, MERGE_LOWER); + mergeArcFaces(rg, a1, a0); // Adjust node degree - a0->v1->degree--; - a1->v2->degree++; + //a0->head->degree--; + NodeDegreeDecrement(rg, a0->head); + //a1->tail->degree++; + NodeDegreeIncrement(rg, a1->tail); - mergeArcBuckets(a1, a0, a1->v1->weight, a1->v2->weight); - a0->v1 = a1->v2; + mergeArcBuckets(a1, a0, a1->head->weight, a1->tail->weight); + a0->head = a1->tail; resizeArcBuckets(a0); } else // a0>n2 is in the middle { mergeArcEdges(rg, a0, a1, MERGE_LOWER); + mergeArcFaces(rg, a0, a1); // Adjust node degree - a1->v1->degree--; - a0->v2->degree++; + //a1->head->degree--; + NodeDegreeDecrement(rg, a1->head); + //a0->tail->degree++; + NodeDegreeIncrement(rg, a0->tail); - mergeArcBuckets(a0, a1, a0->v1->weight, a0->v2->weight); - a1->v1 = a0->v2; + mergeArcBuckets(a0, a1, a0->head->weight, a0->tail->weight); + a1->head = a0->tail; resizeArcBuckets(a1); } } // TRIANGLE POINTS UP - else if (a0->v2->weight == a1->v2->weight) // tails are the same + else if (a0->tail->weight == a1->tail->weight) // tails are the same { - if (a0->v1->weight > a1->v1->weight) // a0->v1->weight is in the middle + if (a0->head->weight > a1->head->weight) // a0->head->weight is in the middle { mergeArcEdges(rg, a0, a1, MERGE_HIGHER); + mergeArcFaces(rg, a0, a1); // Adjust node degree - a1->v2->degree--; - a0->v1->degree++; + //a1->tail->degree--; + NodeDegreeDecrement(rg, a1->tail); + //a0->head->degree++; + NodeDegreeIncrement(rg, a0->head); - mergeArcBuckets(a0, a1, a0->v1->weight, a0->v2->weight); - a1->v2 = a0->v1; + mergeArcBuckets(a0, a1, a0->head->weight, a0->tail->weight); + a1->tail = a0->head; resizeArcBuckets(a1); } - else // a1->v1->weight is in the middle + else // a1->head->weight is in the middle { mergeArcEdges(rg, a1, a0, MERGE_HIGHER); + mergeArcFaces(rg, a1, a0); // Adjust node degree - a0->v2->degree--; - a1->v1->degree++; + //a0->tail->degree--; + NodeDegreeDecrement(rg, a0->tail); + //a1->head->degree++; + NodeDegreeIncrement(rg, a1->head); - mergeArcBuckets(a1, a0, a1->v1->weight, a1->v2->weight); - a0->v2 = a1->v1; + mergeArcBuckets(a1, a0, a1->head->weight, a1->tail->weight); + a0->tail = a1->head; resizeArcBuckets(a0); } } @@ -1229,7 +2390,7 @@ void glueByMergeSort(ReebGraph *rg, ReebArc *a0, ReebArc *a1, ReebEdge *e0, Reeb if (total == 0) // if it wasn't a total merge, go forward { - if (a0->v2->weight < a1->v2->weight) + if (a0->tail->weight < a1->tail->weight) { a0 = nextArcMappedToEdge(a0, e0); } @@ -1252,25 +2413,6 @@ void mergePaths(ReebGraph *rg, ReebEdge *e0, ReebEdge *e1, ReebEdge *e2) glueByMergeSort(rg, a0, a2, e0, e2); } -ReebNode * addNode(ReebGraph *rg, EditVert *eve, float weight) -{ - ReebNode *node = NULL; - - node = MEM_callocN(sizeof(ReebNode), "reeb node"); - - node->flags = 0; // clear flags on init - node->arcs = NULL; - node->degree = 0; - node->weight = weight; - node->index = rg->totnodes; - VECCOPY(node->p, eve->co); - - BLI_addtail(&rg->nodes, node); - rg->totnodes++; - - return node; -} - ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) { ReebEdge *edge; @@ -1288,7 +2430,9 @@ ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) arc = MEM_callocN(sizeof(ReebArc), "reeb arc"); edge = MEM_callocN(sizeof(ReebEdge), "reeb edge"); - arc->flags = 0; // clear flags on init + arc->flag = 0; // clear flag on init + arc->symmetry_level = 0; + arc->faces = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp); if (node1->weight <= node2->weight) { @@ -1301,12 +2445,14 @@ ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) v2 = node1; } - arc->v1 = v1; - arc->v2 = v2; + arc->head = v1; + arc->tail = v2; // increase node degree - v1->degree++; - v2->degree++; + //v1->degree++; + NodeDegreeIncrement(rg, v1); + //v2->degree++; + NodeDegreeIncrement(rg, v2); BLI_edgehash_insert(rg->emap, node1->index, node2->index, edge); @@ -1321,8 +2467,8 @@ ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) /* adding buckets for embedding */ allocArcBuckets(arc); - offset = arc->v1->weight; - len = arc->v2->weight - arc->v1->weight; + offset = arc->head->weight; + len = arc->tail->weight - arc->head->weight; #if 0 /* This is the actual embedding filling described in the paper @@ -1330,8 +2476,8 @@ ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) */ if (arc->bcount > 0) { - addVertToBucket(&(arc->buckets[0]), arc->v1->co); - addVertToBucket(&(arc->buckets[arc->bcount - 1]), arc->v2->co); + addVertToBucket(&(arc->buckets[0]), arc->head->co); + addVertToBucket(&(arc->buckets[arc->bcount - 1]), arc->tail->co); } #else for(i = 0; i < arc->bcount; i++) @@ -1349,7 +2495,7 @@ ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) return edge; } -void addTriangleToGraph(ReebGraph *rg, ReebNode * n1, ReebNode * n2, ReebNode * n3) +void addTriangleToGraph(ReebGraph *rg, ReebNode * n1, ReebNode * n2, ReebNode * n3, EditFace *efa) { ReebEdge *re1, *re2, *re3; ReebEdge *e1, *e2, *e3; @@ -1359,6 +2505,10 @@ void addTriangleToGraph(ReebGraph *rg, ReebNode * n1, ReebNode * n2, ReebNode * re2 = createArc(rg, n2, n3); re3 = createArc(rg, n3, n1); + addFacetoArc(re1->arc, efa); + addFacetoArc(re2->arc, efa); + addFacetoArc(re3->arc, efa); + len1 = (float)fabs(n1->weight - n2->weight); len2 = (float)fabs(n2->weight - n3->weight); len3 = (float)fabs(n3->weight - n1->weight); @@ -1401,7 +2551,6 @@ void addTriangleToGraph(ReebGraph *rg, ReebNode * n1, ReebNode * n2, ReebNode * ReebGraph * generateReebGraph(EditMesh *em, int subdivisions) { ReebGraph *rg; - struct DynamicList * dlist; EditVert *eve; EditFace *efa; int index; @@ -1412,10 +2561,9 @@ ReebGraph * generateReebGraph(EditMesh *em, int subdivisions) int countfaces = 0; #endif - rg = MEM_callocN(sizeof(ReebGraph), "reeb graph"); + rg = newReebGraph(); - rg->totnodes = 0; - rg->emap = BLI_edgehash_new(); + rg->resolution = subdivisions; totvert = BLI_countlist(&em->verts); totfaces = BLI_countlist(&em->faces); @@ -1425,47 +2573,50 @@ ReebGraph * generateReebGraph(EditMesh *em, int subdivisions) /* Spread weight to minimize errors */ spreadWeight(em); - renormalizeWeight(em, (float)subdivisions); + renormalizeWeight(em, (float)rg->resolution); /* Adding vertice */ - for(index = 0, eve = em->verts.first; eve; index++, eve = eve->next) + for(index = 0, eve = em->verts.first; eve; eve = eve->next) { - eve->hash = index; - eve->f2 = 0; - eve->tmp.p = addNode(rg, eve, eve->tmp.fp); + if (eve->h == 0) + { + addNode(rg, eve); + eve->f2 = 0; + index++; + } } - /* Temporarely convert node list to dynamic list, for indexed access */ - dlist = BLI_dlist_from_listbase(&rg->nodes); - /* Adding face, edge per edge */ for(efa = em->faces.first; efa; efa = efa->next) { - ReebNode *n1, *n2, *n3; - - n1 = (ReebNode*)BLI_dlist_find_link(dlist, efa->v1->hash); - n2 = (ReebNode*)BLI_dlist_find_link(dlist, efa->v2->hash); - n3 = (ReebNode*)BLI_dlist_find_link(dlist, efa->v3->hash); - - addTriangleToGraph(rg, n1, n2, n3); - - if (efa->v4) + if (efa->h == 0) { - ReebNode *n4 = (ReebNode*)efa->v4->tmp.p; - addTriangleToGraph(rg, n1, n3, n4); - } - + ReebNode *n1, *n2, *n3; + + n1 = nodeData(efa->v1); + n2 = nodeData(efa->v2); + n3 = nodeData(efa->v3); + + addTriangleToGraph(rg, n1, n2, n3, efa); + + if (efa->v4) + { + ReebNode *n4 = nodeData(efa->v4); + addTriangleToGraph(rg, n1, n3, n4, efa); + } #ifdef DEBUG_REEB - countfaces++; - if (countfaces % 100 == 0) - { - printf("face %i of %i\n", countfaces, totfaces); - } + countfaces++; + if (countfaces % 100 == 0) + { + printf("\rface %i of %i", countfaces, totfaces); + } #endif - - + } } - BLI_listbase_from_dlist(dlist, &rg->nodes); + + printf("\n"); + + removeZeroNodes(rg); removeNormalNodes(rg); @@ -1484,12 +2635,12 @@ void renormalizeWeight(EditMesh *em, float newmax) /* First pass, determine maximum and minimum */ eve = em->verts.first; - minimum = eve->tmp.fp; - maximum = eve->tmp.fp; + minimum = weightData(eve); + maximum = minimum; for(eve = em->verts.first; eve; eve = eve->next) { - maximum = MAX2(maximum, eve->tmp.fp); - minimum = MIN2(minimum, eve->tmp.fp); + maximum = MAX2(maximum, weightData(eve)); + minimum = MIN2(minimum, weightData(eve)); } range = maximum - minimum; @@ -1497,7 +2648,8 @@ void renormalizeWeight(EditMesh *em, float newmax) /* Normalize weights */ for(eve = em->verts.first; eve; eve = eve->next) { - eve->tmp.fp = (eve->tmp.fp - minimum) / range * newmax; + float weight = (weightData(eve) - minimum) / range * newmax; + weightSetData(eve, weight); } } @@ -1512,7 +2664,7 @@ int weightFromLoc(EditMesh *em, int axis) /* Copy coordinate in weight */ for(eve = em->verts.first; eve; eve = eve->next) { - eve->tmp.fp = eve->co[axis]; + weightSetData(eve, eve->co[axis]); } return 1; @@ -1534,7 +2686,36 @@ static float cotan_weight(float *v1, float *v2, float *v3) return Inpf(a, b)/clen; } -int weightToHarmonic(EditMesh *em) +void addTriangle(EditVert *v1, EditVert *v2, EditVert *v3, long e1, long e2, long e3) +{ + /* Angle opposite e1 */ + float t1= cotan_weight(v1->co, v2->co, v3->co) / e2; + + /* Angle opposite e2 */ + float t2 = cotan_weight(v2->co, v3->co, v1->co) / e3; + + /* Angle opposite e3 */ + float t3 = cotan_weight(v3->co, v1->co, v2->co) / e1; + + int i1 = indexData(v1); + int i2 = indexData(v2); + int i3 = indexData(v3); + + nlMatrixAdd(i1, i1, t2+t3); + nlMatrixAdd(i2, i2, t1+t3); + nlMatrixAdd(i3, i3, t1+t2); + + nlMatrixAdd(i1, i2, -t3); + nlMatrixAdd(i2, i1, -t3); + + nlMatrixAdd(i2, i3, -t1); + nlMatrixAdd(i3, i2, -t1); + + nlMatrixAdd(i3, i1, -t2); + nlMatrixAdd(i1, i3, -t2); +} + +int weightToHarmonic(EditMesh *em, EdgeIndex *indexed_edges) { NLboolean success; EditVert *eve; @@ -1561,49 +2742,53 @@ int weightToHarmonic(EditMesh *em) /* Find local extrema */ for(index = 0, eve = em->verts.first; eve; index++, eve = eve->next) { - EditEdge *eed; - int maximum = 1; - int minimum = 1; - - eve->hash = index; /* Assign index to vertex */ - - NextEdgeForVert(NULL, NULL); /* Reset next edge */ - for(eed = NextEdgeForVert(em, eve); eed && (maximum || minimum); eed = NextEdgeForVert(em, eve)) + if (eve->h == 0) { - EditVert *eve2; + EditEdge *eed; + int maximum = 1; + int minimum = 1; - if (eed->v1 == eve) + NextEdgeForVert(indexed_edges, -1); /* Reset next edge */ + for(eed = NextEdgeForVert(indexed_edges, index); eed && (maximum || minimum); eed = NextEdgeForVert(indexed_edges, index)) { - eve2 = eed->v2; - } - else - { - eve2 = eed->v1; + EditVert *eve2; + + if (eed->v1 == eve) + { + eve2 = eed->v2; + } + else + { + eve2 = eed->v1; + } + + if (eve2->h == 0) + { + /* Adjacent vertex is bigger, not a local maximum */ + if (weightData(eve2) > weightData(eve)) + { + maximum = 0; + } + /* Adjacent vertex is smaller, not a local minimum */ + else if (weightData(eve2) < weightData(eve)) + { + minimum = 0; + } + } } - /* Adjacent vertex is bigger, not a local maximum */ - if (eve2->tmp.fp > eve->tmp.fp) + if (maximum || minimum) { - maximum = 0; + float w = weightData(eve); + eve->f1 = 0; + nlSetVariable(0, index, w); + nlLockVariable(index); } - /* Adjacent vertex is smaller, not a local minimum */ - else if (eve2->tmp.fp < eve->tmp.fp) + else { - minimum = 0; + eve->f1 = 1; } } - - if (maximum || minimum) - { - float w = eve->tmp.fp; - eve->f1 = 0; - nlSetVariable(0, index, w); - nlLockVariable(index); - } - else - { - eve->f1 = 1; - } } nlBegin(NL_MATRIX); @@ -1617,39 +2802,34 @@ int weightToHarmonic(EditMesh *em) /* Add faces count to the edge weight */ for(efa = em->faces.first; efa; efa = efa->next) { - efa->e1->tmp.l++; - efa->e2->tmp.l++; - efa->e3->tmp.l++; + if (efa->h == 0) + { + efa->e1->tmp.l++; + efa->e2->tmp.l++; + efa->e3->tmp.l++; + + if (efa->e4) + { + efa->e4->tmp.l++; + } + } } /* Add faces angle to the edge weight */ for(efa = em->faces.first; efa; efa = efa->next) { - /* Angle opposite e1 */ - float t1= cotan_weight(efa->v1->co, efa->v2->co, efa->v3->co) / efa->e2->tmp.l; - - /* Angle opposite e2 */ - float t2 = cotan_weight(efa->v2->co, efa->v3->co, efa->v1->co) / efa->e3->tmp.l; - - /* Angle opposite e3 */ - float t3 = cotan_weight(efa->v3->co, efa->v1->co, efa->v2->co) / efa->e1->tmp.l; - - int i1 = efa->v1->hash; - int i2 = efa->v2->hash; - int i3 = efa->v3->hash; - - nlMatrixAdd(i1, i1, t2+t3); - nlMatrixAdd(i2, i2, t1+t3); - nlMatrixAdd(i3, i3, t1+t2); - - nlMatrixAdd(i1, i2, -t3); - nlMatrixAdd(i2, i1, -t3); - - nlMatrixAdd(i2, i3, -t1); - nlMatrixAdd(i3, i2, -t1); - - nlMatrixAdd(i3, i1, -t2); - nlMatrixAdd(i1, i3, -t2); + if (efa->h == 0) + { + if (efa->v4 == NULL) + { + addTriangle(efa->v1, efa->v2, efa->v3, efa->e1->tmp.l, efa->e2->tmp.l, efa->e3->tmp.l); + } + else + { + addTriangle(efa->v1, efa->v2, efa->v3, efa->e1->tmp.l, efa->e2->tmp.l, 2); + addTriangle(efa->v3, efa->v4, efa->v1, efa->e3->tmp.l, efa->e4->tmp.l, 2); + } + } } nlEnd(NL_MATRIX); @@ -1663,7 +2843,7 @@ int weightToHarmonic(EditMesh *em) rval = 1; for(index = 0, eve = em->verts.first; eve; index++, eve = eve->next) { - eve->tmp.fp = nlGetVariable(0, index); + weightSetData(eve, nlGetVariable(0, index)); } } else @@ -1677,46 +2857,175 @@ int weightToHarmonic(EditMesh *em) } -EditEdge * NextEdgeForVert(EditMesh *em, EditVert *v) +EditEdge * NextEdgeForVert(EdgeIndex *indexed_edges, int index) { - static EditEdge *e = NULL; + static int offset = -1; /* Reset method, call with NULL mesh pointer */ - if (em == NULL) + if (index == -1) { - e = NULL; + offset = -1; return NULL; } /* first pass, start at the head of the list */ - if (e == NULL) + if (offset == -1) { - e = em->edges.first; + offset = indexed_edges->offset[index]; } /* subsequent passes, start on the next edge */ else { - e = e->next; + offset++; + } + + return indexed_edges->edges[offset]; +} + +void shortestPathsFromVert(EditMesh *em, EditVert *starting_vert, EdgeIndex *indexed_edges) +{ + Heap *edge_heap; + EditVert *current_eve = NULL; + EditEdge *eed = NULL; + EditEdge *select_eed = NULL; + + edge_heap = BLI_heap_new(); + + current_eve = starting_vert; + + /* insert guard in heap, when that is returned, no more edges */ + BLI_heap_insert(edge_heap, FLT_MAX, NULL); + + /* Initialize edge flag */ + for(eed= em->edges.first; eed; eed= eed->next) + { + eed->f1 = 0; + } + + while (BLI_heap_size(edge_heap) > 0) + { + float current_weight; + + current_eve->f1 = 1; /* mark vertex as selected */ + + /* Add all new edges connected to current_eve to the list */ + NextEdgeForVert(indexed_edges, -1); // Reset next edge + for(eed = NextEdgeForVert(indexed_edges, indexData(current_eve)); eed; eed = NextEdgeForVert(indexed_edges, indexData(current_eve))) + { + if (eed->f1 == 0) + { + BLI_heap_insert(edge_heap, weightData(current_eve) + eed->tmp.fp, eed); + eed->f1 = 1; + } + } + + /* Find next shortest edge with unselected verts */ + do + { + current_weight = BLI_heap_node_value(BLI_heap_top(edge_heap)); + select_eed = BLI_heap_popmin(edge_heap); + } while (select_eed != NULL && select_eed->v1->f1 != 0 && select_eed->v2->f1); + + if (select_eed != NULL) + { + select_eed->f1 = 2; + + if (select_eed->v1->f1 == 0) /* v1 is the new vertex */ + { + current_eve = select_eed->v1; + } + else /* otherwise, it's v2 */ + { + current_eve = select_eed->v2; + } + + weightSetData(current_eve, current_weight); + } } + + BLI_heap_free(edge_heap, NULL); +} + +void freeEdgeIndex(EdgeIndex *indexed_edges) +{ + MEM_freeN(indexed_edges->offset); + MEM_freeN(indexed_edges->edges); +} - for( ; e ; e = e->next) +void buildIndexedEdges(EditMesh *em, EdgeIndex *indexed_edges) +{ + EditVert *eve; + EditEdge *eed; + int totvert = 0; + int tot_indexed = 0; + int offset = 0; + + totvert = BLI_countlist(&em->verts); + + indexed_edges->offset = MEM_callocN(totvert * sizeof(int), "EdgeIndex offset"); + + for(eed = em->edges.first; eed; eed = eed->next) { - if (e->v1 == v || e->v2 == v) + if (eed->v1->h == 0 && eed->v2->h == 0) { - break; + tot_indexed += 2; + indexed_edges->offset[indexData(eed->v1)]++; + indexed_edges->offset[indexData(eed->v2)]++; } - } + } - return e; + tot_indexed += totvert; + + indexed_edges->edges = MEM_callocN(tot_indexed * sizeof(EditEdge*), "EdgeIndex edges"); + + /* setting vert offsets */ + for(eve = em->verts.first; eve; eve = eve->next) + { + if (eve->h == 0) + { + int d = indexed_edges->offset[indexData(eve)]; + indexed_edges->offset[indexData(eve)] = offset; + offset += d + 1; + } + } + + /* adding edges in array */ + for(eed = em->edges.first; eed; eed= eed->next) + { + if (eed->v1->h == 0 && eed->v2->h == 0) + { + int i; + for (i = indexed_edges->offset[indexData(eed->v1)]; i < tot_indexed; i++) + { + if (indexed_edges->edges[i] == NULL) + { + indexed_edges->edges[i] = eed; + break; + } + } + + for (i = indexed_edges->offset[indexData(eed->v2)]; i < tot_indexed; i++) + { + if (indexed_edges->edges[i] == NULL) + { + indexed_edges->edges[i] = eed; + break; + } + } + } + } } -int weightFromDistance(EditMesh *em) +int weightFromDistance(EditMesh *em, EdgeIndex *indexed_edges) { EditVert *eve; int totedge = 0; + int totvert = 0; int vCount = 0; - if (em == NULL || BLI_countlist(&em->verts) == 0) + totvert = BLI_countlist(&em->verts); + + if (em == NULL || totvert == 0) { return 0; } @@ -1727,9 +3036,9 @@ int weightFromDistance(EditMesh *em) { return 0; } - - /* Initialize vertice flags and find at least one selected vertex */ - for(eve = em->verts.first; eve && vCount == 0; eve = eve->next) + + /* Initialize vertice flag and find at least one selected vertex */ + for(eve = em->verts.first; eve; eve = eve->next) { eve->f1 = 0; if (eve->f & SELECT) @@ -1744,110 +3053,94 @@ int weightFromDistance(EditMesh *em) } else { - EditVert *eve, *current_eve = NULL; + EditEdge *eed; + int allDone = 0; + + /* Calculate edge weight */ + for(eed = em->edges.first; eed; eed= eed->next) + { + if (eed->v1->h == 0 && eed->v2->h == 0) + { + eed->tmp.fp = VecLenf(eed->v1->co, eed->v2->co); + } + } + /* Apply dijkstra spf for each selected vert */ for(eve = em->verts.first; eve; eve = eve->next) { if (eve->f & SELECT) { - current_eve = eve; - eve->f1 = 1; - + shortestPathsFromVert(em, eve, indexed_edges); + } + } + + /* connect unselected islands */ + while (allDone == 0) + { + EditVert *selected_eve = NULL; + float selected_weight = 0; + float min_distance = FLT_MAX; + + allDone = 1; + + for (eve = em->verts.first; eve; eve = eve->next) + { + /* for every vertex visible that hasn't been processed yet */ + if (eve->h == 0 && eve->f1 != 1) { - EditEdge *eed = NULL; - EditEdge *select_eed = NULL; - EditEdge **edges = NULL; - float currentWeight = 0; - int eIndex = 0; - - edges = MEM_callocN(totedge * sizeof(EditEdge*), "Edges"); + EditVert *closest_eve; - /* Calculate edge weight and initialize edge flags */ - for(eed= em->edges.first; eed; eed= eed->next) + /* find the closest processed vertex */ + for (closest_eve = em->verts.first; closest_eve; closest_eve = closest_eve->next) { - eed->tmp.fp = VecLenf(eed->v1->co, eed->v2->co); - eed->f1 = 0; - } - - do { - int i; - - current_eve->f1 = 1; /* mark vertex as selected */ - - /* Add all new edges connected to current_eve to the list */ - NextEdgeForVert(NULL, NULL); // Reset next edge - for(eed = NextEdgeForVert(em, current_eve); eed; eed = NextEdgeForVert(em, current_eve)) - { - if (eed->f1 == 0) - { - edges[eIndex] = eed; - eed->f1 = 1; - eIndex++; - } - } - - /* Find next shortest edge */ - select_eed = NULL; - for(i = 0; i < eIndex; i++) - { - eed = edges[i]; - - if (eed->f1 != 2 && (eed->v1->f1 == 0 || eed->v2->f1 == 0)) /* eed is not selected yet and leads to a new node */ - { - float newWeight = 0; - if (eed->v1->f1 == 1) - { - newWeight = eed->v1->tmp.fp + eed->tmp.fp; - } - else - { - newWeight = eed->v2->tmp.fp + eed->tmp.fp; - } - - if (select_eed == NULL || newWeight < currentWeight) /* no selected edge or current smaller than selected */ - { - currentWeight = newWeight; - select_eed = eed; - } - } - } - - if (select_eed != NULL) + /* vertex is already processed and distance is smaller than current minimum */ + if (closest_eve->f1 == 1) { - select_eed->f1 = 2; - - if (select_eed->v1->f1 == 0) /* v1 is the new vertex */ + float distance = VecLenf(closest_eve->co, eve->co); + if (distance < min_distance) { - current_eve = select_eed->v1; + min_distance = distance; + selected_eve = eve; + selected_weight = weightData(closest_eve); } - else /* otherwise, it's v2 */ - { - current_eve = select_eed->v2; - } - current_eve->tmp.fp = currentWeight; } - } while (select_eed != NULL); - - MEM_freeN(edges); + } } } + + if (selected_eve) + { + allDone = 0; + + weightSetData(selected_eve, selected_weight + min_distance); + shortestPathsFromVert(em, selected_eve, indexed_edges); + } } } + for(eve = em->verts.first; eve && vCount == 0; eve = eve->next) + { + if (eve->f1 == 0) + { + printf("vertex not reached\n"); + break; + } + } + return 1; } -MCol MColFromWeight(EditVert *eve) +MCol MColFromVal(float val) { MCol col; col.a = 255; - col.b = (char)(eve->tmp.fp * 255); + col.b = (char)(val * 255); col.g = 0; - col.r = (char)((1.0f - eve->tmp.fp) * 255); + col.r = (char)((1.0f - val) * 255); return col; } -void weightToVCol(EditMesh *em) +void weightToVCol(EditMesh *em, int index) { EditFace *efa; MCol *mcol; @@ -1856,14 +3149,148 @@ void weightToVCol(EditMesh *em) } for(efa=em->faces.first; efa; efa=efa->next) { + mcol = CustomData_em_get_n(&em->fdata, efa->data, CD_MCOL, index); + + if (mcol) + { + mcol[0] = MColFromVal(weightData(efa->v1)); + mcol[1] = MColFromVal(weightData(efa->v2)); + mcol[2] = MColFromVal(weightData(efa->v3)); + + if(efa->v4) { + mcol[3] = MColFromVal(weightData(efa->v4)); + } + } + } +} + +void angleToVCol(EditMesh *em, int index) +{ + EditFace *efa; + MCol *mcol; + + if (!EM_vertColorCheck()) { + return; + } + + for(efa=em->faces.first; efa; efa=efa->next) { + MCol col; + if (efa->tmp.fp > 0) + { + col = MColFromVal(efa->tmp.fp / (M_PI / 2 + 0.1)); + } + else + { + col.a = 255; + col.r = 0; + col.g = 255; + col.b = 0; + } + + mcol = CustomData_em_get_n(&em->fdata, efa->data, CD_MCOL, index); + + if (mcol) + { + mcol[0] = col; + mcol[1] = col; + mcol[2] = col; + + if(efa->v4) { + mcol[3] = col; + } + } + } +} + +void blendColor(MCol *dst, MCol *src) +{ +#if 1 + float blend_src = (float)src->a / (float)(src->a + dst->a); + float blend_dst = (float)dst->a / (float)(src->a + dst->a); + dst->a += src->a; + dst->r = (char)(dst->r * blend_dst + src->r * blend_src); + dst->g = (char)(dst->g * blend_dst + src->g * blend_src); + dst->b = (char)(dst->b * blend_dst + src->b * blend_src); +#else + dst->r = src->r; + dst->g = src->g; + dst->b = src->b; +#endif +} + +void arcToVCol(ReebGraph *rg, EditMesh *em, int index) +{ + GHashIterator ghi; + EditFace *efa; + ReebArc *arc; + MCol *mcol; + MCol col; + int total = BLI_countlist(&rg->arcs); + int i = 0; + + if (!EM_vertColorCheck()) { + return; + } + + col.a = 0; + + col.r = 0; + col.g = 0; + col.b = 0; + + for(efa=em->faces.first; efa; efa=efa->next) { + mcol = CustomData_em_get_n(&em->fdata, efa->data, CD_MCOL, index); + + if (mcol) + { + mcol[0] = col; + mcol[1] = col; + mcol[2] = col; + + if(efa->v4) { + mcol[3] = col; + } + } + } + + for (arc = rg->arcs.first; arc; arc = arc->next, i++) + { + float r,g,b; + col.a = 1; + + hsv_to_rgb((float)i / (float)total, 1, 1, &r, &g, &b); + + col.r = FTOCHAR(r); + col.g = FTOCHAR(g); + col.b = FTOCHAR(b); + + for(BLI_ghashIterator_init(&ghi, arc->faces); + !BLI_ghashIterator_isDone(&ghi); + BLI_ghashIterator_step(&ghi)) + { + efa = BLI_ghashIterator_getValue(&ghi); + + mcol = CustomData_em_get(&em->fdata, efa->data, CD_MCOL); + + blendColor(&mcol[0], &col); + blendColor(&mcol[1], &col); + blendColor(&mcol[2], &col); + + if(efa->v4) { + blendColor(&mcol[3], &col); + } + } + } + + for(efa=em->faces.first; efa; efa=efa->next) { mcol = CustomData_em_get(&em->fdata, efa->data, CD_MCOL); - mcol[0] = MColFromWeight(efa->v1); - mcol[1] = MColFromWeight(efa->v2); - mcol[2] = MColFromWeight(efa->v3); + mcol[0].a = 255; + mcol[1].a = 255; + mcol[2].a = 255; if(efa->v4) { - mcol[3] = MColFromWeight(efa->v4); + mcol[3].a = 255; } } } @@ -1874,7 +3301,7 @@ void initArcIterator(ReebArcIterator *iter, ReebArc *arc, ReebNode *head) { iter->arc = arc; - if (head == arc->v1) + if (head == arc->head) { iter->start = 0; iter->end = arc->bcount - 1; @@ -1887,7 +3314,36 @@ void initArcIterator(ReebArcIterator *iter, ReebArc *arc, ReebNode *head) iter->stride = -1; } + iter->length = arc->bcount; + + iter->index = iter->start - iter->stride; +} + +void initArcIteratorStart(struct ReebArcIterator *iter, struct ReebArc *arc, struct ReebNode *head, int start) +{ + iter->arc = arc; + + if (head == arc->head) + { + iter->start = start; + iter->end = arc->bcount - 1; + iter->stride = 1; + } + else + { + iter->start = arc->bcount - 1 - start; + iter->end = 0; + iter->stride = -1; + } + iter->index = iter->start - iter->stride; + + iter->length = arc->bcount - start; + + if (start >= arc->bcount) + { + iter->start = iter->end; /* stop iterator since it's past its end */ + } } void initArcIterator2(ReebArcIterator *iter, ReebArc *arc, int start, int end) @@ -1907,6 +3363,8 @@ void initArcIterator2(ReebArcIterator *iter, ReebArc *arc, int start, int end) } iter->index = iter->start - iter->stride; + + iter->length = abs(iter->end - iter->start) + 1; } EmbedBucket * nextBucket(ReebArcIterator *iter) @@ -1921,3 +3379,412 @@ EmbedBucket * nextBucket(ReebArcIterator *iter) return result; } + +EmbedBucket * nextNBucket(ReebArcIterator *iter, int n) +{ + EmbedBucket *result = NULL; + + iter->index += n * iter->stride; + + /* check if passed end */ + if ((iter->stride == 1 && iter->index <= iter->end) || + (iter->stride == -1 && iter->index >= iter->end)) + { + result = &(iter->arc->buckets[iter->index]); + } + else + { + /* stop iterator if passed end */ + iter->index = iter->end; + } + + return result; +} + +EmbedBucket * peekBucket(ReebArcIterator *iter, int n) +{ + EmbedBucket *result = NULL; + int index = iter->index + n * iter->stride; + + /* check if passed end */ + if ((iter->stride == 1 && index <= iter->end && index >= iter->start) || + (iter->stride == -1 && index >= iter->end && index <= iter->start)) + { + result = &(iter->arc->buckets[index]); + } + + return result; +} + +EmbedBucket * previousBucket(struct ReebArcIterator *iter) +{ + EmbedBucket *result = NULL; + + if (iter->index != iter->start) + { + iter->index -= iter->stride; + result = &(iter->arc->buckets[iter->index]); + } + + return result; +} + +int iteratorStopped(struct ReebArcIterator *iter) +{ + if (iter->index == iter->end) + { + return 1; + } + else + { + return 0; + } +} + +struct EmbedBucket * currentBucket(struct ReebArcIterator *iter) +{ + EmbedBucket *result = NULL; + + if (iter->index != iter->end) + { + result = &(iter->arc->buckets[iter->index]); + } + + return result; +} + +/************************ PUBLIC FUNCTIONS *********************************************/ + +ReebGraph *BIF_ReebGraphMultiFromEditMesh(void) +{ + EditMesh *em = G.editMesh; + EdgeIndex indexed_edges; + VertexData *data; + ReebGraph *rg = NULL; + ReebGraph *rgi, *previous; + int i, nb_levels = REEB_MAX_MULTI_LEVEL; + + if (em == NULL) + return NULL; + + data = allocVertexData(em); + + buildIndexedEdges(em, &indexed_edges); + + if (weightFromDistance(em, &indexed_edges) == 0) + { + error("No selected vertex\n"); + freeEdgeIndex(&indexed_edges); + return NULL; + } + + renormalizeWeight(em, 1.0f); + + if (G.scene->toolsettings->skgen_options & SKGEN_HARMONIC) + { + weightToHarmonic(em, &indexed_edges); + } + + freeEdgeIndex(&indexed_edges); + +#ifdef DEBUG_REEB + weightToVCol(em, 0); +#endif + + rg = generateReebGraph(em, G.scene->toolsettings->skgen_resolution); + + /* Remove arcs without embedding */ + filterNullReebGraph(rg); + + /* smart filter and loop filter on basic level */ + filterGraph(rg, SKGEN_FILTER_SMART, 0, 0); + + repositionNodes(rg); + + /* Filtering might have created degree 2 nodes, so remove them */ + removeNormalNodes(rg); + + joinSubgraphs(rg, 1.0); + + BLI_buildAdjacencyList((BGraph*)rg); + + /* calc length before copy, so we have same length on all levels */ + BLI_calcGraphLength((BGraph*)rg); + + previous = NULL; + for (i = 0; i <= nb_levels; i++) + { + rgi = rg; + + /* don't filter last level */ + if (i > 0) + { + float internal_threshold; + float external_threshold; + + /* filter internal progressively in second half only*/ + if (i > nb_levels / 2) + { + internal_threshold = rg->length * G.scene->toolsettings->skgen_threshold_internal; + } + else + { + internal_threshold = rg->length * G.scene->toolsettings->skgen_threshold_internal * (2 * i / (float)nb_levels); + } + + external_threshold = rg->length * G.scene->toolsettings->skgen_threshold_external * (i / (float)nb_levels); + + filterGraph(rgi, G.scene->toolsettings->skgen_options, internal_threshold, external_threshold); + } + + if (i < nb_levels) + { + rg = copyReebGraph(rgi, i + 1); + } + + finalizeGraph(rgi, G.scene->toolsettings->skgen_postpro_passes, G.scene->toolsettings->skgen_postpro); + + BLI_markdownSymmetry((BGraph*)rgi, rgi->nodes.first, G.scene->toolsettings->skgen_symmetry_limit); + + if (previous != NULL) + { + relinkNodes(rgi, previous); + } + previous = rgi; + } + + verifyMultiResolutionLinks(rg, 0); + + MEM_freeN(data); + + return rg; +} + +ReebGraph *BIF_ReebGraphFromEditMesh(void) +{ + EditMesh *em = G.editMesh; + EdgeIndex indexed_edges; + VertexData *data; + ReebGraph *rg = NULL; + + if (em == NULL) + return NULL; + + data = allocVertexData(em); + + buildIndexedEdges(em, &indexed_edges); + + if (weightFromDistance(em, &indexed_edges) == 0) + { + error("No selected vertex\n"); + freeEdgeIndex(&indexed_edges); + freeEdgeIndex(&indexed_edges); + return NULL; + } + + renormalizeWeight(em, 1.0f); + + if (G.scene->toolsettings->skgen_options & SKGEN_HARMONIC) + { + weightToHarmonic(em, &indexed_edges); + } + + freeEdgeIndex(&indexed_edges); + +#ifdef DEBUG_REEB + weightToVCol(em, 1); +#endif + + rg = generateReebGraph(em, G.scene->toolsettings->skgen_resolution); + + REEB_exportGraph(rg, -1); + + printf("GENERATED\n"); + printf("%i subgraphs\n", BLI_FlagSubgraphs((BGraph*)rg)); + + /* Remove arcs without embedding */ + filterNullReebGraph(rg); + + BLI_freeAdjacencyList((BGraph*)rg); + + printf("NULL FILTERED\n"); + printf("%i subgraphs\n", BLI_FlagSubgraphs((BGraph*)rg)); + + filterGraph(rg, G.scene->toolsettings->skgen_options, G.scene->toolsettings->skgen_threshold_internal, G.scene->toolsettings->skgen_threshold_external); + + finalizeGraph(rg, G.scene->toolsettings->skgen_postpro_passes, G.scene->toolsettings->skgen_postpro); + + REEB_exportGraph(rg, -1); + +#ifdef DEBUG_REEB + arcToVCol(rg, em, 0); + //angleToVCol(em, 1); +#endif + + printf("DONE\n"); + printf("%i subgraphs\n", BLI_FlagSubgraphs((BGraph*)rg)); + + MEM_freeN(data); + + return rg; +} + +void BIF_GlobalReebFree() +{ + if (GLOBAL_RG != NULL) + { + REEB_freeGraph(GLOBAL_RG); + GLOBAL_RG = NULL; + } +} + +void BIF_GlobalReebGraphFromEditMesh(void) +{ + ReebGraph *rg; + + BIF_GlobalReebFree(); + + rg = BIF_ReebGraphMultiFromEditMesh(); + + GLOBAL_RG = rg; +} + +void REEB_draw() +{ + ReebGraph *rg; + ReebArc *arc; + int i = 0; + + if (GLOBAL_RG == NULL) + { + return; + } + + if (GLOBAL_RG->link_up && G.scene->toolsettings->skgen_options & SKGEN_DISP_ORIG) + { + for (rg = GLOBAL_RG; rg->link_up; rg = rg->link_up) ; + } + else + { + i = G.scene->toolsettings->skgen_multi_level; + + for (rg = GLOBAL_RG; rg->multi_level != i && rg->link_up; rg = rg->link_up) ; + } + + glPointSize(BIF_GetThemeValuef(TH_VERTEX_SIZE)); + + glDisable(GL_DEPTH_TEST); + for (arc = rg->arcs.first; arc; arc = arc->next, i++) + { + ReebArcIterator iter; + EmbedBucket *bucket; + float vec[3]; + char text[128]; + char *s = text; + + glLineWidth(BIF_GetThemeValuef(TH_VERTEX_SIZE) + 2); + glColor3f(0, 0, 0); + glBegin(GL_LINE_STRIP); + glVertex3fv(arc->head->p); + + if (arc->bcount) + { + initArcIterator(&iter, arc, arc->head); + for (bucket = nextBucket(&iter); bucket; bucket = nextBucket(&iter)) + { + glVertex3fv(bucket->p); + } + } + + glVertex3fv(arc->tail->p); + glEnd(); + + glLineWidth(BIF_GetThemeValuef(TH_VERTEX_SIZE)); + + if (arc->symmetry_level == 1) + { + glColor3f(1, 0, 0); + } + else if (arc->symmetry_flag == SYM_SIDE_POSITIVE || arc->symmetry_flag == SYM_SIDE_NEGATIVE) + { + glColor3f(1, 0.5f, 0); + } + else if (arc->symmetry_flag >= SYM_SIDE_RADIAL) + { + glColor3f(0.5f, 1, 0); + } + else + { + glColor3f(1, 1, 0); + } + glBegin(GL_LINE_STRIP); + glVertex3fv(arc->head->p); + + if (arc->bcount) + { + initArcIterator(&iter, arc, arc->head); + for (bucket = nextBucket(&iter); bucket; bucket = nextBucket(&iter)) + { + glVertex3fv(bucket->p); + } + } + + glVertex3fv(arc->tail->p); + glEnd(); + + + if (G.scene->toolsettings->skgen_options & SKGEN_DISP_EMBED) + { + glColor3f(1, 1, 1); + glBegin(GL_POINTS); + glVertex3fv(arc->head->p); + glVertex3fv(arc->tail->p); + + glColor3f(0.5f, 0.5f, 1); + if (arc->bcount) + { + initArcIterator(&iter, arc, arc->head); + for (bucket = nextBucket(&iter); bucket; bucket = nextBucket(&iter)) + { + glVertex3fv(bucket->p); + } + } + glEnd(); + } + + if (G.scene->toolsettings->skgen_options & SKGEN_DISP_INDEX) + { + VecLerpf(vec, arc->head->p, arc->tail->p, 0.5f); + s += sprintf(s, "%i (%i-%i-%i) ", i, arc->symmetry_level, arc->symmetry_flag, arc->symmetry_group); + + if (G.scene->toolsettings->skgen_options & SKGEN_DISP_WEIGHT) + { + s += sprintf(s, "w:%0.3f ", arc->tail->weight - arc->head->weight); + } + + if (G.scene->toolsettings->skgen_options & SKGEN_DISP_LENGTH) + { + s += sprintf(s, "l:%0.3f", arc->length); + } + + glColor3f(0, 1, 0); + glRasterPos3fv(vec); + BMF_DrawString( G.fonts, text); + } + + if (G.scene->toolsettings->skgen_options & SKGEN_DISP_INDEX) + { + sprintf(text, " %i", arc->head->index); + glRasterPos3fv(arc->head->p); + BMF_DrawString( G.fonts, text); + + sprintf(text, " %i", arc->tail->index); + glRasterPos3fv(arc->tail->p); + BMF_DrawString( G.fonts, text); + } + } + glEnable(GL_DEPTH_TEST); + + glLineWidth(1.0); + glPointSize(1.0); +} diff --git a/source/blender/src/renderwin.c b/source/blender/src/renderwin.c index b4d78b7fa37..bbac70e9e5e 100644 --- a/source/blender/src/renderwin.c +++ b/source/blender/src/renderwin.c @@ -88,7 +88,10 @@ #include "BDR_sculptmode.h" #include "BDR_editobject.h" + +#ifndef DISABLE_PYTHON #include "BPY_extern.h" /* for BPY_do_all_scripts */ +#endif #include "BSE_view.h" #include "BSE_drawview.h" @@ -1273,8 +1276,10 @@ void BIF_store_spare(void) /* set up display, render an image or scene */ void BIF_do_render(int anim) { +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_RENDER, anim); +#endif BIF_store_spare(); @@ -1286,8 +1291,9 @@ void BIF_do_render(int anim) } if(G.scene->r.dither_intensity != 0.0f) BIF_redraw_render_rect(); - +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_POSTRENDER, anim); +#endif } void do_ogl_view3d_render(Render *re, View3D *v3d, int winx, int winy) diff --git a/source/blender/src/seqaudio.c b/source/blender/src/seqaudio.c index 9b4e3361625..0bc40674350 100644 --- a/source/blender/src/seqaudio.c +++ b/source/blender/src/seqaudio.c @@ -398,11 +398,7 @@ static void audio_fill_seq(Sequence * seq, void * mixdown, if (!seq->hdaudio) { char name[FILE_MAXDIR+FILE_MAXFILE]; - strncpy(name, seq->strip->dir, - FILE_MAXDIR-1); - strncat(name, - seq->strip->stripdata->name, - FILE_MAXFILE-1); + BLI_join_dirfile(name, seq->strip->dir, seq->strip->stripdata->name); BLI_convertstringcode(name, G.sce); seq->hdaudio= sound_open_hdaudio(name); diff --git a/source/blender/src/space.c b/source/blender/src/space.c index c26620ccbf2..b6221c2f84b 100644 --- a/source/blender/src/space.c +++ b/source/blender/src/space.c @@ -168,7 +168,9 @@ #include "PIL_time.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "butspace.h" #include "mydevice.h" @@ -1079,7 +1081,9 @@ void BIF_undo(void) else { /* now also in faceselect mode */ if(U.uiflag & USER_GLOBALUNDO) { +#ifndef DISABLE_PYTHON BPY_scripts_clear_pyobjects(); +#endif BKE_undo_step(1); sound_initialize_sounds(); } @@ -1248,12 +1252,13 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) * - grease-pencil also defaults to leftmouse */ if(event==LEFTMOUSE) { +#ifndef DISABLE_PYTHON /* run any view3d event handler script links */ if (sa->scriptlink.totscript) { if (BPY_do_spacehandlers(sa, event, val, SPACEHANDLER_VIEW3D_EVENT)) return; /* return if event was processed (swallowed) by handler(s) */ } - +#endif if(gpencil_do_paint(sa, L_MOUSE)) return; if(BIF_do_manipulator(sa)) return; } @@ -1309,10 +1314,12 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) } } +#ifndef DISABLE_PYTHON /* run any view3d event handler script links */ if (event && sa->scriptlink.totscript) if (BPY_do_spacehandlers(sa, event, val, SPACEHANDLER_VIEW3D_EVENT)) return; /* return if event was processed (swallowed) by handler(s) */ +#endif /* TEXTEDITING?? */ if((G.obedit) && G.obedit->type==OB_FONT) { @@ -4324,7 +4331,8 @@ void drawinfospace(ScrArea *sa, void *spacedata) (xpos+edgsp+(1*mpref)+(1*midsp)),y2,mpref,buth, &(U.uiflag), 0, 0, 0, 0, "Allows all codecs for rendering (not guaranteed)"); #endif - + +#ifndef DISABLE_PYTHON uiDefBut(block, LABEL,0,"Auto Run Python Scripts", (xpos+edgsp+(1*midsp)+(1*mpref)),y6label,mpref,buth, 0, 0, 0, 0, 0, ""); @@ -4332,7 +4340,8 @@ void drawinfospace(ScrArea *sa, void *spacedata) uiDefButBitI(block, TOGN, USER_DONT_DOSCRIPTLINKS, REDRAWBUTSSCRIPT, "Enabled by Default", (xpos+edgsp+(1*mpref)+(1*midsp)),y5,mpref,buth, &(U.flag), 0, 0, 0, 0, "Allow any .blend file to run scripts automatically (unsafe with blend files from an untrusted source)"); - +#endif + uiDefBut(block, LABEL,0,"Keyboard:", (xpos+edgsp+(3*midsp)+(3*mpref)),y2label,mpref,buth, 0, 0, 0, 0, 0, ""); @@ -4511,6 +4520,7 @@ void drawinfospace(ScrArea *sa, void *spacedata) 0, 0, 0, 0, 0, "Select the default render output location"); uiBlockEndAlign(block); +#ifndef DISABLE_PYTHON uiBlockBeginAlign(block); uiDefBut(block, TEX, B_PYMENUEVAL, "Python Scripts: ", (xpos+edgsp+lpref+midsp),y1,(lpref-2*smfileselbut),buth, @@ -4522,7 +4532,7 @@ void drawinfospace(ScrArea *sa, void *spacedata) (xpos+edgsp+(2*lpref)+midsp-smfileselbut),y1,smfileselbut,buth, 0, 0, 0, 0, 0, "Select the default Python script location"); uiBlockEndAlign(block); - +#endif uiBlockBeginAlign(block); uiDefBut(block, TEX, 0, "Sounds: ", @@ -7081,6 +7091,7 @@ SpaceType *spacetext_get_type(void) static void spacescript_change(ScrArea *sa, void *spacedata) { +#ifndef DISABLE_PYTHON SpaceScript *sc = (SpaceScript*) spacedata; /*clear all temp button references*/ @@ -7089,6 +7100,7 @@ static void spacescript_change(ScrArea *sa, void *spacedata) BPy_Free_DrawButtonsList(); sc->but_refs = NULL; } +#endif } SpaceType *spacescript_get_type(void) diff --git a/source/blender/src/toolbox.c b/source/blender/src/toolbox.c index 55feb4c0305..b675f6868f8 100644 --- a/source/blender/src/toolbox.c +++ b/source/blender/src/toolbox.c @@ -121,8 +121,10 @@ #include "mydevice.h" /* bpymenu */ +#ifndef DISABLE_PYTHON #include "BPY_extern.h" #include "BPY_menus.h" +#endif #include "BLO_sys_types.h" // for intptr_t support @@ -1593,6 +1595,17 @@ static TBitem tb_node_addcomp[]= { { 0, "Group", 9, NULL}, { 0, "Dynamic", 10, NULL}, { -1, "", 0, NULL}}; + +static TBitem tb_node_addtex[]= { + { 0, "Input", 1, NULL}, + { 0, "Output", 2, NULL}, + { 0, "Color", 3, NULL}, + { 0, "Convertor", 4, NULL}, + { 0, "Patterns", 5, NULL}, + { 0, "Textures", 6, NULL}, + { 0, "Distort", 7, NULL}, + { 0, "Group", 8, NULL}, + { -1, "", 0, NULL}}; /* do_node_addmenu() in header_node.c, prototype in BSE_headerbuttons.h */ @@ -1924,12 +1937,15 @@ static TBitem *create_mesh_sublevel(ListBase *storage) Link *link; TBitem *meshmenu, *mm; int totmenu= 10, totpymenu=0, a=0; - + +#ifndef DISABLE_PYTHON /* Python Menu */ BPyMenu *pym; /* count the python menu items*/ for (pym = BPyMenuTable[PYMENU_ADDMESH]; pym; pym = pym->next, totpymenu++) {} +#endif + if (totpymenu) totmenu += totpymenu+1; /* add 1 for the seperator */ link= MEM_callocN(sizeof(Link) + sizeof(TBitem)*(totmenu+1), "mesh menu"); @@ -1948,6 +1964,7 @@ static TBitem *create_mesh_sublevel(ListBase *storage) mm->icon = 0; mm->retval= a; mm->name = "Monkey"; mm++; a++; /* a == 10 */ +#ifndef DISABLE_PYTHON if (totpymenu) { int i=0; mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm++; @@ -1960,7 +1977,8 @@ static TBitem *create_mesh_sublevel(ListBase *storage) mm++; a++; } } - +#endif + /* terminate the menu */ mm->icon= -1; mm->retval= a; mm->name= ""; mm->poin= do_info_add_meshmenu; @@ -2119,7 +2137,7 @@ void toolbox_n(void) menu3= tb__select; menu4= tb_edit; menu5= tb_transform_editmode2; - } + } else if(G.obedit->type==OB_LATTICE) { menu1= tb_empty;str1= "Lattice"; menu2= tb_empty; @@ -2138,8 +2156,11 @@ void toolbox_n(void) if(snode->treetype==NTREE_COMPOSIT) menu1= tb_node_addcomp; - else + else if(snode->treetype==NTREE_SHADER) menu1= tb_node_addsh; + else if(snode->treetype==NTREE_TEXTURE) + menu1= tb_node_addtex; + str1= "Add"; menu2= tb_node_node; str2= "Node"; menu3= tb_node_select; str3= "Select"; @@ -2166,8 +2187,17 @@ void toolbox_n(void) menu1[7].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_DISTORT); menu1[8].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_GROUP); menu1[9].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_OP_DYNAMIC); - } + else if(snode->treetype==NTREE_TEXTURE) { + menu1[0].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_INPUT); + menu1[1].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_OUTPUT); + menu1[2].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_OP_COLOR); + menu1[3].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_CONVERTOR); + menu1[4].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_PATTERN); + menu1[5].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_TEXTURE); + menu1[6].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_DISTORT); + menu1[7].poin= node_add_sublevel(&storage, snode->nodetree, NODE_CLASS_GROUP); + } dx= 96; tot= 5; diff --git a/source/blender/src/transform.c b/source/blender/src/transform.c index b9b8a4a21a9..7a13943d0e0 100644 --- a/source/blender/src/transform.c +++ b/source/blender/src/transform.c @@ -2486,25 +2486,28 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short Mat3CpyMat4(pmtx, t->poseobj->obmat); Mat3Inv(imtx, pmtx); - VecSubf(vec, td->center, center); - - Mat3MulVecfl(pmtx, vec); // To Global space - Mat3MulVecfl(mat, vec); // Applying rotation - Mat3MulVecfl(imtx, vec); // To Local space - - VecAddf(vec, vec, center); - /* vec now is the location where the object has to be */ - - VecSubf(vec, vec, td->center); // Translation needed from the initial location - - Mat3MulVecfl(pmtx, vec); // To Global space - Mat3MulVecfl(td->smtx, vec);// To Pose space - - protectedTransBits(td->protectflag, vec); - - VecAddf(td->loc, td->iloc, vec); - - constraintTransLim(t, td); + if ((td->flag & TD_NO_LOC) == 0) + { + VecSubf(vec, td->center, center); + + Mat3MulVecfl(pmtx, vec); // To Global space + Mat3MulVecfl(mat, vec); // Applying rotation + Mat3MulVecfl(imtx, vec); // To Local space + + VecAddf(vec, vec, center); + /* vec now is the location where the object has to be */ + + VecSubf(vec, vec, td->center); // Translation needed from the initial location + + Mat3MulVecfl(pmtx, vec); // To Global space + Mat3MulVecfl(td->smtx, vec);// To Pose space + + protectedTransBits(td->protectflag, vec); + + VecAddf(td->loc, td->iloc, vec); + + constraintTransLim(t, td); + } /* rotation */ if ((t->flag & T_V3D_ALIGN)==0) { // align mode doesn't rotate objects itself @@ -2520,23 +2523,28 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short } } else { - /* translation */ - VecSubf(vec, td->center, center); - Mat3MulVecfl(mat, vec); - VecAddf(vec, vec, center); - /* vec now is the location where the object has to be */ - VecSubf(vec, vec, td->center); - Mat3MulVecfl(td->smtx, vec); - - protectedTransBits(td->protectflag, vec); - if(td->tdi) { - TransDataIpokey *tdi= td->tdi; - add_tdi_poin(tdi->locx, tdi->oldloc, vec[0]); - add_tdi_poin(tdi->locy, tdi->oldloc+1, vec[1]); - add_tdi_poin(tdi->locz, tdi->oldloc+2, vec[2]); + if ((td->flag & TD_NO_LOC) == 0) + { + /* translation */ + VecSubf(vec, td->center, center); + Mat3MulVecfl(mat, vec); + VecAddf(vec, vec, center); + /* vec now is the location where the object has to be */ + VecSubf(vec, vec, td->center); + Mat3MulVecfl(td->smtx, vec); + + protectedTransBits(td->protectflag, vec); + + if(td->tdi) { + TransDataIpokey *tdi= td->tdi; + add_tdi_poin(tdi->locx, tdi->oldloc, vec[0]); + add_tdi_poin(tdi->locy, tdi->oldloc+1, vec[1]); + add_tdi_poin(tdi->locz, tdi->oldloc+2, vec[2]); + } + else VecAddf(td->loc, td->iloc, vec); } - else VecAddf(td->loc, td->iloc, vec); + constraintTransLim(t, td); diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c index 3465983d110..f58eaefc628 100644 --- a/source/blender/src/transform_conversions.c +++ b/source/blender/src/transform_conversions.c @@ -540,8 +540,17 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr td->ob = ob; td->flag= TD_SELECTED|TD_USEQUAT; - if(bone->flag & BONE_HINGE_CHILD_TRANSFORM) + if (bone->flag & BONE_HINGE_CHILD_TRANSFORM) + { + td->flag |= TD_NOCENTER; + } + + if (bone->flag & BONE_TRANSFORM_CHILD) + { td->flag |= TD_NOCENTER; + td->flag |= TD_NO_LOC; + } + td->protectflag= pchan->protectflag; td->loc = pchan->loc; @@ -628,17 +637,25 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr td->con= pchan->constraints.first; } -static void bone_children_clear_transflag(ListBase *lb) +static void bone_children_clear_transflag(TransInfo *t, ListBase *lb) { Bone *bone= lb->first; for(;bone;bone= bone->next) { if((bone->flag & BONE_HINGE) && (bone->flag & BONE_CONNECTED)) + { bone->flag |= BONE_HINGE_CHILD_TRANSFORM; + } + else if (bone->flag & BONE_TRANSFORM && (t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL)) + { + bone->flag |= BONE_TRANSFORM_CHILD; + } else + { bone->flag &= ~BONE_TRANSFORM; + } - bone_children_clear_transflag(&bone->childbase); + bone_children_clear_transflag(t, &bone->childbase); } } @@ -661,6 +678,7 @@ static void set_pose_transflags(TransInfo *t, Object *ob) bone->flag &= ~BONE_TRANSFORM; bone->flag &= ~BONE_HINGE_CHILD_TRANSFORM; + bone->flag &= ~BONE_TRANSFORM_CHILD; } } @@ -670,7 +688,7 @@ static void set_pose_transflags(TransInfo *t, Object *ob) for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { bone= pchan->bone; if(bone->flag & BONE_TRANSFORM) - bone_children_clear_transflag(&bone->childbase); + bone_children_clear_transflag(t, &bone->childbase); } } /* now count, and check if we have autoIK or have to switch from translate to rotate */ @@ -1115,6 +1133,14 @@ static void createTransArmatureVerts(TransInfo *t) Mat3CpyMat3(td->smtx, smtx); Mat3CpyMat3(td->mtx, mtx); + VecSubf(delta, ebo->tail, ebo->head); + vec_roll_to_mat3(delta, ebo->roll, td->axismtx); + + if ((ebo->flag & BONE_ROOTSEL) == 0) + { + td->extra = ebo; + } + td->ext = NULL; td->tdi = NULL; td->val = NULL; @@ -1132,6 +1158,11 @@ static void createTransArmatureVerts(TransInfo *t) Mat3CpyMat3(td->smtx, smtx); Mat3CpyMat3(td->mtx, mtx); + VecSubf(delta, ebo->tail, ebo->head); + vec_roll_to_mat3(delta, ebo->roll, td->axismtx); + + td->extra = ebo; /* to fix roll */ + td->ext = NULL; td->tdi = NULL; td->val = NULL; @@ -1845,7 +1876,7 @@ static void VertsToTransData(TransData *td, EditVert *eve) td->ext = NULL; td->tdi = NULL; td->val = NULL; - td->tdmir = NULL; + td->extra = NULL; if (BIF_GetTransInfo()->mode == TFM_BWEIGHT) { td->val = &(eve->bweight); td->ival = eve->bweight; @@ -2198,7 +2229,7 @@ static void createTransEditVerts(TransInfo *t) /* Mirror? */ if( (mirror>0 && tob->iloc[0]>0.0f) || (mirror<0 && tob->iloc[0]<0.0f)) { EditVert *vmir= editmesh_get_x_mirror_vert(G.obedit, tob->iloc); /* initializes octree on first call */ - if(vmir != eve) tob->tdmir = vmir; + if(vmir != eve) tob->extra = vmir; } tob++; } @@ -3497,9 +3528,17 @@ static void set_trans_object_base_flags(TransInfo *t) parsel= parsel->parent; } - if(parsel) { - base->flag &= ~SELECT; - base->flag |= BA_WAS_SEL; + if(parsel) + { + if (t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL) + { + base->flag |= BA_TRANSFORM_CHILD; + } + else + { + base->flag &= ~SELECT; + base->flag |= BA_WAS_SEL; + } } /* used for flush, depgraph will change recalcs if needed :) */ ob->recalc |= OB_RECALC_OB; @@ -3526,7 +3565,7 @@ static void clear_trans_object_base_flags(void) base= FIRSTBASE; while(base) { if(base->flag & BA_WAS_SEL) base->flag |= SELECT; - base->flag &= ~(BA_WAS_SEL|BA_HAS_RECALC_OB|BA_HAS_RECALC_DATA|BA_DO_IPO); + base->flag &= ~(BA_WAS_SEL|BA_HAS_RECALC_OB|BA_HAS_RECALC_DATA|BA_DO_IPO|BA_TRANSFORM_CHILD); base = base->next; } @@ -4097,6 +4136,12 @@ static void createTransObject(TransInfo *t) td->protectflag= ob->protectflag; td->ext = tx; + if (base->flag & BA_TRANSFORM_CHILD) + { + td->flag |= TD_NOCENTER; + td->flag |= TD_NO_LOC; + } + /* select linked objects, but skip them later */ if (ob->id.lib != 0) { td->flag |= TD_SKIP; diff --git a/source/blender/src/transform_generics.c b/source/blender/src/transform_generics.c index a1440b8cbce..229889d15ff 100644 --- a/source/blender/src/transform_generics.c +++ b/source/blender/src/transform_generics.c @@ -254,7 +254,7 @@ static void editmesh_apply_to_mirror(TransInfo *t) if (td->flag & TD_SKIP) continue; - eve = td->tdmir; + eve = td->extra; if(eve) { eve->co[0]= -td->loc[0]; eve->co[1]= td->loc[1]; @@ -470,6 +470,8 @@ void recalcData(TransInfo *t) else if(G.obedit->type==OB_ARMATURE){ /* no recalc flag, does pose */ bArmature *arm= G.obedit->data; EditBone *ebo; + TransData *td = t->data; + int i; /* Ensure all bones are correctly adjusted */ for (ebo=G.edbo.first; ebo; ebo=ebo->next){ @@ -506,6 +508,38 @@ void recalcData(TransInfo *t) ebo->oldlength= ebo->length; } } + + + if (t->mode != TFM_BONE_ROLL) + { + /* fix roll */ + for(i = 0; i < t->total; i++, td++) + { + if (td->extra) + { + float vec[3], up_axis[3]; + float qrot[4]; + + ebo = td->extra; + VECCOPY(up_axis, td->axismtx[2]); + + if (t->mode != TFM_ROTATION) + { + VecSubf(vec, ebo->tail, ebo->head); + Normalize(vec); + RotationBetweenVectorsToQuat(qrot, td->axismtx[1], vec); + QuatMulVecf(qrot, up_axis); + } + else + { + Mat3MulVecfl(t->mat, up_axis); + } + + ebo->roll = rollBoneToVector(ebo, up_axis); + } + } + } + if(arm->flag & ARM_MIRROR_EDIT) transform_armature_mirror_update(); @@ -820,7 +854,10 @@ void restoreTransObjects(TransInfo *t) ((VObjectData*)vnode->data)->flag |= SCALE_SEND_READY; } #endif - } + } + + Mat3One(t->mat); + recalcData(t); } @@ -876,12 +913,16 @@ void calculateCenterCursor2D(TransInfo *t) void calculateCenterMedian(TransInfo *t) { float partial[3] = {0.0f, 0.0f, 0.0f}; + int total = 0; int i; for(i = 0; i < t->total; i++) { if (t->data[i].flag & TD_SELECTED) { if (!(t->data[i].flag & TD_NOCENTER)) + { VecAddf(partial, partial, t->data[i].center); + total++; + } } else { /* @@ -892,7 +933,7 @@ void calculateCenterMedian(TransInfo *t) } } if(i) - VecMulf(partial, 1.0f / i); + VecMulf(partial, 1.0f / total); VECCOPY(t->center, partial); calculateCenter2D(t); diff --git a/source/blender/src/transform_orientations.c b/source/blender/src/transform_orientations.c index fc9dfbb902e..0bc1ef5ca1f 100644 --- a/source/blender/src/transform_orientations.c +++ b/source/blender/src/transform_orientations.c @@ -40,6 +40,7 @@ #include "BKE_global.h" #include "BKE_utildefines.h" +#include "BKE_armature.h" #include "BLI_arithb.h" #include "BLI_blenlib.h" @@ -680,21 +681,20 @@ int getTransformOrientation(float normal[3], float plane[3], int activeOnly) { if (ebone->flag & BONE_SELECTED) { + float mat[3][3]; float vec[3]; VecSubf(vec, ebone->tail, ebone->head); Normalize(vec); VecAddf(normal, normal, vec); + + vec_roll_to_mat3(vec, ebone->roll, mat); + VecAddf(plane, plane, mat[2]); } } } Normalize(normal); - Crossf(plane, G.obedit->obmat[0], normal); - - if (Inpf(plane, plane) < FLT_EPSILON) - { - Crossf(plane, G.obedit->obmat[1], normal); - } + Normalize(plane); if (plane[0] != 0 || plane[1] != 0 || plane[2] != 0) { diff --git a/source/blender/src/usiblender.c b/source/blender/src/usiblender.c index 7fdc6725964..16c26336b89 100644 --- a/source/blender/src/usiblender.c +++ b/source/blender/src/usiblender.c @@ -134,7 +134,9 @@ #include "BDR_imagepaint.h" #include "BDR_vpaint.h" +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "blendef.h" @@ -147,6 +149,8 @@ #include "PIL_time.h" +#include "reeb.h" + #include "GPU_extensions.h" #include "GPU_draw.h" @@ -677,11 +681,13 @@ int BIF_read_homefile(int from_memory) undo_imagepaint_clear(); BKE_reset_undo(); BKE_write_undo("Original"); /* save current state */ - + +#ifndef DISABLE_PYTHON /* if from memory, need to refresh python scripts */ if (from_memory) { BPY_path_update(); } +#endif return success; } @@ -914,8 +920,10 @@ void BIF_write_file(char *target) return; } +#ifndef DISABLE_PYTHON /* send the OnSave event */ if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript(&G.scene->id, SCRIPT_ONSAVE); +#endif for (li= G.main->library.first; li; li= li->id.next) { if (li->parent==NULL && BLI_streq(li->name, target)) { @@ -1093,6 +1101,9 @@ void exit_usiblender(void) BIF_clear_tempfiles(); + BIF_GlobalReebFree(); + BIF_freeRetarget(); + tf= G.ttfdata.first; while(tf) { @@ -1125,9 +1136,11 @@ void exit_usiblender(void) free_editArmature(); free_posebuf(); +#ifndef DISABLE_PYTHON /* before free_blender so py's gc happens while library still exists */ /* needed at least for a rare sigsegv that can happen in pydrivers */ BPY_end_python(); +#endif fastshade_free_render(); /* shaded view */ free_blender(); /* blender.c, does entire library */ diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index c4b77f893fd..ee6f19e457d 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -143,6 +143,7 @@ IF(WIN32) COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\scripts\\*.*\" \"${TARGETDIR}\\.blender\\scripts\" COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\plugins\\*.*\" \"${TARGETDIR}\\plugins\" COMMAND copy /Y \"${WIN_SOURCE_DIR}\\release\\text\\*.*\" \"${TARGETDIR}\" + COMMAND copy /Y \"${WIN_SOURCE_DIR}\\release\\windows\\extra\\python25.zip\" \"${TARGETDIR}\\\" ) FILE(TO_NATIVE_PATH "${LIBDIR}" WIN_LIBDIR) @@ -222,6 +223,7 @@ IF(UNIX) bf_avi bf_cineon bf_openexr + bf_dds bf_readblenfile blender_bop bf_kernel @@ -264,7 +266,8 @@ IF(UNIX) blender_python bf_quicktime extern_binreloc - extern_glew + extern_glew + bf_videotex ) FOREACH(SORTLIB ${BLENDER_SORTED_LIBS}) diff --git a/source/creator/SConscript b/source/creator/SConscript index c5a661abd69..505b69b8e6d 100644 --- a/source/creator/SConscript +++ b/source/creator/SConscript @@ -6,7 +6,7 @@ sources = 'creator.c' incs = '#/intern/guardedalloc ../blender/blenlib ../blender/blenkernel' incs += ' ../blender/include ../blender/blenloader ../blender/imbuf' incs += ' ../blender/renderconverter ../blender/render/extern/include' -incs += ' ../blender/python ../blender/makesdna ../kernel/gen_messaging' +incs += ' ../blender/makesdna ../kernel/gen_messaging' incs += ' ../kernel/gen_system #/extern/glew/include ../blender/gpu' incs += ' ' + env['BF_OPENGL_INC'] @@ -25,4 +25,9 @@ if env['WITH_BF_OPENEXR']: if not env['WITH_BF_SDL']: defs.append('DISABLE_SDL') +if env['WITH_BF_PYTHON']: + incs += ' ../blender/python' +else: + defs.append('DISABLE_PYTHON') + env.BlenderLib ( libname = 'blender_creator', sources = Split(sources), includes = Split(incs), defines = defs, libtype='core', priority = 1 ) diff --git a/source/creator/creator.c b/source/creator/creator.c index b5360b31a0a..872a5f4d497 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -72,7 +72,9 @@ #include "IMB_imbuf.h" // for quicktime_init +#ifndef DISABLE_PYTHON #include "BPY_extern.h" +#endif #include "RE_pipeline.h" @@ -515,9 +517,9 @@ int main(int argc, char **argv) if ( (G.windowstate == G_WINDOWSTATE_BORDER) || (G.windowstate == G_WINDOWSTATE_FULLSCREEN)) setprefsize(stax, stay, sizx, sizy, 0); - +#ifndef DISABLE_PYTHON BPY_start_python(argc, argv); - +#endif /** * NOTE: sound_init_audio() *must be* after start_python, * at least on FreeBSD. @@ -539,8 +541,9 @@ int main(int argc, char **argv) #endif } else { +#ifndef DISABLE_PYTHON BPY_start_python(argc, argv); - +#endif BLI_where_is_temp( btempdir, 0 ); /* call after loading the .B.blend so we can read U.tempdir */ // (ton) Commented out. I have no idea whats thisfor... will mail around! @@ -549,7 +552,7 @@ int main(int argc, char **argv) // sound_init_audio(); // if (G.f & G_DEBUG) printf("setting audio to: %d\n", audio); } - +#ifndef DISABLE_PYTHON /** * NOTE: the U.pythondir string is NULL until BIF_init() is executed, * so we provide the BPY_ function below to append the user defined @@ -559,7 +562,8 @@ int main(int argc, char **argv) * on U.pythondir. */ BPY_post_start_python(); - +#endif + #ifdef WITH_QUICKTIME quicktime_init(); @@ -644,13 +648,14 @@ int main(int argc, char **argv) if (a < argc) { int frame= MIN2(MAXFRAME, MAX2(1, atoi(argv[a]))); Render *re= RE_NewRender(G.scene->id.name); - +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_RENDER, 0); - +#endif RE_BlenderAnim(re, G.scene, frame, frame, G.scene->frame_step); - +#ifndef DISABLE_PYTHON BPY_do_all_scripts(SCRIPT_POSTRENDER, 0); +#endif } } else { printf("\nError: no blend loaded. cannot use '-f'.\n"); @@ -659,14 +664,15 @@ int main(int argc, char **argv) case 'a': if (G.scene) { Render *re= RE_NewRender(G.scene->id.name); - +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_RENDER, 1); - +#endif RE_BlenderAnim(re, G.scene, G.scene->r.sfra, G.scene->r.efra, G.scene->frame_step); - +#ifndef DISABLE_PYTHON if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_POSTRENDER, 1); +#endif } else { printf("\nError: no blend loaded. cannot use '-a'.\n"); } @@ -704,6 +710,7 @@ int main(int argc, char **argv) } break; case 'P': +#ifndef DISABLE_PYTHON a++; if (a < argc) { /* If we're not running in background mode, then give python a valid screen */ @@ -714,6 +721,9 @@ int main(int argc, char **argv) BPY_run_python_script (argv[a]); } else printf("\nError: you must specify a Python script after '-P '.\n"); +#else + printf("This blender was built without python support\n"); +#endif /* DISABLE_PYTHON */ break; case 'o': a++; diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp index 9fbdc3fa1c9..4410763ec53 100644 --- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp +++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp @@ -364,6 +364,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, initGameKeys(); initPythonConstraintBinding(); initMathutils(); + initVideoTexture(); if (sceneconverter) { @@ -655,6 +656,7 @@ extern "C" void StartKetsjiShellSimulation(struct ScrArea *area, initGameKeys(); initPythonConstraintBinding(); initMathutils(); + initVideoTexture(); if (sceneconverter) { diff --git a/source/gameengine/CMakeLists.txt b/source/gameengine/CMakeLists.txt index 93de588ba00..3ea788791e2 100644 --- a/source/gameengine/CMakeLists.txt +++ b/source/gameengine/CMakeLists.txt @@ -40,6 +40,7 @@ SUBDIRS( SceneGraph Physics/Bullet Physics/Sumo + VideoTexture ) IF(WITH_PLAYER) diff --git a/source/gameengine/GameLogic/SConscript b/source/gameengine/GameLogic/SConscript index fa5a3123215..b4e2159dc22 100644 --- a/source/gameengine/GameLogic/SConscript +++ b/source/gameengine/GameLogic/SConscript @@ -8,11 +8,13 @@ incs += ' #/source/gameengine/Expressions #/intern/moto/include' incs += ' #/source/gameengine/Rasterizer' incs += ' ' + env['BF_PYTHON_INC'] -incs += ' ' + env['BF_SDL_INC'] + defs = '' -if not env['WITH_BF_SDL']: +if env['WITH_BF_SDL']: + incs += ' ' + env['BF_SDL_INC'] +else: defs += ' DISABLE_SDL' env.BlenderLib ( 'bf_logic', sources, Split(incs), Split(defs), libtype=['game','player'], priority=[30, 110] ) diff --git a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp index a9196a1a5e3..aa5e5835cdc 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp @@ -686,6 +686,7 @@ bool GPG_Application::startEngine(void) initGameKeys(); initPythonConstraintBinding(); initMathutils(); + initVideoTexture(); // Set the GameLogic.globalDict from marshal'd data, so we can // load new blend files and keep data in GameLogic.globalDict diff --git a/source/gameengine/Ketsji/BL_Texture.h b/source/gameengine/Ketsji/BL_Texture.h index 0d0c7a277f2..830ffceb0f7 100644 --- a/source/gameengine/Ketsji/BL_Texture.h +++ b/source/gameengine/Ketsji/BL_Texture.h @@ -59,6 +59,14 @@ public: void SetMapping(int mode); void DisableUnit(); void setTexEnv(BL_Material *mat, bool modulate=false); + unsigned int swapTexture (unsigned int newTex) { + // swap texture codes + unsigned int tmp = mTexture; + mTexture = newTex; + // return original texture code + return tmp; + } + }; #endif//__BL_TEXTURE_H__ diff --git a/source/gameengine/Ketsji/KX_BlenderMaterial.h b/source/gameengine/Ketsji/KX_BlenderMaterial.h index 4ddf5a924df..6e5db1b56c1 100644 --- a/source/gameengine/Ketsji/KX_BlenderMaterial.h +++ b/source/gameengine/Ketsji/KX_BlenderMaterial.h @@ -67,6 +67,12 @@ public: MTFace* GetMTFace(void) const; unsigned int* GetMCol(void) const; + BL_Texture * getTex (unsigned int idx) { + return (idx < MAXTEX) ? mTextures + idx : NULL; + } + Image * getImage (unsigned int idx) { + return (idx < MAXTEX && mMaterial) ? mMaterial->img[idx] : NULL; + } // for ipos void UpdateIPO( diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp index 3830d422138..53b3e348a36 100644 --- a/source/gameengine/Ketsji/KX_Camera.cpp +++ b/source/gameengine/Ketsji/KX_Camera.cpp @@ -793,7 +793,7 @@ KX_PYMETHODDEF_DOC(KX_Camera, setOnTop, { class KX_Scene* scene; - scene = PHY_GetActiveScene(); + scene = KX_GetActiveScene(); MT_assert(scene); scene->SetCameraOnTop(this); Py_Return; diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index 739c122a5ef..a168beb9a70 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -1027,7 +1027,7 @@ bool KX_GameObject::ConvertPythonVectorArgs(PyObject* args, PyObject* KX_GameObject::PyReplaceMesh(PyObject* self, PyObject* value) { - KX_Scene *scene = PHY_GetActiveScene(); + KX_Scene *scene = KX_GetActiveScene(); char* meshname; void* mesh_pt; @@ -1050,7 +1050,7 @@ PyObject* KX_GameObject::PyReplaceMesh(PyObject* self, PyObject* value) PyObject* KX_GameObject::PyEndObject(PyObject* self) { - KX_Scene *scene = PHY_GetActiveScene(); + KX_Scene *scene = KX_GetActiveScene(); scene->DelayedRemoveObject(this); Py_RETURN_NONE; @@ -1447,7 +1447,7 @@ PyObject* KX_GameObject::PySetParent(PyObject* self, PyObject* value) // The object we want to set as parent CValue *m_ob = (CValue*)value; KX_GameObject *obj = ((KX_GameObject*)m_ob); - KX_Scene *scene = PHY_GetActiveScene(); + KX_Scene *scene = KX_GetActiveScene(); this->SetParent(scene, obj); @@ -1456,7 +1456,7 @@ PyObject* KX_GameObject::PySetParent(PyObject* self, PyObject* value) PyObject* KX_GameObject::PyRemoveParent(PyObject* self) { - KX_Scene *scene = PHY_GetActiveScene(); + KX_Scene *scene = KX_GetActiveScene(); this->RemoveParent(scene); Py_RETURN_NONE; } diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index b1ab8e3e7de..8bcda4479e1 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -470,7 +470,7 @@ else m_logger->StartLog(tc_physics, m_kxsystem->GetTimeInSeconds(), true); // set Python hooks for each scene PHY_SetActiveEnvironment(scene->GetPhysicsEnvironment()); - PHY_SetActiveScene(scene); + KX_SetActiveScene(scene); scene->GetPhysicsEnvironment()->endFrame(); @@ -568,7 +568,7 @@ else // set Python hooks for each scene PHY_SetActiveEnvironment(scene->GetPhysicsEnvironment()); - PHY_SetActiveScene(scene); + KX_SetActiveScene(scene); m_logger->StartLog(tc_scenegraph, m_kxsystem->GetTimeInSeconds(), true); scene->UpdateParents(m_clockTime); @@ -1540,6 +1540,11 @@ double KX_KetsjiEngine::GetAnimFrameRate() return m_anim_framerate; } +double KX_KetsjiEngine::GetClockTime(void) const +{ + return m_clockTime; +} + void KX_KetsjiEngine::SetAnimFrameRate(double framerate) { m_anim_framerate = framerate; diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.h b/source/gameengine/Ketsji/KX_KetsjiEngine.h index 1aa067a9962..4184202c518 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.h +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.h @@ -254,6 +254,11 @@ public: bool GetUseFixedTime(void) const; /** + * Returns current render frame clock time + */ + double GetClockTime(void) const; + + /** * Returns the difference between the local time of the scene (when it * was running and not suspended) and the "curtime" */ diff --git a/source/gameengine/Ketsji/KX_ParentActuator.cpp b/source/gameengine/Ketsji/KX_ParentActuator.cpp index eb56e8de679..89549ca6b57 100644 --- a/source/gameengine/Ketsji/KX_ParentActuator.cpp +++ b/source/gameengine/Ketsji/KX_ParentActuator.cpp @@ -119,7 +119,7 @@ bool KX_ParentActuator::Update() return false; // do nothing on negative events KX_GameObject *obj = (KX_GameObject*) GetParent(); - KX_Scene *scene = PHY_GetActiveScene(); + KX_Scene *scene = KX_GetActiveScene(); switch (m_mode) { case KX_PARENT_SET: if (m_ob) diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp index a30d9f4022d..0032d83c2ff 100644 --- a/source/gameengine/Ketsji/KX_PythonInit.cpp +++ b/source/gameengine/Ketsji/KX_PythonInit.cpp @@ -1461,16 +1461,21 @@ PyObject* initMathutils() return Mathutils_Init("Mathutils"); // Use as a top level module in BGE } -void PHY_SetActiveScene(class KX_Scene* scene) +void KX_SetActiveScene(class KX_Scene* scene) { gp_KetsjiScene = scene; } -class KX_Scene* PHY_GetActiveScene() +class KX_Scene* KX_GetActiveScene() { return gp_KetsjiScene; } +class KX_KetsjiEngine* KX_GetActiveEngine() +{ + return gp_KetsjiEngine; +} + // utility function for loading and saving the globalDict int saveGamePythonConfig( char **marshal_buffer) { diff --git a/source/gameengine/Ketsji/KX_PythonInit.h b/source/gameengine/Ketsji/KX_PythonInit.h index 36e3db6ec35..57ee0be9400 100644 --- a/source/gameengine/Ketsji/KX_PythonInit.h +++ b/source/gameengine/Ketsji/KX_PythonInit.h @@ -45,6 +45,7 @@ PyObject* initGameKeys(); PyObject* initRasterizer(class RAS_IRasterizer* rasty,class RAS_ICanvas* canvas); PyObject* initGamePlayerPythonScripting(const STR_String& progname, TPythonSecurityLevel level); PyObject* initMathutils(); +PyObject* initVideoTexture(void); void exitGamePlayerPythonScripting(); PyObject* initGamePythonScripting(const STR_String& progname, TPythonSecurityLevel level); void exitGamePythonScripting(); @@ -54,8 +55,12 @@ void pathGamePythonConfig( char *path ); int saveGamePythonConfig( char **marshal_buffer); int loadGamePythonConfig(char *marshal_buffer, int marshal_length); -void PHY_SetActiveScene(class KX_Scene* scene); -class KX_Scene* PHY_GetActiveScene(); +class KX_KetsjiEngine; +class KX_Scene; + +void KX_SetActiveScene(class KX_Scene* scene); +class KX_Scene* KX_GetActiveScene(); +class KX_KetsjiEngine* KX_GetActiveEngine(); #include "MT_Vector3.h" void KX_RasterizerDrawDebugLine(const MT_Vector3& from,const MT_Vector3& to,const MT_Vector3& color); diff --git a/source/gameengine/Ketsji/SConscript b/source/gameengine/Ketsji/SConscript index 02e7aed82a5..f5c620b583f 100644 --- a/source/gameengine/Ketsji/SConscript +++ b/source/gameengine/Ketsji/SConscript @@ -41,8 +41,10 @@ if env['OURPLATFORM'] == 'win32-vc': incs += ' ' + env['BF_SOLID_INC'] incs += ' ' + env['BF_PYTHON_INC'] -incs += ' ' + env['BF_SDL_INC'] incs += ' ' + env['BF_BULLET_INC'] incs += ' ' + env['BF_OPENGL_INC'] +if env['WITH_BF_SDL']: + incs += ' ' + env['BF_SDL_INC'] + env.BlenderLib ( 'bf_ketsji', sources, Split(incs), [], libtype=['game','player'], priority=[25, 72], compileflags = cflags ) diff --git a/source/gameengine/Makefile b/source/gameengine/Makefile index 1d3bc8c2058..51bc0f7d39f 100644 --- a/source/gameengine/Makefile +++ b/source/gameengine/Makefile @@ -35,7 +35,7 @@ DIR = $(OCGDIR)/gameengine DIRS = BlenderRoutines DIRS += Converter DIRS += Expressions GameLogic Ketsji Rasterizer SceneGraph -DIRS += Network Physics +DIRS += Network Physics VideoTexture ifeq ($(WITH_BF_BLENDERGAMEENGINE),true) DIRS += GamePlayer diff --git a/source/gameengine/Physics/Sumo/SConscript b/source/gameengine/Physics/Sumo/SConscript index be7922efd44..86e8db5919f 100644 --- a/source/gameengine/Physics/Sumo/SConscript +++ b/source/gameengine/Physics/Sumo/SConscript @@ -1,7 +1,6 @@ #!/usr/bin/python Import ('env') -sumoenv = env.Copy() sources = ['SumoPHYCallbackBridge.cpp', 'SumoPhysicsController.cpp', 'SumoPhysicsEnvironment.cpp', @@ -16,7 +15,7 @@ incs =['.', 'Fuzzics/include', '#/intern/moto/include' ] -incs += [sumoenv['BF_SOLID_INC']] +incs += [env['BF_SOLID_INC']] cflags = [] if env['OURPLATFORM']=='win32-vc': diff --git a/source/gameengine/PyDoc/SConscript b/source/gameengine/PyDoc/SConscript index 3d1aa66bc69..ac0b163d7bd 100644 --- a/source/gameengine/PyDoc/SConscript +++ b/source/gameengine/PyDoc/SConscript @@ -23,6 +23,6 @@ if epydoc: optvalues["names"] = names optparser = OptionParser() optparser.set_defaults(**optvalues) - (options, args) = optparser.parse_args() + (options, args) = optparser.parse_args([]) cli.write_html(docindex, options) diff --git a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp index 6e5553d4781..282c7306285 100644 --- a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp +++ b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp @@ -58,7 +58,7 @@ RAS_2DFilterManager::RAS_2DFilterManager(): texturewidth(-1), textureheight(-1), canvaswidth(-1), canvasheight(-1), -numberoffilters(0) +numberoffilters(0), need_tex_update(true) { isshadersupported = GLEW_ARB_shader_objects && GLEW_ARB_fragment_shader && GLEW_ARB_multitexture; @@ -78,6 +78,7 @@ numberoffilters(0) m_gameObjects[passindex] = NULL; } texname[0] = texname[1] = texname[2] = -1; + errorprinted= false; } RAS_2DFilterManager::~RAS_2DFilterManager() @@ -85,76 +86,107 @@ RAS_2DFilterManager::~RAS_2DFilterManager() FreeTextures(); } +void RAS_2DFilterManager::PrintShaderErrors(unsigned int shader, const char *task, const char *code) +{ + GLcharARB log[5000]; + GLsizei length = 0; + const char *c, *pos, *end; + int line = 1; + + if(errorprinted) + return; + + errorprinted= true; + + glGetInfoLogARB(shader, sizeof(log), &length, log); + end = code + strlen(code); + + printf("2D Filter GLSL Shader: %s error:\n", task); + + c = code; + while ((c < end) && (pos = strchr(c, '\n'))) { + printf("%2d ", line); + fwrite(c, (pos+1)-c, 1, stdout); + c = pos+1; + line++; + } + printf("%s", c); + + printf("%s\n", log); +} + unsigned int RAS_2DFilterManager::CreateShaderProgram(const char* shadersource) { - GLuint program = 0; - GLuint fShader = glCreateShaderObjectARB(GL_FRAGMENT_SHADER); - GLint success; + GLuint program = 0; + GLuint fShader = glCreateShaderObjectARB(GL_FRAGMENT_SHADER); + GLint success; - glShaderSourceARB(fShader, 1, (const char**)&shadersource, NULL); + glShaderSourceARB(fShader, 1, (const char**)&shadersource, NULL); - glCompileShaderARB(fShader); + glCompileShaderARB(fShader); - glGetObjectParameterivARB(fShader, GL_COMPILE_STATUS, &success); - if(!success) - { - /*Shader Comile Error*/ - std::cout << "2dFilters - Shader compile error" << std::endl; - return 0; - } - - program = glCreateProgramObjectARB(); - glAttachObjectARB(program, fShader); - glLinkProgramARB(program); - glGetObjectParameterivARB(program, GL_LINK_STATUS, &success); - if (!success) - { - /*Program Link Error*/ - std::cout << "2dFilters - Shader program link error" << std::endl; - return 0; - } - - glValidateProgramARB(program); - glGetObjectParameterivARB(program, GL_VALIDATE_STATUS, &success); - if (!success) - { - /*Program Validation Error*/ - std::cout << "2dFilters - Shader program validation error" << std::endl; - return 0; - } + glGetObjectParameterivARB(fShader, GL_COMPILE_STATUS, &success); + if(!success) + { + /*Shader Comile Error*/ + PrintShaderErrors(fShader, "compile", shadersource); + return 0; + } + + program = glCreateProgramObjectARB(); + glAttachObjectARB(program, fShader); - return program; + glLinkProgramARB(program); + glGetObjectParameterivARB(program, GL_LINK_STATUS, &success); + if (!success) + { + /*Program Link Error*/ + PrintShaderErrors(fShader, "link", shadersource); + return 0; + } + + glValidateProgramARB(program); + glGetObjectParameterivARB(program, GL_VALIDATE_STATUS, &success); + if (!success) + { + /*Program Validation Error*/ + PrintShaderErrors(fShader, "validate", shadersource); + return 0; + } + + return program; } unsigned int RAS_2DFilterManager::CreateShaderProgram(int filtermode) { - switch(filtermode) - { - case RAS_2DFILTER_BLUR: - return CreateShaderProgram(BlurFragmentShader); - case RAS_2DFILTER_SHARPEN: - return CreateShaderProgram(SharpenFragmentShader); - case RAS_2DFILTER_DILATION: - return CreateShaderProgram(DilationFragmentShader); - case RAS_2DFILTER_EROSION: - return CreateShaderProgram(ErosionFragmentShader); - case RAS_2DFILTER_LAPLACIAN: - return CreateShaderProgram(LaplacionFragmentShader); - case RAS_2DFILTER_SOBEL: - return CreateShaderProgram(SobelFragmentShader); - case RAS_2DFILTER_PREWITT: - return CreateShaderProgram(PrewittFragmentShader); - case RAS_2DFILTER_GRAYSCALE: - return CreateShaderProgram(GrayScaleFragmentShader); - case RAS_2DFILTER_SEPIA: - return CreateShaderProgram(SepiaFragmentShader); - case RAS_2DFILTER_INVERT: - return CreateShaderProgram(InvertFragmentShader); - } - return 0; + switch(filtermode) + { + case RAS_2DFILTER_BLUR: + return CreateShaderProgram(BlurFragmentShader); + case RAS_2DFILTER_SHARPEN: + return CreateShaderProgram(SharpenFragmentShader); + case RAS_2DFILTER_DILATION: + return CreateShaderProgram(DilationFragmentShader); + case RAS_2DFILTER_EROSION: + return CreateShaderProgram(ErosionFragmentShader); + case RAS_2DFILTER_LAPLACIAN: + return CreateShaderProgram(LaplacionFragmentShader); + case RAS_2DFILTER_SOBEL: + return CreateShaderProgram(SobelFragmentShader); + case RAS_2DFILTER_PREWITT: + return CreateShaderProgram(PrewittFragmentShader); + case RAS_2DFILTER_GRAYSCALE: + return CreateShaderProgram(GrayScaleFragmentShader); + case RAS_2DFILTER_SEPIA: + return CreateShaderProgram(SepiaFragmentShader); + case RAS_2DFILTER_INVERT: + return CreateShaderProgram(InvertFragmentShader); + } + return 0; } -void RAS_2DFilterManager::AnalyseShader(int passindex, vector<STR_String>& propNames) + +void RAS_2DFilterManager::AnalyseShader(int passindex, vector<STR_String>& propNames) { texflag[passindex] = 0; if(glGetUniformLocationARB(m_filters[passindex], "bgl_DepthTexture") != -1) @@ -185,50 +217,50 @@ void RAS_2DFilterManager::StartShaderProgram(int passindex) glActiveTextureARB(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, texname[0]); - if (uniformLoc != -1) - { + if (uniformLoc != -1) + { glUniform1iARB(uniformLoc, 0); - } + } - /* send depth texture to glsl program if it needs */ + /* send depth texture to glsl program if it needs */ if(texflag[passindex] & 0x1){ - uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_DepthTexture"); - glActiveTextureARB(GL_TEXTURE1); - glBindTexture(GL_TEXTURE_2D, texname[1]); + uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_DepthTexture"); + glActiveTextureARB(GL_TEXTURE1); + glBindTexture(GL_TEXTURE_2D, texname[1]); - if (uniformLoc != -1) - { - glUniform1iARB(uniformLoc, 1); - } - } + if (uniformLoc != -1) + { + glUniform1iARB(uniformLoc, 1); + } + } - /* send luminance texture to glsl program if it needs */ + /* send luminance texture to glsl program if it needs */ if(texflag[passindex] & 0x2){ - uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_LuminanceTexture"); - glActiveTextureARB(GL_TEXTURE2); - glBindTexture(GL_TEXTURE_2D, texname[2]); - - if (uniformLoc != -1) - { - glUniform1iARB(uniformLoc, 2); - } + uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_LuminanceTexture"); + glActiveTextureARB(GL_TEXTURE2); + glBindTexture(GL_TEXTURE_2D, texname[2]); + + if (uniformLoc != -1) + { + glUniform1iARB(uniformLoc, 2); + } } uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_TextureCoordinateOffset"); - if (uniformLoc != -1) - { - glUniform2fvARB(uniformLoc, 9, textureoffsets); - } + if (uniformLoc != -1) + { + glUniform2fvARB(uniformLoc, 9, textureoffsets); + } uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_RenderedTextureWidth"); - if (uniformLoc != -1) - { + if (uniformLoc != -1) + { glUniform1fARB(uniformLoc,texturewidth); - } + } uniformLoc = glGetUniformLocationARB(m_filters[passindex], "bgl_RenderedTextureHeight"); - if (uniformLoc != -1) - { + if (uniformLoc != -1) + { glUniform1fARB(uniformLoc,textureheight); - } + } int i, objProperties = m_properties[passindex].size(); for(i=0; i<objProperties; i++) @@ -249,11 +281,11 @@ void RAS_2DFilterManager::EndShaderProgram() void RAS_2DFilterManager::FreeTextures() { - if(texname[0]!=-1) + if(texname[0]!=(unsigned int)-1) glDeleteTextures(1, (GLuint*)&texname[0]); - if(texname[1]!=-1) + if(texname[1]!=(unsigned int)-1) glDeleteTextures(1, (GLuint*)&texname[1]); - if(texname[2]!=-1) + if(texname[2]!=(unsigned int)-1) glDeleteTextures(1, (GLuint*)&texname[2]); } @@ -300,20 +332,20 @@ void RAS_2DFilterManager::UpdateOffsetMatrix(RAS_ICanvas* canvas) RAS_Rect canvas_rect = canvas->GetWindowArea(); canvaswidth = canvas->GetWidth(); canvasheight = canvas->GetHeight(); + texturewidth = canvaswidth + canvas_rect.GetLeft(); textureheight = canvasheight + canvas_rect.GetBottom(); - GLint i,j; i = 0; - while ((1 << i) <= texturewidth) - i++; - texturewidth = (1 << (i)); + while ((1 << i) <= texturewidth) + i++; + texturewidth = (1 << (i)); - // Now for height - i = 0; - while ((1 << i) <= textureheight) - i++; - textureheight = (1 << (i)); + // Now for height + i = 0; + while ((1 << i) <= textureheight) + i++; + textureheight = (1 << (i)); GLfloat xInc = 1.0f / (GLfloat)texturewidth; GLfloat yInc = 1.0f / (GLfloat)textureheight; @@ -328,6 +360,23 @@ void RAS_2DFilterManager::UpdateOffsetMatrix(RAS_ICanvas* canvas) } } +void RAS_2DFilterManager::UpdateCanvasTextureCoord(unsigned int * viewport) +{ + /* + This function update canvascoord[]. + These parameters are used to create texcoord[1] + That way we can access the texcoord relative to the canvas: + (0.0,0.0) bottom left, (1.0,1.0) top right, (0.5,0.5) center + */ + canvascoord[0] = (GLfloat) viewport[0] / viewport[2]; + canvascoord[0] *= -1; + canvascoord[1] = (GLfloat) (texturewidth - viewport[0]) / viewport[2]; + + canvascoord[2] = (GLfloat) viewport[1] / viewport[3]; + canvascoord[2] *= -1; + canvascoord[3] = (GLfloat)(textureheight - viewport[1]) / viewport[3]; +} + void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas) { bool need_depth=false; @@ -355,12 +404,21 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas) if(num_filters <= 0) return; + GLuint viewport[4]={0}; + glGetIntegerv(GL_VIEWPORT,(GLint *)viewport); + if(canvaswidth != canvas->GetWidth() || canvasheight != canvas->GetHeight()) { UpdateOffsetMatrix(canvas); + UpdateCanvasTextureCoord((unsigned int*)viewport); + need_tex_update = true; + } + + if(need_tex_update) + { SetupTextures(need_depth, need_luminance); + need_tex_update = false; } - GLuint viewport[4]={0}; if(need_depth){ glActiveTextureARB(GL_TEXTURE1); @@ -371,10 +429,9 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas) if(need_luminance){ glActiveTextureARB(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, texname[2]); - glCopyTexImage2D(GL_TEXTURE_2D,0,GL_LUMINANCE16, 0, 0 , texturewidth,textureheight, 0); + glCopyTexImage2D(GL_TEXTURE_2D,0,GL_LUMINANCE16, 0, 0, texturewidth,textureheight, 0); } - glGetIntegerv(GL_VIEWPORT,(GLint *)viewport); glViewport(0,0, texturewidth, textureheight); glDisable(GL_DEPTH_TEST); @@ -398,10 +455,10 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas) glBegin(GL_QUADS); glColor4f(1.f, 1.f, 1.f, 1.f); - glTexCoord2f(1.0, 1.0); glVertex2f(1,1); - glTexCoord2f(0.0, 1.0); glVertex2f(-1,1); - glTexCoord2f(0.0, 0.0); glVertex2f(-1,-1); - glTexCoord2f(1.0, 0.0); glVertex2f(1,-1); + glTexCoord2f(1.0, 1.0); glMultiTexCoord2fARB(GL_TEXTURE3_ARB, canvascoord[1], canvascoord[3]); glVertex2f(1,1); + glTexCoord2f(0.0, 1.0); glMultiTexCoord2fARB(GL_TEXTURE3_ARB, canvascoord[0], canvascoord[3]); glVertex2f(-1,1); + glTexCoord2f(0.0, 0.0); glMultiTexCoord2fARB(GL_TEXTURE3_ARB, canvascoord[0], canvascoord[2]); glVertex2f(-1,-1); + glTexCoord2f(1.0, 0.0); glMultiTexCoord2fARB(GL_TEXTURE3_ARB, canvascoord[1], canvascoord[2]); glVertex2f(1,-1); glEnd(); } } @@ -417,7 +474,7 @@ void RAS_2DFilterManager::EnableFilter(vector<STR_String>& propNames, void* game return; if(pass<0 || pass>=MAX_RENDER_PASS) return; - + need_tex_update = true; if(mode == RAS_2DFILTER_DISABLED) { m_enabled[pass] = 0; diff --git a/source/gameengine/Rasterizer/RAS_2DFilterManager.h b/source/gameengine/Rasterizer/RAS_2DFilterManager.h index c16bd41dd0e..6a420a974d4 100644 --- a/source/gameengine/Rasterizer/RAS_2DFilterManager.h +++ b/source/gameengine/Rasterizer/RAS_2DFilterManager.h @@ -38,12 +38,15 @@ private: void AnalyseShader(int passindex, vector<STR_String>& propNames); void StartShaderProgram(int passindex); void EndShaderProgram(); + void PrintShaderErrors(unsigned int shader, const char *task, const char *code); void SetupTextures(bool depth, bool luminance); void FreeTextures(); void UpdateOffsetMatrix(RAS_ICanvas* canvas); - + void UpdateCanvasTextureCoord(unsigned int * viewport); + + float canvascoord[4]; float textureoffsets[18]; float view[4]; /* texname[0] contains render to texture, texname[1] contains depth texture, texname[2] contains luminance texture*/ @@ -58,6 +61,8 @@ private: short texflag[MAX_RENDER_PASS]; bool isshadersupported; + bool errorprinted; + bool need_tex_update; unsigned int m_filters[MAX_RENDER_PASS]; short m_enabled[MAX_RENDER_PASS]; diff --git a/source/gameengine/SConscript b/source/gameengine/SConscript index c2750d19706..e841f206eee 100644 --- a/source/gameengine/SConscript +++ b/source/gameengine/SConscript @@ -15,7 +15,8 @@ SConscript(['BlenderRoutines/SConscript', 'Rasterizer/RAS_OpenGLRasterizer/SConscript', 'SceneGraph/SConscript', 'Physics/Bullet/SConscript', - 'Physics/Sumo/SConscript' + 'Physics/Sumo/SConscript', + 'VideoTexture/SConscript' ]) if env['WITH_BF_PLAYER']: diff --git a/source/gameengine/VideoTexture/BlendType.h b/source/gameengine/VideoTexture/BlendType.h new file mode 100644 index 00000000000..ac3ed8812a6 --- /dev/null +++ b/source/gameengine/VideoTexture/BlendType.h @@ -0,0 +1,75 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2006 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined BLENDTYPE_H +#define BLENDTYPE_H + + +/// class allows check type of blender python object and access its contained object +template <class PyObj> class BlendType +{ +public: + /// constructor + BlendType (char * name) : m_name(name) {} + + /// check blender type and return pointer to contained object or NULL (if type is not valid) + PyObj * checkType (PyObject * obj) + { + // if pointer to type isn't set + if (m_objType == NULL) + { + // compare names of type + if (strcmp(obj->ob_type->tp_name, m_name) == 0) + // if name of type match, save pointer to type + m_objType = obj->ob_type; + else + // if names of type don't match, return NULL + return NULL; + } + // if pointer to type is set and don't match to type of provided object, return NULL + else if (obj->ob_type != m_objType) + return NULL; + // return pointer to object + return (PyObj*)obj; + } + + /// parse arguments to get object + PyObj * parseArg (PyObject * args) + { + // parse arguments + PyObject * obj; + if (PyArg_ParseTuple(args, "O", &obj)) + // if successfully parsed, return pointer to object + return checkType(obj); + // otherwise return NULL + return NULL; + } + +protected: + /// name of Python type + char * m_name; + /// pointer to Python type + PyTypeObject * m_objType; +}; + + +#endif diff --git a/source/gameengine/VideoTexture/CMakeLists.txt b/source/gameengine/VideoTexture/CMakeLists.txt new file mode 100644 index 00000000000..1674602edd7 --- /dev/null +++ b/source/gameengine/VideoTexture/CMakeLists.txt @@ -0,0 +1,61 @@ +# $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) 2006, Blender Foundation +# All rights reserved. +# +# The Original Code is: all of this file. +# +# Contributor(s): Jacques Beaurain. +# +# ***** END GPL LICENSE BLOCK ***** + +FILE(GLOB SRC *.cpp) + +SET(INC + . + ../../../source/gameengine/Ketsji + ../../../source/gameengine/Expressions + ../../../source/gameengine/GameLogic + ../../../source/gameengine/SceneGraph + ../../../source/gameengine/Rasterizer + ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer + ../../../source/gameengine/BlenderRoutines + ../../../source/blender/include + ../../../source/blender/blenlib + ../../../source/blender/blenkernel + ../../../source/blender/makesdna + ../../../source/blender/imbuf + ../../../source/blender/python + ../../../source/blender/gpu + ../../../source/kernel/gen_system + ../../../intern/string + ../../../intern/moto/include + ../../../intern/guardedalloc + ../../../intern/SoundSystem + ../../../extern/glew/include + ${PYTHON_INC} +) + +IF(WITH_FFMPEG) + SET(INC ${INC} ${FFMPEG_INC}) + ADD_DEFINITIONS(-DWITH_FFMPEG) + ADD_DEFINITIONS(-D__STDC_CONSTANT_MACROS) +ENDIF(WITH_FFMPEG) + +BLENDERLIB(bf_videotex "${SRC}" "${INC}") +#env.BlenderLib ( 'bf_videotex', sources, Split(incs), [], libtype=['game','player'], priority=[25, 72], compileflags = cflags ) diff --git a/source/gameengine/VideoTexture/Common.h b/source/gameengine/VideoTexture/Common.h new file mode 100644 index 00000000000..f771077bbba --- /dev/null +++ b/source/gameengine/VideoTexture/Common.h @@ -0,0 +1,55 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2006 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if defined WIN32 +#define WINDOWS_LEAN_AND_MEAN +#endif + +#if !defined NULL +#define NULL 0 +#endif + +#if !defined HRESULT +#define HRESULT long +#endif + +#if !defined DWORD +#define DWORD unsigned long +#endif + +#if !defined S_OK +#define S_OK ((HRESULT)0L) +#endif + +#if !defined BYTE +#define BYTE unsigned char +#endif + +#if !defined WIN32 +#define Sleep(time) sleep(time) +#endif + +#if !defined FAILED +#define FAILED(Status) ((HRESULT)(Status)<0) +#endif + +#include <iostream> diff --git a/source/gameengine/VideoTexture/Exception.cpp b/source/gameengine/VideoTexture/Exception.cpp new file mode 100644 index 00000000000..3f939de6bc2 --- /dev/null +++ b/source/gameengine/VideoTexture/Exception.cpp @@ -0,0 +1,209 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2006 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + + +#include <strstream> +#include <fstream> + +#include <PyObjectPlus.h> + +#include "Exception.h" + + +// exception identificators +ExceptionID ErrGeneral, ErrNotFound; + +// exception descriptions +ExpDesc errGenerDesc (ErrGeneral, "General Error"); +ExpDesc errNFoundDesc (ErrNotFound, "Error description not found"); + + + +// implementation of ExpDesc + +// constructor +ExpDesc::ExpDesc (ExceptionID & exp, char * desc, RESULT hres) +: m_expID(exp), m_hRslt(hres), m_description(desc) +{ +} + +// destructor +ExpDesc::~ExpDesc (void) {} + +// list of descriptions +std::vector<ExpDesc*> ExpDesc::m_expDescs; + + +// class Exception + + +// last exception description +std::string Exception::m_lastError; + +// log file name +char * Exception::m_logFile = NULL; + + +// basic constructor +Exception::Exception () +{ + // default values + m_expID = &ErrNotFound; + m_hRslt = S_OK; + m_line = 0; +} + + +// destructor +Exception::~Exception () throw() { } + + +// copy constructor +Exception::Exception (const Exception & xpt) +{ copy (xpt); } + + +// assignment operator +Exception & Exception::operator= (const Exception & xpt) +{ copy (xpt); return *this; } + + +// get exception description +const char * Exception::what() +{ + // set exception description + setXptDesc(); + // return c string + return m_desc.c_str(); +} + + +// debug version - with file and line of exception +Exception::Exception (ExceptionID & expID, RESULT rslt, char * fil, int lin) +: m_expID (&expID), m_hRslt (rslt) +{ + // set file and line + if (strlen(fil) > 0 || lin > 0) + setFileLine (fil, lin); +} + + +// set file and line +void Exception::setFileLine (char * fil, int lin) +{ + if (fil != NULL) m_fileName = fil; + m_line = lin; +} + + +// report exception +void Exception::report(void) +{ + // set exception description + setXptDesc(); + // set python error + PyErr_SetString(PyExc_RuntimeError, what()); + // if log file is set + if (m_logFile != NULL) + { + // write description to log + std::ofstream logf (m_logFile, std::ios_base::app); + logf << m_fileName << ':' << m_line << ':' << m_desc << std::endl; + logf.flush(); + logf.close(); + } +} + + +// set exception description +void Exception::setXptDesc (void) +{ + // if description is not set + if (m_desc.size() == 0) + { + // start of search -1 + // found description "NotFound" 0 + // found description without matching result 1 + // found description with matching result 2 + int best = -1; + // find exception description + for (std::vector<ExpDesc*>::iterator it = ExpDesc::m_expDescs.begin(); it != ExpDesc::m_expDescs.end(); ++it) + { + // use "NotFound", if there is not better + if (best < 0 && (*it)->isExp(&ErrNotFound) > 0) + { + (*it)->loadDesc(m_desc); + best = 0; + } + // match exception + int nBest = (*it)->isExp(m_expID, m_hRslt); + // if exception is matching better + if (nBest > 0 && best < nBest) + { + // set description + (*it)->loadDesc(m_desc); + best = nBest; + // if matching exactly, finish search + if (best == 2) break; + } + } + // add result code + // length of result code + const size_t rsltSize = 11; + // delimit description + const char delimRslt[] = ": "; + // set text of description + char rsltTxt[rsltSize]; + std::ostrstream os(rsltTxt, rsltSize); + os << std::hex << m_hRslt << delimRslt << '\0'; + // copy result to description + m_desc.insert(0, rsltTxt); + // copy exception description to last exception string + m_lastError = m_desc; + } +} + + +// copy exception data +void Exception::copy (const Exception & xpt) +{ + // standard data + m_expID = xpt.m_expID; + m_hRslt = xpt.m_hRslt; + m_desc = xpt.m_desc; + + // debug data + m_fileName = xpt.m_fileName; + m_line = xpt.m_line; +} + +void registerAllExceptions(void) +{ + errGenerDesc.registerDesc(); + errNFoundDesc.registerDesc(); + MaterialNotAvailDesc.registerDesc(); + ImageSizesNotMatchDesc.registerDesc(); + SceneInvalidDesc.registerDesc(); + CameraInvalidDesc.registerDesc(); + SourceVideoEmptyDesc.registerDesc(); + SourceVideoCreationDesc.registerDesc(); +} diff --git a/source/gameengine/VideoTexture/Exception.h b/source/gameengine/VideoTexture/Exception.h new file mode 100644 index 00000000000..5345e87f199 --- /dev/null +++ b/source/gameengine/VideoTexture/Exception.h @@ -0,0 +1,210 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2006 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + + +#if !defined EXCEPTION_H +#define EXCEPTION_H + +#include <exception> +#include <vector> +#include <string> +#include <algorithm> + +#include "Common.h" + + +#define CHCKHRSLTV(fnc,val,err) \ +{ \ + HRESULT macroHRslt = (fnc); \ + if (macroHRslt != val) \ + throw Exception (err, macroHRslt, __FILE__, __LINE__); \ +} + +#define THRWEXCP(err,hRslt) throw Exception (err, hRslt, __FILE__, __LINE__); + + +#if defined WIN32 + +#define CHCKHRSLT(fnc,err) \ +{ \ + HRESULT macroHRslt = (fnc); \ + if (FAILED(macroHRslt)) \ + throw Exception (err, macroHRslt, __FILE__, __LINE__); \ +} + +#else + +#define CHCKHRSLT(fnc,err) CHCKHRSLTV(fnc,S_OK,err) + +#endif + + +// forward declarations +class ExceptionID; +class Exception; + + +// exception identificators +extern ExceptionID ErrGeneral, ErrNotFound; + + +// result type +typedef long RESULT; + + +// class ExceptionID for exception identification +class ExceptionID +{ +public: + // constructor a destructor + ExceptionID (void) {} + ~ExceptionID (void) {} + +private: + // not allowed + ExceptionID (const ExceptionID & obj) throw() {} + ExceptionID & operator= (const ExceptionID & obj) throw() { return *this; } +}; + + +// class ExpDesc for exception description +class ExpDesc +{ +public: + // constructor a destructor + ExpDesc (ExceptionID & exp, char * desc, RESULT hres = S_OK); + ~ExpDesc (void); + + // comparision function + // returns 0, if exception identification don't match at all + // returns 1, if only exception identification is matching + // returns 2, if both exception identification and result are matching + int isExp (ExceptionID * exp, RESULT hres = S_OK) throw() + { + // check exception identification + if (&m_expID == exp) + { + // check result value + if (m_hRslt == hres) return 2; + // only identification match + if (m_hRslt == S_OK) return 1; + } + // no match + return 0; + } + + // get exception description + void loadDesc (std::string & desc) throw() + { + desc = m_description; + } + + void registerDesc(void) + { + if (std::find(m_expDescs.begin(), m_expDescs.end(), this) == m_expDescs.end()) + m_expDescs.push_back(this); + } + // list of exception descriptions + static std::vector<ExpDesc*> m_expDescs; + +private: + // exception ID + ExceptionID & m_expID; + // result + RESULT m_hRslt; + // description + char * m_description; + + // not allowed + ExpDesc (const ExpDesc & obj) : m_expID (ErrNotFound) {} + ExpDesc & operator= (const ExpDesc & obj) { return *this; } +}; + + + +// class Exception +class Exception : public std::exception +{ +public: + // constructor + Exception (); + // destructor + virtual ~Exception () throw(); + // copy constructor + Exception (const Exception & xpt); + // assignment operator + Exception & operator= (const Exception & xpt); + // get exception description + virtual const char * what(void); + + // debug version of constructor + Exception (ExceptionID & expID, RESULT rslt, char * fil, int lin); + // set source file and line of exception + void setFileLine (char * fil, int lin); + + // get description in string + std::string & getDesc (void) throw() { return m_desc; } + + // report exception + virtual void report (void); + + // get exception id + ExceptionID * getID (void) throw() { return m_expID; } + + /// last exception description + static std::string m_lastError; + + /// log file name + static char * m_logFile; + +protected: + // exception identification + ExceptionID * m_expID; + // RESULT code + RESULT m_hRslt; + + // exception description + std::string m_desc; + + // set exception description + virtual void setXptDesc (void); + + // copy exception + void copy (const Exception & xpt); + + // file name where exception was thrown + std::string m_fileName; + // line number in file + int m_line; + +}; + +extern ExpDesc MaterialNotAvailDesc; +extern ExpDesc ImageSizesNotMatchDesc; +extern ExpDesc SceneInvalidDesc; +extern ExpDesc CameraInvalidDesc; +extern ExpDesc SourceVideoEmptyDesc; +extern ExpDesc SourceVideoCreationDesc; + + +void registerAllExceptions(void); +#endif diff --git a/source/gameengine/VideoTexture/FilterBase.cpp b/source/gameengine/VideoTexture/FilterBase.cpp new file mode 100644 index 00000000000..b0112cd355b --- /dev/null +++ b/source/gameengine/VideoTexture/FilterBase.cpp @@ -0,0 +1,150 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#include "FilterBase.h" + +#include <PyObjectPlus.h> +#include <structmember.h> + + +// FilterBase class implementation + +// constructor +FilterBase::FilterBase (void) : m_previous(NULL) {} + + +// destructor +FilterBase::~FilterBase (void) +{ + // release Python objects, if not released yet + release(); +} + + +// release python objects +void FilterBase::release (void) +{ + // release previous filter object + setPrevious(NULL); +} + + +// set new previous filter +void FilterBase::setPrevious (PyFilter * filt, bool useRefCnt) +{ + // if reference counting has to be used + if (useRefCnt) + { + // reference new filter + if (filt != NULL) Py_INCREF(filt); + // release old filter + Py_XDECREF(m_previous); + } + // set new previous filter + m_previous = filt; +} + + +// find first filter +FilterBase * FilterBase::findFirst (void) +{ + // find first filter in chain + FilterBase * frst; + for (frst = this; frst->m_previous != NULL; frst = frst->m_previous->m_filter); + // set first filter + return frst; +} + + + +// list offilter types +PyTypeList pyFilterTypes; + + + +// functions for python interface + + +// object allocation +PyObject * Filter_allocNew (PyTypeObject * type, PyObject * args, PyObject * kwds) +{ + // allocate object + PyFilter * self = reinterpret_cast<PyFilter*>(type->tp_alloc(type, 0)); + // initialize object structure + self->m_filter = NULL; + // return allocated object + return reinterpret_cast<PyObject*>(self); +} + +// object deallocation +void Filter_dealloc (PyFilter * self) +{ + // release object attributes + if (self->m_filter != NULL) + { + self->m_filter->release(); + delete self->m_filter; + self->m_filter = NULL; + } +} + + +// get previous pixel filter object +PyObject * Filter_getPrevious (PyFilter * self, void * closure) +{ + // if filter object is available + if (self->m_filter != NULL) + { + // pixel filter object + PyObject * filt = reinterpret_cast<PyObject*>(self->m_filter->getPrevious()); + // if filter is present + if (filt != NULL) + { + // return it + Py_INCREF(filt); + return filt; + } + } + // otherwise return none + Py_RETURN_NONE; +} + + +// set previous pixel filter object +int Filter_setPrevious (PyFilter * self, PyObject * value, void * closure) +{ + // if filter object is available + if (self->m_filter != NULL) + { + // check new value + if (value == NULL || !pyFilterTypes.in(value->ob_type)) + { + // report value error + PyErr_SetString(PyExc_TypeError, "Invalid type of value"); + return -1; + } + // set new value + self->m_filter->setPrevious(reinterpret_cast<PyFilter*>(value)); + } + // return success + return 0; +} diff --git a/source/gameengine/VideoTexture/FilterBase.h b/source/gameengine/VideoTexture/FilterBase.h new file mode 100644 index 00000000000..b6080f018d5 --- /dev/null +++ b/source/gameengine/VideoTexture/FilterBase.h @@ -0,0 +1,138 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined FILTERBASE_H +#define FILTERBASE_H + +#include "Common.h" + +#include <PyObjectPlus.h> + +#include "PyTypeList.h" + +#define VT_C(v,idx) ((unsigned char*)&v)[idx] +#define VT_R(v) ((unsigned char*)&v)[0] +#define VT_G(v) ((unsigned char*)&v)[1] +#define VT_B(v) ((unsigned char*)&v)[2] +#define VT_A(v) ((unsigned char*)&v)[3] +#define VT_RGBA(v,r,g,b,a) VT_R(v)=(unsigned char)r, VT_G(v)=(unsigned char)g, VT_B(v)=(unsigned char)b, VT_A(v)=(unsigned char)a + +// forward declaration +class FilterBase; + + +// python structure for filter +struct PyFilter +{ + PyObject_HEAD + // source object + FilterBase * m_filter; +}; + + +/// base class for pixel filters +class FilterBase +{ +public: + /// constructor + FilterBase (void); + /// destructor + virtual ~FilterBase (void); + // release python objects + virtual void release (void); + + /// convert pixel + template <class SRC> unsigned int convert (SRC src, short x, short y, + short * size, unsigned int pixSize) + { + return filter(src, x, y, size, pixSize, + convertPrevious(src, x, y, size, pixSize)); + } + + /// get previous filter + PyFilter * getPrevious (void) { return m_previous; } + /// set previous filter + void setPrevious (PyFilter * filt, bool useRefCnt = true); + + /// find first filter in chain + FilterBase * findFirst (void); + + /// get first filter's source pixel size + unsigned int firstPixelSize (void) { return findFirst()->getPixelSize(); } + +protected: + /// previous pixel filter + PyFilter * m_previous; + + /// filter pixel, source byte buffer + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return val; } + /// filter pixel, source int buffer + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return val; } + + /// get source pixel size + virtual unsigned int getPixelSize (void) { return 1; } + + /// get converted pixel from previous filters + template <class SRC> unsigned int convertPrevious (SRC src, short x, short y, + short * size, unsigned int pixSize) + { + // if previous filter doesn't exists, return source pixel + if (m_previous == NULL) return *src; + // otherwise return converted pixel + return m_previous->m_filter->convert(src, x, y, size, pixSize); + } +}; + + +// list of python filter types +extern PyTypeList pyFilterTypes; + + +// functions for python interface + +// object initialization +template <class T> static int Filter_init (PyObject * pySelf, PyObject * args, PyObject * kwds) +{ + PyFilter * self = reinterpret_cast<PyFilter*>(pySelf); + // create filter object + if (self->m_filter != NULL) delete self->m_filter; + self->m_filter = new T(); + // initialization succeded + return 0; +} + +// object allocation +PyObject * Filter_allocNew (PyTypeObject * type, PyObject * args, PyObject * kwds); +// object deallocation +void Filter_dealloc (PyFilter * self); + +// get previous pixel filter object +PyObject * Filter_getPrevious (PyFilter * self, void * closure); +// set previous pixel filter object +int Filter_setPrevious (PyFilter * self, PyObject * value, void * closure); + + +#endif diff --git a/source/gameengine/VideoTexture/FilterBlueScreen.cpp b/source/gameengine/VideoTexture/FilterBlueScreen.cpp new file mode 100644 index 00000000000..43d7566102a --- /dev/null +++ b/source/gameengine/VideoTexture/FilterBlueScreen.cpp @@ -0,0 +1,178 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "FilterBlueScreen.h" + +#include "FilterBase.h" +#include "PyTypeList.h" + +// implementation FilterBlueScreen + +// constructor +FilterBlueScreen::FilterBlueScreen (void) +{ + // set color to blue + setColor(0, 0, 255); + // set limits + setLimits(64, 64); +} + +// set color +void FilterBlueScreen::setColor (unsigned char red, unsigned char green, unsigned char blue) +{ + m_color[0] = red; + m_color[1] = green; + m_color[2] = blue; +} + +// set limits for color variation +void FilterBlueScreen::setLimits (unsigned short minLimit, unsigned short maxLimit) +{ + m_limits[0] = minLimit; + m_limits[1] = maxLimit > minLimit ? maxLimit : minLimit; + // calculate square values + for (short idx = 0; idx < 2; ++idx) + m_squareLimits[idx] = m_limits[idx] * m_limits[idx]; + // limits distance + m_limitDist = m_squareLimits[1] - m_squareLimits[0]; +} + + + +// cast Filter pointer to FilterBlueScreen +inline FilterBlueScreen * getFilter (PyFilter * self) +{ return static_cast<FilterBlueScreen*>(self->m_filter); } + + +// python methods and get/sets + +// get color +static PyObject * getColor (PyFilter * self, void * closure) +{ + return Py_BuildValue("[BBB]", getFilter(self)->getColor()[0], + getFilter(self)->getColor()[1], getFilter(self)->getColor()[2]); +} + +// set color +static int setColor (PyFilter * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PySequence_Check(value) || PySequence_Length(value) != 3 + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 0)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 1)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 2))) + { + PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 3 ints"); + return -1; + } + // set color + getFilter(self)->setColor((unsigned char)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + (unsigned char)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 1))), + (unsigned char)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 2)))); + // success + return 0; +} + +// get limits +static PyObject * getLimits (PyFilter * self, void * closure) +{ + return Py_BuildValue("[II]", getFilter(self)->getLimits()[0], + getFilter(self)->getLimits()[1]); +} + +// set limit +static int setLimits (PyFilter * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PySequence_Check(value) || PySequence_Length(value) != 2 + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 0)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 1))) + { + PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 2 ints"); + return -1; + } + // set limits + getFilter(self)->setLimits((unsigned short)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + (unsigned short)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 1)))); + // success + return 0; +} + + +// attributes structure +static PyGetSetDef filterBSGetSets[] = +{ + {(char*)"color", (getter)getColor, (setter)setColor, (char*)"blue screen color", NULL}, + {(char*)"limits", (getter)getLimits, (setter)setLimits, (char*)"blue screen color limits", NULL}, + // attributes from FilterBase class + {(char*)"previous", (getter)Filter_getPrevious, (setter)Filter_setPrevious, (char*)"previous pixel filter", NULL}, + {NULL} +}; + +// define python type +PyTypeObject FilterBlueScreenType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterBlueScreen", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Filter for Blue Screen objects", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + filterBSGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterBlueScreen>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + diff --git a/source/gameengine/VideoTexture/FilterBlueScreen.h b/source/gameengine/VideoTexture/FilterBlueScreen.h new file mode 100644 index 00000000000..820e4a44501 --- /dev/null +++ b/source/gameengine/VideoTexture/FilterBlueScreen.h @@ -0,0 +1,97 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined FILTERBLUESCREEN_H +#define FILTERBLUESCREEN_H + +#include "Common.h" + +#include "FilterBase.h" + + +/// pixel filter for blue screen +class FilterBlueScreen : public FilterBase +{ +public: + /// constructor + FilterBlueScreen (void); + /// destructor + virtual ~FilterBlueScreen (void) {} + + /// get color + unsigned char * getColor (void) { return m_color; } + /// set color + void setColor (unsigned char red, unsigned char green, unsigned char blue); + + /// get limits for color variation + unsigned short * getLimits (void) { return m_limits; } + /// set limits for color variation + void setLimits (unsigned short minLimit, unsigned short maxLimit); + +protected: + /// blue screen color (red component first) + unsigned char m_color[3]; + /// limits for color variation - first defines, where ends fully transparent + /// color, second defines, where begins fully opaque color + unsigned short m_limits[2]; + /// squared limits for color variation + unsigned int m_squareLimits[2]; + /// distance between squared limits + unsigned int m_limitDist; + + /// filter pixel template, source int buffer + template <class SRC> unsigned int tFilter (SRC src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { + // calculate differences + int difRed = int(VT_R(val)) - int(m_color[0]); + int difGreen = int(VT_G(val)) - int(m_color[1]); + int difBlue = int(VT_B(val)) - int(m_color[2]); + // calc distance from "blue screen" color + unsigned int dist = (unsigned int)(difRed * difRed + difGreen * difGreen + + difBlue * difBlue); + // condition for fully transparent color + if (m_squareLimits[0] >= dist) + // return color with zero alpha + VT_A(val) = 0; + // condition for fully opaque color + else if (m_squareLimits[1] <= dist) + // return normal colour + VT_A(val) = 0xFF; + // otherwise calc alpha + else + VT_A(val) = (((dist - m_squareLimits[0]) << 8) / m_limitDist); + return val; + } + + /// virtual filtering function for byte source + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } + /// virtual filtering function for unsigned int source + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } +}; + + +#endif diff --git a/source/gameengine/VideoTexture/FilterColor.cpp b/source/gameengine/VideoTexture/FilterColor.cpp new file mode 100644 index 00000000000..22ee729b200 --- /dev/null +++ b/source/gameengine/VideoTexture/FilterColor.cpp @@ -0,0 +1,350 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "FilterColor.h" + +#include "FilterBase.h" +#include "PyTypeList.h" + +// implementation FilterGray + +// attributes structure +static PyGetSetDef filterGrayGetSets[] = +{ // attributes from FilterBase class + {(char*)"previous", (getter)Filter_getPrevious, (setter)Filter_setPrevious, (char*)"previous pixel filter", NULL}, + {NULL} +}; + +// define python type +PyTypeObject FilterGrayType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterGray", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Filter for gray scale effect", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + filterGrayGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterGray>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + + +// implementation FilterColor + +// constructor +FilterColor::FilterColor (void) +{ + // reset color matrix to identity + for (int r = 0; r < 4; ++r) + for (int c = 0; c < 5; ++c) + m_matrix[r][c] = (r == c) ? 256 : 0; +} + +// set color matrix +void FilterColor::setMatrix (ColorMatrix & mat) +{ + // copy matrix + for (int r = 0; r < 4; ++r) + for (int c = 0; c < 5; ++c) + m_matrix[r][c] = mat[r][c]; +} + + + +// cast Filter pointer to FilterColor +inline FilterColor * getFilterColor (PyFilter * self) +{ return static_cast<FilterColor*>(self->m_filter); } + + +// python methods and get/sets + +// get color matrix +static PyObject * getMatrix (PyFilter * self, void * closure) +{ + ColorMatrix & mat = getFilterColor(self)->getMatrix(); + return Py_BuildValue("((hhhhh)(hhhhh)(hhhhh)(hhhhh))", + mat[0][0], mat[0][1], mat[0][2], mat[0][3], mat[0][4], + mat[1][0], mat[1][1], mat[1][2], mat[1][3], mat[1][4], + mat[2][0], mat[2][1], mat[2][2], mat[2][3], mat[2][4], + mat[3][0], mat[3][1], mat[3][2], mat[3][3], mat[3][4]); +} + +// set color matrix +static int setMatrix (PyFilter * self, PyObject * value, void * closure) +{ + // matrix to store items + ColorMatrix mat; + // check validity of parameter + bool valid = value != NULL && PySequence_Check(value) + && PySequence_Length(value) == 4; + // check rows + for (int r = 0; valid && r < 4; ++r) + { + // get row object + PyObject * row = PySequence_Fast_GET_ITEM(value, r); + // check sequence + valid = PySequence_Check(row) && PySequence_Length(row) == 5; + // check items + for (int c = 0; valid && c < 5; ++c) + { + // item must be int + valid = PyInt_Check(PySequence_Fast_GET_ITEM(row, c)); + // if it is valid, save it in matrix + if (valid) + mat[r][c] = short(PyInt_AsLong(PySequence_Fast_GET_ITEM(row, c))); + } + } + // if parameter is not valid, report error + if (!valid) + { + PyErr_SetString(PyExc_TypeError, "The value must be a matrix [4][5] of ints"); + return -1; + } + // set color matrix + getFilterColor(self)->setMatrix(mat); + // success + return 0; +} + + +// attributes structure +static PyGetSetDef filterColorGetSets[] = +{ + {(char*)"matrix", (getter)getMatrix, (setter)setMatrix, (char*)"matrix [4][5] for color calculation", NULL}, + // attributes from FilterBase class + {(char*)"previous", (getter)Filter_getPrevious, (setter)Filter_setPrevious, (char*)"previous pixel filter", NULL}, + {NULL} +}; + +// define python type +PyTypeObject FilterColorType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterColor", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Filter for color calculations", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + filterColorGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterColor>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + +// implementation FilterLevel + +// constructor +FilterLevel::FilterLevel (void) +{ + // reset color levels + for (int r = 0; r < 4; ++r) + { + levels[r][0] = 0; + levels[r][1] = 0xFF; + levels[r][2] = 0xFF; + } +} + +// set color levels +void FilterLevel::setLevels (ColorLevel & lev) +{ + // copy levels + for (int r = 0; r < 4; ++r) + { + for (int c = 0; c < 2; ++c) + levels[r][c] = lev[r][c]; + levels[r][2] = lev[r][0] < lev[r][1] ? lev[r][1] - lev[r][0] : 1; + } +} + + +// cast Filter pointer to FilterLevel +inline FilterLevel * getFilterLevel (PyFilter * self) +{ return static_cast<FilterLevel*>(self->m_filter); } + + +// python methods and get/sets + +// get color levels +static PyObject * getLevels (PyFilter * self, void * closure) +{ + ColorLevel & lev = getFilterLevel(self)->getLevels(); + return Py_BuildValue("((HH)(HH)(HH)(HH))", + lev[0][0], lev[0][1], lev[1][0], lev[1][1], + lev[2][0], lev[2][1], lev[3][0], lev[3][1]); +} + +// set color levels +static int setLevels (PyFilter * self, PyObject * value, void * closure) +{ + // matrix to store items + ColorLevel lev; + // check validity of parameter + bool valid = value != NULL && PySequence_Check(value) + && PySequence_Length(value) == 4; + // check rows + for (int r = 0; valid && r < 4; ++r) + { + // get row object + PyObject * row = PySequence_Fast_GET_ITEM(value, r); + // check sequence + valid = PySequence_Check(row) && PySequence_Length(row) == 2; + // check items + for (int c = 0; valid && c < 2; ++c) + { + // item must be int + valid = PyInt_Check(PySequence_Fast_GET_ITEM(row, c)); + // if it is valid, save it in matrix + if (valid) + lev[r][c] = (unsigned short)(PyInt_AsLong(PySequence_Fast_GET_ITEM(row, c))); + } + } + // if parameter is not valid, report error + if (!valid) + { + PyErr_SetString(PyExc_TypeError, "The value must be a matrix [4][2] of ints"); + return -1; + } + // set color matrix + getFilterLevel(self)->setLevels(lev); + // success + return 0; +} + + +// attributes structure +static PyGetSetDef filterLevelGetSets[] = +{ + {(char*)"levels", (getter)getLevels, (setter)setLevels, (char*)"levels matrix [4] (min, max)", NULL}, + // attributes from FilterBase class + {(char*)"previous", (getter)Filter_getPrevious, (setter)Filter_setPrevious, (char*)"previous pixel filter", NULL}, + {NULL} +}; + +// define python type +PyTypeObject FilterLevelType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterLevel", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Filter for levels calculations", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + filterLevelGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterLevel>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + diff --git a/source/gameengine/VideoTexture/FilterColor.h b/source/gameengine/VideoTexture/FilterColor.h new file mode 100644 index 00000000000..b7e52c4521c --- /dev/null +++ b/source/gameengine/VideoTexture/FilterColor.h @@ -0,0 +1,168 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined FILTERCOLOR_H +#define FILTERCOLOR_H + +#include "Common.h" + +#include "FilterBase.h" + + +/// pixel filter for gray scale +class FilterGray : public FilterBase +{ +public: + /// constructor + FilterGray (void) {} + /// destructor + virtual ~FilterGray (void) {} + +protected: + /// filter pixel template, source int buffer + template <class SRC> unsigned int tFilter (SRC src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { + // calculate gray value + unsigned int gray = (28 * (VT_B(val)) + 151 * (VT_G(val)) + + 77 * (VT_R(val))) >> 8; + // return gray scale value + VT_R(val) = gray; + VT_G(val) = gray; + VT_B(val) = gray; + return val; + } + + /// virtual filtering function for byte source + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } + /// virtual filtering function for unsigned int source + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } +}; + + +/// type for color matrix +typedef short ColorMatrix[4][5]; + +/// pixel filter for color calculation +class FilterColor : public FilterBase +{ +public: + /// constructor + FilterColor (void); + /// destructor + virtual ~FilterColor (void) {} + + /// get color matrix + ColorMatrix & getMatrix (void) { return m_matrix; } + /// set color matrix + void setMatrix (ColorMatrix & mat); + +protected: + /// color calculation matrix + ColorMatrix m_matrix; + + /// calculate one color component + unsigned char calcColor (unsigned int val, short idx) + { + return (((m_matrix[idx][0] * (VT_R(val)) + m_matrix[idx][1] * (VT_G(val)) + + m_matrix[idx][2] * (VT_B(val)) + m_matrix[idx][3] * (VT_A(val)) + + m_matrix[idx][4]) >> 8) & 0xFF); + } + + /// filter pixel template, source int buffer + template <class SRC> unsigned int tFilter (SRC src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { + // return calculated color + int color; + VT_RGBA(color, calcColor(val, 0), calcColor(val, 1), calcColor(val, 2), calcColor(val, 3)); + return color; + } + + /// virtual filtering function for byte source + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } + /// virtual filtering function for unsigned int source + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } +}; + + +/// type for color levels +typedef unsigned short ColorLevel[4][3]; + +/// pixel filter for color calculation +class FilterLevel : public FilterBase +{ +public: + /// constructor + FilterLevel (void); + /// destructor + virtual ~FilterLevel (void) {} + + /// get color matrix + ColorLevel & getLevels (void) { return levels; } + /// set color matrix + void setLevels (ColorLevel & lev); + +protected: + /// color calculation matrix + ColorLevel levels; + + /// calculate one color component + unsigned int calcColor (unsigned int val, short idx) + { + unsigned int col = VT_C(val,idx);; + if (col <= levels[idx][0]) col = 0; + else if (col >= levels[idx][1]) col = 0xFF; + else col = (((col - levels[idx][0]) << 8) / levels[idx][2]) & 0xFF; + return col; + } + + /// filter pixel template, source int buffer + template <class SRC> unsigned int tFilter (SRC src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { + // return calculated color + int color; + VT_RGBA(color, calcColor(val, 0), calcColor(val, 1), calcColor(val, 2), calcColor(val, 3)); + return color; + } + + /// virtual filtering function for byte source + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } + /// virtual filtering function for unsigned int source + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } +}; + + +#endif diff --git a/source/gameengine/VideoTexture/FilterNormal.cpp b/source/gameengine/VideoTexture/FilterNormal.cpp new file mode 100644 index 00000000000..03a79c1c8ce --- /dev/null +++ b/source/gameengine/VideoTexture/FilterNormal.cpp @@ -0,0 +1,162 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "FilterNormal.h" + +#include "FilterBase.h" +#include "PyTypeList.h" + +// implementation FilterNormal + +// constructor +FilterNormal::FilterNormal (void) : m_colIdx(0) +{ + // set default depth + setDepth(4); +} + +// set color shift +void FilterNormal::setColor (unsigned short colIdx) +{ + // check validity of index + if (colIdx < 3) + // set color shift + m_colIdx = colIdx; +} + +// set depth +void FilterNormal::setDepth (float depth) +{ + m_depth = depth; + m_depthScale = depth / depthScaleKoef; +} + + +// cast Filter pointer to FilterNormal +inline FilterNormal * getFilter (PyFilter * self) +{ return static_cast<FilterNormal*>(self->m_filter); } + + +// python methods and get/sets + +// get index of color used to calculate normal +static PyObject * getColor (PyFilter * self, void * closure) +{ + return Py_BuildValue("H", getFilter(self)->getColor()); +} + +// set index of color used to calculate normal +static int setColor (PyFilter * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PyInt_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a int"); + return -1; + } + // set color index + getFilter(self)->setColor((unsigned short)(PyInt_AsLong(value))); + // success + return 0; +} + + +// get depth +static PyObject * getDepth (PyFilter * self, void * closure) +{ + return Py_BuildValue("f", getFilter(self)->getDepth()); +} + +// set depth +static int setDepth (PyFilter * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PyFloat_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a float"); + return -1; + } + // set depth + getFilter(self)->setDepth(float(PyFloat_AsDouble(value))); + // success + return 0; +} + + +// attributes structure +static PyGetSetDef filterNormalGetSets[] = +{ + {(char*)"colorIdx", (getter)getColor, (setter)setColor, (char*)"index of color used to calculate normal (0 - red, 1 - green, 2 - blue)", NULL}, + {(char*)"depth", (getter)getDepth, (setter)setDepth, (char*)"depth of relief", NULL}, + // attributes from FilterBase class + {(char*)"previous", (getter)Filter_getPrevious, (setter)Filter_setPrevious, (char*)"previous pixel filter", NULL}, + {NULL} +}; + +// define python type +PyTypeObject FilterNormalType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterNormal", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Filter for Blue Screen objects", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + filterNormalGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterNormal>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + diff --git a/source/gameengine/VideoTexture/FilterNormal.h b/source/gameengine/VideoTexture/FilterNormal.h new file mode 100644 index 00000000000..840043be9a1 --- /dev/null +++ b/source/gameengine/VideoTexture/FilterNormal.h @@ -0,0 +1,107 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined FILTERNORMAL_H +#define FILTERNORMAL_H + +#include "Common.h" + +#include "FilterBase.h" + + +// scale constants for normals +const float depthScaleKoef = 255.0; +const float normScaleKoef = float(depthScaleKoef / 2.0); + + +/// pixel filter for normal mapping +class FilterNormal : public FilterBase +{ +public: + /// constructor + FilterNormal (void); + /// destructor + virtual ~FilterNormal (void) {} + + /// get index of color used to calculate normals + unsigned short getColor (void) { return m_colIdx; } + /// set index of color used to calculate normals + void setColor (unsigned short colIdx); + + /// get depth + float getDepth (void) { return m_depth; } + /// set depth + void setDepth (float depth); + +protected: + /// depth of normal relief + float m_depth; + /// scale to calculate normals + float m_depthScale; + + /// color index, 0=red, 1=green, 2=blue, 3=alpha + unsigned short m_colIdx; + + /// filter pixel, source int buffer + template <class SRC> unsigned int tFilter (SRC * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { + // get value of required color + int actPix = int(VT_C(val,m_colIdx)); + int upPix = actPix; + int leftPix = actPix; + // get upper and left pixel from actual pixel + if (y > 0) + { + val = convertPrevious(src - pixSize * size[0], x, y - 1, size, pixSize); + upPix = VT_C(val,m_colIdx); + } + if (x > 0) + { + val = convertPrevious(src - pixSize, x - 1, y, size, pixSize); + leftPix = VT_C(val,m_colIdx); + } + // height differences (from blue color) + float dx = (actPix - leftPix) * m_depthScale; + float dy = (actPix - upPix) * m_depthScale; + // normalize vector + float dz = float(normScaleKoef / sqrt(dx * dx + dy * dy + 1.0)); + dx = dx * dz + normScaleKoef; + dy = dy * dz + normScaleKoef; + dz += normScaleKoef; + // return normal vector converted to color + VT_RGBA(val, dx, dy, dz, 0xFF); + return val; + } + + /// filter pixel, source byte buffer + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } + /// filter pixel, source int buffer + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { return tFilter(src, x, y, size, pixSize, val); } +}; + + +#endif diff --git a/source/gameengine/VideoTexture/FilterSource.cpp b/source/gameengine/VideoTexture/FilterSource.cpp new file mode 100644 index 00000000000..f3676e93a6d --- /dev/null +++ b/source/gameengine/VideoTexture/FilterSource.cpp @@ -0,0 +1,171 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +// implementation + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "FilterSource.h" + +#include "FilterBase.h" +#include "PyTypeList.h" + + +// FilterRGB24 + +// define python type +PyTypeObject FilterRGB24Type = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterRGB24", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Source filter RGB24 objects", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + NULL, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterRGB24>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + +// FilterRGBA32 + +// define python type +PyTypeObject FilterRGBA32Type = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterRGBA32", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Source filter RGBA32 objects", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + NULL, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterRGBA32>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + +// FilterBGR24 + +// define python type +PyTypeObject FilterBGR24Type = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.FilterBGR24", /*tp_name*/ + sizeof(PyFilter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Filter_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Source filter BGR24 objects", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + NULL, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Filter_init<FilterBGR24>, /* tp_init */ + 0, /* tp_alloc */ + Filter_allocNew, /* tp_new */ +}; + diff --git a/source/gameengine/VideoTexture/FilterSource.h b/source/gameengine/VideoTexture/FilterSource.h new file mode 100644 index 00000000000..7e90747d252 --- /dev/null +++ b/source/gameengine/VideoTexture/FilterSource.h @@ -0,0 +1,258 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined FILTERSOURCE_H +#define FILTERSOURCE_H + +#include "Common.h" + +#include "FilterBase.h" + + +/// class for RGB24 conversion +class FilterRGB24 : public FilterBase +{ +public: + /// constructor + FilterRGB24 (void) {} + /// destructor + virtual ~FilterRGB24 (void) {} + + /// get source pixel size + virtual unsigned int getPixelSize (void) { return 3; } + +protected: + /// filter pixel, source byte buffer + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { VT_RGBA(val,src[0],src[1],src[2],0xFF); return val; } +}; + +/// class for RGBA32 conversion +class FilterRGBA32 : public FilterBase +{ +public: + /// constructor + FilterRGBA32 (void) {} + /// destructor + virtual ~FilterRGBA32 (void) {} + + /// get source pixel size + virtual unsigned int getPixelSize (void) { return 4; } + +protected: + /// filter pixel, source byte buffer + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { + if ((intptr_t(src)&0x3) == 0) + return *(unsigned int*)src; + else + { + VT_RGBA(val,src[0],src[1],src[2],src[3]); + return val; + } + } +}; + +/// class for BGR24 conversion +class FilterBGR24 : public FilterBase +{ +public: + /// constructor + FilterBGR24 (void) {} + /// destructor + virtual ~FilterBGR24 (void) {} + + /// get source pixel size + virtual unsigned int getPixelSize (void) { return 3; } + +protected: + /// filter pixel, source byte buffer + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { VT_RGBA(val,src[2],src[1],src[0],0xFF); return val; } +}; + +/// class for YV12 conversion +class FilterYV12 : public FilterBase +{ +public: + /// constructor + FilterYV12 (void) {} + /// destructor + virtual ~FilterYV12 (void) {} + + /// get source pixel size + virtual unsigned int getPixelSize (void) { return 1; } + + /// set pointers to color buffers + void setBuffs (unsigned char * buff, short * size) + { + unsigned int buffSize = size[0] * size[1]; + m_buffV = buff + buffSize; + m_buffU = m_buffV + (buffSize >> 2); + m_pitchUV = size[0] >> 1; + } + +protected: + /// begin of V buffer + unsigned char * m_buffV; + /// begin of U buffer + unsigned char * m_buffU; + /// pitch for V & U buffers + short m_pitchUV; + + /// interpolation function + int interpol (int a, int b, int c, int d) + { return (9 * (b + c) - a - d + 8) >> 4; } + + /// common horizontal interpolation + int interpolH (unsigned char * src) + { return interpol(*(src-1), *src, *(src+1), *(src+2)); } + + /// common vertical interpolation + int interpolV (unsigned char * src) + { return interpol(*(src-m_pitchUV), *src, *(src+m_pitchUV), *(src+2*m_pitchUV)); } + + /// common joined vertical and horizontal interpolation + int interpolVH (unsigned char * src) + { + return interpol(interpolV(src-1), interpolV(src), interpolV(src+1), + interpolV(src+2)); + } + + /// is pixel on edge + bool isEdge (short x, short y, short * size) + { return x <= 1 || x >= size[0] - 4 || y <= 1 || y >= size[1] - 4; } + + /// get the first parameter on the low edge + unsigned char * interParA (unsigned char * src, short x, short size, short shift) + { return x > 1 ? src - shift : src; } + /// get the third parameter on the high edge + unsigned char * interParC (unsigned char * src, short x, short size, short shift) + { return x < size - 2 ? src + shift : src; } + /// get the fourth parameter on the high edge + unsigned char * interParD (unsigned char * src, short x, short size, short shift) + { return x < size - 4 ? src + 2 * shift : x < size - 2 ? src + shift : src; } + + /// horizontal interpolation on edges + int interpolEH (unsigned char * src, short x, short size) + { + return interpol(*interParA(src, x, size, 1), *src, + *interParC(src, x, size, 1), *interParD(src, x, size, 1)); + } + + /// vertical interpolation on edges + int interpolEV (unsigned char * src, short y, short size) + { + return interpol(*interParA(src, y, size, m_pitchUV), *src, + *interParC(src, y, size, m_pitchUV), *interParD(src, y, size, m_pitchUV)); + } + + /// joined vertical and horizontal interpolation on edges + int interpolEVH (unsigned char * src, short x, short y, short * size) + { + return interpol(interpolEV(interParA(src, x, size[0], 1), y, size[1]), + interpolEV(src, y, size[1]), interpolEV(interParC(src, x, size[0], 1), y, size[1]), + interpolEV(interParD(src, x, size[0], 1), y, size[1])); + } + + + /// filter pixel, source byte buffer + virtual unsigned int filter (unsigned char * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val) + { + // V & U offset + long offset = (x >> 1) + m_pitchUV * (y >> 1); + // get modified YUV -> CDE: C = Y - 16; D = U - 128; E = V - 128 + int c = *src - 16; + int d = m_buffU[offset] - 128; + int e = m_buffV[offset] - 128; + // if horizontal interpolation is needed + if ((x & 1) == 1) + // if vertical interpolation is needed too + if ((y & 1) == 1) + // if this pixel is on the edge + if (isEdge(x, y, size)) + { + // get U & V from edge + d = interpolEVH(m_buffU + offset, x, y, size) - 128; + e = interpolEVH(m_buffV + offset, x, y, size) - 128; + } + // otherwise get U & V from inner range + else + { + d = interpolVH(m_buffU + offset) - 128; + e = interpolVH(m_buffV + offset) - 128; + } + // otherwise use horizontal interpolation only + else + // if this pixel is on the edge + if (isEdge(x, y, size)) + { + // get U & V from edge + d = interpolEH(m_buffU + offset, x, size[0]) - 128; + e = interpolEH(m_buffV + offset, x, size[0]) - 128; + } + // otherwise get U & V from inner range + else + { + d = interpolH(m_buffU + offset) - 128; + e = interpolH(m_buffV + offset) - 128; + } + // otherwise if only vertical interpolation is needed + else if ((y & 1) == 1) + // if this pixel is on the edge + if (isEdge(x, y, size)) + { + // get U & V from edge + d = interpolEV(m_buffU + offset, y, size[1]) - 128; + e = interpolEV(m_buffV + offset, y, size[1]) - 128; + } + // otherwise get U & V from inner range + else + { + d = interpolV(m_buffU + offset) - 128; + e = interpolV(m_buffV + offset) - 128; + } + // convert to RGB + // R = clip(( 298 * C + 409 * E + 128) >> 8) + // G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8) + // B = clip(( 298 * C + 516 * D + 128) >> 8) + int red = (298 * c + 409 * e + 128) >> 8; + if (red >= 0x100) red = 0xFF; + else if (red < 0) red = 0; + int green = (298 * c - 100 * d - 208 * e) >> 8; + if (green >= 0x100) green = 0xFF; + else if (green < 0) green = 0; + int blue = (298 * c + 516 * d + 128) >> 8; + if (blue >= 0x100) blue = 0xFF; + else if (blue < 0) blue = 0; + // return result + VT_RGBA(val, red, green, blue, 0xFF); + return val; + } +}; + + +#endif diff --git a/source/gameengine/VideoTexture/ImageBase.cpp b/source/gameengine/VideoTexture/ImageBase.cpp new file mode 100644 index 00000000000..dcca20de24a --- /dev/null +++ b/source/gameengine/VideoTexture/ImageBase.cpp @@ -0,0 +1,529 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#include "ImageBase.h" + +#include <vector> +#include <string.h> + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "FilterBase.h" + +#include "Exception.h" + + + +// ImageBase class implementation + +// constructor +ImageBase::ImageBase (bool staticSrc) : m_image(NULL), m_imgSize(0), +m_avail(false), m_scale(false), m_scaleChange(false), m_flip(false), +m_staticSources(staticSrc), m_pyfilter(NULL) +{ + m_size[0] = m_size[1] = 0; +} + + +// destructor +ImageBase::~ImageBase (void) +{ + // release image + delete [] m_image; +} + + +// release python objects +bool ImageBase::release (void) +{ + // iterate sources + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + { + // release source object + delete *it; + *it = NULL; + } + // release filter object + Py_XDECREF(m_pyfilter); + m_pyfilter = NULL; + return true; +} + + +// get image +unsigned int * ImageBase::getImage (unsigned int texId) +{ + // if image is not available + if (!m_avail) + { + // if there are any sources + if (!m_sources.empty()) + { + // get images from sources + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + // get source image + (*it)->getImage(); + // init image + init(m_sources[0]->getSize()[0], m_sources[0]->getSize()[1]); + } + // calculate new image + calcImage(texId); + } + // if image is available, return it, otherwise NULL + return m_avail ? m_image : NULL; +} + + +// refresh image source +void ImageBase::refresh (void) +{ + // invalidate this image + m_avail = false; + // refresh all sources + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + (*it)->refresh(); +} + + +// get source object +PyImage * ImageBase::getSource (const char * id) +{ + // find source + ImageSourceList::iterator src = findSource(id); + // return it, if found + return src != m_sources.end() ? (*src)->getSource() : NULL; +} + + +// set source object +bool ImageBase::setSource (const char * id, PyImage * source) +{ + // find source + ImageSourceList::iterator src = findSource(id); + // check source loop + if (source != NULL && source->m_image->loopDetect(this)) + return false; + // if found, set new object + if (src != m_sources.end()) + // if new object is not empty or sources are static + if (source != NULL || m_staticSources) + // replace previous source + (*src)->setSource(source); + // otherwise delete source + else + m_sources.erase(src); + // if source is not found and adding is allowed + else + if (!m_staticSources) + { + // create new source + ImageSource * newSrc = newSource(id); + newSrc->setSource(source); + // if source was created, add it to source list + if (newSrc != NULL) m_sources.push_back(newSrc); + } + // otherwise source wasn't set + else + return false; + // source was set + return true; +} + + +// set pixel filter +void ImageBase::setFilter (PyFilter * filt) +{ + // reference new filter + if (filt != NULL) Py_INCREF(filt); + // release previous filter + Py_XDECREF(m_pyfilter); + // set new filter + m_pyfilter = filt; +} + + +// initialize image data +void ImageBase::init (short width, short height) +{ + // if image has to be scaled + if (m_scale) + { + // recalc sizes of image + width = calcSize(width); + height = calcSize(height); + } + // if sizes differ + if (width != m_size[0] || height != m_size[1]) + { + // new buffer size + unsigned int newSize = width * height; + // if new buffer is larger than previous + if (newSize > m_imgSize) + { + // set new buffer size + m_imgSize = newSize; + // release previous and create new buffer + delete [] m_image; + m_image = new unsigned int[m_imgSize]; + } + // new image size + m_size[0] = width; + m_size[1] = height; + // scale was processed + m_scaleChange = false; + } +} + + +// find source +ImageSourceList::iterator ImageBase::findSource (const char * id) +{ + // iterate sources + ImageSourceList::iterator it; + for (it = m_sources.begin(); it != m_sources.end(); ++it) + // if id matches, return iterator + if ((*it)->is(id)) return it; + // source not found + return it; +} + + +// check sources sizes +bool ImageBase::checkSourceSizes (void) +{ + // reference size + short * refSize = NULL; + // iterate sources + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + { + // get size of current source + short * curSize = (*it)->getSize(); + // if size is available and is not empty + if (curSize[0] != 0 && curSize[1] != 0) + // if reference size is not set + if (refSize == NULL) + // set current size as reference + refSize = curSize; + // otherwise check with current size + else if (curSize[0] != refSize[0] || curSize[1] != refSize[1]) + // if they don't match, report it + return false; + } + // all sizes match + return true; +} + + +// compute nearest power of 2 value +short ImageBase::calcSize (short size) +{ + // while there is more than 1 bit in size value + while ((size & (size - 1)) != 0) + // clear last bit + size = size & (size - 1); + // return result + return size; +} + + +// perform loop detection +bool ImageBase::loopDetect (ImageBase * img) +{ + // if this object is the same as parameter, loop is detected + if (this == img) return true; + // check all sources + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + // if source detected loop, return this result + if ((*it)->getSource() != NULL && (*it)->getSource()->m_image->loopDetect(img)) + return true; + // no loop detected + return false; +} + + +// ImageSource class implementation + +// constructor +ImageSource::ImageSource (const char * id) : m_source(NULL), m_image(NULL) +{ + // copy id + int idx; + for (idx = 0; id[idx] != '\0' && idx < SourceIdSize - 1; ++idx) + m_id[idx] = id[idx]; + m_id[idx] = '\0'; +} + +// destructor +ImageSource::~ImageSource (void) +{ + // release source + setSource(NULL); +} + + +// compare id +bool ImageSource::is (const char * id) +{ + for (char * myId = m_id; *myId != '\0'; ++myId, ++id) + if (*myId != *id) return false; + return *id == '\0'; +} + + +// set source object +void ImageSource::setSource (PyImage * source) +{ + // reference new source + if (source != NULL) Py_INCREF(source); + // release previous source + Py_XDECREF(m_source); + // set new source + m_source = source; +} + + +// get image from source +unsigned int * ImageSource::getImage (void) +{ + // if source is available + if (m_source != NULL) + // get image from source + m_image = m_source->m_image->getImage(); + // otherwise reset buffer + else + m_image = NULL; + // return image + return m_image; +} + + +// refresh source +void ImageSource::refresh (void) +{ + // if source is available, refresh it + if (m_source != NULL) m_source->m_image->refresh(); +} + + + +// list of image types +PyTypeList pyImageTypes; + + + +// functions for python interface + +// object allocation +PyObject * Image_allocNew (PyTypeObject * type, PyObject * args, PyObject * kwds) +{ + // allocate object + PyImage * self = reinterpret_cast<PyImage*>(type->tp_alloc(type, 0)); + // initialize object structure + self->m_image = NULL; + // return allocated object + return reinterpret_cast<PyObject*>(self); +} + +// object deallocation +void Image_dealloc (PyImage * self) +{ + // release object attributes + if (self->m_image != NULL) + { + // if release requires deleting of object, do it + if (self->m_image->release()) + delete self->m_image; + self->m_image = NULL; + } +} + +// get image data +PyObject * Image_getImage (PyImage * self, void * closure) +{ + try + { + // get image + unsigned int * image = self->m_image->getImage(); + return Py_BuildValue("s#", image, self->m_image->getBuffSize()); + } + catch (Exception & exp) + { + exp.report(); + } + Py_RETURN_NONE; +} + +// get image size +PyObject * Image_getSize (PyImage * self, void * closure) +{ + return Py_BuildValue("(hh)", self->m_image->getSize()[0], + self->m_image->getSize()[1]); +} + +// refresh image +PyObject * Image_refresh (PyImage * self) +{ + self->m_image->refresh(); + Py_RETURN_NONE; +} + +// get scale +PyObject * Image_getScale (PyImage * self, void * closure) +{ + if (self->m_image != NULL && self->m_image->getScale()) Py_RETURN_TRUE; + else Py_RETURN_FALSE; +} + +// set scale +int Image_setScale (PyImage * self, PyObject * value, void * closure) +{ + // check parameter, report failure + if (value == NULL || !PyBool_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a bool"); + return -1; + } + // set scale + if (self->m_image != NULL) self->m_image->setScale(value == Py_True); + // success + return 0; +} + +// get flip +PyObject * Image_getFlip (PyImage * self, void * closure) +{ + if (self->m_image != NULL && self->m_image->getFlip()) Py_RETURN_TRUE; + else Py_RETURN_FALSE; +} + +// set flip +int Image_setFlip (PyImage * self, PyObject * value, void * closure) +{ + // check parameter, report failure + if (value == NULL || !PyBool_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a bool"); + return -1; + } + // set scale + if (self->m_image != NULL) self->m_image->setFlip(value == Py_True); + // success + return 0; +} + + +// get filter source object +PyObject * Image_getSource (PyImage * self, PyObject * args) +{ + // get arguments + char * id; + if (self->m_image != NULL && PyArg_ParseTuple(args, "s", &id)) + { + // get source object + PyObject * src = reinterpret_cast<PyObject*>(self->m_image->getSource(id)); + // if source is available + if (src != NULL) + { + // return source + Py_INCREF(src); + return src; + } + } + // source was not found + Py_RETURN_NONE; +} + + +// set filter source object +PyObject * Image_setSource (PyImage * self, PyObject * args) +{ + // get arguments + char * id; + PyObject * obj; + if (self->m_image != NULL && PyArg_ParseTuple(args, "sO", &id, &obj)) + { + // check type of object + if (pyImageTypes.in(obj->ob_type)) + { + // convert to image struct + PyImage * img = reinterpret_cast<PyImage*>(obj); + // set source + if (!self->m_image->setSource(id, img)) + { + // if not set, retport error + PyErr_SetString(PyExc_RuntimeError, "Invalid source or id"); + return NULL; + } + } + // else report error + else + { + PyErr_SetString(PyExc_RuntimeError, "Invalid type of object"); + return NULL; + } + } + // return none + Py_RETURN_NONE; +} + + +// get pixel filter object +PyObject * Image_getFilter (PyImage * self, void * closure) +{ + // if image object is available + if (self->m_image != NULL) + { + // pixel filter object + PyObject * filt = reinterpret_cast<PyObject*>(self->m_image->getFilter()); + // if filter is present + if (filt != NULL) + { + // return it + Py_INCREF(filt); + return filt; + } + } + // otherwise return none + Py_RETURN_NONE; +} + + +// set pixel filter object +int Image_setFilter (PyImage * self, PyObject * value, void * closure) +{ + // if image object is available + if (self->m_image != NULL) + { + // check new value + if (value == NULL || !pyFilterTypes.in(value->ob_type)) + { + // report value error + PyErr_SetString(PyExc_TypeError, "Invalid type of value"); + return -1; + } + // set new value + self->m_image->setFilter(reinterpret_cast<PyFilter*>(value)); + } + // return success + return 0; +} diff --git a/source/gameengine/VideoTexture/ImageBase.h b/source/gameengine/VideoTexture/ImageBase.h new file mode 100644 index 00000000000..138580ce701 --- /dev/null +++ b/source/gameengine/VideoTexture/ImageBase.h @@ -0,0 +1,349 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined IMAGEBASE_H +#define IMAGEBASE_H + +#include "Common.h" + +#include <vector> +#include <PyObjectPlus.h> + +#include "PyTypeList.h" + +#include "FilterBase.h" + + +// forward declarations +struct PyImage; +class ImageSource; + + +/// type for list of image sources +typedef std::vector<ImageSource*> ImageSourceList; + + +/// base class for image filters +class ImageBase +{ +public: + /// constructor + ImageBase (bool staticSrc = false); + /// destructor + virtual ~ImageBase (void); + /// release contained objects, if returns true, object should be deleted + virtual bool release (void); + + /// get image + unsigned int * getImage (unsigned int texId = 0); + /// get image size + short * getSize (void) { return m_size; } + /// get image buffer size + unsigned long getBuffSize (void) + { return m_size[0] * m_size[1] * sizeof(unsigned int); } + /// refresh image - invalidate its current content + virtual void refresh (void); + + /// get scale + bool getScale (void) { return m_scale; } + /// set scale + void setScale (bool scale) { m_scale = scale; m_scaleChange = true; } + /// get vertical flip + bool getFlip (void) { return m_flip; } + /// set vertical flip + void setFlip (bool flip) { m_flip = flip; } + + /// get source object + PyImage * getSource (const char * id); + /// set source object, return true, if source was set + bool setSource (const char * id, PyImage * source); + + /// get pixel filter + PyFilter * getFilter (void) { return m_pyfilter; } + /// set pixel filter + void setFilter (PyFilter * filt); + + /// calculate size (nearest power of 2) + static short calcSize (short size); + +protected: + /// image buffer + unsigned int * m_image; + /// image buffer size + unsigned int m_imgSize; + /// image size + short m_size[2]; + /// image is available + bool m_avail; + + /// scale image to power 2 sizes + bool m_scale; + /// scale was changed + bool m_scaleChange; + /// flip image vertically + bool m_flip; + + /// source image list + ImageSourceList m_sources; + /// flag for disabling addition and deletion of sources + bool m_staticSources; + + /// pixel filter + PyFilter * m_pyfilter; + + /// initialize image data + void init (short width, short height); + + /// find source + ImageSourceList::iterator findSource (const char * id); + + /// create new source + virtual ImageSource * newSource (const char * id) { return NULL; } + + /// check source sizes + bool checkSourceSizes (void); + + /// calculate image from sources and set its availability + virtual void calcImage (unsigned int texId) {} + + /// perform loop detection + bool loopDetect (ImageBase * img); + + /// template for image conversion + template<class FLT, class SRC> void convImage (FLT & filter, SRC srcBuff, + short * srcSize) + { + // destination buffer + unsigned int * dstBuff = m_image; + // pixel size from filter + unsigned int pixSize = filter.firstPixelSize(); + // if no scaling is needed + if (srcSize[0] == m_size[0] && srcSize[1] == m_size[1]) + // if flipping isn't required + if (!m_flip) + // copy bitmap + for (short y = 0; y < m_size[1]; ++y) + for (short x = 0; x < m_size[0]; ++x, ++dstBuff, srcBuff += pixSize) + // copy pixel + *dstBuff = filter.convert(srcBuff, x, y, srcSize, pixSize); + // otherwise flip image top to bottom + else + { + // go to last row of image + srcBuff += srcSize[0] * (srcSize[1] - 1) * pixSize; + // copy bitmap + for (short y = m_size[1] - 1; y >= 0; --y, srcBuff -= 2 * srcSize[0] * pixSize) + for (short x = 0; x < m_size[0]; ++x, ++dstBuff, srcBuff += pixSize) + // copy pixel + *dstBuff = filter.convert(srcBuff, x, y, srcSize, pixSize); + } + // else scale picture (nearest neighbour) + else + { + // interpolation accumulator + int accHeight = srcSize[1] >> 1; + // if flipping is required + if (m_flip) + // go to last row of image + srcBuff += srcSize[0] * (srcSize[1] - 1) * pixSize; + // process image rows + for (int y = 0; y < srcSize[1]; ++y) + { + // increase height accum + accHeight += m_size[1]; + // if pixel row has to be drawn + if (accHeight >= srcSize[1]) + { + // decrease accum + accHeight -= srcSize[1]; + // width accum + int accWidth = srcSize[0] >> 1; + // process row + for (int x = 0; x < srcSize[0]; ++x) + { + // increase width accum + accWidth += m_size[0]; + // if pixel has to be drawn + if (accWidth >= srcSize[0]) + { + // decrease accum + accWidth -= srcSize[0]; + // convert pixel + *dstBuff = filter.convert(srcBuff, x, m_flip ? srcSize[1] - y - 1 : y, + srcSize, pixSize); + // next pixel + ++dstBuff; + } + // shift source pointer + srcBuff += pixSize; + } + } + // if pixel row will not be drawn + else + // move source pointer to next row + srcBuff += pixSize * srcSize[0]; + // if y flipping is required + if (m_flip) + // go to previous row of image + srcBuff -= 2 * pixSize * srcSize[0]; + } + } + } + + // template for specific filter preprocessing + template <class F, class SRC> void filterImage (F & filt, SRC srcBuff, short * srcSize) + { + // find first filter in chain + FilterBase * firstFilter = NULL; + if (m_pyfilter != NULL) firstFilter = m_pyfilter->m_filter->findFirst(); + // if first filter is available + if (firstFilter != NULL) + { + // python wrapper for filter + PyFilter pyFilt; + pyFilt.m_filter = &filt; + // set specified filter as first in chain + firstFilter->setPrevious(&pyFilt, false); + // convert video image + convImage(*(m_pyfilter->m_filter), srcBuff, srcSize); + // delete added filter + firstFilter->setPrevious(NULL, false); + } + // otherwise use given filter for conversion + else convImage(filt, srcBuff, srcSize); + // source was processed + m_avail = true; + } +}; + + +// python structure for image filter +struct PyImage +{ + PyObject_HEAD + // source object + ImageBase * m_image; +}; + + +// size of id +const int SourceIdSize = 32; + + +/// class for source of image +class ImageSource +{ +public: + /// constructor + ImageSource (const char * id); + /// destructor + virtual ~ImageSource (void); + + /// get id + const char * getId (void) { return m_id; } + /// compare id to argument + bool is (const char * id); + + /// get source object + PyImage * getSource (void) { return m_source; } + /// set source object + void setSource (PyImage * source); + + /// get image from source + unsigned int * getImage (void); + /// get buffered image + unsigned int * getImageBuf (void) { return m_image; } + /// refresh source + void refresh (void); + + /// get image size + short * getSize (void) + { + static short defSize [] = {0, 0}; + return m_source != NULL ? m_source->m_image->getSize() : defSize; + } + +protected: + /// id of source + char m_id [SourceIdSize]; + /// pointer to source structure + PyImage * m_source; + /// buffered image from source + unsigned int * m_image; + +private: + /// default constructor is forbidden + ImageSource (void) {} +}; + + + +// list of python image types +extern PyTypeList pyImageTypes; + + +// functions for python interface + +// object initialization +template <class T> static int Image_init (PyObject * pySelf, PyObject * args, PyObject * kwds) +{ + PyImage * self = reinterpret_cast<PyImage*>(pySelf); + // create source object + if (self->m_image != NULL) delete self->m_image; + self->m_image = new T(); + // initialization succeded + return 0; +} + +// object allocation +PyObject * Image_allocNew (PyTypeObject * type, PyObject * args, PyObject * kwds); +// object deallocation +void Image_dealloc (PyImage * self); + +// get image data +PyObject * Image_getImage (PyImage * self, void * closure); +// get image size +PyObject * Image_getSize (PyImage * self, void * closure); +// refresh image - invalidate current content +PyObject * Image_refresh (PyImage * self); + +// get scale +PyObject * Image_getScale (PyImage * self, void * closure); +// set scale +int Image_setScale (PyImage * self, PyObject * value, void * closure); +// get flip +PyObject * Image_getFlip (PyImage * self, void * closure); +// set flip +int Image_setFlip (PyImage * self, PyObject * value, void * closure); + +// get filter source object +PyObject * Image_getSource (PyImage * self, PyObject * args); +// set filter source object +PyObject * Image_setSource (PyImage * self, PyObject * args); + +// get pixel filter object +PyObject * Image_getFilter (PyImage * self, void * closure); +// set pixel filter object +int Image_setFilter (PyImage * self, PyObject * value, void * closure); + + +#endif diff --git a/source/gameengine/VideoTexture/ImageBuff.cpp b/source/gameengine/VideoTexture/ImageBuff.cpp new file mode 100644 index 00000000000..19ad17ac643 --- /dev/null +++ b/source/gameengine/VideoTexture/ImageBuff.cpp @@ -0,0 +1,166 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +// implementation + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "ImageBuff.h" + +#include "ImageBase.h" +#include "FilterSource.h" + + +// default filter +FilterRGB24 defFilter; + + +// load image from buffer +void ImageBuff::load (unsigned char * img, short width, short height) +{ + // initialize image buffer + init(width, height); + // original size + short orgSize[2] = {width, height}; + // is filter available + if (m_pyfilter != NULL) + // use it to process image + convImage(*(m_pyfilter->m_filter), img, orgSize); + else + // otherwise use default filter + convImage(defFilter, img, orgSize); + // image is available + m_avail = true; +} + + + +// cast Image pointer to ImageBuff +inline ImageBuff * getImageBuff (PyImage * self) +{ return static_cast<ImageBuff*>(self->m_image); } + + +// python methods + +// load image +static PyObject * load (PyImage * self, PyObject * args) +{ + // parameters: string image buffer, its size, width, height + unsigned char * buff; + unsigned int buffSize; + short width; + short height; + // parse parameters + if (!PyArg_ParseTuple(args, "s#hh", &buff, &buffSize, &width, &height)) + { + // report error + PyErr_SetString(PyExc_TypeError, "Parameters are not correct"); + return NULL; + } + // else check buffer size + else + { + // calc proper buffer size + unsigned int propSize = width * height; + // use pixel size from filter + if (self->m_image->getFilter() != NULL) + propSize *= self->m_image->getFilter()->m_filter->firstPixelSize(); + else + propSize *= defFilter.firstPixelSize(); + // check if buffer size is correct + if (propSize != buffSize) + { + // if not, report error + PyErr_SetString(PyExc_TypeError, "Buffer hasn't correct size"); + return NULL; + } + else + // if correct, load image + getImageBuff(self)->load(buff, width, height); + } + Py_RETURN_NONE; +} + + +// methods structure +static PyMethodDef imageBuffMethods[] = +{ + {"load", (PyCFunction)load, METH_VARARGS, "Load image from buffer"}, + {NULL} +}; +// attributes structure +static PyGetSetDef imageBuffGetSets[] = +{ // attributes from ImageBase class + {(char*)"image", (getter)Image_getImage, NULL, (char*)"image data", NULL}, + {(char*)"size", (getter)Image_getSize, NULL, (char*)"image size", NULL}, + {(char*)"scale", (getter)Image_getScale, (setter)Image_setScale, (char*)"fast scale of image (near neighbour)", NULL}, + {(char*)"flip", (getter)Image_getFlip, (setter)Image_setFlip, (char*)"flip image vertically", NULL}, + {(char*)"filter", (getter)Image_getFilter, (setter)Image_setFilter, (char*)"pixel filter", NULL}, + {NULL} +}; + + +// define python type +PyTypeObject ImageBuffType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.ImageBuff", /*tp_name*/ + sizeof(PyImage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Image_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Image source from image buffer", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + imageBuffMethods, /* tp_methods */ + 0, /* tp_members */ + imageBuffGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Image_init<ImageBuff>, /* tp_init */ + 0, /* tp_alloc */ + Image_allocNew, /* tp_new */ +}; + diff --git a/source/gameengine/VideoTexture/ImageBuff.h b/source/gameengine/VideoTexture/ImageBuff.h new file mode 100644 index 00000000000..fa2025fa8c4 --- /dev/null +++ b/source/gameengine/VideoTexture/ImageBuff.h @@ -0,0 +1,51 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined IMAGEBUFF_H +#define IMAGEBUFF_H + + +#include "Common.h" + +#include "ImageBase.h" + + +/// class for image buffer +class ImageBuff : public ImageBase +{ +public: + /// constructor + ImageBuff (void) : ImageBase(true) {} + + /// destructor + virtual ~ImageBuff (void) {} + + /// load image from buffer + void load (unsigned char * img, short width, short height); + + /// refresh image - do nothing + virtual void refresh (void) {} +}; + + +#endif + diff --git a/source/gameengine/VideoTexture/ImageMix.cpp b/source/gameengine/VideoTexture/ImageMix.cpp new file mode 100644 index 00000000000..b07b362818c --- /dev/null +++ b/source/gameengine/VideoTexture/ImageMix.cpp @@ -0,0 +1,205 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +// implementation + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include "ImageMix.h" + +#include "ImageBase.h" + +#include "Exception.h" + + +// cast ImageSource pointer to ImageSourceMix +inline ImageSourceMix * getImageSourceMix (ImageSource * src) +{ return static_cast<ImageSourceMix*>(src); } + + +// get weight +short ImageMix::getWeight (const char * id) +{ + // find source + ImageSourceList::iterator src = findSource(id); + // if found, return its weight + return src != m_sources.end() ? getImageSourceMix(*src)->getWeight() : 0; +} + +// set weight +bool ImageMix::setWeight (const char * id, short weight) +{ + // find source + ImageSourceList::iterator src = findSource(id); + // if source isn't found, report it + if (src == m_sources.end()) return false; + // set its weight + getImageSourceMix(*src)->setWeight(weight); + return true; +} + +ExceptionID ImageSizesNotMatch; + +ExpDesc ImageSizesNotMatchDesc (ImageSizesNotMatch, "Image sizes of sources are different"); + +// calculate image from sources and set its availability +void ImageMix::calcImage (unsigned int texId) +{ + // check source sizes + if (!checkSourceSizes()) THRWEXCP(ImageSizesNotMatch, S_OK); + // set offsets to image buffers + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + // if image buffer is available + if ((*it)->getImageBuf() != NULL) + // set its offset + getImageSourceMix(*it)->setOffset(m_sources[0]->getImageBuf()); + // otherwise don't calculate image + else + return; + // if there is only single source + if (m_sources.size() == 1) + { + // use single filter + FilterBase mixFilt; + // fiter and convert image + filterImage(mixFilt, m_sources[0]->getImageBuf(), m_sources[0]->getSize()); + } + // otherwise use mix filter to merge source images + else + { + FilterImageMix mixFilt (m_sources); + // fiter and convert image + filterImage(mixFilt, m_sources[0]->getImageBuf(), m_sources[0]->getSize()); + } +} + + + +// cast Image pointer to ImageMix +inline ImageMix * getImageMix (PyImage * self) +{ return static_cast<ImageMix*>(self->m_image); } + + +// python methods + +// get source weight +PyObject * getWeight (PyImage * self, PyObject * args) +{ + // weight + short weight = 0; + // get arguments + char * id; + if (self->m_image != NULL && PyArg_ParseTuple(args, "s", &id)) + // get weight + weight = getImageMix(self)->getWeight(id); + // return weight + return Py_BuildValue("h", weight); +} + + +// set source weight +PyObject * setWeight (PyImage * self, PyObject * args) +{ + // get arguments + char * id; + short weight = 0; + if (self->m_image != NULL && PyArg_ParseTuple(args, "sh", &id, &weight)) + // set weight + if (!getImageMix(self)->setWeight(id, weight)) + { + // if not set, report error + PyErr_SetString(PyExc_RuntimeError, "Invalid id of source");; + return NULL; + } + // return none + Py_RETURN_NONE; +} + + +// methods structure +static PyMethodDef imageMixMethods[] = +{ + {"getSource", (PyCFunction)Image_getSource, METH_VARARGS, "get image source"}, + {"setSource", (PyCFunction)Image_setSource, METH_VARARGS, "set image source"}, + {"getWeight", (PyCFunction)getWeight, METH_VARARGS, "get image source weight"}, + {"setWeight", (PyCFunction)setWeight, METH_VARARGS, "set image source weight"}, + // methods from ImageBase class + {"refresh", (PyCFunction)Image_refresh, METH_NOARGS, "Refresh image - invalidate its current content"}, + {NULL} +}; +// attributes structure +static PyGetSetDef imageMixGetSets[] = +{ // attributes from ImageBase class + {(char*)"image", (getter)Image_getImage, NULL, (char*)"image data", NULL}, + {(char*)"size", (getter)Image_getSize, NULL, (char*)"image size", NULL}, + {(char*)"scale", (getter)Image_getScale, (setter)Image_setScale, (char*)"fast scale of image (near neighbour)", NULL}, + {(char*)"flip", (getter)Image_getFlip, (setter)Image_setFlip, (char*)"flip image vertically", NULL}, + {(char*)"filter", (getter)Image_getFilter, (setter)Image_setFilter, (char*)"pixel filter", NULL}, + {NULL} +}; + + +// define python type +PyTypeObject ImageMixType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.ImageMix", /*tp_name*/ + sizeof(PyImage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Image_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Image mixer", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + imageMixMethods, /* tp_methods */ + 0, /* tp_members */ + imageMixGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Image_init<ImageMix>, /* tp_init */ + 0, /* tp_alloc */ + Image_allocNew, /* tp_new */ +}; + diff --git a/source/gameengine/VideoTexture/ImageMix.h b/source/gameengine/VideoTexture/ImageMix.h new file mode 100644 index 00000000000..b4842bd6b40 --- /dev/null +++ b/source/gameengine/VideoTexture/ImageMix.h @@ -0,0 +1,123 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined IMAGEMIX_H +#define IMAGEMIX_H + + +#include "Common.h" + +#include "ImageBase.h" +#include "FilterBase.h" + + +/// class for source mixing +class ImageSourceMix : public ImageSource +{ +public: + /// constructor + ImageSourceMix (const char * id) : ImageSource(id), m_weight(0x100) {} + /// destructor + virtual ~ImageSourceMix (void) {} + + /// get offset + long long getOffset (void) { return m_offset; } + /// set offset + void setOffset (unsigned int * firstImg) { m_offset = m_image - firstImg; } + + /// get weight + short getWeight (void) { return m_weight; } + /// set weight + void setWeight (short weight) { m_weight = weight; } + +protected: + /// buffer offset to the first source buffer + long long m_offset; + /// source weight + short m_weight; +}; + + +/// class for image mixer +class ImageMix : public ImageBase +{ +public: + /// constructor + ImageMix (void) : ImageBase(false) {} + + /// destructor + virtual ~ImageMix (void) {} + + /// get weight + short getWeight (const char * id); + /// set weight + bool setWeight (const char * id, short weight); + +protected: + + /// create new source + virtual ImageSource * newSource (const char * id) { return new ImageSourceMix(id); } + + /// calculate image from sources and set its availability + virtual void calcImage (unsigned int texId); +}; + + +/// pixel filter for image mixer +class FilterImageMix : public FilterBase +{ +public: + /// constructor + FilterImageMix (ImageSourceList & sources) : m_sources(sources) {} + /// destructor + virtual ~FilterImageMix (void) {} + +protected: + /// source list + ImageSourceList & m_sources; + + /// filter pixel, source int buffer + virtual unsigned int filter (unsigned int * src, short x, short y, + short * size, unsigned int pixSize, unsigned int val = 0) + { + // resulting pixel color + int color[] = {0, 0, 0, 0}; + // iterate sources + for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) + { + // get pointer to mixer source + ImageSourceMix * mixSrc = static_cast<ImageSourceMix*>(*it); + // add weighted source pixel to result + color[0] += mixSrc->getWeight() * (src[mixSrc->getOffset()] & 0xFF); + color[1] += mixSrc->getWeight() * ((src[mixSrc->getOffset()] >> 8) & 0xFF); + color[2] += mixSrc->getWeight() * ((src[mixSrc->getOffset()] >> 16) & 0xFF); + color[3] += mixSrc->getWeight() * ((src[mixSrc->getOffset()] >> 24) & 0xFF); + } + // return resulting color + return ((color[0] >> 8) & 0xFF) | (color[1] & 0xFF00) + | ((color[2] << 8) & 0xFF0000) | ((color[3] << 16) & 0xFF000000); + } +}; + + +#endif + diff --git a/source/gameengine/VideoTexture/ImageRender.cpp b/source/gameengine/VideoTexture/ImageRender.cpp new file mode 100644 index 00000000000..a8f7871fa21 --- /dev/null +++ b/source/gameengine/VideoTexture/ImageRender.cpp @@ -0,0 +1,267 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +// implementation + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include <KX_BlenderCanvas.h> +#include <KX_BlenderRenderTools.h> +#include <RAS_IRasterizer.h> +#include <RAS_OpenGLRasterizer.h> +#include <KX_WorldInfo.h> +#include <KX_Light.h> + +#include "ImageRender.h" + +#include "ImageBase.h" +#include "BlendType.h" +#include "Exception.h" + +ExceptionID SceneInvalid, CameraInvalid; +ExpDesc SceneInvalidDesc (SceneInvalid, "Scene object is invalid"); +ExpDesc CameraInvalidDesc (CameraInvalid, "Camera object is invalid"); + +#if 0 // not yet supported + +// constructor +ImageRender::ImageRender (KX_Scene * scene, KX_Camera * camera) : m_scene(scene), +m_camera(camera) +{ + // create screen area + m_area.winrct.xmin = m_upLeft[0]; + m_area.winrct.ymin = m_upLeft[1]; + m_area.winx = m_size[0]; + m_area.winy = m_size[1]; + // create canvas + m_canvas = new KX_BlenderCanvas(&m_area); + // create render tools + m_rendertools = new KX_BlenderRenderTools(); + // create rasterizer + m_rasterizer = new RAS_OpenGLRasterizer(m_canvas); + m_rasterizer->Init(); + // initialize background colour + setBackground(0, 0, 255); + // refresh lights + refreshLights(); +} + +// destructor +ImageRender::~ImageRender (void) +{ + // release allocated objects + delete m_rasterizer; + delete m_rendertools; + delete m_canvas; +} + + +// set background color +void ImageRender::setBackground (unsigned char red, unsigned char green, unsigned char blue) +{ + m_background[0] = red; + m_background[1] = green; + m_background[2] = blue; + m_rasterizer->SetBackColor(m_background[0], m_background[1], m_background[2], 1.0); +} + + +// capture image from viewport +void ImageRender::calcImage (unsigned int texId) +{ + // setup camera + bool cameraPasive = !m_camera->GetViewport(); + // render scene + Render(); + // reset camera + if (cameraPasive) m_camera->EnableViewport(false); + // get image from viewport + ImageViewport::calcImage(texId); +} + +void ImageRender::Render() +{ + // +} + +// refresh lights +void ImageRender::refreshLights (void) +{ + // clear lights list + //m_rendertools->RemoveAllLights(); + // set lights + //for (int idx = 0; idx < scene->GetLightList()->GetCount(); ++idx) + // m_rendertools->AddLight(((KX_LightObject*)(scene->GetLightList()->GetValue(idx)))->GetLightData()); +} + + + +// cast Image pointer to ImageRender +inline ImageRender * getImageRender (PyImage * self) +{ return static_cast<ImageRender*>(self->m_image); } + + +// python methods + +// Blender Scene type +BlendType<KX_Scene> sceneType ("KX_Scene"); +// Blender Camera type +BlendType<KX_Camera> cameraType ("KX_Camera"); + + +// object initialization +static int ImageRender_init (PyObject * pySelf, PyObject * args, PyObject * kwds) +{ + // parameters - scene object + PyObject * scene; + // camera object + PyObject * camera; + // parameter keywords + static char *kwlist[] = {"sceneObj", "cameraObj", NULL}; + // get parameters + if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO", kwlist, &scene, &camera)) + return -1; + try + { + // get scene pointer + KX_Scene * scenePtr (NULL); + if (scene != NULL) scenePtr = sceneType.checkType(scene); + // throw exception if scene is not available + if (scenePtr == NULL) THRWEXCP(SceneInvalid, S_OK); + + // get camera pointer + KX_Camera * cameraPtr (NULL); + if (camera != NULL) cameraPtr = cameraType.checkType(camera); + // throw exception if camera is not available + if (cameraPtr == NULL) THRWEXCP(CameraInvalid, S_OK); + + // get pointer to image structure + PyImage * self = reinterpret_cast<PyImage*>(pySelf); + // create source object + if (self->m_image != NULL) delete self->m_image; + self->m_image = new ImageRender(scenePtr, cameraPtr); + } + catch (Exception & exp) + { + exp.report(); + return -1; + } + // initialization succeded + return 0; +} + + +// get background color +PyObject * getBackground (PyImage * self, void * closure) +{ + return Py_BuildValue("[BBB]", getImageRender(self)->getBackground()[0], + getImageRender(self)->getBackground()[1], getImageRender(self)->getBackground()[2]); +} + +// set color +static int setBackground (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PySequence_Check(value) || PySequence_Length(value) != 3 + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 0)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 1)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 2))) + { + PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 3 ints"); + return -1; + } + // set background color + getImageRender(self)->setBackground((unsigned char)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + (unsigned char)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 1))), + (unsigned char)(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 2)))); + // success + return 0; +} + + +// methods structure +static PyMethodDef imageRenderMethods[] = +{ // methods from ImageBase class + {"refresh", (PyCFunction)Image_refresh, METH_NOARGS, "Refresh image - invalidate its current content"}, + {NULL} +}; +// attributes structure +static PyGetSetDef imageRenderGetSets[] = +{ + {(char*)"background", (getter)getBackground, (setter)setBackground, (char*)"background color", NULL}, + // attributes from ImageBase class + {(char*)"image", (getter)Image_getImage, NULL, (char*)"image data", NULL}, + {(char*)"size", (getter)Image_getSize, NULL, (char*)"image size", NULL}, + {(char*)"scale", (getter)Image_getScale, (setter)Image_setScale, (char*)"fast scale of image (near neighbour)", NULL}, + {(char*)"flip", (getter)Image_getFlip, (setter)Image_setFlip, (char*)"flip image vertically", NULL}, + {(char*)"filter", (getter)Image_getFilter, (setter)Image_setFilter, (char*)"pixel filter", NULL}, + {NULL} +}; + + +// define python type +PyTypeObject ImageRenderType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.ImageRender", /*tp_name*/ + sizeof(PyImage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Image_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Image source from render", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + imageRenderMethods, /* tp_methods */ + 0, /* tp_members */ + imageRenderGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)ImageRender_init, /* tp_init */ + 0, /* tp_alloc */ + Image_allocNew, /* tp_new */ +}; + + +#endif // #if 0 diff --git a/source/gameengine/VideoTexture/ImageRender.h b/source/gameengine/VideoTexture/ImageRender.h new file mode 100644 index 00000000000..66255f04d2c --- /dev/null +++ b/source/gameengine/VideoTexture/ImageRender.h @@ -0,0 +1,90 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined IMAGERENDER_H +#define IMAGERENDER_H + + +#include "Common.h" + +#include <KX_Scene.h> +#include <KX_Camera.h> +#include <DNA_screen_types.h> +#include <RAS_ICanvas.h> +#include <RAS_IRasterizer.h> +#include <RAS_IRenderTools.h> + +#include "ImageViewport.h" + + +/// class for render 3d scene +class ImageRender : public ImageViewport +{ +public: + /// constructor + ImageRender (KX_Scene * scene, KX_Camera * camera); + + /// destructor + virtual ~ImageRender (void); + + /// get background color + unsigned char * getBackground (void) { return m_background; } + /// set background color + void setBackground (unsigned char red, unsigned char green, unsigned char blue); + +protected: + /// rendered scene + KX_Scene * m_scene; + /// camera for render + KX_Camera * m_camera; + + /// screen area for rendering + ScrArea m_area; + /// rendering device + RAS_ICanvas * m_canvas; + /// rasterizer + RAS_IRasterizer * m_rasterizer; + /// render tools + RAS_IRenderTools * m_rendertools; + + /// background colour + unsigned char m_background[3]; + + + /// render 3d scene to image + virtual void calcImage (unsigned int texId); + + /// refresh lights + void refreshLights (void); + /// methods from KX_KetsjiEngine + bool BeginFrame(); + void EndFrame(); + void Render(); + void SetupRenderFrame(KX_Scene *scene, KX_Camera* cam); + void RenderFrame(KX_Scene* scene, KX_Camera* cam); + void SetBackGround(KX_WorldInfo* wi); + void SetWorldSettings(KX_WorldInfo* wi); +}; + + +#endif + diff --git a/source/gameengine/VideoTexture/ImageViewport.cpp b/source/gameengine/VideoTexture/ImageViewport.cpp new file mode 100644 index 00000000000..deb66ffb6ba --- /dev/null +++ b/source/gameengine/VideoTexture/ImageViewport.cpp @@ -0,0 +1,297 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +// implementation + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include <BIF_gl.h> + +#include "Texture.h" +#include "ImageBase.h" +#include "FilterSource.h" +#include "ImageViewport.h" + + +// constructor +ImageViewport::ImageViewport (void) : m_texInit(false) +{ + // get viewport rectangle + glGetIntegerv(GL_VIEWPORT, m_viewport); + // create buffer for viewport image + m_viewportImage = new BYTE [3 * getViewportSize()[0] * getViewportSize()[1]]; + // set attributes + setWhole(false); +} + +// destructor +ImageViewport::~ImageViewport (void) +{ delete m_viewportImage; } + + +// use whole viewport to capture image +void ImageViewport::setWhole (bool whole) +{ + // set whole + m_whole = whole; + // set capture size to viewport size, if whole, + // otherwise place area in the middle of viewport + for (int idx = 0; idx < 2; ++idx) + { + // capture size + m_capSize[idx] = whole ? short(getViewportSize()[idx]) + : calcSize(short(getViewportSize()[idx])); + // position + m_position[idx] = whole ? 0 : (getViewportSize()[idx] - m_capSize[idx]) >> 1; + } + // init image + init(m_capSize[0], m_capSize[1]); + // set capture position + setPosition(); +} + +void ImageViewport::setCaptureSize (short * size) +{ + m_whole = false; + if (size == NULL) + size = m_capSize; + for (int idx = 0; idx < 2; ++idx) + { + if (size[idx] < 1) + m_capSize[idx] = 1; + else if (size[idx] > getViewportSize()[idx]) + m_capSize[idx] = short(getViewportSize()[idx]); + else + m_capSize[idx] = size[idx]; + } + init(m_capSize[0], m_capSize[1]); + // set capture position + setPosition(); +} + +// set position of capture rectangle +void ImageViewport::setPosition (GLint * pos) +{ + // if new position is not provided, use existing position + if (pos == NULL) pos = m_position; + // save position + for (int idx = 0; idx < 2; ++idx) + m_position[idx] = pos[idx] < 0 ? 0 : pos[idx] >= getViewportSize()[idx] + - m_capSize[idx] ? getViewportSize()[idx] - m_capSize[idx] : pos[idx]; + // recalc up left corner + for (int idx = 0; idx < 2; ++idx) + m_upLeft[idx] = m_position[idx] + m_viewport[idx]; +} + + +// capture image from viewport +void ImageViewport::calcImage (unsigned int texId) +{ + // if scale was changed + if (m_scaleChange) + // reset image + init(m_capSize[0], m_capSize[1]); + // if texture wasn't initialized + if (!m_texInit) + { + // initialize it + loadTexture(texId, m_image, m_size); + m_texInit = true; + } + // if texture can be directly created + if (texId != 0 && m_pyfilter == NULL && m_capSize[0] == calcSize(m_capSize[0]) + && m_capSize[1] == calcSize(m_capSize[1]) && !m_flip) + { + // just copy current viewport to texture + glBindTexture(GL_TEXTURE_2D, texId); + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1]); + // image is not available + m_avail = false; + } + // otherwise copy viewport to buffer, if image is not available + else if (!m_avail) + { + // get frame buffer data + glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGB, + GL_UNSIGNED_BYTE, m_viewportImage); + // filter loaded data + FilterRGB24 filt; + filterImage(filt, m_viewportImage, m_capSize); + } +} + + + +// cast Image pointer to ImageViewport +inline ImageViewport * getImageViewport (PyImage * self) +{ return static_cast<ImageViewport*>(self->m_image); } + + +// python methods + + +// get whole +static PyObject * ImageViewport_getWhole (PyImage * self, void * closure) +{ + if (self->m_image != NULL && getImageViewport(self)->getWhole()) Py_RETURN_TRUE; + else Py_RETURN_FALSE; +} + +// set whole +static int ImageViewport_setWhole (PyImage * self, PyObject * value, void * closure) +{ + // check parameter, report failure + if (value == NULL || !PyBool_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a bool"); + return -1; + } + // set whole + if (self->m_image != NULL) getImageViewport(self)->setWhole(value == Py_True); + // success + return 0; +} + + +// get position +static PyObject * ImageViewport_getPosition (PyImage * self, void * closure) +{ + return Py_BuildValue("(ii)", getImageViewport(self)->getPosition()[0], + getImageViewport(self)->getPosition()[1]); +} + +// set position +static int ImageViewport_setPosition (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PySequence_Check(value) || PySequence_Length(value) != 2 + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 0)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 1))) + { + PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 2 ints"); + return -1; + } + // set position + GLint pos [] = { + GLint(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + GLint(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 1))) + }; + getImageViewport(self)->setPosition(pos); + // success + return 0; +} + +// get capture size +static PyObject * ImageViewport_getCaptureSize (PyImage * self, void * closure) +{ + return Py_BuildValue("(ii)", getImageViewport(self)->getCaptureSize()[0], + getImageViewport(self)->getCaptureSize()[1]); +} + +// set capture size +static int ImageViewport_setCaptureSize (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PySequence_Check(value) || PySequence_Length(value) != 2 + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 0)) + || !PyInt_Check(PySequence_Fast_GET_ITEM(value, 1))) + { + PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 2 ints"); + return -1; + } + // set capture size + short size [] = { + short(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + short(PyInt_AsLong(PySequence_Fast_GET_ITEM(value, 1))) + }; + getImageViewport(self)->setCaptureSize(size); + // success + return 0; +} + + +// methods structure +static PyMethodDef imageViewportMethods[] = +{ // methods from ImageBase class + {"refresh", (PyCFunction)Image_refresh, METH_NOARGS, "Refresh image - invalidate its current content"}, + {NULL} +}; +// attributes structure +static PyGetSetDef imageViewportGetSets[] = +{ + {(char*)"whole", (getter)ImageViewport_getWhole, (setter)ImageViewport_setWhole, (char*)"use whole viewport to capture", NULL}, + {(char*)"position", (getter)ImageViewport_getPosition, (setter)ImageViewport_setPosition, (char*)"upper left corner of captured area", NULL}, + {(char*)"capsize", (getter)ImageViewport_getCaptureSize, (setter)ImageViewport_setCaptureSize, (char*)"size of viewport area being captured", NULL}, + // attributes from ImageBase class + {(char*)"image", (getter)Image_getImage, NULL, (char*)"image data", NULL}, + {(char*)"size", (getter)Image_getSize, NULL, (char*)"image size", NULL}, + {(char*)"scale", (getter)Image_getScale, (setter)Image_setScale, (char*)"fast scale of image (near neighbour)", NULL}, + {(char*)"flip", (getter)Image_getFlip, (setter)Image_setFlip, (char*)"flip image vertically", NULL}, + {(char*)"filter", (getter)Image_getFilter, (setter)Image_setFilter, (char*)"pixel filter", NULL}, + {NULL} +}; + + +// define python type +PyTypeObject ImageViewportType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.ImageViewport", /*tp_name*/ + sizeof(PyImage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Image_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Image source from viewport", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + imageViewportMethods, /* tp_methods */ + 0, /* tp_members */ + imageViewportGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Image_init<ImageViewport>, /* tp_init */ + 0, /* tp_alloc */ + Image_allocNew, /* tp_new */ +}; diff --git a/source/gameengine/VideoTexture/ImageViewport.h b/source/gameengine/VideoTexture/ImageViewport.h new file mode 100644 index 00000000000..4265906b8f5 --- /dev/null +++ b/source/gameengine/VideoTexture/ImageViewport.h @@ -0,0 +1,84 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined IMAGEVIEWPORT_H +#define IMAGEVIEWPORT_H + + +#include "Common.h" + +#include "ImageBase.h" + + +/// class for viewport access +class ImageViewport : public ImageBase +{ +public: + /// constructor + ImageViewport (void); + + /// destructor + virtual ~ImageViewport (void); + + /// is whole buffer used + bool getWhole (void) { return m_whole; } + /// set whole buffer use + void setWhole (bool whole); + /// get capture size in viewport + short * getCaptureSize (void) { return m_capSize; } + /// set capture size in viewport + void setCaptureSize (short * size = NULL); + + /// get position in viewport + GLint * getPosition (void) { return m_position; } + /// set position in viewport + void setPosition (GLint * pos = NULL); + +protected: + /// frame buffer rectangle + GLint m_viewport[4]; + + /// size of captured area + short m_capSize[2]; + /// use whole viewport + bool m_whole; + + /// position of capture rectangle in viewport + GLint m_position[2]; + /// upper left point for capturing + GLint m_upLeft[2]; + + /// buffer to copy viewport + BYTE * m_viewportImage; + /// texture is initialized + bool m_texInit; + + /// capture image from viewport + virtual void calcImage (unsigned int texId); + + /// get viewport size + GLint * getViewportSize (void) { return m_viewport + 2; } +}; + + +#endif + diff --git a/source/gameengine/VideoTexture/Makefile b/source/gameengine/VideoTexture/Makefile new file mode 100644 index 00000000000..bead176808b --- /dev/null +++ b/source/gameengine/VideoTexture/Makefile @@ -0,0 +1,65 @@ +# +# $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): none yet. +# +# ***** END GPL LICENSE BLOCK ***** +# +# + +LIBNAME = videotex +DIR = $(OCGDIR)/gameengine/$(LIBNAME) +SOURCEDIR = source/gameengine/VideoTexture + +include nan_compile.mk + +CCFLAGS += $(LEVEL_1_CPP_WARNINGS) + +CPPFLAGS += $(OGL_CPPFLAGS) +CPPFLAGS += -I$(NAN_GLEW)/include +CPPFLAGS += -I$(OPENGL_HEADERS) +CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION) +CPPFLAGS += -I../../blender/python +CPPFLAGS += -I$(NAN_STRING)/include +CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include +CPPFLAGS += -I$(NAN_MOTO)/include +CPPFLAGS += -I../Rasterizer/RAS_OpenGLRasterizer +CPPFLAGS += -I../Rasterizer -I../GameLogic -I../SceneGraph +CPPFLAGS += -I../BlenderRoutines -I../Expressions -I../Ketsji +CPPFLAGS += -I../../kernel/gen_system +CPPFLAGS += -I. +CPPFLAGS += -I../../blender/blenkernel +CPPFLAGS += -I../../blender/blenlib +CPPFLAGS += -I../../blender/include +CPPFLAGS += -I../../blender/makesdna +CPPFLAGS += -I../../blender/imbuf +CPPFLAGS += -I../../blender/gpu +CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include + +ifeq ($(WITH_FFMPEG),true) + CPPFLAGS += -DWITH_FFMPEG + CPPFLAGS += $(NAN_FFMPEGCFLAGS) +endif + + diff --git a/source/gameengine/VideoTexture/PyTypeList.cpp b/source/gameengine/VideoTexture/PyTypeList.cpp new file mode 100644 index 00000000000..6d2676dce09 --- /dev/null +++ b/source/gameengine/VideoTexture/PyTypeList.cpp @@ -0,0 +1,83 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + + +#include "PyTypeList.h" + +#include <memory> +#include <vector> + +#include <PyObjectPlus.h> + + +/// check, if type is in list +bool PyTypeList::in (PyTypeObject * type) +{ + // if list exists + if (m_list.get() != NULL) + // iterate items in list + for (PyTypeListType::iterator it = m_list->begin(); it != m_list->end(); ++it) + // if item is found, return with success + if ((*it)->getType() == type) return true; + // otherwise return not found + return false; +} + +/// add type to list +void PyTypeList::add (PyTypeObject * type, const char * name) +{ + PyTypeListItem * typeItem; + // if list doesn't exist, create it + if (m_list.get() == NULL) + m_list.reset(new PyTypeListType()); + if (!in(type)) + // add new item to list + m_list->push_back(new PyTypeListItem(type, name)); +} + +/// prepare types +bool PyTypeList::ready (void) +{ + // if list exists + if (m_list.get() != NULL) + // iterate items in list + for (PyTypeListType::iterator it = m_list->begin(); it != m_list->end(); ++it) + // if preparation failed, report it + if (PyType_Ready((*it)->getType()) < 0) return false; + // success + return true; +} + +/// register types to module +void PyTypeList::reg (PyObject * module) +{ + // if list exists + if (m_list.get() != NULL) + // iterate items in list + for (PyTypeListType::iterator it = m_list->begin(); it != m_list->end(); ++it) + { + // increase ref count + Py_INCREF((*it)->getType()); + // add type to module + PyModule_AddObject(module, (char*)(*it)->getName(), (PyObject*)(*it)->getType()); + } +} diff --git a/source/gameengine/VideoTexture/PyTypeList.h b/source/gameengine/VideoTexture/PyTypeList.h new file mode 100644 index 00000000000..4daf88bfa19 --- /dev/null +++ b/source/gameengine/VideoTexture/PyTypeList.h @@ -0,0 +1,85 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of blendTex library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined PYTYPELIST_H +#define PYTYPELIST_H + +#include "Common.h" + +#include <memory> +#include <vector> + +#include <PyObjectPlus.h> + +// forward declaration +class PyTypeListItem; + +// type for list of types +typedef std::vector<PyTypeListItem*> PyTypeListType; + + +/// class to store list of python types +class PyTypeList +{ +public: + /// check, if type is in list + bool in (PyTypeObject * type); + + /// add type to list + void add (PyTypeObject * type, const char * name); + + /// prepare types + bool ready (void); + + /// register types to module + void reg (PyObject * module); + +protected: + /// pointer to list of types + std::auto_ptr<PyTypeListType> m_list; +}; + + +/// class for item of python type list +class PyTypeListItem +{ +public: + /// constructor adds type into list + PyTypeListItem (PyTypeObject * type, const char * name) + : m_type(type), m_name(name) + { } + + /// does type match + PyTypeObject * getType (void) { return m_type; } + + /// get name of type + const char * getName (void) { return m_name; } + +protected: + /// pointer to type object + PyTypeObject * m_type; + /// name of type + const char * m_name; +}; + + +#endif diff --git a/source/gameengine/VideoTexture/SConscript b/source/gameengine/VideoTexture/SConscript new file mode 100644 index 00000000000..f3fe0dab6ad --- /dev/null +++ b/source/gameengine/VideoTexture/SConscript @@ -0,0 +1,32 @@ +#!/usr/bin/python +import sys + +Import ('env') + +sources = env.Glob('*.cpp') + +incs = '. #source/gameengine/Ketsji #source/gameengine/Expressions' +incs += ' #source/gameengine/GameLogic #source/gameengine/SceneGraph #source/gameengine/Rasterizer' +incs += ' #source/gameengine/Rasterizer/RAS_OpenGLRasterizer' +incs += ' #source/gameengine/BlenderRoutines' +incs += ' #source/blender/include #source/blender/blenlib #source/blender/blenkernel' +incs += ' #source/blender/makesdna #source/blender/imbuf #source/blender/python' +incs += ' #source/blender/gpu #source/kernel/gen_system #intern/string #intern/moto/include' +incs += ' #intern/guardedalloc #intern/SoundSystem' +incs += ' #extern/glew/include' + +cflags = [] +defs = '' +if env['OURPLATFORM'] == 'win32-vc': + cflags.append('/GR') + cflags.append('/Ox') + +incs += ' ' + env['BF_PYTHON_INC'] +#incs += ' ' + env['BF_OPENGL_INC'] + +if env['WITH_BF_FFMPEG']: + defs += ' WITH_FFMPEG' + incs += ' ' + env['BF_FFMPEG_INC'] + defs += ' __STDC_CONSTANT_MACROS' + +env.BlenderLib ( 'bf_videotex', sources, Split(incs), Split(defs), libtype=['game','player'], priority=[25, 72], compileflags = cflags ) diff --git a/source/gameengine/VideoTexture/Texture.cpp b/source/gameengine/VideoTexture/Texture.cpp new file mode 100644 index 00000000000..66c67023e38 --- /dev/null +++ b/source/gameengine/VideoTexture/Texture.cpp @@ -0,0 +1,476 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +// implementation + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include <KX_GameObject.h> +#include <RAS_MeshObject.h> +#include <DNA_mesh_types.h> +#include <DNA_meshdata_types.h> +#include <DNA_image_types.h> +#include <IMB_imbuf_types.h> +#include <BDR_drawmesh.h> +#include <KX_PolygonMaterial.h> + +#include <MEM_guardedalloc.h> + +#include <KX_BlenderMaterial.h> +#include <BL_Texture.h> + +#include "KX_KetsjiEngine.h" +#include "KX_PythonInit.h" +#include "Texture.h" +#include "ImageBase.h" +#include "Exception.h" + +#include <memory.h> +#include <BIF_gl.h> + + +// macro for exception handling and logging +#define CATCH_EXCP catch (Exception & exp) \ +{ exp.report(); } + + +// Blender GameObject type +BlendType<KX_GameObject> gameObjectType ("KX_GameObject"); + + +// load texture +void loadTexture (unsigned int texId, unsigned int * texture, short * size, + bool mipmap) +{ + // load texture for rendering + glBindTexture(GL_TEXTURE_2D, texId); + if (mipmap) + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, size[0], size[1], GL_RGBA, GL_UNSIGNED_BYTE, texture); + } + else + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, size[0], size[1], 0, GL_RGBA, GL_UNSIGNED_BYTE, texture); + } + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); +} + + +// get pointer to material +RAS_IPolyMaterial * getMaterial (PyObject *obj, short matID) +{ + // if object is available + if (obj != NULL) + { + // get pointer to texture image + KX_GameObject * gameObj = gameObjectType.checkType(obj); + if (gameObj != NULL && gameObj->GetMeshCount() > 0) + { + // get material from mesh + RAS_MeshObject * mesh = gameObj->GetMesh(0); + RAS_MeshMaterial *meshMat = mesh->GetMeshMaterial(matID); + if (meshMat != NULL && meshMat->m_bucket != NULL) + // return pointer to polygon or blender material + return meshMat->m_bucket->GetPolyMaterial(); + } + } + // otherwise material was not found + return NULL; +} + + +// get material ID +short getMaterialID (PyObject * obj, char * name) +{ + // search for material + for (short matID = 0;; ++matID) + { + // get material + RAS_IPolyMaterial * mat = getMaterial(obj, matID); + // if material is not available, report that no material was found + if (mat == NULL) + break; + // name is a material name if it starts with MA and a UV texture name if it starts with IM + if (name[0] == 'I' && name[1] == 'M') + { + // if texture name matches + if (strcmp(mat->GetTextureName().ReadPtr(), name) == 0) + return matID; + } else + { + // if material name matches + if (strcmp(mat->GetMaterialName().ReadPtr(), name) == 0) + return matID; + } + } + // material was not found + return -1; +} + + +// Texture object allocation +PyObject * Texture_new (PyTypeObject *type, PyObject *args, PyObject *kwds) +{ + // allocate object + Texture * self = reinterpret_cast<Texture*>(type->tp_alloc(type, 0)); + // initialize object structure + self->m_actTex = 0; + self->m_orgSaved = false; + self->m_imgTexture = NULL; + self->m_matTexture = NULL; + self->m_mipmap = false; + self->m_scaledImg = NULL; + self->m_scaledImgSize = 0; + self->m_source = NULL; + self->m_lastClock = 0.0; + // return allocated object + return reinterpret_cast<PyObject*>(self); +} + + +// forward declaration +PyObject * Texture_close(Texture * self); +int Texture_setSource (Texture * self, PyObject * value, void * closure); + + +// Texture object deallocation +void Texture_dealloc (Texture * self) +{ + // release renderer + Py_XDECREF(self->m_source); + // close texture + Texture_close(self); + // release scaled image buffer + delete [] self->m_scaledImg; + // release object + self->ob_type->tp_free((PyObject*)self); +} + + +ExceptionID MaterialNotAvail; +ExpDesc MaterialNotAvailDesc (MaterialNotAvail, "Texture material is not available"); + +// Texture object initialization +int Texture_init (Texture *self, PyObject *args, PyObject *kwds) +{ + // parameters - game object with video texture + PyObject * obj = NULL; + // material ID + short matID = 0; + // texture ID + short texID = 0; + // texture object with shared texture ID + Texture * texObj = NULL; + + static char *kwlist[] = {"gameObj", "materialID", "textureID", "textureObj", NULL}; + + // get parameters + if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|hhO!", kwlist, &obj, &matID, + &texID, &TextureType, &texObj)) + return -1; + + // if parameters are available + if (obj != NULL) + { + // process polygon material or blender material + try + { + // get pointer to texture image + RAS_IPolyMaterial * mat = getMaterial(obj, matID); + if (mat != NULL) + { + // is it blender material or polygon material + if (mat->GetFlag() & RAS_BLENDERGLSL) + { + self->m_imgTexture = static_cast<KX_BlenderMaterial*>(mat)->getImage(texID); + self->m_useMatTexture = false; + } else if (mat->GetFlag() & RAS_BLENDERMAT) + { + // get blender material texture + self->m_matTexture = static_cast<KX_BlenderMaterial*>(mat)->getTex(texID); + self->m_useMatTexture = true; + } + else + { + // get texture pointer from polygon material + MTFace * tface = static_cast<KX_PolygonMaterial*>(mat)->GetMTFace(); + self->m_imgTexture = (Image*)tface->tpage; + self->m_useMatTexture = false; + } + } + // check if texture is available, if not, initialization failed + if (self->m_imgTexture == NULL && self->m_matTexture == NULL) + // throw exception if initialization failed + THRWEXCP(MaterialNotAvail, S_OK); + + // if texture object is provided + if (texObj != NULL) + { + // copy texture code + self->m_actTex = texObj->m_actTex; + self->m_mipmap = texObj->m_mipmap; + if (texObj->m_source != NULL) + Texture_setSource(self, reinterpret_cast<PyObject*>(texObj->m_source), NULL); + } + else + // otherwise generate texture code + glGenTextures(1, (GLuint*)&self->m_actTex); + } + catch (Exception & exp) + { + exp.report(); + return -1; + } + } + // initialization succeded + return 0; +} + + +// close added texture +PyObject * Texture_close(Texture * self) +{ + // restore texture + if (self->m_orgSaved) + { + self->m_orgSaved = false; + // restore original texture code + if (self->m_useMatTexture) + self->m_matTexture->swapTexture(self->m_orgTex); + else + self->m_imgTexture->bindcode = self->m_orgTex; + // drop actual texture + if (self->m_actTex != 0) + { + glDeleteTextures(1, (GLuint *)&self->m_actTex); + self->m_actTex = 0; + } + } + Py_RETURN_NONE; +} + + +// refresh texture +PyObject * Texture_refresh (Texture * self, PyObject * args) +{ + // get parameter - refresh source + PyObject * param; + if (!PyArg_ParseTuple(args, "O", ¶m) || !PyBool_Check(param)) + { + // report error + PyErr_SetString(PyExc_TypeError, "The value must be a bool"); + return NULL; + } + // some trick here: we are in the business of loading a texture, + // no use to do it if we are still in the same rendering frame. + // We find this out by looking at the engine current clock time + KX_KetsjiEngine* engine = KX_GetActiveEngine(); + if (engine->GetClockTime() != self->m_lastClock) + { + self->m_lastClock = engine->GetClockTime(); + // set source refresh + bool refreshSource = (param == Py_True); + // try to proces texture from source + try + { + // if source is available + if (self->m_source != NULL) + { + // check texture code + if (!self->m_orgSaved) + { + self->m_orgSaved = true; + // save original image code + if (self->m_useMatTexture) + self->m_orgTex = self->m_matTexture->swapTexture(self->m_actTex); + else + { + self->m_orgTex = self->m_imgTexture->bindcode; + self->m_imgTexture->bindcode = self->m_actTex; + } + } + + // get texture + unsigned int * texture = self->m_source->m_image->getImage(self->m_actTex); + // if texture is available + if (texture != NULL) + { + // get texture size + short * orgSize = self->m_source->m_image->getSize(); + // calc scaled sizes + short size[] = {ImageBase::calcSize(orgSize[0]), ImageBase::calcSize(orgSize[1])}; + // scale texture if needed + if (size[0] != orgSize[0] || size[1] != orgSize[1]) + { + // if scaled image buffer is smaller than needed + if (self->m_scaledImgSize < (unsigned int)(size[0] * size[1])) + { + // new size + self->m_scaledImgSize = size[0] * size[1]; + // allocate scaling image + delete [] self->m_scaledImg; + self->m_scaledImg = new unsigned int[self->m_scaledImgSize]; + } + // scale texture + gluScaleImage(GL_RGBA, orgSize[0], orgSize[1], GL_UNSIGNED_BYTE, texture, + size[0], size[1], GL_UNSIGNED_BYTE, self->m_scaledImg); + // use scaled image instead original + texture = self->m_scaledImg; + } + // load texture for rendering + loadTexture (self->m_actTex, texture, size, self->m_mipmap); + + // refresh texture source, if required + if (refreshSource) self->m_source->m_image->refresh(); + } + } + } + CATCH_EXCP; + } + Py_RETURN_NONE; +} + + +// get mipmap value +PyObject * Texture_getMipmap (Texture * self, void * closure) +{ + // return true if flag is set, otherwise false + if (self->m_mipmap) Py_RETURN_TRUE; + else Py_RETURN_FALSE; +} + +// set mipmap value +int Texture_setMipmap (Texture * self, PyObject * value, void * closure) +{ + // check parameter, report failure + if (value == NULL || !PyBool_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a bool"); + return -1; + } + // set mipmap + self->m_mipmap = value == Py_True; + // success + return 0; +} + + +// get source object +PyObject * Texture_getSource (Texture * self, PyObject * value, void * closure) +{ + // if source exists + if (self->m_source != NULL) + { + Py_INCREF(self->m_source); + return reinterpret_cast<PyObject*>(self->m_source); + } + // otherwise return None + Py_RETURN_NONE; +} + + +// set source object +int Texture_setSource (Texture * self, PyObject * value, void * closure) +{ + // check new value + if (value == NULL || !pyImageTypes.in(value->ob_type)) + { + // report value error + PyErr_SetString(PyExc_TypeError, "Invalid type of value"); + return -1; + } + // increase ref count for new value + Py_INCREF(value); + // release previous + Py_XDECREF(self->m_source); + // set new value + self->m_source = reinterpret_cast<PyImage*>(value); + // return success + return 0; +} + + +// class Texture methods +static PyMethodDef textureMethods[] = +{ + { "close", (PyCFunction)Texture_close, METH_NOARGS, "Close dynamic texture and restore original"}, + { "refresh", (PyCFunction)Texture_refresh, METH_VARARGS, "Refresh texture from source"}, + {NULL} /* Sentinel */ +}; + +// class Texture attributes +static PyGetSetDef textureGetSets[] = +{ + {(char*)"source", (getter)Texture_getSource, (setter)Texture_setSource, (char*)"source of texture", NULL}, + {(char*)"mipmap", (getter)Texture_getMipmap, (setter)Texture_setMipmap, (char*)"mipmap texture", NULL}, + {NULL} +}; + + +// class Texture declaration +PyTypeObject TextureType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.Texture", /*tp_name*/ + sizeof(Texture), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Texture_dealloc,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "Texture objects", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + textureMethods, /* tp_methods */ + 0, /* tp_members */ + textureGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)Texture_init, /* tp_init */ + 0, /* tp_alloc */ + Texture_new, /* tp_new */ +}; diff --git a/source/gameengine/VideoTexture/Texture.h b/source/gameengine/VideoTexture/Texture.h new file mode 100644 index 00000000000..3c371e51537 --- /dev/null +++ b/source/gameengine/VideoTexture/Texture.h @@ -0,0 +1,86 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2006 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined TEXTURE_H +#define TEXTURE_H + +#include <PyObjectPlus.h> +#include <structmember.h> + +#include <DNA_image_types.h> +#include <BL_Texture.h> +#include <KX_BlenderMaterial.h> + +#include "ImageBase.h" +#include "BlendType.h" + + +// type Texture declaration +struct Texture +{ + PyObject_HEAD + + // texture is using blender material + bool m_useMatTexture; + + // video texture bind code + unsigned int m_actTex; + // original texture bind code + unsigned int m_orgTex; + // original texture saved + bool m_orgSaved; + + // texture image for game materials + Image * m_imgTexture; + // texture for blender materials + BL_Texture * m_matTexture; + + // use mipmapping + bool m_mipmap; + + // scaled image buffer + unsigned int * m_scaledImg; + // scaled image buffer size + unsigned int m_scaledImgSize; + // last refresh + double m_lastClock; + + // image source + PyImage * m_source; +}; + + +// Texture type description +extern PyTypeObject TextureType; + +// load texture +void loadTexture (unsigned int texId, unsigned int * texture, short * size, + bool mipmap = false); + +// get material +RAS_IPolyMaterial * getMaterial (PyObject *obj, short matID); + +// get material ID +short getMaterialID (PyObject * obj, char * name); + + +#endif diff --git a/source/gameengine/VideoTexture/VideoBase.cpp b/source/gameengine/VideoTexture/VideoBase.cpp new file mode 100644 index 00000000000..10117c3af9e --- /dev/null +++ b/source/gameengine/VideoTexture/VideoBase.cpp @@ -0,0 +1,195 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if defined WIN32 +#define WINDOWS_LEAN_AND_MEAN +#include <Windows.h> +#endif + +#include "VideoBase.h" + +#include "FilterSource.h" + +// VideoBase implementation + + +// initialize image data +void VideoBase::init(short width, short height) +{ + // save original sizes + m_orgSize[0] = width; + m_orgSize[1] = height; + // call base class initialization + ImageBase::init(width, height); +} + + +// process video frame +void VideoBase::process (BYTE * sample) +{ + // if scale was changed + if (m_scaleChange) + // reset image + init(m_orgSize[0], m_orgSize[1]); + // if image is allocated and is able to store new image + if (m_image != NULL && !m_avail) + { + // filters used + // convert video format to image + switch (m_format) + { + case RGBA32: + { + FilterRGBA32 filtRGBA; + // use filter object for format to convert image + filterImage(filtRGBA, sample, m_orgSize); + // finish + break; + } + case RGB24: + { + FilterRGB24 filtRGB; + // use filter object for format to convert image + filterImage(filtRGB, sample, m_orgSize); + // finish + break; + } + case YV12: + { + // use filter object for format to convert image + FilterYV12 filtYUV; + filtYUV.setBuffs(sample, m_orgSize); + filterImage(filtYUV, sample, m_orgSize); + // finish + break; + } + } + } +} + + +// python functions + + +// exceptions for video source initialization +ExceptionID SourceVideoEmpty, SourceVideoCreation; +ExpDesc SourceVideoEmptyDesc (SourceVideoEmpty, "Source Video is empty"); +ExpDesc SourceVideoCreationDesc (SourceVideoCreation, "SourceVideo object was not created"); + +// open video source +void Video_open (VideoBase * self, char * file, short captureID) +{ + // if file is empty, throw exception + if (file == NULL) THRWEXCP(SourceVideoEmpty, S_OK); + + // open video file or capture device + if (captureID >= 0) + self->openCam(file, captureID); + else + self->openFile(file); +} + + +// play video +PyObject * Video_play (PyImage * self) +{ if (getVideo(self)->play()) Py_RETURN_TRUE; else Py_RETURN_FALSE; } + +// stop video +PyObject * Video_stop (PyImage * self) +{ if (getVideo(self)->stop()) Py_RETURN_TRUE; else Py_RETURN_FALSE; } + +// get status +PyObject * Video_getStatus (PyImage * self, void * closure) +{ + return Py_BuildValue("h", getVideo(self)->getStatus()); +} + +// refresh video +PyObject * Video_refresh (PyImage * self) +{ + getVideo(self)->refresh(); + return Video_getStatus(self, NULL); +} + + +// get range +PyObject * Video_getRange (PyImage * self, void * closure) +{ + return Py_BuildValue("[ff]", getVideo(self)->getRange()[0], + getVideo(self)->getRange()[1]); +} + +// set range +int Video_setRange (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PySequence_Check(value) || PySequence_Length(value) != 2 + || !PyFloat_Check(PySequence_Fast_GET_ITEM(value, 0)) + || !PyFloat_Check(PySequence_Fast_GET_ITEM(value, 1))) + { + PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 2 longs"); + return -1; + } + // set range + getVideo(self)->setRange(PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value, 0)), + PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value, 1))); + // success + return 0; +} + +// get repeat +PyObject * Video_getRepeat (PyImage * self, void * closure) +{ return Py_BuildValue("h", getVideo(self)->getRepeat()); } + +// set repeat +int Video_setRepeat (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PyInt_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be an int"); + return -1; + } + // set repeat + getVideo(self)->setRepeat(int(PyInt_AsLong(value))); + // success + return 0; +} + +// get frame rate +PyObject * Video_getFrameRate (PyImage * self, void * closure) +{ return Py_BuildValue("f", double(getVideo(self)->getFrameRate())); } + +// set frame rate +int Video_setFrameRate (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PyFloat_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a float"); + return -1; + } + // set repeat + getVideo(self)->setFrameRate(float(PyFloat_AsDouble(value))); + // success + return 0; +} diff --git a/source/gameengine/VideoTexture/VideoBase.h b/source/gameengine/VideoTexture/VideoBase.h new file mode 100644 index 00000000000..15ecb7a78f4 --- /dev/null +++ b/source/gameengine/VideoTexture/VideoBase.h @@ -0,0 +1,185 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#if !defined VIDEOBASE_H +#define VIDEOBASE_H + + +#include <PyObjectPlus.h> + +#include "ImageBase.h" + +#include "Exception.h" + +// source states +const int SourceError = -1; +const int SourceEmpty = 0; +const int SourceReady = 1; +const int SourcePlaying = 2; +const int SourceStopped = 3; + + +// video source formats +enum VideoFormat { None, RGB24, YV12, RGBA32 }; + + +/// base class for video source +class VideoBase : public ImageBase +{ +public: + /// constructor + VideoBase (void) : ImageBase(true), m_format(None), m_status(SourceEmpty), + m_repeat(0), m_frameRate(1.0) + { + m_orgSize[0] = m_orgSize[1] = 0; + m_range[0] = m_range[1] = 0.0; + } + + /// destructor + virtual ~VideoBase (void) {} + + /// open video file + virtual void openFile (char * file) + { + m_isFile = true; + m_status = SourceReady; + } + /// open video capture device + virtual void openCam (char * file, short camIdx) + { + m_isFile = false; + m_status = SourceReady; + } + + /// play video + virtual bool play (void) + { + if (m_status == SourceReady || m_status == SourceStopped) + { + m_status = SourcePlaying; + return true; + } + return false; + } + /// stop/pause video + virtual bool stop (void) + { + if (m_status == SourcePlaying) + { + m_status = SourceStopped; + return true; + } + return false; + } + + // get video status + int getStatus (void) { return m_status; } + + /// get play range + const double * getRange (void) { return m_range; } + /// set play range + virtual void setRange (double start, double stop) + { + if (m_isFile) + { + m_range[0] = start; + m_range[1] = stop; + } + } + + // get video repeat + int getRepeat (void) { return m_repeat; } + /// set video repeat + virtual void setRepeat (int rep) + { if (m_isFile) m_repeat = rep; } + + /// get frame rate + float getFrameRate (void) { return m_frameRate; } + /// set frame rate + virtual void setFrameRate (float rate) + { if (m_isFile) m_frameRate = rate > 0.0 ? rate : 1.0f; } + +protected: + /// video format + VideoFormat m_format; + /// original video size + short m_orgSize[2]; + + /// video status + int m_status; + + /// is source file + bool m_isFile; + + /// replay range + double m_range[2]; + /// repeat count + int m_repeat; + /// frame rate + float m_frameRate; + + /// initialize image data + void init (short width, short height); + + /// process source data + void process (BYTE * sample); +}; + + + +// python fuctions + + +// cast Image pointer to Video +inline VideoBase * getVideo (PyImage * self) +{ return static_cast<VideoBase*>(self->m_image); } + + +extern ExceptionID SourceVideoCreation; + +// object initialization +template <class T> void Video_init (PyImage * self) +{ + // create source video object + if (self->m_image != NULL) delete self->m_image; + HRESULT hRslt = S_OK; + self->m_image = new T(&hRslt); + CHCKHRSLT(hRslt, SourceVideoCreation); +} + + +// video functions +void Video_open (VideoBase * self, char * file, short captureID); +PyObject * Video_play (PyImage * self); +PyObject * Video_stop (PyImage * self); +PyObject * Video_refresh (PyImage * self); +PyObject * Video_getStatus (PyImage * self, void * closure); +PyObject * Video_getRange (PyImage * self, void * closure); +int Video_setRange (PyImage * self, PyObject * value, void * closure); +PyObject * Video_getRepeat (PyImage * self, void * closure); +int Video_setRepeat (PyImage * self, PyObject * value, void * closure); +PyObject * Video_getFrameRate (PyImage * self, void * closure); +int Video_setFrameRate (PyImage * self, PyObject * value, void * closure); + + +#endif + diff --git a/source/gameengine/VideoTexture/VideoFFmpeg.cpp b/source/gameengine/VideoTexture/VideoFFmpeg.cpp new file mode 100644 index 00000000000..02798c7e596 --- /dev/null +++ b/source/gameengine/VideoTexture/VideoFFmpeg.cpp @@ -0,0 +1,927 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#ifdef WITH_FFMPEG + +// INT64_C fix for some linux machines (C99ism) +#define __STDC_CONSTANT_MACROS +#include <stdint.h> + + +#include "MEM_guardedalloc.h" +#include "PIL_time.h" + +#include <string> + +#include "Exception.h" +#include "VideoFFmpeg.h" + + +// default framerate +const double defFrameRate = 25.0; +// time scale constant +const long timeScale = 1000; + +// macro for exception handling and logging +#define CATCH_EXCP catch (Exception & exp) \ +{ exp.report(); m_status = SourceError; } + +extern "C" void do_init_ffmpeg(); + +// class RenderVideo + +// constructor +VideoFFmpeg::VideoFFmpeg (HRESULT * hRslt) : VideoBase(), +m_codec(NULL), m_formatCtx(NULL), m_codecCtx(NULL), +m_frame(NULL), m_frameDeinterlaced(NULL), m_frameRGB(NULL), m_imgConvertCtx(NULL), +m_deinterlace(false), m_preseek(0), m_videoStream(-1), m_baseFrameRate(25.0), +m_lastFrame(-1), m_eof(false), m_curPosition(-1), m_startTime(0), +m_captWidth(0), m_captHeight(0), m_captRate(0.f), m_isImage(false) +{ + // set video format + m_format = RGB24; + // force flip because ffmpeg always return the image in the wrong orientation for texture + setFlip(true); + // construction is OK + *hRslt = S_OK; +} + +// destructor +VideoFFmpeg::~VideoFFmpeg () +{ +} + + +// release components +bool VideoFFmpeg::release() +{ + // release + if (m_codecCtx) + { + avcodec_close(m_codecCtx); + m_codecCtx = NULL; + } + if (m_formatCtx) + { + av_close_input_file(m_formatCtx); + m_formatCtx = NULL; + } + if (m_frame) + { + av_free(m_frame); + m_frame = NULL; + } + if (m_frameDeinterlaced) + { + MEM_freeN(m_frameDeinterlaced->data[0]); + av_free(m_frameDeinterlaced); + m_frameDeinterlaced = NULL; + } + if (m_frameRGB) + { + MEM_freeN(m_frameRGB->data[0]); + av_free(m_frameRGB); + m_frameRGB = NULL; + } + if (m_imgConvertCtx) + { + sws_freeContext(m_imgConvertCtx); + m_imgConvertCtx = NULL; + } + m_codec = NULL; + m_status = SourceStopped; + return true; +} + + +// set initial parameters +void VideoFFmpeg::initParams (short width, short height, float rate, bool image) +{ + m_captWidth = width; + m_captHeight = height; + m_captRate = rate; + m_isImage = image; +} + +int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams) +{ + AVFormatContext *formatCtx; + int i, videoStream; + AVCodec *codec; + AVCodecContext *codecCtx; + + if(av_open_input_file(&formatCtx, filename, inputFormat, 0, formatParams)!=0) + return -1; + + if(av_find_stream_info(formatCtx)<0) + { + av_close_input_file(formatCtx); + return -1; + } + + /* Find the first video stream */ + videoStream=-1; + for(i=0; i<formatCtx->nb_streams; i++) + { + if(formatCtx->streams[i] && + get_codec_from_stream(formatCtx->streams[i]) && + (get_codec_from_stream(formatCtx->streams[i])->codec_type==CODEC_TYPE_VIDEO)) + { + videoStream=i; + break; + } + } + + if(videoStream==-1) + { + av_close_input_file(formatCtx); + return -1; + } + + codecCtx = get_codec_from_stream(formatCtx->streams[videoStream]); + + /* Find the decoder for the video stream */ + codec=avcodec_find_decoder(codecCtx->codec_id); + if(codec==NULL) + { + av_close_input_file(formatCtx); + return -1; + } + codecCtx->workaround_bugs = 1; + if(avcodec_open(codecCtx, codec)<0) + { + av_close_input_file(formatCtx); + return -1; + } + +#ifdef FFMPEG_OLD_FRAME_RATE + if(codecCtx->frame_rate>1000 && codecCtx->frame_rate_base==1) + codecCtx->frame_rate_base=1000; + m_baseFrameRate = (double)codecCtx->frame_rate / (double)codecCtx->frame_rate_base; +#else + m_baseFrameRate = av_q2d(formatCtx->streams[videoStream]->r_frame_rate); +#endif + if (m_baseFrameRate <= 0.0) + m_baseFrameRate = defFrameRate; + + m_codec = codec; + m_codecCtx = codecCtx; + m_formatCtx = formatCtx; + m_videoStream = videoStream; + m_frame = avcodec_alloc_frame(); + m_frameDeinterlaced = avcodec_alloc_frame(); + m_frameRGB = avcodec_alloc_frame(); + + // allocate buffer if deinterlacing is required + avpicture_fill((AVPicture*)m_frameDeinterlaced, + (uint8_t*)MEM_callocN(avpicture_get_size( + m_codecCtx->pix_fmt, + m_codecCtx->width, m_codecCtx->height), + "ffmpeg deinterlace"), + m_codecCtx->pix_fmt, m_codecCtx->width, m_codecCtx->height); + + // check if the pixel format supports Alpha + if (m_codecCtx->pix_fmt == PIX_FMT_RGB32 || + m_codecCtx->pix_fmt == PIX_FMT_BGR32 || + m_codecCtx->pix_fmt == PIX_FMT_RGB32_1 || + m_codecCtx->pix_fmt == PIX_FMT_BGR32_1) + { + // allocate buffer to store final decoded frame + m_format = RGBA32; + avpicture_fill((AVPicture*)m_frameRGB, + (uint8_t*)MEM_callocN(avpicture_get_size( + PIX_FMT_RGBA, + m_codecCtx->width, m_codecCtx->height), + "ffmpeg rgba"), + PIX_FMT_RGBA, m_codecCtx->width, m_codecCtx->height); + // allocate sws context + m_imgConvertCtx = sws_getContext( + m_codecCtx->width, + m_codecCtx->height, + m_codecCtx->pix_fmt, + m_codecCtx->width, + m_codecCtx->height, + PIX_FMT_RGBA, + SWS_FAST_BILINEAR, + NULL, NULL, NULL); + } else + { + // allocate buffer to store final decoded frame + m_format = RGB24; + avpicture_fill((AVPicture*)m_frameRGB, + (uint8_t*)MEM_callocN(avpicture_get_size( + PIX_FMT_RGB24, + m_codecCtx->width, m_codecCtx->height), + "ffmpeg rgb"), + PIX_FMT_RGB24, m_codecCtx->width, m_codecCtx->height); + // allocate sws context + m_imgConvertCtx = sws_getContext( + m_codecCtx->width, + m_codecCtx->height, + m_codecCtx->pix_fmt, + m_codecCtx->width, + m_codecCtx->height, + PIX_FMT_RGB24, + SWS_FAST_BILINEAR, + NULL, NULL, NULL); + } + if (!m_imgConvertCtx) { + avcodec_close(m_codecCtx); + av_close_input_file(m_formatCtx); + av_free(m_frame); + MEM_freeN(m_frameDeinterlaced->data[0]); + av_free(m_frameDeinterlaced); + MEM_freeN(m_frameRGB->data[0]); + av_free(m_frameRGB); + return -1; + } + return 0; +} + +// open video file +void VideoFFmpeg::openFile (char * filename) +{ + do_init_ffmpeg(); + + if (openStream(filename, NULL, NULL) != 0) + return; + + if (m_codecCtx->gop_size) + m_preseek = (m_codecCtx->gop_size < 25) ? m_codecCtx->gop_size+1 : 25; + else if (m_codecCtx->has_b_frames) + m_preseek = 25; // should determine gopsize + else + m_preseek = 0; + + // get video time range + m_range[0] = 0.0; + m_range[1] = (double)m_formatCtx->duration / AV_TIME_BASE; + + // open base class + VideoBase::openFile(filename); + + if ( +#ifdef FFMPEG_PB_IS_POINTER + m_formatCtx->pb && m_formatCtx->pb->is_streamed +#else + m_formatCtx->pb.is_streamed +#endif + ) + { + // the file is in fact a streaming source, prevent seeking + m_isFile = false; + // for streaming it is important to do non blocking read + m_formatCtx->flags |= AVFMT_FLAG_NONBLOCK; + } + + if (m_isImage) + { + // the file is to be treated as an image, i.e. load the first frame only + m_isFile = false; + // in case of reload, the filename is taken from m_imageName, no need to change it + if (m_imageName.Ptr() != filename) + m_imageName = filename; + m_preseek = 0; + m_avail = false; + play(); + } + +} + + +// open video capture device +void VideoFFmpeg::openCam (char * file, short camIdx) +{ + // open camera source + AVInputFormat *inputFormat; + AVFormatParameters formatParams; + AVRational frameRate; + char *p, filename[28], rateStr[20]; + + do_init_ffmpeg(); + + memset(&formatParams, 0, sizeof(formatParams)); +#ifdef WIN32 + // video capture on windows only through Video For Windows driver + inputFormat = av_find_input_format("vfwcap"); + if (!inputFormat) + // Video For Windows not supported?? + return; + sprintf(filename, "%d", camIdx); +#else + // In Linux we support two types of devices: VideoForLinux and DV1394. + // the user specify it with the filename: + // [<device_type>][:<standard>] + // <device_type> : 'v4l' for VideoForLinux, 'dv1394' for DV1394. By default 'v4l' + // <standard> : 'pal', 'secam' or 'ntsc'. By default 'ntsc' + // The driver name is constructed automatically from the device type: + // v4l : /dev/video<camIdx> + // dv1394: /dev/dv1394/<camIdx> + // If you have different driver name, you can specify the driver name explicitely + // instead of device type. Examples of valid filename: + // /dev/v4l/video0:pal + // /dev/ieee1394/1:ntsc + // dv1394:secam + // v4l:pal + if (file && strstr(file, "1394") != NULL) + { + // the user specifies a driver, check if it is v4l or d41394 + inputFormat = av_find_input_format("dv1394"); + sprintf(filename, "/dev/dv1394/%d", camIdx); + } else + { + inputFormat = av_find_input_format("video4linux"); + sprintf(filename, "/dev/video%d", camIdx); + } + if (!inputFormat) + // these format should be supported, check ffmpeg compilation + return; + if (file && strncmp(file, "/dev", 4) == 0) + { + // user does not specify a driver + strncpy(filename, file, sizeof(filename)); + filename[sizeof(filename)-1] = 0; + if ((p = strchr(filename, ':')) != 0) + *p = 0; + } + if (file && (p = strchr(file, ':')) != NULL) + formatParams.standard = p+1; +#endif + //frame rate + if (m_captRate <= 0.f) + m_captRate = defFrameRate; + sprintf(rateStr, "%f", m_captRate); + av_parse_video_frame_rate(&frameRate, rateStr); + // populate format parameters + // need to specify the time base = inverse of rate + formatParams.time_base.num = frameRate.den; + formatParams.time_base.den = frameRate.num; + formatParams.width = m_captWidth; + formatParams.height = m_captHeight; + + if (openStream(filename, inputFormat, &formatParams) != 0) + return; + + // for video capture it is important to do non blocking read + m_formatCtx->flags |= AVFMT_FLAG_NONBLOCK; + // open base class + VideoBase::openCam(file, camIdx); +} + +// play video +bool VideoFFmpeg::play (void) +{ + try + { + // if object is able to play + if (VideoBase::play()) + { + // set video position + setPositions(); + // return success + return true; + } + } + CATCH_EXCP; + return false; +} + + +// stop video +bool VideoFFmpeg::stop (void) +{ + try + { + if (VideoBase::stop()) + { + return true; + } + } + CATCH_EXCP; + return false; +} + + +// set video range +void VideoFFmpeg::setRange (double start, double stop) +{ + try + { + // set range + VideoBase::setRange(start, stop); + // set range for video + setPositions(); + } + CATCH_EXCP; +} + +// set framerate +void VideoFFmpeg::setFrameRate (float rate) +{ + VideoBase::setFrameRate(rate); +} + + +// image calculation +void VideoFFmpeg::calcImage (unsigned int texId) +{ + loadFrame(); +} + + +// load frame from video +void VideoFFmpeg::loadFrame (void) +{ + // get actual time + double actTime = PIL_check_seconds_timer() - m_startTime; + // if video has ended + if (m_isFile && actTime * m_frameRate >= m_range[1]) + { + // if repeats are set, decrease them + if (m_repeat > 0) + --m_repeat; + // if video has to be replayed + if (m_repeat != 0) + { + // reset its position + actTime -= (m_range[1] - m_range[0]) / m_frameRate; + m_startTime += (m_range[1] - m_range[0]) / m_frameRate; + } + // if video has to be stopped, stop it + else + m_status = SourceStopped; + } + // if video is playing + if (m_status == SourcePlaying) + { + // actual frame + long actFrame = m_isFile ? long(actTime * actFrameRate()) : m_lastFrame + 1; + // if actual frame differs from last frame + if (actFrame != m_lastFrame) + { + // get image + if(grabFrame(actFrame)) + { + AVFrame* frame = getFrame(); + // save actual frame + m_lastFrame = actFrame; + // init image, if needed + init(short(m_codecCtx->width), short(m_codecCtx->height)); + // process image + process((BYTE*)(frame->data[0])); + // in case it is an image, automatically stop reading it + if (m_isImage) + { + m_status = SourceStopped; + // close the file as we don't need it anymore + release(); + } + } + } + } +} + + +// set actual position +void VideoFFmpeg::setPositions (void) +{ + // set video start time + m_startTime = PIL_check_seconds_timer(); + // if file is played and actual position is before end position + if (m_isFile && !m_eof && m_lastFrame >= 0 && m_lastFrame < m_range[1] * actFrameRate()) + // continue from actual position + m_startTime -= double(m_lastFrame) / actFrameRate(); + else + m_startTime -= m_range[0]; +} + +// position pointer in file, position in second +bool VideoFFmpeg::grabFrame(long position) +{ + AVPacket packet; + int frameFinished; + int posFound = 1; + bool frameLoaded = false; + long long targetTs = 0; + + // first check if the position that we are looking for is in the preseek range + // if so, just read the frame until we get there + if (position > m_curPosition + 1 + && m_preseek + && position - (m_curPosition + 1) < m_preseek) + { + while(av_read_frame(m_formatCtx, &packet)>=0) + { + if (packet.stream_index == m_videoStream) + { + avcodec_decode_video( + m_codecCtx, + m_frame, &frameFinished, + packet.data, packet.size); + if (frameFinished) + m_curPosition++; + } + av_free_packet(&packet); + if (position == m_curPosition+1) + break; + } + } + // if the position is not in preseek, do a direct jump + if (position != m_curPosition + 1) + { + double timeBase = av_q2d(m_formatCtx->streams[m_videoStream]->time_base); + long long pos = (long long) + ((long long) (position - m_preseek) * AV_TIME_BASE / m_baseFrameRate); + long long startTs = m_formatCtx->streams[m_videoStream]->start_time; + + if (pos < 0) + pos = 0; + + if (startTs != AV_NOPTS_VALUE) + pos += (long long)(startTs * AV_TIME_BASE * timeBase); + + if (position <= m_curPosition || !m_eof) + { + // no need to seek past the end of the file + if (av_seek_frame(m_formatCtx, -1, pos, AVSEEK_FLAG_BACKWARD) >= 0) + { + // current position is now lost, guess a value. + // It's not important because it will be set at this end of this function + m_curPosition = position - m_preseek - 1; + } + } + // this is the timestamp of the frame we're looking for + targetTs = (long long)(((double) position) / m_baseFrameRate / timeBase); + if (startTs != AV_NOPTS_VALUE) + targetTs += startTs; + + posFound = 0; + avcodec_flush_buffers(m_codecCtx); + } + + while(av_read_frame(m_formatCtx, &packet)>=0) + { + if(packet.stream_index == m_videoStream) + { + avcodec_decode_video(m_codecCtx, + m_frame, &frameFinished, + packet.data, packet.size); + + if (frameFinished && !posFound) + { + if (packet.dts >= targetTs) + posFound = 1; + } + + if(frameFinished && posFound == 1) + { + AVFrame * input = m_frame; + + /* This means the data wasnt read properly, + this check stops crashing */ + if ( input->data[0]==0 && input->data[1]==0 + && input->data[2]==0 && input->data[3]==0) + { + av_free_packet(&packet); + break; + } + + if (m_deinterlace) + { + if (avpicture_deinterlace( + (AVPicture*) m_frameDeinterlaced, + (const AVPicture*) m_frame, + m_codecCtx->pix_fmt, + m_codecCtx->width, + m_codecCtx->height) >= 0) + { + input = m_frameDeinterlaced; + } + } + // convert to RGB24 + sws_scale(m_imgConvertCtx, + input->data, + input->linesize, + 0, + m_codecCtx->height, + m_frameRGB->data, + m_frameRGB->linesize); + av_free_packet(&packet); + frameLoaded = true; + break; + } + } + av_free_packet(&packet); + } + m_eof = !frameLoaded; + if (frameLoaded) + m_curPosition = position; + return frameLoaded; +} + + +// python methods + + +// cast Image pointer to VideoFFmpeg +inline VideoFFmpeg * getVideoFFmpeg (PyImage * self) +{ return static_cast<VideoFFmpeg*>(self->m_image); } + + +// object initialization +static int VideoFFmpeg_init (PyObject * pySelf, PyObject * args, PyObject * kwds) +{ + PyImage * self = reinterpret_cast<PyImage*>(pySelf); + // parameters - video source + // file name or format type for capture (only for Linux: video4linux or dv1394) + char * file = NULL; + // capture device number + short capt = -1; + // capture width, only if capt is >= 0 + short width = 0; + // capture height, only if capt is >= 0 + short height = 0; + // capture rate, only if capt is >= 0 + float rate = 25.f; + + static char *kwlist[] = {"file", "capture", "rate", "width", "height", NULL}; + + // get parameters + if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|hfhh", kwlist, &file, &capt, + &rate, &width, &height)) + return -1; + + try + { + // create video object + Video_init<VideoFFmpeg>(self); + + // set thread usage + getVideoFFmpeg(self)->initParams(width, height, rate); + + // open video source + Video_open(getVideo(self), file, capt); + } + catch (Exception & exp) + { + exp.report(); + return -1; + } + // initialization succeded + return 0; +} + +PyObject * VideoFFmpeg_getPreseek (PyImage *self, void * closure) +{ + return Py_BuildValue("h", getFFmpeg(self)->getPreseek()); +} + +// set range +int VideoFFmpeg_setPreseek (PyImage * self, PyObject * value, void * closure) +{ + // check validity of parameter + if (value == NULL || !PyInt_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be an integer"); + return -1; + } + // set preseek + getFFmpeg(self)->setPreseek(PyInt_AsLong(value)); + // success + return 0; +} + +// get deinterlace +PyObject * VideoFFmpeg_getDeinterlace (PyImage * self, void * closure) +{ + if (getFFmpeg(self)->getDeinterlace()) + Py_RETURN_TRUE; + else + Py_RETURN_FALSE; +} + +// set flip +int VideoFFmpeg_setDeinterlace (PyImage * self, PyObject * value, void * closure) +{ + // check parameter, report failure + if (value == NULL || !PyBool_Check(value)) + { + PyErr_SetString(PyExc_TypeError, "The value must be a bool"); + return -1; + } + // set deinterlace + getFFmpeg(self)->setDeinterlace(value == Py_True); + // success + return 0; +} + +// methods structure +static PyMethodDef videoMethods[] = +{ // methods from VideoBase class + {"play", (PyCFunction)Video_play, METH_NOARGS, "Play video"}, + {"stop", (PyCFunction)Video_stop, METH_NOARGS, "Stop (pause) video"}, + {"refresh", (PyCFunction)Video_refresh, METH_NOARGS, "Refresh video - get its status"}, + {NULL} +}; +// attributes structure +static PyGetSetDef videoGetSets[] = +{ // methods from VideoBase class + {(char*)"status", (getter)Video_getStatus, NULL, (char*)"video status", NULL}, + {(char*)"range", (getter)Video_getRange, (setter)Video_setRange, (char*)"replay range", NULL}, + {(char*)"repeat", (getter)Video_getRepeat, (setter)Video_setRepeat, (char*)"repeat count, -1 for infinite repeat", NULL}, + {(char*)"framerate", (getter)Video_getFrameRate, (setter)Video_setFrameRate, (char*)"frame rate", NULL}, + // attributes from ImageBase class + {(char*)"image", (getter)Image_getImage, NULL, (char*)"image data", NULL}, + {(char*)"size", (getter)Image_getSize, NULL, (char*)"image size", NULL}, + {(char*)"scale", (getter)Image_getScale, (setter)Image_setScale, (char*)"fast scale of image (near neighbour)", NULL}, + {(char*)"flip", (getter)Image_getFlip, (setter)Image_setFlip, (char*)"flip image vertically", NULL}, + {(char*)"filter", (getter)Image_getFilter, (setter)Image_setFilter, (char*)"pixel filter", NULL}, + {(char*)"preseek", (getter)VideoFFmpeg_getPreseek, (setter)VideoFFmpeg_setPreseek, (char*)"nb of frames of preseek", NULL}, + {(char*)"deinterlace", (getter)VideoFFmpeg_getDeinterlace, (setter)VideoFFmpeg_setDeinterlace, (char*)"deinterlace image", NULL}, + {NULL} +}; + +// python type declaration +PyTypeObject VideoFFmpegType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.VideoFFmpeg", /*tp_name*/ + sizeof(PyImage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Image_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "FFmpeg video source", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + videoMethods, /* tp_methods */ + 0, /* tp_members */ + videoGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)VideoFFmpeg_init, /* tp_init */ + 0, /* tp_alloc */ + Image_allocNew, /* tp_new */ +}; + +// object initialization +static int ImageFFmpeg_init (PyObject * pySelf, PyObject * args, PyObject * kwds) +{ + PyImage * self = reinterpret_cast<PyImage*>(pySelf); + // parameters - video source + // file name or format type for capture (only for Linux: video4linux or dv1394) + char * file = NULL; + + // get parameters + if (!PyArg_ParseTuple(args, "s", &file)) + return -1; + + try + { + // create video object + Video_init<VideoFFmpeg>(self); + + getVideoFFmpeg(self)->initParams(0, 0, 1.0, true); + + // open video source + Video_open(getVideo(self), file, -1); + } + catch (Exception & exp) + { + exp.report(); + return -1; + } + // initialization succeded + return 0; +} + +PyObject * Image_reload (PyImage * self, PyObject *args) +{ + char * newname = NULL; + + if (self->m_image != NULL && PyArg_ParseTuple(args, "|s", &newname)) + { + VideoFFmpeg* video = getFFmpeg(self); + // check type of object + if (!newname) + newname = video->getImageName(); + if (!newname) { + // if not set, retport error + PyErr_SetString(PyExc_RuntimeError, "No image file name given"); + return NULL; + } + // make sure the previous file is cleared + video->release(); + // open the new file + video->openFile(newname); + } + Py_RETURN_NONE; +} + +// methods structure +static PyMethodDef imageMethods[] = +{ // methods from VideoBase class + {"refresh", (PyCFunction)Video_refresh, METH_NOARGS, "Refresh image, i.e. load it"}, + {"reload", (PyCFunction)Image_reload, METH_VARARGS, "Reload image, i.e. reopen it"}, + {NULL} +}; +// attributes structure +static PyGetSetDef imageGetSets[] = +{ // methods from VideoBase class + {(char*)"status", (getter)Video_getStatus, NULL, (char*)"video status", NULL}, + // attributes from ImageBase class + {(char*)"image", (getter)Image_getImage, NULL, (char*)"image data", NULL}, + {(char*)"size", (getter)Image_getSize, NULL, (char*)"image size", NULL}, + {(char*)"scale", (getter)Image_getScale, (setter)Image_setScale, (char*)"fast scale of image (near neighbour)", NULL}, + {(char*)"flip", (getter)Image_getFlip, (setter)Image_setFlip, (char*)"flip image vertically", NULL}, + {(char*)"filter", (getter)Image_getFilter, (setter)Image_setFilter, (char*)"pixel filter", NULL}, + {NULL} +}; + +// python type declaration +PyTypeObject ImageFFmpegType = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "VideoTexture.ImageFFmpeg", /*tp_name*/ + sizeof(PyImage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Image_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "FFmpeg image source", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + imageMethods, /* tp_methods */ + 0, /* tp_members */ + imageGetSets, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc)ImageFFmpeg_init, /* tp_init */ + 0, /* tp_alloc */ + Image_allocNew, /* tp_new */ +}; + +#endif //WITH_FFMPEG + + diff --git a/source/gameengine/VideoTexture/VideoFFmpeg.h b/source/gameengine/VideoTexture/VideoFFmpeg.h new file mode 100644 index 00000000000..e60f1727aab --- /dev/null +++ b/source/gameengine/VideoTexture/VideoFFmpeg.h @@ -0,0 +1,173 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexture library + +Copyright (c) 2007 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ +#if !defined VIDEOFFMPEG_H +#define VIDEOFFMPEG_H + +#ifdef WITH_FFMPEG +extern "C" { +#include <ffmpeg/avformat.h> +#include <ffmpeg/avcodec.h> +#include <ffmpeg/rational.h> +#include <ffmpeg/swscale.h> +} + +#if LIBAVFORMAT_VERSION_INT < (49 << 16) +#define FFMPEG_OLD_FRAME_RATE 1 +#else +#define FFMPEG_CODEC_IS_POINTER 1 +#endif + +#if LIBAVFORMAT_VERSION_INT >= (52 << 16) +#define FFMPEG_PB_IS_POINTER 1 +#endif + +#ifdef FFMPEG_CODEC_IS_POINTER +static inline AVCodecContext* get_codec_from_stream(AVStream* stream) +{ + return stream->codec; +} +#else +static inline AVCodecContext* get_codec_from_stream(AVStream* stream) +{ + return &stream->codec; +} +#endif + +#include "VideoBase.h" + + +// type VideoFFmpeg declaration +class VideoFFmpeg : public VideoBase +{ +public: + /// constructor + VideoFFmpeg (HRESULT * hRslt); + /// destructor + virtual ~VideoFFmpeg (); + + /// set initial parameters + void initParams (short width, short height, float rate, bool image=false); + /// open video/image file + virtual void openFile (char * file); + /// open video capture device + virtual void openCam (char * driver, short camIdx); + + /// release video source + virtual bool release (void); + + /// play video + virtual bool play (void); + /// stop/pause video + virtual bool stop (void); + + /// set play range + virtual void setRange (double start, double stop); + /// set frame rate + virtual void setFrameRate (float rate); + // some specific getters and setters + int getPreseek(void) { return m_preseek; } + void setPreseek(int preseek) { if (preseek >= 0) m_preseek = preseek; } + bool getDeinterlace(void) { return m_deinterlace; } + void setDeinterlace(bool deinterlace) { m_deinterlace = deinterlace; } + char *getImageName(void) { return (m_isImage) ? m_imageName.Ptr() : NULL; } + +protected: + + // format and codec information + AVCodec *m_codec; + AVFormatContext *m_formatCtx; + AVCodecContext *m_codecCtx; + // raw frame extracted from video file + AVFrame *m_frame; + // deinterlaced frame if codec requires it + AVFrame *m_frameDeinterlaced; + // decoded RGB24 frame if codec requires it + AVFrame *m_frameRGB; + // conversion from raw to RGB is done with sws_scale + struct SwsContext *m_imgConvertCtx; + // should the codec be deinterlaced? + bool m_deinterlace; + // number of frame of preseek + int m_preseek; + // order number of stream holding the video in format context + int m_videoStream; + + // the actual frame rate + double m_baseFrameRate; + + /// last displayed frame + long m_lastFrame; + + /// end of file reached + bool m_eof; + + /// current file pointer position in file expressed in frame number + long m_curPosition; + + /// time of video play start + double m_startTime; + + /// width of capture in pixel + short m_captWidth; + + /// height of capture in pixel + short m_captHeight; + + /// frame rate of capture in frames per seconds + float m_captRate; + + /// is file an image? + bool m_isImage; + + /// keep last image name + STR_String m_imageName; + + /// image calculation + virtual void calcImage (unsigned int texId); + + /// load frame from video + void loadFrame (void); + + /// set actual position + void setPositions (void); + + /// get actual framerate + double actFrameRate (void) { return m_frameRate * m_baseFrameRate; } + + /// common function to video file and capture + int openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams); + + /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved + bool grabFrame(long frame); + + /// return the frame in RGB24 format, the image data is found in AVFrame.data[0] + AVFrame* getFrame(void) { return m_frameRGB; } +}; + +inline VideoFFmpeg * getFFmpeg (PyImage * self) +{ + return static_cast<VideoFFmpeg*>(self->m_image); +} + +#endif //WITH_FFMPEG + +#endif diff --git a/source/gameengine/VideoTexture/blendVideoTex.cpp b/source/gameengine/VideoTexture/blendVideoTex.cpp new file mode 100644 index 00000000000..b38882f8164 --- /dev/null +++ b/source/gameengine/VideoTexture/blendVideoTex.cpp @@ -0,0 +1,194 @@ +/* $Id$ +----------------------------------------------------------------------------- +This source file is part of VideoTexure library + +Copyright (c) 2006 The Zdeno Ash Miklas + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser 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, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +#include <PyObjectPlus.h> + +#include <RAS_GLExtensionManager.h> + +#include <RAS_IPolygonMaterial.h> + +//Old API +//#include "TexPlayer.h" +//#include "TexImage.h" +//#include "TexFrameBuff.h" + +//#include "TexPlayerGL.h" + +#include "ImageBase.h" +#include "FilterBase.h" +#include "Texture.h" + +#include "Exception.h" + + +// get material id +static PyObject * getMaterialID (PyObject *self, PyObject *args) +{ + // parameters - game object with video texture + PyObject * obj = NULL; + // material name + char * matName; + + // get parameters + if (!PyArg_ParseTuple(args, "Os", &obj, &matName)) + return NULL; + // get material id + short matID = getMaterialID(obj, matName); + // if material was not found, report errot + if (matID < 0) + { + PyErr_SetString(PyExc_RuntimeError, "object doesn't have material with given name"); + return NULL; + } + // return material ID + return Py_BuildValue("h", matID); +} + + +// get last error description +static PyObject * getLastError (PyObject *self, PyObject *args) +{ + return Py_BuildValue("s", Exception::m_lastError.c_str()); +} + +// set log file +static PyObject * setLogFile (PyObject *self, PyObject *args) +{ + // get parameters + if (!PyArg_ParseTuple(args, "s", &Exception::m_logFile)) + return Py_BuildValue("i", -1); + // log file was loaded + return Py_BuildValue("i", 0); +} + + +// image to numpy array +static PyObject * imageToArray (PyObject * self, PyObject *args) +{ + // parameter is Image object + PyObject * pyImg; + if (!PyArg_ParseTuple(args, "O", &pyImg) || !pyImageTypes.in(pyImg->ob_type)) + { + // if object is incorect, report error + PyErr_SetString(PyExc_TypeError, "The value must be a image source object"); + return NULL; + } + // get image structure + PyImage * img = reinterpret_cast<PyImage*>(pyImg); + // create array object + unsigned int * imgBuff = img->m_image->getImage(); + // if image is available, convert it to array + if (imgBuff != NULL) + // Nasty problem here: the image buffer is an array of integers + // in the processor endian format. The user must take care of that in the script. + // Need to find an elegant solution to this problem + return Py_BuildValue("s#", imgBuff, img->m_image->getBuffSize()); + // otherwise return None + Py_RETURN_NONE; +} + + +// metody modulu +static PyMethodDef moduleMethods[] = +{ + {"materialID", getMaterialID, METH_VARARGS, "Gets object's Blender Material ID"}, + {"getLastError", getLastError, METH_NOARGS, "Gets last error description"}, + {"setLogFile", setLogFile, METH_VARARGS, "Sets log file name"}, + {"imageToArray", imageToArray, METH_VARARGS, "get array from image source"}, + {NULL} /* Sentinel */ +}; + +#if WITH_FFMPEG +extern PyTypeObject VideoFFmpegType; +extern PyTypeObject ImageFFmpegType; +#endif +extern PyTypeObject FilterBlueScreenType; +extern PyTypeObject FilterGrayType; +extern PyTypeObject FilterColorType; +extern PyTypeObject FilterLevelType; +extern PyTypeObject FilterNormalType; +extern PyTypeObject FilterRGB24Type; +extern PyTypeObject FilterRGBA32Type; +extern PyTypeObject FilterBGR24Type; +extern PyTypeObject ImageBuffType; +extern PyTypeObject ImageMixType; +extern PyTypeObject ImageRenderType; +extern PyTypeObject ImageViewportType; +extern PyTypeObject ImageViewportType; + + +static void registerAllTypes(void) +{ +#if WITH_FFMPEG + pyImageTypes.add(&VideoFFmpegType, "VideoFFmpeg"); + pyImageTypes.add(&ImageFFmpegType, "ImageFFmpeg"); +#endif + pyImageTypes.add(&ImageBuffType, "ImageBuff"); + pyImageTypes.add(&ImageMixType, "ImageMix"); + //pyImageTypes.add(&ImageRenderType, "ImageRender"); + pyImageTypes.add(&ImageViewportType, "ImageViewport"); + + pyFilterTypes.add(&FilterBlueScreenType, "FilterBlueScreen"); + pyFilterTypes.add(&FilterGrayType, "FilterGray"); + pyFilterTypes.add(&FilterColorType, "FilterColor"); + pyFilterTypes.add(&FilterLevelType, "FilterLevel"); + pyFilterTypes.add(&FilterNormalType, "FilterNormal"); + pyFilterTypes.add(&FilterRGB24Type, "FilterRGB24"); + pyFilterTypes.add(&FilterRGBA32Type, "FilterRGBA32"); + pyFilterTypes.add(&FilterBGR24Type, "FilterBGR24"); +} + +PyObject* initVideoTexture(void) +{ + // initialize GL extensions + //bgl::InitExtensions(0); + + // prepare classes + registerAllTypes(); + registerAllExceptions(); + + if (!pyImageTypes.ready()) + return NULL; + if (!pyFilterTypes.ready()) + return NULL; + if (PyType_Ready(&TextureType) < 0) + return NULL; + + PyObject * m = Py_InitModule4("VideoTexture", moduleMethods, + "Module that allows to play video files on textures in GameBlender.", + (PyObject*)NULL,PYTHON_API_VERSION); + if (m == NULL) + return NULL; + + // initialize classes + pyImageTypes.reg(m); + pyFilterTypes.reg(m); + + Py_INCREF(&TextureType); + PyModule_AddObject(m, (char*)"Texture", (PyObject*)&TextureType); + + // init last error description + Exception::m_lastError[0] = '\0'; + return m; +} + +// registration to Image types, put here because of silly linker bug diff --git a/source/nan_compile.mk b/source/nan_compile.mk index 151c741e8b4..4b13ef8f678 100644 --- a/source/nan_compile.mk +++ b/source/nan_compile.mk @@ -89,8 +89,8 @@ ifeq ($(OS),darwin) CFLAGS += -pipe -fPIC -ffast-math -march=pentium-m -funsigned-char -fno-strict-aliasing CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing endif - REL_CFLAGS += -O2 - REL_CCFLAGS += -O2 +# REL_CFLAGS += -O2 +# REL_CCFLAGS += -O2 CPPFLAGS += -D_THREAD_SAFE NAN_DEPEND = true OPENGL_HEADERS = /System/Library/Frameworks/OpenGL.framework diff --git a/tools/Blender.py b/tools/Blender.py index dd617f3c563..1c54e98f177 100644 --- a/tools/Blender.py +++ b/tools/Blender.py @@ -52,436 +52,454 @@ possible_types = ['core'] # can be set in ie. SConstruct libs = {} def getresources(): - return resources + return resources def init_lib_dict(): - for pt in possible_types: - libs[pt] = {} + for pt in possible_types: + libs[pt] = {} # helper func for add_lib_to_dict def internal_lib_to_dict(dict = None, libtype = None, libname = None, priority = 100): - if not libname in dict[libtype]: - done = None - while not done: - if dict[libtype].has_key(priority): - priority = priority + 1 - else: - done = True - dict[libtype][priority] = libname + if not libname in dict[libtype]: + done = None + while not done: + if dict[libtype].has_key(priority): + priority = priority + 1 + else: + done = True + dict[libtype][priority] = libname # libtype and priority can both be lists, for defining lib in multiple places def add_lib_to_dict(env, dict = None, libtype = None, libname = None, priority = 100): - if not dict or not libtype or not libname: - print "Passed wrong arg" - env.Exit() - - if type(libtype) is str and type(priority) is int: - internal_lib_to_dict(dict, libtype, libname, priority) - elif type(libtype) is list and type(priority) is list: - if len(libtype)==len(priority): - for lt, p in zip(libtype, priority): - internal_lib_to_dict(dict, lt, libname, p) - else: - print "libtype and priority lists are unequal in length" - env.Exit() - else: - print "Wrong type combinations for libtype and priority. Only str and int or list and list" - env.Exit() + if not dict or not libtype or not libname: + print "Passed wrong arg" + env.Exit() + + if type(libtype) is str and type(priority) is int: + internal_lib_to_dict(dict, libtype, libname, priority) + elif type(libtype) is list and type(priority) is list: + if len(libtype)==len(priority): + for lt, p in zip(libtype, priority): + internal_lib_to_dict(dict, lt, libname, p) + else: + print "libtype and priority lists are unequal in length" + env.Exit() + else: + print "Wrong type combinations for libtype and priority. Only str and int or list and list" + env.Exit() def create_blender_liblist(lenv = None, libtype = None): - if not lenv or not libtype: - print "missing arg" - - lst = [] - if libtype in possible_types: - curlib = libs[libtype] - sortlist = curlib.keys() - sortlist.sort() - for sk in sortlist: - v = curlib[sk] - lst.append('#' + root_build_dir + 'lib/'+lenv['LIBPREFIX'] + v + lenv['LIBSUFFIX']) - - return lst + if not lenv or not libtype: + print "missing arg" + + lst = [] + if libtype in possible_types: + curlib = libs[libtype] + sortlist = curlib.keys() + sortlist.sort() + for sk in sortlist: + v = curlib[sk] + target = root_build_dir + 'lib/'+lenv['LIBPREFIX'] + v + lenv['LIBSUFFIX'] + if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'): + target = '#'+target + lst.append(target) + + return lst ## TODO: static linking def setup_staticlibs(lenv): - statlibs = [ - #here libs for static linking - ] - libincs = [ - '/usr/lib', - lenv['BF_PYTHON_LIBPATH'], - lenv['BF_OPENGL_LIBPATH'], - lenv['BF_JPEG_LIBPATH'], - lenv['BF_PNG_LIBPATH'], - lenv['BF_ZLIB_LIBPATH'], - lenv['BF_ICONV_LIBPATH'] - ] - - if lenv['WITH_BF_SDL']: - libincs += Split(lenv['BF_SDL_LIBPATH']) - if lenv['WITH_BF_FFMPEG']: - libincs += Split(lenv['BF_FFMPEG_LIBPATH']) - if lenv['WITH_BF_STATICCXX']: - statlibs += Split(lenv['BF_CXX_LIB_STATIC']) - if lenv['WITH_BF_OPENEXR']: - libincs += Split(lenv['BF_OPENEXR_LIBPATH']) - if lenv['WITH_BF_STATICOPENEXR']: - statlibs += Split(lenv['BF_OPENEXR_LIB_STATIC']) - if lenv['WITH_BF_INTERNATIONAL']: - libincs += Split(lenv['BF_GETTEXT_LIBPATH']) - libincs += Split(lenv['BF_FREETYPE_LIBPATH']) - if lenv['WITH_BF_OPENAL']: - libincs += Split(lenv['BF_OPENAL_LIBPATH']) - if lenv['WITH_BF_STATICOPENAL']: - statlibs += Split(lenv['BF_OPENAL_LIB_STATIC']) - if lenv['WITH_BF_STATICOPENGL']: - statlibs += Split(lenv['BF_OPENGL_LIB_STATIC']) - - if lenv['WITH_BF_STATICPYTHON']: - statlibs += Split(lenv['BF_PYTHON_LIB_STATIC']) - - if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross'): - libincs += Split(lenv['BF_PTHREADS_LIBPATH']) - - return statlibs, libincs + statlibs = [ + #here libs for static linking + ] + libincs = [ + '/usr/lib', + lenv['BF_OPENGL_LIBPATH'], + lenv['BF_JPEG_LIBPATH'], + lenv['BF_PNG_LIBPATH'], + lenv['BF_ZLIB_LIBPATH'], + lenv['BF_ICONV_LIBPATH'] + ] + + if lenv['WITH_BF_PYTHON']: + libincs += Split(lenv['BF_PYTHON_LIBPATH']) + if lenv['WITH_BF_SDL']: + libincs += Split(lenv['BF_SDL_LIBPATH']) + if lenv['WITH_BF_FFMPEG']: + libincs += Split(lenv['BF_FFMPEG_LIBPATH']) + if lenv['WITH_BF_STATICCXX']: + statlibs += Split(lenv['BF_CXX_LIB_STATIC']) + if lenv['WITH_BF_OPENEXR']: + libincs += Split(lenv['BF_OPENEXR_LIBPATH']) + if lenv['WITH_BF_STATICOPENEXR']: + statlibs += Split(lenv['BF_OPENEXR_LIB_STATIC']) + if lenv['WITH_BF_INTERNATIONAL']: + libincs += Split(lenv['BF_GETTEXT_LIBPATH']) + libincs += Split(lenv['BF_FREETYPE_LIBPATH']) + if lenv['WITH_BF_OPENAL']: + libincs += Split(lenv['BF_OPENAL_LIBPATH']) + if lenv['WITH_BF_STATICOPENAL']: + statlibs += Split(lenv['BF_OPENAL_LIB_STATIC']) + if lenv['WITH_BF_STATICOPENGL']: + statlibs += Split(lenv['BF_OPENGL_LIB_STATIC']) + + if lenv['WITH_BF_PYTHON'] and lenv['WITH_BF_STATICPYTHON']: + statlibs += Split(lenv['BF_PYTHON_LIB_STATIC']) + + if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross'): + libincs += Split(lenv['BF_PTHREADS_LIBPATH']) + + return statlibs, libincs def setup_syslibs(lenv): - syslibs = [ - - lenv['BF_JPEG_LIB'], - lenv['BF_PNG_LIB'], - lenv['BF_ZLIB_LIB'] - ] - - if not lenv['WITH_BF_STATICPYTHON']: - if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc'): - syslibs.append(lenv['BF_PYTHON_LIB']+'_d') - else: - syslibs.append(lenv['BF_PYTHON_LIB']) - if lenv['WITH_BF_INTERNATIONAL']: - syslibs += Split(lenv['BF_FREETYPE_LIB']) - syslibs += Split(lenv['BF_GETTEXT_LIB']) - if lenv['WITH_BF_OPENAL']: - if not lenv['WITH_BF_STATICOPENAL']: - syslibs += Split(lenv['BF_OPENAL_LIB']) - if lenv['WITH_BF_OPENMP'] and lenv['CC'] != 'icc': - if lenv['CC'] == 'cl.exe': - syslibs += ['vcomp'] - else: - syslibs += ['gomp'] - if lenv['WITH_BF_ICONV']: - syslibs += Split(lenv['BF_ICONV_LIB']) - if lenv['WITH_BF_OPENEXR']: - if not lenv['WITH_BF_STATICOPENEXR']: - syslibs += Split(lenv['BF_OPENEXR_LIB']) - if lenv['WITH_BF_FFMPEG']: - syslibs += Split(lenv['BF_FFMPEG_LIB']) - if lenv['WITH_BF_OGG']: - syslibs += Split(lenv['BF_OGG_LIB']) - if lenv['WITH_BF_SDL']: - syslibs += Split(lenv['BF_SDL_LIB']) - if not lenv['WITH_BF_STATICOPENGL']: - syslibs += Split(lenv['BF_OPENGL_LIB']) - if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross'): - syslibs += Split(lenv['BF_PTHREADS_LIB']) - - syslibs += Split(lenv['LLIBS']) - - return syslibs + syslibs = [ + + lenv['BF_JPEG_LIB'], + lenv['BF_PNG_LIB'], + lenv['BF_ZLIB_LIB'] + ] + + if lenv['WITH_BF_PYTHON'] and not lenv['WITH_BF_STATICPYTHON']: + if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc'): + syslibs.append(lenv['BF_PYTHON_LIB']+'_d') + else: + syslibs.append(lenv['BF_PYTHON_LIB']) + if lenv['WITH_BF_INTERNATIONAL']: + syslibs += Split(lenv['BF_FREETYPE_LIB']) + syslibs += Split(lenv['BF_GETTEXT_LIB']) + if lenv['WITH_BF_OPENAL']: + if not lenv['WITH_BF_STATICOPENAL']: + syslibs += Split(lenv['BF_OPENAL_LIB']) + if lenv['WITH_BF_OPENMP'] and lenv['CC'] != 'icc': + if lenv['CC'] == 'cl.exe': + syslibs += ['vcomp'] + else: + syslibs += ['gomp'] + if lenv['WITH_BF_ICONV']: + syslibs += Split(lenv['BF_ICONV_LIB']) + if lenv['WITH_BF_OPENEXR']: + if not lenv['WITH_BF_STATICOPENEXR']: + syslibs += Split(lenv['BF_OPENEXR_LIB']) + if lenv['WITH_BF_FFMPEG']: + syslibs += Split(lenv['BF_FFMPEG_LIB']) + if lenv['WITH_BF_OGG']: + syslibs += Split(lenv['BF_OGG_LIB']) + if lenv['WITH_BF_SDL']: + syslibs += Split(lenv['BF_SDL_LIB']) + if not lenv['WITH_BF_STATICOPENGL']: + syslibs += Split(lenv['BF_OPENGL_LIB']) + if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross'): + syslibs += Split(lenv['BF_PTHREADS_LIB']) + + syslibs += lenv['LLIBS'] + + return syslibs def propose_priorities(): - print bc.OKBLUE+"Priorities:"+bc.ENDC - for t in possible_types: - print bc.OKGREEN+"\t"+t+bc.ENDC - new_priority = 0 - curlib = libs[t] - sortlist = curlib.keys() - sortlist.sort() - - for sk in sortlist: - v = curlib[sk] - #for p,v in sorted(libs[t].iteritems()): - print "\t\t",new_priority, v - new_priority += 5 + print bc.OKBLUE+"Priorities:"+bc.ENDC + for t in possible_types: + print bc.OKGREEN+"\t"+t+bc.ENDC + new_priority = 0 + curlib = libs[t] + sortlist = curlib.keys() + sortlist.sort() + + for sk in sortlist: + v = curlib[sk] + #for p,v in sorted(libs[t].iteritems()): + print "\t\t",new_priority, v + new_priority += 5 ## TODO: see if this can be made in an emitter def buildinfo(lenv, build_type): - """ - Generate a buildinfo object - """ - build_date = time.strftime ("%Y-%m-%d") - build_time = time.strftime ("%H:%M:%S") - build_rev = os.popen('svnversion').read()[:-1] # remove \n - - obj = [] - if lenv['BF_BUILDINFO']: - if sys.platform=='win32': - build_info_file = open("source/creator/winbuildinfo.h", 'w') - build_info_file.write("char *build_date=\"%s\";\n"%build_date) - build_info_file.write("char *build_time=\"%s\";\n"%build_time) - build_info_file.write("char *build_rev=\"%s\";\n"%build_rev) - build_info_file.write("char *build_platform=\"win32\";\n") - build_info_file.write("char *build_type=\"dynamic\";\n") - build_info_file.close() - lenv.Append (CPPDEFINES = ['NAN_BUILDINFO', 'BUILD_DATE']) - else: - lenv.Append (CPPDEFINES = ['BUILD_TIME=\'"%s"\''%(build_time), - 'BUILD_DATE=\'"%s"\''%(build_date), - 'BUILD_TYPE=\'"dynamic"\'', - 'BUILD_REV=\'"%s"\''%(build_rev), - 'NAN_BUILDINFO', - 'BUILD_PLATFORM=\'"%s"\''%(sys.platform)]) - obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, - [root_build_dir+'source/creator/buildinfo.c'])] - return obj + """ + Generate a buildinfo object + """ + build_date = time.strftime ("%Y-%m-%d") + build_time = time.strftime ("%H:%M:%S") + build_rev = os.popen('svnversion').read()[:-1] # remove \n + + obj = [] + if lenv['BF_BUILDINFO']: + if sys.platform=='win32': + build_info_file = open("source/creator/winbuildinfo.h", 'w') + build_info_file.write("char *build_date=\"%s\";\n"%build_date) + build_info_file.write("char *build_time=\"%s\";\n"%build_time) + build_info_file.write("char *build_rev=\"%s\";\n"%build_rev) + build_info_file.write("char *build_platform=\"win32\";\n") + build_info_file.write("char *build_type=\"dynamic\";\n") + build_info_file.close() + lenv.Append (CPPDEFINES = ['NAN_BUILDINFO', 'BUILD_DATE']) + else: + lenv.Append (CPPDEFINES = ['BUILD_TIME=\'"%s"\''%(build_time), + 'BUILD_DATE=\'"%s"\''%(build_date), + 'BUILD_TYPE=\'"dynamic"\'', + 'BUILD_REV=\'"%s"\''%(build_rev), + 'NAN_BUILDINFO', + 'BUILD_PLATFORM=\'"%s"\''%(sys.platform)]) + obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, + [root_build_dir+'source/creator/buildinfo.c'])] + return obj ##### END LIB STUFF ############ ##### ACTION STUFF ############# def my_compile_print(target, source, env): - a = '%s' % (source[0]) - d, f = os.path.split(a) - return bc.OKBLUE+"Compiling"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC + a = '%s' % (source[0]) + d, f = os.path.split(a) + return bc.OKBLUE+"Compiling"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC def my_moc_print(target, source, env): - a = '%s' % (source[0]) - d, f = os.path.split(a) - return bc.OKBLUE+"Creating MOC"+bc.ENDC+ " ==> '"+bc.OKGREEN+"%s" %(f) + "'"+bc.ENDC + a = '%s' % (source[0]) + d, f = os.path.split(a) + return bc.OKBLUE+"Creating MOC"+bc.ENDC+ " ==> '"+bc.OKGREEN+"%s" %(f) + "'"+bc.ENDC def my_linking_print(target, source, env): - t = '%s' % (target[0]) - d, f = os.path.split(t) - return bc.OKBLUE+"Linking library"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC + t = '%s' % (target[0]) + d, f = os.path.split(t) + return bc.OKBLUE+"Linking library"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC def my_program_print(target, source, env): - t = '%s' % (target[0]) - d, f = os.path.split(t) - return bc.OKBLUE+"Linking program"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC + t = '%s' % (target[0]) + d, f = os.path.split(t) + return bc.OKBLUE+"Linking program"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC def msvc_hack(env): - static_lib = SCons.Tool.createStaticLibBuilder(env) - program = SCons.Tool.createProgBuilder(env) - - env['BUILDERS']['Library'] = static_lib - env['BUILDERS']['StaticLibrary'] = static_lib - env['BUILDERS']['Program'] = program - + static_lib = SCons.Tool.createStaticLibBuilder(env) + program = SCons.Tool.createProgBuilder(env) + + env['BUILDERS']['Library'] = static_lib + env['BUILDERS']['StaticLibrary'] = static_lib + env['BUILDERS']['Program'] = program + def set_quiet_output(env): - mycaction = Action("$CCCOM", strfunction=my_compile_print) - myshcaction = Action("$SHCCCOM", strfunction=my_compile_print) - mycppaction = Action("$CXXCOM", strfunction=my_compile_print) - myshcppaction = Action("$SHCXXCOM", strfunction=my_compile_print) - mylibaction = Action("$ARCOM", strfunction=my_linking_print) - mylinkaction = Action("$LINKCOM", strfunction=my_program_print) - - static_ob, shared_ob = SCons.Tool.createObjBuilders(env) - static_ob.add_action('.c', mycaction) - static_ob.add_action('.cpp', mycppaction) - shared_ob.add_action('.c', myshcaction) - shared_ob.add_action('.cpp', myshcppaction) - - static_lib = SCons.Builder.Builder(action = mylibaction, - emitter = '$LIBEMITTER', - prefix = '$LIBPREFIX', - suffix = '$LIBSUFFIX', - src_suffix = '$OBJSUFFIX', - src_builder = 'StaticObject') - - program = SCons.Builder.Builder(action = mylinkaction, - emitter = '$PROGEMITTER', - prefix = '$PROGPREFIX', - suffix = '$PROGSUFFIX', - src_suffix = '$OBJSUFFIX', - src_builder = 'Object', - target_scanner = SCons.Defaults.ProgScan) - - env['BUILDERS']['Object'] = static_ob - env['BUILDERS']['StaticObject'] = static_ob - env['BUILDERS']['StaticLibrary'] = static_lib - env['BUILDERS']['Library'] = static_lib - env['BUILDERS']['Program'] = program + mycaction = Action("$CCCOM", strfunction=my_compile_print) + myshcaction = Action("$SHCCCOM", strfunction=my_compile_print) + mycppaction = Action("$CXXCOM", strfunction=my_compile_print) + myshcppaction = Action("$SHCXXCOM", strfunction=my_compile_print) + mylibaction = Action("$ARCOM", strfunction=my_linking_print) + mylinkaction = Action("$LINKCOM", strfunction=my_program_print) + + static_ob, shared_ob = SCons.Tool.createObjBuilders(env) + static_ob.add_action('.c', mycaction) + static_ob.add_action('.cpp', mycppaction) + shared_ob.add_action('.c', myshcaction) + shared_ob.add_action('.cpp', myshcppaction) + + static_lib = SCons.Builder.Builder(action = mylibaction, + emitter = '$LIBEMITTER', + prefix = '$LIBPREFIX', + suffix = '$LIBSUFFIX', + src_suffix = '$OBJSUFFIX', + src_builder = 'StaticObject') + + program = SCons.Builder.Builder(action = mylinkaction, + emitter = '$PROGEMITTER', + prefix = '$PROGPREFIX', + suffix = '$PROGSUFFIX', + src_suffix = '$OBJSUFFIX', + src_builder = 'Object', + target_scanner = SCons.Defaults.ProgScan) + + env['BUILDERS']['Object'] = static_ob + env['BUILDERS']['StaticObject'] = static_ob + env['BUILDERS']['StaticLibrary'] = static_lib + env['BUILDERS']['Library'] = static_lib + env['BUILDERS']['Program'] = program def my_appit_print(target, source, env): - a = '%s' % (target[0]) - d, f = os.path.split(a) - return "making bundle for " + f + a = '%s' % (target[0]) + d, f = os.path.split(a) + return "making bundle for " + f def AppIt(target=None, source=None, env=None): - import shutil - import commands - import os.path - - - a = '%s' % (target[0]) - builddir, b = os.path.split(a) - - bldroot = env.Dir('.').abspath - binary = env['BINARYKIND'] - - if b=='verse': - print bc.OKBLUE+"no bundle for verse"+bc.ENDC - return 0 - - - sourcedir = bldroot + '/source/darwin/%s.app'%binary - sourceinfo = bldroot + "/source/darwin/%s.app/Contents/Info.plist"%binary - targetinfo = builddir +'/' + "%s.app/Contents/Info.plist"%binary - cmd = builddir + '/' +'%s.app'%binary - - if os.path.isdir(cmd): - shutil.rmtree(cmd) - shutil.copytree(sourcedir, cmd) - cmd = "cat %s | sed s/VERSION/`cat release/VERSION`/ | sed s/DATE/`date +'%%Y-%%b-%%d'`/ > %s"%(sourceinfo,targetinfo) - commands.getoutput(cmd) - cmd = 'cp %s/%s %s/%s.app/Contents/MacOS/%s'%(builddir, binary,builddir, binary, binary) - commands.getoutput(cmd) - cmd = 'mkdir %s/%s.app/Contents/MacOS/.blender/'%(builddir, binary) - print cmd - commands.getoutput(cmd) - cmd = builddir + '/%s.app/Contents/MacOS/.blender'%binary - shutil.copy(bldroot + '/bin/.blender/.bfont.ttf', cmd) - shutil.copy(bldroot + '/bin/.blender/.Blanguages', cmd) - cmd = 'cp -R %s/bin/.blender/locale %s/%s.app/Contents/Resources/'%(bldroot,builddir,binary) - commands.getoutput(cmd) - cmd = 'cp -R %s/bin/.blender/locale %s/%s.app/Contents/MacOS/.blender/'%(bldroot,builddir,binary) - commands.getoutput(cmd) - cmd = 'cp %s/bin/.blender/.Blanguages %s/%s.app/Contents/Resources/'%(bldroot,builddir,binary) - commands.getoutput(cmd) - cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/.blender/'%(bldroot,builddir,binary) - commands.getoutput(cmd) - cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(builddir,binary, binary) - commands.getoutput(cmd) - cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(builddir, binary) - commands.getoutput(cmd) - cmd = 'find %s/%s.app -name .DS_Store -exec rm -rf {} \;'%(builddir, binary) - commands.getoutput(cmd) + import shutil + import commands + import os.path + + + a = '%s' % (target[0]) + builddir, b = os.path.split(a) + + bldroot = env.Dir('.').abspath + binary = env['BINARYKIND'] + + if b=='verse': + print bc.OKBLUE+"no bundle for verse"+bc.ENDC + return 0 + + sourcedir = bldroot + '/source/darwin/%s.app'%binary + sourceinfo = bldroot + "/source/darwin/%s.app/Contents/Info.plist"%binary + targetinfo = builddir +'/' + "%s.app/Contents/Info.plist"%binary + cmd = builddir + '/' +'%s.app'%binary + + if os.path.isdir(cmd): + shutil.rmtree(cmd) + shutil.copytree(sourcedir, cmd) + cmd = "cat %s | sed s/VERSION/`cat release/VERSION`/ | sed s/DATE/`date +'%%Y-%%b-%%d'`/ > %s"%(sourceinfo,targetinfo) + commands.getoutput(cmd) + cmd = 'cp %s/%s %s/%s.app/Contents/MacOS/%s'%(builddir, binary,builddir, binary, binary) + commands.getoutput(cmd) + cmd = 'mkdir %s/%s.app/Contents/MacOS/.blender/'%(builddir, binary) + print cmd + commands.getoutput(cmd) + cmd = builddir + '/%s.app/Contents/MacOS/.blender'%binary + shutil.copy(bldroot + '/bin/.blender/.bfont.ttf', cmd) + shutil.copy(bldroot + '/bin/.blender/.Blanguages', cmd) + cmd = 'cp -R %s/bin/.blender/locale %s/%s.app/Contents/Resources/'%(bldroot,builddir,binary) + commands.getoutput(cmd) + cmd = 'cp -R %s/bin/.blender/locale %s/%s.app/Contents/MacOS/.blender/'%(bldroot,builddir,binary) + commands.getoutput(cmd) + cmd = 'cp %s/bin/.blender/.Blanguages %s/%s.app/Contents/Resources/'%(bldroot,builddir,binary) + commands.getoutput(cmd) + cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/.blender/'%(bldroot,builddir,binary) + commands.getoutput(cmd) + cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(builddir,binary, binary) + commands.getoutput(cmd) + cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(builddir, binary) + commands.getoutput(cmd) + cmd = 'find %s/%s.app -name .DS_Store -exec rm -rf {} \;'%(builddir, binary) + commands.getoutput(cmd) #### END ACTION STUFF ######### def bsc(env, target, source): - - bd = os.path.dirname(target[0].abspath) - bscfile = '\"'+target[0].abspath+'\"' - bscpathcollect = '\"'+bd + os.sep + '*.sbr\"' - bscpathtmp = '\"'+bd + os.sep + 'bscmake.tmp\"' - - os.system('dir /b/s '+bscpathcollect+' >'+bscpathtmp) - - myfile = open(bscpathtmp[1:-1], 'r') - lines = myfile.readlines() - myfile.close() - - newfile = open(bscpathtmp[1:-1], 'w') - for l in lines: - newfile.write('\"'+l[:-1]+'\"\n') - newfile.close() - - os.system('bscmake /nologo /n /o'+bscfile+' @'+bscpathtmp) - os.system('del '+bscpathtmp) + + bd = os.path.dirname(target[0].abspath) + bscfile = '\"'+target[0].abspath+'\"' + bscpathcollect = '\"'+bd + os.sep + '*.sbr\"' + bscpathtmp = '\"'+bd + os.sep + 'bscmake.tmp\"' + + os.system('dir /b/s '+bscpathcollect+' >'+bscpathtmp) + + myfile = open(bscpathtmp[1:-1], 'r') + lines = myfile.readlines() + myfile.close() + + newfile = open(bscpathtmp[1:-1], 'w') + for l in lines: + newfile.write('\"'+l[:-1]+'\"\n') + newfile.close() + + os.system('bscmake /nologo /n /o'+bscfile+' @'+bscpathtmp) + os.system('del '+bscpathtmp) class BlenderEnvironment(SConsEnvironment): - def BlenderRes(self=None, libname=None, source=None, libtype=['core'], priority=[100]): - global libs - if not self or not libname or not source: - print bc.FAIL+'Cannot continue. Missing argument for BlenderRes '+libname+bc.ENDC - self.Exit() - if self['OURPLATFORM'] not in ('win32-vc','win32-mingw','linuxcross'): - print bc.FAIL+'BlenderRes is for windows only!'+bc.END - self.Exit() - - print bc.HEADER+'Configuring resource '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC - lenv = self.Copy() - res = lenv.RES('#'+root_build_dir+'lib/'+libname, source) - - SConsEnvironment.Default(self, res) - resources.append(res) - - def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None): - if not self or not libname or not sources: - print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC - self.Exit() - if libname in quickie or len(quickie)==0: - if libname in quickdebug: - print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname +bc.ENDC+bc.OKBLUE+ " (debug mode)" + bc.ENDC - else: - print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC - lenv = self.Copy() - lenv.Append(CPPPATH=includes) - lenv.Append(CPPDEFINES=defines) - if lenv['WITH_BF_GAMEENGINE']: - lenv.Append(CPPDEFINES=['GAMEBLENDER=1']) - if lenv['WITH_BF_BULLET']: - lenv.Append(CPPDEFINES=['WITH_BULLET=1']) - # debug or not - # CXXFLAGS defaults to CCFLAGS, therefore - # we Replace() rather than Append() to CXXFLAGS the first time - lenv.Replace(CXXFLAGS = lenv['CCFLAGS']) - if lenv['BF_DEBUG'] or (libname in quickdebug): - lenv.Append(CCFLAGS = Split(lenv['BF_DEBUG_FLAGS'])) - lenv.Append( CXXFLAGS = Split(lenv['BF_DEBUG_FLAGS'])) - else: - lenv.Append(CCFLAGS = lenv['REL_CFLAGS']) - lenv.Append(CXXFLAGS = lenv['REL_CCFLAGS']) - if lenv['BF_PROFILE']: - lenv.Append(CCFLAGS = Split(lenv['BF_PROFILE_FLAGS']), - CXXFLAGS = Split(lenv['BF_PROFILE_FLAGS'])) - if compileflags: - lenv.Append(CCFLAGS = compileflags) - lenv.Append(CXXFLAGS = compileflags) - lenv.Append(CCFLAGS = Split(lenv['C_WARN'])) - lenv.Append(CXXFLAGS = Split(lenv['CC_WARN'])) - lib = lenv.Library(target= '#'+root_build_dir+'lib/'+libname, source=sources) - SConsEnvironment.Default(self, lib) # we add to default target, because this way we get some kind of progress info during build - else: - print bc.WARNING+'Not building '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC+' for '+bc.OKBLUE+'BF_QUICK'+bc.ENDC - # note: libs is a global - add_lib_to_dict(self, libs, libtype, libname, priority) - - def BlenderProg(self=None, builddir=None, progname=None, sources=None, includes=None, libs=None, libpath=None, binarykind=''): - print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC - lenv = self.Copy() - if lenv['OURPLATFORM'] in ['win32-vc', 'cygwin']: - lenv.Append(LINKFLAGS = Split(lenv['PLATFORM_LINKFLAGS'])) - if lenv['BF_DEBUG']: - lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb']) - if lenv['OURPLATFORM']=='linux2': - lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) - if lenv['OURPLATFORM']=='sunos5': - lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) - if lenv['CXX'].endswith('CC'): - lenv.Replace(LINK = '$CXX') - if lenv['OURPLATFORM']=='darwin': - lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS']) - if lenv['BF_PROFILE']: - lenv.Append(LINKFLAGS = lenv['BF_PROFILE_FLAGS']) - lenv.Append(CPPPATH=includes) - lenv.Append(LIBPATH=libpath) - lenv.Append(LIBS=libs) - if lenv['WITH_BF_QUICKTIME']: - lenv.Append(LIBS = lenv['BF_QUICKTIME_LIB']) - lenv.Append(LIBPATH = lenv['BF_QUICKTIME_LIBPATH']) - prog = lenv.Program(target=builddir+'bin/'+progname, source=sources) - if lenv['BF_DEBUG'] and lenv['OURPLATFORM']=='win32-vc' and lenv['BF_BSC']: - f = lenv.File(progname + '.bsc', builddir) - brs = lenv.Command(f, prog, [bsc]) - SConsEnvironment.Default(self, brs) - SConsEnvironment.Default(self, prog) - program_list.append(prog) - if lenv['OURPLATFORM']=='darwin': - lenv['BINARYKIND'] = binarykind - lenv.AddPostAction(prog,Action(AppIt,strfunction=my_appit_print)) - return prog - - def Glob(lenv, pattern): - path = string.replace(GetBuildPath(lenv,'SConscript'),'SConscript', '') - files = [] - for i in glob.glob(path + pattern): - files.append(string.replace(i, path, '')) - return files + def BlenderRes(self=None, libname=None, source=None, libtype=['core'], priority=[100]): + global libs + if not self or not libname or not source: + print bc.FAIL+'Cannot continue. Missing argument for BlenderRes '+libname+bc.ENDC + self.Exit() + if self['OURPLATFORM'] not in ('win32-vc','win32-mingw','linuxcross'): + print bc.FAIL+'BlenderRes is for windows only!'+bc.END + self.Exit() + + print bc.HEADER+'Configuring resource '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC + lenv = self.Clone() + res = lenv.RES('#'+root_build_dir+'lib/'+libname, source) + + SConsEnvironment.Default(self, res) + resources.append(res) + + def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None, cc_compileflags=None, cxx_compileflags=None): + if not self or not libname or not sources: + print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC + self.Exit() + + def list_substring(quickie, libname): + for q in quickie: + if libname.find(q) != -1: + return True + return False + + if list_substring(quickie, libname) or len(quickie)==0: + if list_substring(quickdebug, libname): + print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname +bc.ENDC+bc.OKBLUE+ " (debug mode)" + bc.ENDC + else: + print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC + lenv = self.Clone() + lenv.Append(CPPPATH=includes) + lenv.Append(CPPDEFINES=defines) + if lenv['BF_DEBUG'] or (libname in quickdebug): + lenv.Append(CFLAGS = lenv['BF_DEBUG_CFLAGS']) + lenv.Append(CCFLAGS = lenv['BF_DEBUG_CCFLAGS']) + lenv.Append(CXXFLAGS = lenv['BF_DEBUG_CXXFLAGS']) + else: + lenv.Append(CFLAGS = lenv['REL_CFLAGS']) + lenv.Append(CCFLAGS = lenv['REL_CCFLAGS']) + lenv.Append(CXXFLAGS = lenv['REL_CXXFLAGS']) + if lenv['BF_PROFILE']: + lenv.Append(CFLAGS = lenv['BF_PROFILE_CFLAGS']) + lenv.Append(CCFLAGS = lenv['BF_PROFILE_CCFLAGS']) + lenv.Append(CXXFLAGS = lenv['BF_PROFILE_CXXFLAGS']) + if compileflags: + lenv.Append(CFLAGS = compileflags) + if cc_compileflags: + lenv.Append(CCFLAGS = cc_compileflags) + if cxx_compileflags: + lenv.Append(CXXFLAGS = cxx_compileflags) + lenv.Append(CFLAGS = lenv['C_WARN']) + lenv.Append(CCFLAGS = lenv['CC_WARN']) + lenv.Append(CXXFLAGS = lenv['CXX_WARN']) + + targetdir = root_build_dir+'lib/' + libname + if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'): + targetdir = '#'+targetdir + lib = lenv.Library(target= targetdir, source=sources) + SConsEnvironment.Default(self, lib) # we add to default target, because this way we get some kind of progress info during build + else: + print bc.WARNING+'Not building '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC+' for '+bc.OKBLUE+'BF_QUICK'+bc.ENDC + # note: libs is a global + add_lib_to_dict(self, libs, libtype, libname, priority) + + def BlenderProg(self=None, builddir=None, progname=None, sources=None, includes=None, libs=None, libpath=None, binarykind=''): + print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC + lenv = self.Clone() + if lenv['OURPLATFORM'] in ['win32-vc', 'cygwin']: + lenv.Append(LINKFLAGS = Split(lenv['PLATFORM_LINKFLAGS'])) + if lenv['BF_DEBUG']: + lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb']) + if lenv['OURPLATFORM']=='linux2': + lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) + if lenv['WITH_BF_PYTHON']: + lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) + if lenv['OURPLATFORM']=='sunos5': + lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) + if lenv['WITH_BF_PYTHON']: + lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) + if lenv['CXX'].endswith('CC'): + lenv.Replace(LINK = '$CXX') + if lenv['OURPLATFORM']=='darwin': + lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) + if lenv['WITH_BF_PYTHON']: + lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) + lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS']) + if lenv['BF_PROFILE']: + lenv.Append(LINKFLAGS = lenv['BF_PROFILE_LINKFLAGS']) + lenv.Append(CPPPATH=includes) + if root_build_dir[0]==os.sep or root_build_dir[1]==':': + lenv.Append(LIBPATH=root_build_dir + '/lib') + lenv.Append(LIBPATH=libpath) + lenv.Append(LIBS=libs) + if lenv['WITH_BF_QUICKTIME']: + lenv.Append(LIBS = lenv['BF_QUICKTIME_LIB']) + lenv.Append(LIBPATH = lenv['BF_QUICKTIME_LIBPATH']) + prog = lenv.Program(target=builddir+'bin/'+progname, source=sources) + if lenv['BF_DEBUG'] and lenv['OURPLATFORM']=='win32-vc' and lenv['BF_BSC']: + f = lenv.File(progname + '.bsc', builddir) + brs = lenv.Command(f, prog, [bsc]) + SConsEnvironment.Default(self, brs) + SConsEnvironment.Default(self, prog) + program_list.append(prog) + if lenv['OURPLATFORM']=='darwin': + lenv['BINARYKIND'] = binarykind + lenv.AddPostAction(prog,Action(AppIt,strfunction=my_appit_print)) + return prog + + def Glob(lenv, pattern): + path = string.replace(GetBuildPath(lenv,'SConscript'),'SConscript', '') + files = [] + for i in glob.glob(path + pattern): + files.append(string.replace(i, path, '')) + return files diff --git a/tools/btools.py b/tools/btools.py index e16e78488de..e07b6184abc 100755 --- a/tools/btools.py +++ b/tools/btools.py @@ -2,272 +2,287 @@ import os import os.path import SCons.Options + +import SCons.Variables try: - import SCons.Options.BoolOption -except ImportError: - pass -try: - import subprocess + import subprocess except ImportError: - pass + pass import string import glob import shutil import sys -Options = SCons.Options -BoolOption = SCons.Options.BoolOption +Variables = SCons.Variables +BoolVariable = SCons.Variables.BoolVariable def print_arguments(args, bc): - if len(args): - for k,v in args.iteritems(): - print '\t'+bc.OKBLUE+k+bc.ENDC+' = '+bc.OKGREEN + v + bc.ENDC - else: - print '\t'+bc.WARNING+'No command-line arguments given'+bc.ENDC + if len(args): + for k,v in args.iteritems(): + if type(v)==list: + v = ' '.join(v) + print '\t'+bc.OKBLUE+k+bc.ENDC+' = '+bc.OKGREEN + v + bc.ENDC + else: + print '\t'+bc.WARNING+'No command-line arguments given'+bc.ENDC def validate_arguments(args, bc): - opts_list = [ - 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'BF_PYTHON_LINKFLAGS', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', - 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC', - 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', - 'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH', - 'WITH_BF_FMOD', - 'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC', - 'WITH_BF_DDS', - 'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC', - 'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB', - 'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH', - 'WITH_BF_PNG', 'BF_PNG', 'BF_PNG_INC', 'BF_PNG_LIB', 'BF_PNG_LIBPATH', - 'BF_TIFF', 'BF_TIFF_INC', - 'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH', - 'WITH_BF_INTERNATIONAL', - 'BF_GETTEXT', 'BF_GETTEXT_INC', 'BF_GETTEXT_LIB', 'BF_GETTEXT_LIBPATH', - 'WITH_BF_ICONV', 'BF_ICONV', 'BF_ICONV_INC', 'BF_ICONV_LIB', 'BF_ICONV_LIBPATH', - 'WITH_BF_ODE', 'BF_ODE', 'BF_ODE_INC', 'BF_ODE_LIB', - 'WITH_BF_GAMEENGINE', 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB', - 'BF_SOLID', 'BF_SOLID_INC', 'BF_WINTAB', 'BF_WINTAB_INC', - 'WITH_BF_YAFRAY', - 'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', - 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH', - 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', 'BF_OPENGL_LINKFLAGS', - 'WITH_BF_FTGL', 'BF_FTGL', 'BF_FTGL_INC', 'BF_FTGL_LIB', - 'WITH_BF_PLAYER', - 'WITH_BF_NOBLENDER', - 'WITH_BF_BINRELOC', - 'CFLAGS', 'CCFLAGS', 'CPPFLAGS', - 'REL_CFLAGS', 'REL_CCFLAGS', - 'C_WARN', 'CC_WARN', 'LLIBS', 'PLATFORM_LINKFLAGS', - 'BF_PROFILE_FLAGS', 'LCGDIR', - 'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC' - 'WITH_BF_VERSE', 'BF_VERSE_INCLUDE', - 'VERSE_BUILD_BINARY', 'VERSE_BUILD_DIR', 'VERSE_REGEN_PROTO', - 'BF_TWEAK_MODE', 'BF_SPLIT_SRC', - 'WITHOUT_BF_INSTALL', - 'WITH_BF_OPENMP', - 'WITHOUT_BF_INSTALL', - 'BF_FANCY', 'BF_QUIET', - 'BF_X264_CONFIG', - 'BF_XVIDCORE_CONFIG', - 'WITH_BF_DOCS', - ] - - arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE', - 'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME', - 'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', - 'BF_DEBUG_FLAGS', 'BF_BSC', 'BF_CONFIG', - 'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG', - 'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG', - 'BF_DOCDIR'] - - all_list = opts_list + arg_list - okdict = {} - - for k,v in args.iteritems(): - if k in all_list: - okdict[k] = v - else: - print '\t'+bc.WARNING+'Invalid argument: '+bc.ENDC+k+'='+v - - return okdict + opts_list = [ + 'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', + 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC', + 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', + 'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH', + 'WITH_BF_FMOD', + 'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC', + 'WITH_BF_DDS', + 'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC', + 'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB', + 'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH', + 'WITH_BF_PNG', 'BF_PNG', 'BF_PNG_INC', 'BF_PNG_LIB', 'BF_PNG_LIBPATH', + 'BF_TIFF', 'BF_TIFF_INC', 'BF_TIFF_LIB', 'BF_TIFF_LIBPATH', + 'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH', + 'WITH_BF_INTERNATIONAL', + 'BF_GETTEXT', 'BF_GETTEXT_INC', 'BF_GETTEXT_LIB', 'BF_GETTEXT_LIBPATH', + 'WITH_BF_ICONV', 'BF_ICONV', 'BF_ICONV_INC', 'BF_ICONV_LIB', 'BF_ICONV_LIBPATH', + 'WITH_BF_ODE', 'BF_ODE', 'BF_ODE_INC', 'BF_ODE_LIB', + 'WITH_BF_GAMEENGINE', 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB', + 'BF_SOLID', 'BF_SOLID_INC', 'BF_WINTAB', 'BF_WINTAB_INC', + 'WITH_BF_YAFRAY', + 'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', + 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH', + 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', + 'WITH_BF_FTGL', 'BF_FTGL', 'BF_FTGL_INC', 'BF_FTGL_LIB', + 'WITH_BF_PLAYER', + 'WITH_BF_NOBLENDER', + 'WITH_BF_BINRELOC', + 'LCGDIR', + 'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC', + 'WITH_BF_VERSE', 'BF_VERSE_INCLUDE', + 'VERSE_BUILD_BINARY', 'VERSE_BUILD_DIR', 'VERSE_REGEN_PROTO', + 'BF_TWEAK_MODE', 'BF_SPLIT_SRC', + 'WITHOUT_BF_INSTALL', + 'WITH_BF_OPENMP', + 'WITHOUT_BF_INSTALL', + 'BF_FANCY', 'BF_QUIET', + 'BF_X264_CONFIG', + 'BF_XVIDCORE_CONFIG', + 'WITH_BF_DOCS', + 'BF_NUMJOBS', + ] + + # Have options here that scons expects to be lists + opts_list_split = [ + 'BF_PYTHON_LINKFLAGS', + 'BF_OPENGL_LINKFLAGS', + 'CFLAGS', 'CCFLAGS', 'CXXFLAGS', 'CPPFLAGS', + 'REL_CFLAGS', 'REL_CCFLAGS', 'REL_CXXFLAGS', + 'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS', + 'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS', + 'C_WARN', 'CC_WARN', 'CXX_WARN', + 'LLIBS', 'PLATFORM_LINKFLAGS', + ] + + + arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE', + 'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME', + 'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', + 'BF_BSC', 'BF_CONFIG', + 'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG', + 'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG', + 'BF_DOCDIR'] + + okdict = {} + + for k,v in args.iteritems(): + if (k in opts_list) or (k in arg_list): + okdict[k] = v + elif k in opts_list_split: + okdict[k] = v.split() # "" have alredy been stripped + else: + print '\t'+bc.WARNING+'Invalid argument: '+bc.ENDC+k+'='+v + + return okdict def print_targets(targs, bc): - if len(targs)>0: - for t in targs: - print '\t'+bc.OKBLUE+t+bc.ENDC - else: - print '\t'+bc.WARNING+'No targets given, using '+bc.ENDC+bc.OKGREEN+'default'+bc.ENDC + if len(targs)>0: + for t in targs: + print '\t'+bc.OKBLUE+t+bc.ENDC + else: + print '\t'+bc.WARNING+'No targets given, using '+bc.ENDC+bc.OKGREEN+'default'+bc.ENDC def validate_targets(targs, bc): - valid_list = ['.', 'blender', 'blenderstatic', 'blenderplayer', 'webplugin', - 'blendernogame', 'blenderstaticnogame', 'blenderlite', 'release', - 'everything', 'clean', 'install-bin', 'install', 'nsis'] - oklist = [] - for t in targs: - if t in valid_list: - oklist.append(t) - else: - print '\t'+bc.WARNING+'Invalid target: '+bc.ENDC+t - return oklist + valid_list = ['.', 'blender', 'blenderstatic', 'blenderplayer', 'webplugin', + 'blendernogame', 'blenderstaticnogame', 'blenderlite', 'release', + 'everything', 'clean', 'install-bin', 'install', 'nsis'] + oklist = [] + for t in targs: + if t in valid_list: + oklist.append(t) + else: + print '\t'+bc.WARNING+'Invalid target: '+bc.ENDC+t + return oklist class ourSpawn: - def ourspawn(self, sh, escape, cmd, args, env): - newargs = string.join(args[1:], ' ') - cmdline = cmd + " " + newargs - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, startupinfo=startupinfo, shell = False) - data, err = proc.communicate() - rv = proc.wait() - if rv: - print "=====" - print err - print "=====" - return rv + def ourspawn(self, sh, escape, cmd, args, env): + newargs = string.join(args[1:], ' ') + cmdline = cmd + " " + newargs + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, startupinfo=startupinfo, shell = False) + data, err = proc.communicate() + rv = proc.wait() + if rv: + print "=====" + print err + print "=====" + return rv def SetupSpawn( env ): - buf = ourSpawn() - buf.ourenv = env - env['SPAWN'] = buf.ourspawn + buf = ourSpawn() + buf.ourenv = env + env['SPAWN'] = buf.ourspawn def read_opts(cfg, args): - localopts = Options.Options(cfg, args) - localopts.AddOptions( - ('VERSE_BUILD_BINARY', 'Build a release or debug binary.', 'release'), - ('VERSE_BUILD_DIR', 'Target directory for intermediate files.', "${BF_BUILDDIR}/extern/verse"), - ('VERSE_REGEN_PROTO', 'Whether to regenerate the protocol files', 'yes'), - (BoolOption('WITH_BF_VERSE', 'Use VERSE if true', False)), - ('BF_VERSE_INCLUDE', 'verse include dir', '/usr/include'), - ('LCGDIR', 'location of cvs lib dir'), - ('VERSE_BUILD_BINARY', 'Build a release or debug binary.', 'release'), - ('VERSE_BUILD_DIR', 'Target directory for intermediate files.', "${BF_BUILDDIR}/extern/verse"), - ('VERSE_REGEN_PROTO', 'Whether to regenerate the protocol files', 'yes'), - ('BF_DEBUG_LIBS', 'list of libraries to build with debug symbols'), - - ('BF_PYTHON', 'base path for python', ''), - ('BF_PYTHON_VERSION', 'Python version to use', ''), - ('BF_PYTHON_INC', 'include path for Python headers', ''), - ('BF_PYTHON_BINARY', 'Path to the Python interpreter', ''), - ('BF_PYTHON_LIB', 'Python library', ''), - ('BF_PYTHON_LIB_STATIC', 'Python static libraries', ''), - ('BF_PYTHON_LIBPATH', 'Library path', ''), - ('BF_PYTHON_LINKFLAGS', 'Python link flags', ''), - (BoolOption('WITH_BF_STATICPYTHON', 'Staticly link to python', False)), - - (BoolOption('BF_NO_ELBEEM', 'Disable Fluid Sim', False)), - (BoolOption('WITH_BF_YAFRAY', 'Enable Yafray', True)), - - (BoolOption('WITH_BF_OPENAL', 'Use OpenAL if true', False)), - ('BF_OPENAL', 'base path for OpenAL', ''), - ('BF_OPENAL_INC', 'include path for python headers', ''), - ('BF_OPENAL_LIB', 'Path to OpenAL library', ''), - ('BF_OPENAL_LIB_STATIC', 'Path to OpenAL static library', ''), - ('BF_OPENAL_LIBPATH', 'Path to OpenAL library', ''), - (BoolOption('WITH_BF_STATICOPENAL', 'Staticly link to openal', False)), - - (BoolOption('WITH_BF_SDL', 'Use SDL if true', False)), - ('BF_SDL', 'SDL base path', ''), - ('BF_SDL_INC', 'SDL include path', ''), #$(shell $(BF_SDL)/bin/sdl-config --cflags) - ('BF_SDL_LIB', 'SDL library', ''), #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer - ('BF_SDL_LIBPATH', 'SDL library path', ''), - - ('BF_PTHREADS', 'Pthreads base path', ''), - ('BF_PTHREADS_INC', 'Pthreads include path', ''), - ('BF_PTHREADS_LIB', 'Pthreads library', ''), - ('BF_PTHREADS_LIBPATH', 'Pthreads library path', ''), - - (BoolOption('WITH_BF_FMOD', 'Use FMOD if true', False)), - # BF_FMOD = $(LCGDIR)/fmod - - (BoolOption('WITH_BF_OPENEXR', 'Use OPENEXR if true', True)), - (BoolOption('WITH_BF_STATICOPENEXR', 'Staticly link to OpenEXR', False)), - ('BF_OPENEXR', 'OPENEXR base path', ''), - ('BF_OPENEXR_INC', 'OPENEXR include path', ''), - ('BF_OPENEXR_LIB', 'OPENEXR library', ''), - ('BF_OPENEXR_LIBPATH', 'OPENEXR library path', ''), - ('BF_OPENEXR_LIB_STATIC', 'OPENEXR static library', ''), - - (BoolOption('WITH_BF_DDS', 'Use DDS if true', True)), - - (BoolOption('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)), - ('BF_FFMPEG', 'FFMPEG base path', ''), - ('BF_FFMPEG_LIB', 'FFMPEG library', ''), - ('BF_FFMPEG_EXTRA', 'FFMPEG flags that must be preserved', ''), - - ('BF_FFMPEG_INC', 'FFMPEG includes', ''), - ('BF_FFMPEG_LIBPATH', 'FFMPEG library path', ''), - - (BoolOption('WITH_BF_OGG', 'Use OGG, THEORA, VORBIS in FFMPEG if true', - False)), - ('BF_OGG', 'OGG base path', ''), - ('BF_OGG_LIB', 'OGG library', ''), - - (BoolOption('WITH_BF_JPEG', 'Use JPEG if true', True)), - ('BF_JPEG', 'JPEG base path', ''), - ('BF_JPEG_INC', 'JPEG include path', ''), - ('BF_JPEG_LIB', 'JPEG library', ''), - ('BF_JPEG_LIBPATH', 'JPEG library path', ''), - - (BoolOption('WITH_BF_OPENJPEG', 'Use OPENJPEG if true', False)), - ('BF_OPENJPEG', 'OPENJPEG base path', ''), - ('BF_OPENJPEG_INC', 'OPENJPEG include path', ''), - ('BF_OPENJPEG_LIB', 'OPENJPEG library', ''), - ('BF_OPENJPEG_LIBPATH', 'OPENJPEG library path', ''), - - (BoolOption('WITH_BF_REDCODE', 'Use REDCODE if true', False)), - ('BF_REDCODE', 'REDCODE base path', ''), - ('BF_REDCODE_INC', 'REDCODE include path', ''), - ('BF_REDCODE_LIB', 'REDCODE library', ''), - ('BF_REDCODE_LIBPATH', 'REDCODE library path', ''), - - (BoolOption('WITH_BF_PNG', 'Use PNG if true', True)), - ('BF_PNG', 'PNG base path', ''), - ('BF_PNG_INC', 'PNG include path', ''), - ('BF_PNG_LIB', 'PNG library', ''), - ('BF_PNG_LIBPATH', 'PNG library path', ''), - - ('BF_TIFF', 'TIFF base path', ''), - ('BF_TIFF_INC', 'TIFF include path', ''), - - (BoolOption('WITH_BF_ZLIB', 'Use ZLib if true', True)), - ('BF_ZLIB', 'ZLib base path', ''), - ('BF_ZLIB_INC', 'ZLib include path', ''), - ('BF_ZLIB_LIB', 'ZLib library', ''), - ('BF_ZLIB_LIBPATH', 'ZLib library path', ''), - - (BoolOption('WITH_BF_INTERNATIONAL', 'Use Gettext and Freetype if true', True)), - - ('BF_GETTEXT', 'gettext base path', ''), - ('BF_GETTEXT_INC', 'gettext include path', ''), - ('BF_GETTEXT_LIB', 'gettext library', ''), - ('BF_GETTEXT_LIBPATH', 'gettext library path', ''), - - (BoolOption('WITH_BF_ICONV', 'Use iconv if true', True)), - ('BF_ICONV', 'iconv base path', ''), - ('BF_ICONV_INC', 'iconv include path', ''), - ('BF_ICONV_LIB', 'iconv library', ''), - ('BF_ICONV_LIBPATH', 'iconv library path', ''), - - (BoolOption('WITH_BF_GAMEENGINE', 'Build with gameengine' , True)), - - (BoolOption('WITH_BF_ODE', 'Use ODE if true', True)), - ('BF_ODE', 'ODE base path', ''), - ('BF_ODE_INC', 'ODE include path' , ''), - ('BF_ODE_LIB', 'ODE library', ''), - - (BoolOption('WITH_BF_BULLET', 'Use Bullet if true', True)), - ('BF_BULLET', 'Bullet base dir', ''), - ('BF_BULLET_INC', 'Bullet include path', ''), - ('BF_BULLET_LIB', 'Bullet library', ''), - - ('BF_SOLID', 'Solid base dir', '#/extern/solid'), - ('BF_SOLID_INC', 'Solid include path', ''), - ('BF_WINTAB', 'WinTab base dir', ''), - ('BF_WINTAB_INC', 'WinTab include dir', ''), - ('BF_CXX', 'c++ base path for libstdc++, only used when static linking', ''), - (BoolOption('WITH_BF_STATICCXX', 'static link to stdc++', False)), - ('BF_CXX_LIB_STATIC', 'static library path for stdc++', ''), + localopts = Variables.Variables(cfg, args) + localopts.AddVariables( + ('VERSE_BUILD_BINARY', 'Build a release or debug binary.', 'release'), + ('VERSE_BUILD_DIR', 'Target directory for intermediate files.', "${BF_BUILDDIR}/extern/verse"), + ('VERSE_REGEN_PROTO', 'Whether to regenerate the protocol files', 'yes'), + (BoolVariable('WITH_BF_VERSE', 'Use VERSE if true', False)), + ('BF_VERSE_INCLUDE', 'verse include dir', '/usr/include'), + ('LCGDIR', 'location of cvs lib dir'), + ('VERSE_BUILD_BINARY', 'Build a release or debug binary.', 'release'), + ('VERSE_BUILD_DIR', 'Target directory for intermediate files.', "${BF_BUILDDIR}/extern/verse"), + ('VERSE_REGEN_PROTO', 'Whether to regenerate the protocol files', 'yes'), + ('BF_DEBUG_LIBS', 'list of libraries to build with debug symbols'), + + (BoolVariable('WITH_BF_PYTHON', 'Compile with python', True)), + ('BF_PYTHON', 'base path for python', ''), + ('BF_PYTHON_VERSION', 'Python version to use', ''), + ('BF_PYTHON_INC', 'include path for Python headers', ''), + ('BF_PYTHON_BINARY', 'Path to the Python interpreter', ''), + ('BF_PYTHON_LIB', 'Python library', ''), + ('BF_PYTHON_LIB_STATIC', 'Python static libraries', ''), + ('BF_PYTHON_LIBPATH', 'Library path', ''), + ('BF_PYTHON_LINKFLAGS', 'Python link flags', ''), + (BoolVariable('WITH_BF_STATICPYTHON', 'Staticly link to python', False)), + + (BoolVariable('BF_NO_ELBEEM', 'Disable Fluid Sim', False)), + (BoolVariable('WITH_BF_YAFRAY', 'Enable Yafray', True)), + + (BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)), + ('BF_OPENAL', 'base path for OpenAL', ''), + ('BF_OPENAL_INC', 'include path for python headers', ''), + ('BF_OPENAL_LIB', 'Path to OpenAL library', ''), + ('BF_OPENAL_LIB_STATIC', 'Path to OpenAL static library', ''), + ('BF_OPENAL_LIBPATH', 'Path to OpenAL library', ''), + (BoolVariable('WITH_BF_STATICOPENAL', 'Staticly link to openal', False)), + + (BoolVariable('WITH_BF_SDL', 'Use SDL if true', False)), + ('BF_SDL', 'SDL base path', ''), + ('BF_SDL_INC', 'SDL include path', ''), #$(shell $(BF_SDL)/bin/sdl-config --cflags) + ('BF_SDL_LIB', 'SDL library', ''), #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer + ('BF_SDL_LIBPATH', 'SDL library path', ''), + + ('BF_PTHREADS', 'Pthreads base path', ''), + ('BF_PTHREADS_INC', 'Pthreads include path', ''), + ('BF_PTHREADS_LIB', 'Pthreads library', ''), + ('BF_PTHREADS_LIBPATH', 'Pthreads library path', ''), + + (BoolVariable('WITH_BF_FMOD', 'Use FMOD if true', False)), + # BF_FMOD = $(LCGDIR)/fmod + + (BoolVariable('WITH_BF_OPENEXR', 'Use OPENEXR if true', True)), + (BoolVariable('WITH_BF_STATICOPENEXR', 'Staticly link to OpenEXR', False)), + ('BF_OPENEXR', 'OPENEXR base path', ''), + ('BF_OPENEXR_INC', 'OPENEXR include path', ''), + ('BF_OPENEXR_LIB', 'OPENEXR library', ''), + ('BF_OPENEXR_LIBPATH', 'OPENEXR library path', ''), + ('BF_OPENEXR_LIB_STATIC', 'OPENEXR static library', ''), + + (BoolVariable('WITH_BF_DDS', 'Use DDS if true', True)), + + (BoolVariable('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)), + ('BF_FFMPEG', 'FFMPEG base path', ''), + ('BF_FFMPEG_LIB', 'FFMPEG library', ''), + ('BF_FFMPEG_EXTRA', 'FFMPEG flags that must be preserved', ''), + + ('BF_FFMPEG_INC', 'FFMPEG includes', ''), + ('BF_FFMPEG_LIBPATH', 'FFMPEG library path', ''), + + (BoolVariable('WITH_BF_OGG', 'Use OGG, THEORA, VORBIS in FFMPEG if true', + False)), + ('BF_OGG', 'OGG base path', ''), + ('BF_OGG_LIB', 'OGG library', ''), + + (BoolVariable('WITH_BF_JPEG', 'Use JPEG if true', True)), + ('BF_JPEG', 'JPEG base path', ''), + ('BF_JPEG_INC', 'JPEG include path', ''), + ('BF_JPEG_LIB', 'JPEG library', ''), + ('BF_JPEG_LIBPATH', 'JPEG library path', ''), + + (BoolVariable('WITH_BF_OPENJPEG', 'Use OPENJPEG if true', False)), + ('BF_OPENJPEG', 'OPENJPEG base path', ''), + ('BF_OPENJPEG_INC', 'OPENJPEG include path', ''), + ('BF_OPENJPEG_LIB', 'OPENJPEG library', ''), + ('BF_OPENJPEG_LIBPATH', 'OPENJPEG library path', ''), + + (BoolVariable('WITH_BF_REDCODE', 'Use REDCODE if true', False)), + ('BF_REDCODE', 'REDCODE base path', ''), + ('BF_REDCODE_INC', 'REDCODE include path', ''), + ('BF_REDCODE_LIB', 'REDCODE library', ''), + ('BF_REDCODE_LIBPATH', 'REDCODE library path', ''), + + (BoolVariable('WITH_BF_PNG', 'Use PNG if true', True)), + ('BF_PNG', 'PNG base path', ''), + ('BF_PNG_INC', 'PNG include path', ''), + ('BF_PNG_LIB', 'PNG library', ''), + ('BF_PNG_LIBPATH', 'PNG library path', ''), + + ('BF_TIFF', 'TIFF base path', ''), + ('BF_TIFF_INC', 'TIFF include path', ''), + ('BF_TIFF_LIB', 'TIFF library', ''), + ('BF_TIFF_LIBPATH', 'TIFF library path', ''), + + (BoolVariable('WITH_BF_ZLIB', 'Use ZLib if true', True)), + ('BF_ZLIB', 'ZLib base path', ''), + ('BF_ZLIB_INC', 'ZLib include path', ''), + ('BF_ZLIB_LIB', 'ZLib library', ''), + ('BF_ZLIB_LIBPATH', 'ZLib library path', ''), + + (BoolVariable('WITH_BF_INTERNATIONAL', 'Use Gettext and Freetype if true', True)), + + ('BF_GETTEXT', 'gettext base path', ''), + ('BF_GETTEXT_INC', 'gettext include path', ''), + ('BF_GETTEXT_LIB', 'gettext library', ''), + ('BF_GETTEXT_LIBPATH', 'gettext library path', ''), + + (BoolVariable('WITH_BF_ICONV', 'Use iconv if true', True)), + ('BF_ICONV', 'iconv base path', ''), + ('BF_ICONV_INC', 'iconv include path', ''), + ('BF_ICONV_LIB', 'iconv library', ''), + ('BF_ICONV_LIBPATH', 'iconv library path', ''), + + (BoolVariable('WITH_BF_GAMEENGINE', 'Build with gameengine' , True)), + + (BoolVariable('WITH_BF_ODE', 'Use ODE if true', True)), + ('BF_ODE', 'ODE base path', ''), + ('BF_ODE_INC', 'ODE include path' , ''), + ('BF_ODE_LIB', 'ODE library', ''), + + (BoolVariable('WITH_BF_BULLET', 'Use Bullet if true', True)), + ('BF_BULLET', 'Bullet base dir', ''), + ('BF_BULLET_INC', 'Bullet include path', ''), + ('BF_BULLET_LIB', 'Bullet library', ''), + + ('BF_SOLID', 'Solid base dir', '#/extern/solid'), + ('BF_SOLID_INC', 'Solid include path', ''), + ('BF_WINTAB', 'WinTab base dir', ''), + ('BF_WINTAB_INC', 'WinTab include dir', ''), + ('BF_CXX', 'c++ base path for libstdc++, only used when static linking', ''), + (BoolVariable('WITH_BF_STATICCXX', 'static link to stdc++', False)), + ('BF_CXX_LIB_STATIC', 'static library path for stdc++', ''), ## ##WITH_BF_NSPR = True ##BF_NSPR = $(LCGDIR)/nspr @@ -286,265 +301,274 @@ def read_opts(cfg, args): ##BF_PARANOID = True ## ### enable freetype2 support for text objects - (BoolOption('WITH_BF_FREETYPE', 'Use FreeType2 if true', False)), - ('BF_FREETYPE', 'Freetype base path', ''), - ('BF_FREETYPE_INC', 'Freetype include path', ''), - ('BF_FREETYPE_LIB', 'Freetype library', ''), - ('BF_FREETYPE_LIBPATH', 'Freetype library path', ''), - - (BoolOption('WITH_BF_OPENMP', 'Use OpenMP if true', False)), - - (BoolOption('WITH_BF_QUICKTIME', 'Use QuickTime if true', False)), - ('BF_QUICKTIME', 'QuickTime base path', ''), - ('BF_QUICKTIME_INC', 'QuickTime include path', ''), - ('BF_QUICKTIME_LIB', 'QuickTime library', ''), - ('BF_QUICKTIME_LIBPATH', 'QuickTime library path', ''), - - (BoolOption('WITH_BF_STATICOPENGL', 'Use MESA if true', True)), - ('BF_OPENGL', 'OpenGL base path', ''), - ('BF_OPENGL_INC', 'OpenGL include path', ''), - ('BF_OPENGL_LIB', 'OpenGL libraries', ''), - ('BF_OPENGL_LIBPATH', 'OpenGL library path', ''), - ('BF_OPENGL_LIB_STATIC', 'OpenGL static libraries', ''), - ('BF_OPENGL_LINKFLAGS', 'OpenGL link flags', ''), - - (BoolOption('WITH_BF_FTGL', 'Use FTGL if true', True)), - ('BF_FTGL', 'FTGL base path', ''), - ('BF_FTGL_INC', 'FTGL include path', ''), - ('BF_FTGL_LIB', 'FTGL libraries', ''), - - (BoolOption('WITH_BF_PLAYER', 'Build blenderplayer if true', False)), - (BoolOption('WITH_BF_NOBLENDER', 'Do not build blender if true', False)), - - ('CFLAGS', 'C-compiler flags', ''), - ('CCFLAGS', 'C++-compiler flags', ''), - ('CPPFLAGS', 'Defines', ''), - ('REL_CFLAGS', 'C release flags', ''), - ('REL_CCFLAGS', 'C++ release flags', ''), - - ('C_WARN', 'C warning flags', ''), - ('CC_WARN', 'C++ warning flags', ''), - - ('LLIBS', 'Platform libs', ''), - ('PLATFORM_LINKFLAGS', 'Platform linkflags', ''), - - (BoolOption('BF_PROFILE', 'Add profiling information if true', False)), - ('BF_PROFILE_FLAGS', 'Profiling flags', ''), - - (BoolOption('BF_DEBUG', 'Add debug flags if true', False)), - ('BF_DEBUG_FLAGS', 'Debug flags', ''), - - (BoolOption('BF_BSC', 'Create .bsc files (msvc only)', True)), - - ('BF_BUILDDIR', 'Build dir', ''), - ('BF_INSTALLDIR', 'Installation dir', ''), - ('BF_DOCDIR', 'Dir where BPy documentation will be created', ''), - - ('CC', 'C compiler to use', ''), - ('CXX', 'C++ compiler to use', ''), - - (BoolOption('BF_BUILDINFO', 'Buildtime in splash if true', True)), - - (BoolOption('BF_TWEAK_MODE', 'Enable tweak mode if true', False)), - (BoolOption('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)), - (BoolOption('WITHOUT_BF_INSTALL', 'dont install if true', False)), - (BoolOption('BF_FANCY', 'Enable fancy output if true', True)), - (BoolOption('BF_QUIET', 'Enable silent output if true', True)), - (BoolOption('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', False)), - - ('BF_X264_CONFIG', 'configuration flags for x264', ''), - ('BF_XVIDCORE_CONFIG', 'configuration flags for xvidcore', ''), - (BoolOption('WITH_BF_DOCS', 'Generate API documentation', False)), - - ('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'), - - ) # end of opts.AddOptions() - - return localopts + (BoolVariable('WITH_BF_FREETYPE', 'Use FreeType2 if true', False)), + ('BF_FREETYPE', 'Freetype base path', ''), + ('BF_FREETYPE_INC', 'Freetype include path', ''), + ('BF_FREETYPE_LIB', 'Freetype library', ''), + ('BF_FREETYPE_LIBPATH', 'Freetype library path', ''), + + (BoolVariable('WITH_BF_OPENMP', 'Use OpenMP if true', False)), + + (BoolVariable('WITH_BF_QUICKTIME', 'Use QuickTime if true', False)), + ('BF_QUICKTIME', 'QuickTime base path', ''), + ('BF_QUICKTIME_INC', 'QuickTime include path', ''), + ('BF_QUICKTIME_LIB', 'QuickTime library', ''), + ('BF_QUICKTIME_LIBPATH', 'QuickTime library path', ''), + + (BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)), + ('BF_OPENGL', 'OpenGL base path', ''), + ('BF_OPENGL_INC', 'OpenGL include path', ''), + ('BF_OPENGL_LIB', 'OpenGL libraries', ''), + ('BF_OPENGL_LIBPATH', 'OpenGL library path', ''), + ('BF_OPENGL_LIB_STATIC', 'OpenGL static libraries', ''), + ('BF_OPENGL_LINKFLAGS', 'OpenGL link flags', ''), + + (BoolVariable('WITH_BF_FTGL', 'Use FTGL if true', True)), + ('BF_FTGL', 'FTGL base path', ''), + ('BF_FTGL_INC', 'FTGL include path', ''), + ('BF_FTGL_LIB', 'FTGL libraries', ''), + + (BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)), + (BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)), + + ('CFLAGS', 'C only flags', ''), + ('CCFLAGS', 'Generic C and C++ flags', ''), + ('CXXFLAGS', 'C++ only flags', ''), + ('CPPFLAGS', 'Defines', ''), + ('REL_CFLAGS', 'C only release flags', ''), + ('REL_CCFLAGS', 'Generic C and C++ release flags', ''), + ('REL_CXXFLAGS', 'C++ only release flags', ''), + + ('C_WARN', 'C warning flags', ''), + ('CC_WARN', 'Generic C and C++ warning flags', ''), + ('CXX_WARN', 'C++ only warning flags', ''), + + ('LLIBS', 'Platform libs', ''), + ('PLATFORM_LINKFLAGS', 'Platform linkflags', ''), + + (BoolVariable('BF_PROFILE', 'Add profiling information if true', False)), + ('BF_PROFILE_CFLAGS', 'C only profiling flags', ''), + ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', ''), + ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', ''), + ('BF_PROFILE_LINKFLAGS', 'Profile linkflags', ''), + + (BoolVariable('BF_DEBUG', 'Add debug flags if true', False)), + ('BF_DEBUG_CFLAGS', 'C only debug flags', ''), + ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', ''), + ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', ''), + + (BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', True)), + + ('BF_BUILDDIR', 'Build dir', ''), + ('BF_INSTALLDIR', 'Installation dir', ''), + ('BF_DOCDIR', 'Dir where BPy documentation will be created', ''), + + ('CC', 'C compiler to use', ''), + ('CXX', 'C++ compiler to use', ''), + + (BoolVariable('BF_BUILDINFO', 'Buildtime in splash if true', True)), + + (BoolVariable('BF_TWEAK_MODE', 'Enable tweak mode if true', False)), + (BoolVariable('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)), + (BoolVariable('WITHOUT_BF_INSTALL', 'dont install if true', False)), + (BoolVariable('BF_FANCY', 'Enable fancy output if true', True)), + (BoolVariable('BF_QUIET', 'Enable silent output if true', True)), + (BoolVariable('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', False)), + + ('BF_X264_CONFIG', 'configuration flags for x264', ''), + ('BF_XVIDCORE_CONFIG', 'configuration flags for xvidcore', ''), + (BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)), + + ('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'), + ('BF_NUMJOBS', 'Number of build processes to spawn', '1') + + ) # end of opts.AddOptions() + + return localopts def NSIS_print(target, source, env): - return "Creating NSIS installer for Blender 3D" + return "Creating NSIS installer for Blender 3D" def NSIS_Installer(target=None, source=None, env=None): - if env['OURPLATFORM'] != 'win32-vc' and env['OURPLATFORM'] != 'win32-mingw': - print "NSIS installer is only available on Windows." - Exit() - - start_dir = os.getcwd() - rel_dir = start_dir + "\\release\\windows\\installer\\" - install_base_dir = start_dir + "\\" - - if not os.path.exists(install_base_dir+env['BF_INSTALLDIR']+'/plugins/include'): - os.mkdir(install_base_dir+env['BF_INSTALLDIR']+'/plugins/include') - - for f in glob.glob('source/blender/blenpluginapi/*.h'): - shutil.copy(f,install_base_dir+env['BF_INSTALLDIR']+'/plugins/include') - - shutil.copy('source/blender/blenpluginapi/plugin.def',install_base_dir+env['BF_INSTALLDIR']+'/plugins/include/') - - os.chdir("release") - v = open("VERSION") - version = v.read()[:-1] - shortver = version.split('.')[0] + version.split('.')[1] - v.close() - - #### change to suit install dir #### - inst_dir = install_base_dir + env['BF_INSTALLDIR'] - - os.chdir("windows/installer") - - ns = open("00.sconsblender.nsi","r") - - ns_cnt = str(ns.read()) - ns.close() - - # do root - rootlist = [] - rootdir = os.listdir(inst_dir+"\\") - for rootitem in rootdir: - if os.path.isdir(inst_dir+"\\"+ rootitem) == 0: - rootlist.append("File \"" + os.path.normpath(inst_dir) + "\\" + rootitem+"\"") - rootstring = string.join(rootlist, "\n ") - rootstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[ROOTDIRCONTS]", rootstring) - - # do delete items - delrootlist = [] - for rootitem in rootdir: - if os.path.isdir(inst_dir + rootitem) == 0: - delrootlist.append("Delete $INSTDIR\\" + rootitem) - delrootstring = string.join(delrootlist, "\n ") - delrootstring += "\n" - ns_cnt = string.replace(ns_cnt, "[DELROOTDIRCONTS]", delrootstring) - - # do scripts - scriptlist = [] - scriptpath = "%s%s" % (inst_dir, "\\.blender\\scripts") - scriptdir = os.listdir(scriptpath) - for scriptitem in scriptdir: - scriptfile = "%s\\%s" % (scriptpath, scriptitem) - if os.path.isdir(scriptfile) == 0: - scriptfile = os.path.normpath(scriptfile) - scriptlist.append("File \"%s\"" % scriptfile) - scriptstring = string.join(scriptlist, "\n ") - scriptstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[SCRIPTCONTS]", scriptstring) - - # do scripts\bpymodules - bpymodlist = [] - bpymodpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpymodules") - bpymoddir = os.listdir(bpymodpath) - - for bpymoditem in bpymoddir: - bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem) - if os.path.isdir(bpymodfile) == 0: - bpymodfile = os.path.normpath(bpymodfile) - bpymodlist.append("File \"%s\"" % bpymodfile) - bpymodstring = string.join(bpymodlist, "\n ") - bpymodstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[SCRIPTMODCONTS]", bpymodstring) - - # do scripts\bpymodules\colladaimex - colladalist = [] - bpymodpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpymodules\\ColladaImEx") - bpymoddir = os.listdir(bpymodpath) - - for bpymoditem in bpymoddir: - bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem) - if os.path.isdir(bpymodfile) == 0: - bpymodfile=os.path.normpath(bpymodfile) - colladalist.append("File \"%s\"" % bpymodfile) - bpymodstring = string.join(colladalist, "\n ") - bpymodstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[SCRIPTMODCOLLADACONT]", bpymodstring) - - # do scripts\bpydata - bpydatalist = [] - bpydatapath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpydata") - bpydatadir = os.listdir(bpydatapath) - for bpydataitem in bpydatadir: - bpydatafile = "%s\\%s" % (bpydatapath, bpydataitem) - if os.path.isdir(bpydatafile) == 0: - bpydatalist.append("File \"%s\"" % bpydatafile) - bpydatastring = string.join(bpydatalist, "\n ") - bpydatastring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[SCRIPTDATACONTS]", bpydatastring) - - # do plugins\include - plugincludelist = [] - plugincludepath = "%s%s" % (inst_dir, "\\plugins\\include") - plugincludedir = os.listdir(plugincludepath) - for plugincludeitem in plugincludedir: - plugincludefile = "%s\\%s" % (plugincludepath, plugincludeitem) - if os.path.isdir(plugincludefile) == 0: - if plugincludefile.find('.h') or plugincludefile.find('.DEF'): - plugincludefile = os.path.normpath(plugincludefile) - plugincludelist.append("File \"%s\"" % plugincludefile) - plugincludestring = string.join(plugincludelist, "\n ") - plugincludestring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[PLUGINCONTS]", plugincludestring) - - # do scripts\bpydata\config - cfglist = [] - cfgpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpydata\\config") - cfgdir = os.listdir(cfgpath) - for cfgitem in cfgdir: - cfgfile = "%s\\%s" % (cfgpath, cfgitem) - if os.path.isdir(cfgfile) == 0: - cfglist.append("File \"%s\"" % cfgfile) - cfgstring = string.join(cfglist, "\n ") - cfgstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[SCRIPTDATACFGCONTS]", cfgstring) - - # do dotblender - dotblendlist = [] - dotblenddir = os.listdir(inst_dir+"\\.blender") - for dotblenditem in dotblenddir: - if os.path.isdir(inst_dir + "\\.blender\\" + dotblenditem) == 0: - dotblendlist.append("File \"" + os.path.normpath(inst_dir) + "\\.blender\\" + - dotblenditem+"\"") - dotblendstring = string.join(dotblendlist, "\n ") - dotblendstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[DOTBLENDERCONTS]", dotblendstring) - - # do language files - langlist = [] - langfiles = [] - langdir = os.listdir(inst_dir + "\\.blender\\locale") - for langitem in langdir: - if os.path.isdir(inst_dir + "\\.blender\\locale\\" + langitem) == 1: - langfiles.append("SetOutPath $BLENDERHOME\\.blender\\locale\\" + langitem + "\\LC_MESSAGES") - langfiles.append("File \"" + os.path.normpath(inst_dir) + "\\.blender\\locale\\" - + langitem + "\\LC_MESSAGES\\blender.mo\"") - langstring = string.join(langfiles, "\n ") - langstring += "\n\n" - ns_cnt = string.replace(ns_cnt, "[LANGUAGECONTS]", langstring) - - # var replacements - ns_cnt = string.replace(ns_cnt, "DISTDIR", os.path.normpath(inst_dir+"\\")) - ns_cnt = string.replace(ns_cnt, "SHORTVER", shortver) - ns_cnt = string.replace(ns_cnt, "VERSION", version) - ns_cnt = string.replace(ns_cnt, "RELDIR", os.path.normpath(rel_dir)) - - tmpnsi = os.path.normpath(install_base_dir+os.sep+env['BF_BUILDDIR']+os.sep+"00.blender_tmp.nsi") - new_nsis = open(tmpnsi, 'w') - new_nsis.write(ns_cnt) - new_nsis.close() - - os.chdir(start_dir) - - cmdline = "makensis " + "\""+tmpnsi+"\"" - - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, startupinfo=startupinfo, shell = True) - data, err = proc.communicate() - rv = proc.wait() - - if rv != 0: - print - print data.strip().split("\n")[-1] - return rv + if env['OURPLATFORM'] != 'win32-vc' and env['OURPLATFORM'] != 'win32-mingw': + print "NSIS installer is only available on Windows." + Exit() + + start_dir = os.getcwd() + rel_dir = start_dir + "\\release\\windows\\installer\\" + install_base_dir = start_dir + "\\" + + if not os.path.exists(install_base_dir+env['BF_INSTALLDIR']+'/plugins/include'): + os.mkdir(install_base_dir+env['BF_INSTALLDIR']+'/plugins/include') + + for f in glob.glob('source/blender/blenpluginapi/*.h'): + shutil.copy(f,install_base_dir+env['BF_INSTALLDIR']+'/plugins/include') + + shutil.copy('source/blender/blenpluginapi/plugin.def',install_base_dir+env['BF_INSTALLDIR']+'/plugins/include/') + + os.chdir("release") + v = open("VERSION") + version = v.read()[:-1] + shortver = version.split('.')[0] + version.split('.')[1] + v.close() + + #### change to suit install dir #### + inst_dir = install_base_dir + env['BF_INSTALLDIR'] + + os.chdir("windows/installer") + + ns = open("00.sconsblender.nsi","r") + + ns_cnt = str(ns.read()) + ns.close() + + # do root + rootlist = [] + rootdir = os.listdir(inst_dir+"\\") + for rootitem in rootdir: + if os.path.isdir(inst_dir+"\\"+ rootitem) == 0: + rootlist.append("File \"" + os.path.normpath(inst_dir) + "\\" + rootitem+"\"") + rootstring = string.join(rootlist, "\n ") + rootstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[ROOTDIRCONTS]", rootstring) + + # do delete items + delrootlist = [] + for rootitem in rootdir: + if os.path.isdir(inst_dir + rootitem) == 0: + delrootlist.append("Delete $INSTDIR\\" + rootitem) + delrootstring = string.join(delrootlist, "\n ") + delrootstring += "\n" + ns_cnt = string.replace(ns_cnt, "[DELROOTDIRCONTS]", delrootstring) + + # do scripts + scriptlist = [] + scriptpath = "%s%s" % (inst_dir, "\\.blender\\scripts") + scriptdir = os.listdir(scriptpath) + for scriptitem in scriptdir: + scriptfile = "%s\\%s" % (scriptpath, scriptitem) + if os.path.isdir(scriptfile) == 0: + scriptfile = os.path.normpath(scriptfile) + scriptlist.append("File \"%s\"" % scriptfile) + scriptstring = string.join(scriptlist, "\n ") + scriptstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[SCRIPTCONTS]", scriptstring) + + # do scripts\bpymodules + bpymodlist = [] + bpymodpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpymodules") + bpymoddir = os.listdir(bpymodpath) + + for bpymoditem in bpymoddir: + bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem) + if os.path.isdir(bpymodfile) == 0: + bpymodfile = os.path.normpath(bpymodfile) + bpymodlist.append("File \"%s\"" % bpymodfile) + bpymodstring = string.join(bpymodlist, "\n ") + bpymodstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[SCRIPTMODCONTS]", bpymodstring) + + # do scripts\bpymodules\colladaimex + colladalist = [] + bpymodpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpymodules\\ColladaImEx") + bpymoddir = os.listdir(bpymodpath) + + for bpymoditem in bpymoddir: + bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem) + if os.path.isdir(bpymodfile) == 0: + bpymodfile=os.path.normpath(bpymodfile) + colladalist.append("File \"%s\"" % bpymodfile) + bpymodstring = string.join(colladalist, "\n ") + bpymodstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[SCRIPTMODCOLLADACONT]", bpymodstring) + + # do scripts\bpydata + bpydatalist = [] + bpydatapath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpydata") + bpydatadir = os.listdir(bpydatapath) + for bpydataitem in bpydatadir: + bpydatafile = "%s\\%s" % (bpydatapath, bpydataitem) + if os.path.isdir(bpydatafile) == 0: + bpydatalist.append("File \"%s\"" % bpydatafile) + bpydatastring = string.join(bpydatalist, "\n ") + bpydatastring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[SCRIPTDATACONTS]", bpydatastring) + + # do plugins\include + plugincludelist = [] + plugincludepath = "%s%s" % (inst_dir, "\\plugins\\include") + plugincludedir = os.listdir(plugincludepath) + for plugincludeitem in plugincludedir: + plugincludefile = "%s\\%s" % (plugincludepath, plugincludeitem) + if os.path.isdir(plugincludefile) == 0: + if plugincludefile.find('.h') or plugincludefile.find('.DEF'): + plugincludefile = os.path.normpath(plugincludefile) + plugincludelist.append("File \"%s\"" % plugincludefile) + plugincludestring = string.join(plugincludelist, "\n ") + plugincludestring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[PLUGINCONTS]", plugincludestring) + + # do scripts\bpydata\config + cfglist = [] + cfgpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpydata\\config") + cfgdir = os.listdir(cfgpath) + for cfgitem in cfgdir: + cfgfile = "%s\\%s" % (cfgpath, cfgitem) + if os.path.isdir(cfgfile) == 0: + cfglist.append("File \"%s\"" % cfgfile) + cfgstring = string.join(cfglist, "\n ") + cfgstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[SCRIPTDATACFGCONTS]", cfgstring) + + # do dotblender + dotblendlist = [] + dotblenddir = os.listdir(inst_dir+"\\.blender") + for dotblenditem in dotblenddir: + if os.path.isdir(inst_dir + "\\.blender\\" + dotblenditem) == 0: + dotblendlist.append("File \"" + os.path.normpath(inst_dir) + "\\.blender\\" + + dotblenditem+"\"") + dotblendstring = string.join(dotblendlist, "\n ") + dotblendstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[DOTBLENDERCONTS]", dotblendstring) + + # do language files + langlist = [] + langfiles = [] + langdir = os.listdir(inst_dir + "\\.blender\\locale") + for langitem in langdir: + if os.path.isdir(inst_dir + "\\.blender\\locale\\" + langitem) == 1: + langfiles.append("SetOutPath $BLENDERHOME\\.blender\\locale\\" + langitem + "\\LC_MESSAGES") + langfiles.append("File \"" + os.path.normpath(inst_dir) + "\\.blender\\locale\\" + + langitem + "\\LC_MESSAGES\\blender.mo\"") + langstring = string.join(langfiles, "\n ") + langstring += "\n\n" + ns_cnt = string.replace(ns_cnt, "[LANGUAGECONTS]", langstring) + + # var replacements + ns_cnt = string.replace(ns_cnt, "DISTDIR", os.path.normpath(inst_dir+"\\")) + ns_cnt = string.replace(ns_cnt, "SHORTVER", shortver) + ns_cnt = string.replace(ns_cnt, "VERSION", version) + ns_cnt = string.replace(ns_cnt, "RELDIR", os.path.normpath(rel_dir)) + + tmpnsi = os.path.normpath(install_base_dir+os.sep+env['BF_BUILDDIR']+os.sep+"00.blender_tmp.nsi") + new_nsis = open(tmpnsi, 'w') + new_nsis.write(ns_cnt) + new_nsis.close() + + os.chdir(start_dir) + + cmdline = "makensis " + "\""+tmpnsi+"\"" + + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, startupinfo=startupinfo, shell = True) + data, err = proc.communicate() + rv = proc.wait() + + if rv != 0: + print + print data.strip().split("\n")[-1] + return rv diff --git a/tools/crossmingw.py b/tools/crossmingw.py index 1c8924ca7f6..299bfca929d 100755 --- a/tools/crossmingw.py +++ b/tools/crossmingw.py @@ -109,7 +109,7 @@ def shlib_emitter(target, source, env): #JB """ I'm blindly susbstuting lines from the mingw.py #JB file becase these lines cause python errors here. """ #JB shlib_action = SCons.Action.Action(shlib_generator,generator=1) -shlib_action = SCons.Action.CommandGenerator(shlib_generator) +shlib_action = SCons.Action.CommandGeneratorAction(shlib_generator) res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR') |