[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26373] trunk/blender/source/blender/ blenlib/intern/bpath.c: Multires displacement files are now also part of absolute/relative path
Brecht Van Lommel
brecht at blender.org
Thu Jan 28 19:20:28 CET 2010
Revision: 26373
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26373
Author: blendix
Date: 2010-01-28 19:20:28 +0100 (Thu, 28 Jan 2010)
Log Message:
-----------
Multires displacement files are now also part of absolute/relative path
remapping.
Modified Paths:
--------------
trunk/blender/source/blender/blenlib/intern/bpath.c
Modified: trunk/blender/source/blender/blenlib/intern/bpath.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/bpath.c 2010-01-28 17:50:50 UTC (rev 26372)
+++ trunk/blender/source/blender/blenlib/intern/bpath.c 2010-01-28 18:20:28 UTC (rev 26373)
@@ -47,11 +47,13 @@
#include "MEM_guardedalloc.h"
#include "DNA_ID.h" /* Library */
-#include "DNA_vfont_types.h"
+#include "DNA_customdata_types.h"
#include "DNA_image_types.h"
-#include "DNA_sound_types.h"
+#include "DNA_mesh_types.h"
#include "DNA_scene_types.h" /* to get the current frame */
#include "DNA_sequence_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_vfont_types.h"
#include "DNA_windowmanager_types.h"
#include "BLI_blenlib.h"
@@ -82,6 +84,7 @@
BPATH_FONT,
BPATH_LIB,
BPATH_SEQ,
+ BPATH_CDATA,
BPATH_DONE
};
@@ -295,6 +298,23 @@
}
}
+static struct Mesh *cdata_stepdata__internal(struct Mesh *me, int step_next) {
+ if (me==NULL)
+ return NULL;
+
+ if (step_next)
+ me = me->id.next;
+
+ while (me) {
+ if (me->fdata.external) {
+ break;
+ }
+
+ me = me->id.next;
+ }
+ return me;
+}
+
static void bpi_type_step__internal( struct BPathIterator *bpi) {
bpi->type++; /* advance to the next type */
bpi->data = NULL;
@@ -406,6 +426,20 @@
} else {
bpi_type_step__internal(bpi);
}
+ } else if ((bpi->type) == BPATH_CDATA) {
+ if (bpi->data) bpi->data = cdata_stepdata__internal( bpi->data, 1 );
+ else bpi->data = cdata_stepdata__internal( G.main->mesh.first, 0 );
+
+ if (bpi->data) {
+ Mesh *me = (Mesh *)bpi->data;
+ bpi->lib = me->id.lib ? me->id.lib->filename : NULL;
+ bpi->path = me->fdata.external->filename;
+ bpi->name = me->id.name+2;
+ bpi->len = sizeof(me->fdata.external->filename);
+ break;
+ } else {
+ bpi_type_step__internal(bpi);
+ }
}
}
}
@@ -440,6 +474,9 @@
case BPATH_SEQ:
prefix= "Sequence";
break;
+ case BPATH_CDATA:
+ prefix= "Mesh Data";
+ break;
default:
prefix= "Unknown";
break;
More information about the Bf-blender-cvs
mailing list