[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20517] branches/soc-2009-aligorith/source /blender: NLA SoC: Bugfixes for previous commit
Joshua Leung
aligorith at gmail.com
Sat May 30 13:05:30 CEST 2009
Revision: 20517
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20517
Author: aligorith
Date: 2009-05-30 13:05:29 +0200 (Sat, 30 May 2009)
Log Message:
-----------
NLA SoC: Bugfixes for previous commit
* Compile fix in nla_draw.c
* Not totally correct yet, but now NLA-tracks get drawn too after action 'push-down'
Modified Paths:
--------------
branches/soc-2009-aligorith/source/blender/blenkernel/intern/nla.c
branches/soc-2009-aligorith/source/blender/editors/animation/anim_filter.c
branches/soc-2009-aligorith/source/blender/editors/space_nla/nla_draw.c
Modified: branches/soc-2009-aligorith/source/blender/blenkernel/intern/nla.c
===================================================================
--- branches/soc-2009-aligorith/source/blender/blenkernel/intern/nla.c 2009-05-30 10:41:41 UTC (rev 20516)
+++ branches/soc-2009-aligorith/source/blender/blenkernel/intern/nla.c 2009-05-30 11:05:29 UTC (rev 20517)
@@ -427,8 +427,10 @@
* as that will cause us grief down the track
*/
// TODO: what about modifiers?
- if (action_has_motion(adt->action) == 0)
+ if (action_has_motion(adt->action) == 0) {
+ printf("BKE_nla_action_pushdown(): action has no data \n");
return;
+ }
/* add a new NLA track to house this action
* - we could investigate trying to fit the action into an appropriately
@@ -436,8 +438,10 @@
* changes in blending behaviour...
*/
nlt= add_nlatrack(adt);
- if (nlt == NULL)
+ if (nlt == NULL) {
+ printf("BKE_nla_action_pushdown(): no NLA-track added \n");
return;
+ }
/* add a new NLA strip to the track, which references the active action */
strip= add_nlastrip(nlt, adt->action);
@@ -448,6 +452,9 @@
adt->action= NULL;
}
+ // TEMP DEBUG...
+ printf("BKE_nla_action_pushdown(): NLA strip added.. done \n");
+
// TODO: set any other flags necessary here...
}
Modified: branches/soc-2009-aligorith/source/blender/editors/animation/anim_filter.c
===================================================================
--- branches/soc-2009-aligorith/source/blender/editors/animation/anim_filter.c 2009-05-30 10:41:41 UTC (rev 20516)
+++ branches/soc-2009-aligorith/source/blender/editors/animation/anim_filter.c 2009-05-30 11:05:29 UTC (rev 20517)
@@ -1334,23 +1334,19 @@
/* scene-linked animation */
// TODO: sequencer, composite nodes - are we to include those here too?
{
- short sceOk, worOk;
+ short sceOk= 0, worOk= 0;
/* check filtering-flags if ok */
- if (ads->filterflag) {
- if (ads->filterflag & ADS_FILTER_ONLYDRIVERS) {
- sceOk= (ANIMDATA_HAS_DRIVERS(sce) && !(ads->filterflag & ADS_FILTER_NOSCE));
- worOk= ((sce->world) && ANIMDATA_HAS_DRIVERS(sce->world) && !(ads->filterflag & ADS_FILTER_NOWOR));
- }
- else {
- sceOk= (ANIMDATA_HAS_KEYS(sce) && !(ads->filterflag & ADS_FILTER_NOSCE));
- worOk= ((sce->world) && ANIMDATA_HAS_KEYS(sce->world) && !(ads->filterflag & ADS_FILTER_NOWOR));
- }
+ ANIMDATA_FILTER_CASES(sce,
+ sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);,
+ sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);,
+ sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);)
+ if (sce->world) {
+ ANIMDATA_FILTER_CASES(sce->world,
+ worOk= !(ads->filterflag & ADS_FILTER_NOWOR);,
+ worOk= !(ads->filterflag & ADS_FILTER_NOWOR);,
+ worOk= !(ads->filterflag & ADS_FILTER_NOWOR);)
}
- else {
- sceOk= (ANIMDATA_HAS_KEYS(sce));
- worOk= ((sce->world) && ANIMDATA_HAS_KEYS(sce->world));
- }
/* check if not all bad (i.e. so there is something to show) */
if ( !(!sceOk && !worOk) ) {
@@ -1391,14 +1387,18 @@
}
/* check filters for datatypes */
- if (ads->filterflag & ADS_FILTER_ONLYDRIVERS) {
- actOk= (ANIMDATA_HAS_DRIVERS(ob));
- keyOk= ((key) && ANIMDATA_HAS_DRIVERS(key) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS));
+ /* object */
+ ANIMDATA_FILTER_CASES(ob,
+ actOk= 1;,
+ actOk= 1;,
+ actOk= 1;)
+ if (key) {
+ /* shapekeys */
+ ANIMDATA_FILTER_CASES(key,
+ keyOk= 1;,
+ keyOk= 1;,
+ keyOk= 1;)
}
- else {
- actOk= ANIMDATA_HAS_KEYS(ob);
- keyOk= ((key) && ANIMDATA_HAS_KEYS(key) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS));
- }
/* materials - only for geometric types */
matOk= 0; /* by default, not ok... */
@@ -1412,18 +1412,13 @@
Material *ma= give_current_material(ob, a);
/* if material has relevant animation data, break */
- if (ads->filterflag & ADS_FILTER_ONLYDRIVERS) {
- if (ANIMDATA_HAS_DRIVERS(ma)) {
- matOk= 1;
- break;
- }
- }
- else {
- if (ANIMDATA_HAS_KEYS(ma)) {
- matOk= 1;
- break;
- }
- }
+ ANIMDATA_FILTER_CASES(ma,
+ matOk= 1;,
+ matOk= 1;,
+ matOk= 1;)
+
+ if (matOk)
+ break;
}
}
@@ -1432,19 +1427,19 @@
case OB_CAMERA: /* ------- Camera ------------ */
{
Camera *ca= (Camera *)ob->data;
- if (ads->filterflag & ADS_FILTER_ONLYDRIVERS)
- dataOk= (ANIMDATA_HAS_DRIVERS(ca) && !(ads->filterflag & ADS_FILTER_NOCAM));
- else
- dataOk= (ANIMDATA_HAS_KEYS(ca) && !(ads->filterflag & ADS_FILTER_NOCAM));
+ ANIMDATA_FILTER_CASES(ca,
+ dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);,
+ dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);,
+ dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);)
}
break;
case OB_LAMP: /* ---------- Lamp ----------- */
{
Lamp *la= (Lamp *)ob->data;
- if (ads->filterflag & ADS_FILTER_ONLYDRIVERS)
- dataOk= (ANIMDATA_HAS_DRIVERS(la) && !(ads->filterflag & ADS_FILTER_NOLAM));
- else
- dataOk= (ANIMDATA_HAS_KEYS(la) && !(ads->filterflag & ADS_FILTER_NOLAM));
+ ANIMDATA_FILTER_CASES(la,
+ dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);,
+ dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);,
+ dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);)
}
break;
default: /* --- other --- */
Modified: branches/soc-2009-aligorith/source/blender/editors/space_nla/nla_draw.c
===================================================================
--- branches/soc-2009-aligorith/source/blender/editors/space_nla/nla_draw.c 2009-05-30 10:41:41 UTC (rev 20516)
+++ branches/soc-2009-aligorith/source/blender/editors/space_nla/nla_draw.c 2009-05-30 11:05:29 UTC (rev 20517)
@@ -618,7 +618,7 @@
glBegin(GL_LINES);
glVertex2f((float)NLACHANNEL_NAMEWIDTH-offset-1, y-7);
glVertex2f((float)NLACHANNEL_NAMEWIDTH-offset-1, y+7);
- glVertex2f((float)NLACHANNEL_NAMEWIDTH-1, y-7;
+ glVertex2f((float)NLACHANNEL_NAMEWIDTH-1, y-7);
glVertex2f((float)NLACHANNEL_NAMEWIDTH-1, y+7);
glEnd(); // GL_LINES
More information about the Bf-blender-cvs
mailing list