[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31588] trunk/blender: Patch [#23389] Add authorship information to exported COLLADA files
Nathan Letwory
nathan at letworyinteractive.com
Thu Aug 26 08:58:33 CEST 2010
Revision: 31588
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31588
Author: jesterking
Date: 2010-08-26 08:58:32 +0200 (Thu, 26 Aug 2010)
Log Message:
-----------
Patch [#23389] Add authorship information to exported COLLADA files
Contributed by Imran Syed (freakabcd).
This adds basic authoring tool and author info ("Blender User" for now).
NOTE: Linux and OSX users need now to update their OpenCOLLADA libs - Blender should now compile fine with their latest revision.
Made some changes to the original patch to ensure linking is done correctly.
Some small cleanups for scons too.
Modified Paths:
--------------
trunk/blender/SConstruct
trunk/blender/build_files/scons/tools/Blender.py
trunk/blender/source/blender/collada/CMakeLists.txt
trunk/blender/source/blender/collada/DocumentExporter.cpp
trunk/blender/source/blender/collada/SConscript
Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct 2010-08-26 01:05:37 UTC (rev 31587)
+++ trunk/blender/SConstruct 2010-08-26 06:58:32 UTC (rev 31588)
@@ -406,12 +406,12 @@
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", mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
if env['WITH_BF_PLAYER']:
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
- env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist, [], thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
+ env.BlenderProg(B.root_build_dir, "blenderplayer", playerlist, thestatlibs + dobj + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
##### Now define some targets
Modified: trunk/blender/build_files/scons/tools/Blender.py
===================================================================
--- trunk/blender/build_files/scons/tools/Blender.py 2010-08-26 01:05:37 UTC (rev 31587)
+++ trunk/blender/build_files/scons/tools/Blender.py 2010-08-26 06:58:32 UTC (rev 31588)
@@ -724,7 +724,7 @@
# 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=''):
+ def BlenderProg(self=None, builddir=None, progname=None, sources=None, libs=None, libpath=None, binarykind=''):
global vcp
print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC
lenv = self.Clone()
@@ -750,7 +750,6 @@
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)
Modified: trunk/blender/source/blender/collada/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/collada/CMakeLists.txt 2010-08-26 01:05:37 UTC (rev 31587)
+++ trunk/blender/source/blender/collada/CMakeLists.txt 2010-08-26 06:58:32 UTC (rev 31588)
@@ -61,4 +61,8 @@
ENDIF(APPLE)
-BLENDERLIB(bf_collada "${SRC}" "${INC}")
+IF(WITH_BUILDINFO)
+ ADD_DEFINITIONS(-DNAN_BUILDINFO)
+ENDIF(WITH_BUILDINFO)
+
+BLENDERLIB(bf_collada "${SRC}" "${INC}")
\ No newline at end of file
Modified: trunk/blender/source/blender/collada/DocumentExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/DocumentExporter.cpp 2010-08-26 01:05:37 UTC (rev 31587)
+++ trunk/blender/source/blender/collada/DocumentExporter.cpp 2010-08-26 06:58:32 UTC (rev 31588)
@@ -48,10 +48,14 @@
#include "BLI_path_util.h"
#include "BLI_fileops.h"
#include "ED_keyframing.h"
+#ifdef NAN_BUILDINFO
+extern char build_rev[];
+#endif
}
#include "MEM_guardedalloc.h"
+#include "BKE_blender.h" // version info
#include "BKE_scene.h"
#include "BKE_global.h"
#include "BKE_main.h"
@@ -1296,7 +1300,7 @@
int offset = 0;
input.push_back(COLLADASW::Input(COLLADASW::JOINT, // constant declared in COLLADASWInputList.h
COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, joints_source_id), offset++));
- input.push_back(COLLADASW::Input(COLLADASW::WEIGHT,
+ input.push_back(COLLADASW::Input(COLLADASW::WEIGHT,
COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, weights_source_id), offset++));
weights.setCount(me->totvert);
@@ -1719,11 +1723,7 @@
// most widespread de-facto standard.
texture.setProfileName("FCOLLADA");
texture.setChildElementName("bump");
-#ifdef WIN32 // currently, Windows builds are using revision 746 of OpenCollada while Linux and Mac are using an older revision 721
ep.addExtraTechniqueColorOrTexture(COLLADASW::ColorOrTexture(texture));
-#else
- ep.setExtraTechniqueColorOrTexture(COLLADASW::ColorOrTexture(texture));
-#endif
}
}
// performs the actual writing
@@ -2536,6 +2536,15 @@
// XXX ask blender devs about this?
asset.setUnit("decimetre", 0.1);
asset.setUpAxisType(COLLADASW::Asset::Z_UP);
+ // TODO: need an Author field in userpref
+ asset.getContributor().mAuthor = "Blender User";
+#ifdef NAN_BUILDINFO
+ char version_buf[128];
+ sprintf(version_buf, "Blender %d.%02d.%d r%s", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION, build_rev);
+ asset.getContributor().mAuthoringTool = version_buf;
+#else
+ asset.getContributor().mAuthoringTool = "Blender 2.5x";
+#endif
asset.add();
// <library_cameras>
@@ -2596,4 +2605,3 @@
* AnimationExporter::sample_animation enables all curves on armature, this is undesirable for a user
*/
-
Modified: trunk/blender/source/blender/collada/SConscript
===================================================================
--- trunk/blender/source/blender/collada/SConscript 2010-08-26 01:05:37 UTC (rev 31587)
+++ trunk/blender/source/blender/collada/SConscript 2010-08-26 06:58:32 UTC (rev 31588)
@@ -28,6 +28,7 @@
Import ('env')
sources = env.Glob('*.cpp')
+defs = []
# relative paths to include dirs, space-separated, string
if env['OURPLATFORM']=='darwin':
@@ -35,5 +36,7 @@
else:
incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC'])
-env.BlenderLib ('bf_collada', sources, Split(incs), [], libtype='core', priority=200 )
+if env['BF_BUILDINFO']:
+ defs.append('NAN_BUILDINFO')
+env.BlenderLib ('bf_collada', sources, Split(incs), defs, libtype='core', priority=200 )
More information about the Bf-blender-cvs
mailing list