Revision: 18694 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18694 Author: aligorith Date: 2009-01-27 12:31:30 +0100 (Tue, 27 Jan 2009)
Log Message: ----------- Animato - Bugfixes + More conversion code * BorderSelect in Graph Editor now works. Was a silly 1 char missing typo. * Added conversion code for lamps and hooked up code for constraints. Modified Paths: -------------- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c =================================================================== --- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-01-27 11:14:02 UTC (rev 18693) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-01-27 11:31:30 UTC (rev 18694) @@ -263,6 +263,8 @@ case CO_HEADTAIL: // XXX this needs to be wrapped in RNA.. probably then this path will be invalid return "data.head_tail"; } + + return NULL; } /* ShapeKey types @@ -497,6 +499,71 @@ return NULL; } +/* Lamp Types */ +static char *lamp_adrcodes_to_paths (int adrcode, int *array_index) +{ + /* set array index like this in-case nothing sets it correctly */ + *array_index= 0; + + /* result depends on adrcode */ + switch (adrcode) { + case LA_ENERGY: + return "energy"; + + case LA_COL_R: + *array_index= 0; return "color"; + case LA_COL_G: + *array_index= 1; return "color"; + case LA_COL_B: + *array_index= 2; return "color"; + + case LA_DIST: + return "distance"; + + case LA_SPOTSI: + return "spot_size"; + case LA_SPOTBL: + return "spot_blend"; + + case LA_QUAD1: + return "linear_attenuation"; + case LA_QUAD2: + return "quadratic_attenuation"; + + case LA_HALOINT: + return "halo_intensity"; + } + +#if 0 // XXX to be converted + if (poin == NULL) { + if (icu->adrcode & MA_MAP1) mtex= la->mtex[0]; + else if (icu->adrcode & MA_MAP2) mtex= la->mtex[1]; + else if (icu->adrcode & MA_MAP3) mtex= la->mtex[2]; + else if (icu->adrcode & MA_MAP4) mtex= la->mtex[3]; + else if (icu->adrcode & MA_MAP5) mtex= la->mtex[4]; + else if (icu->adrcode & MA_MAP6) mtex= la->mtex[5]; + else if (icu->adrcode & MA_MAP7) mtex= la->mtex[6]; + else if (icu->adrcode & MA_MAP8) mtex= la->mtex[7]; + else if (icu->adrcode & MA_MAP9) mtex= la->mtex[8]; + else if (icu->adrcode & MA_MAP10) mtex= la->mtex[9]; + else if (icu->adrcode & MA_MAP11) mtex= la->mtex[10]; + else if (icu->adrcode & MA_MAP12) mtex= la->mtex[11]; + else if (icu->adrcode & MA_MAP13) mtex= la->mtex[12]; + else if (icu->adrcode & MA_MAP14) mtex= la->mtex[13]; + else if (icu->adrcode & MA_MAP15) mtex= la->mtex[14]; + else if (icu->adrcode & MA_MAP16) mtex= la->mtex[15]; + else if (icu->adrcode & MA_MAP17) mtex= la->mtex[16]; + else if (icu->adrcode & MA_MAP18) mtex= la->mtex[17]; + + if (mtex) + poin= give_mtex_poin(mtex, (icu->adrcode & (MA_MAP1-1))); + } +#endif // XXX to be converted + + /* unrecognised adrcode, or not-yet-handled ones! */ + return NULL; +} + /* ------- */ /* Allocate memory for RNA-path for some property given a blocktype, adrcode, and 'root' parts of path @@ -528,6 +595,10 @@ propname= shapekey_adrcodes_to_paths(adrcode, &dummy_index); break; + case ID_CO: /* constraint */ + propname= constraint_adrcodes_to_paths(adrcode, &dummy_index); + break; + case ID_TE: /* texture */ propname= texture_adrcodes_to_paths(adrcode, &dummy_index); break; @@ -540,6 +611,10 @@ propname= camera_adrcodes_to_paths(adrcode, &dummy_index); break; + case ID_LA: /* lamp */ + propname= lamp_adrcodes_to_paths(adrcode, &dummy_index); + break; + /* XXX problematic blocktypes */ case ID_CU: /* curve */ propname= "speed"; // XXX this was a 'dummy curve' that didn't really correspond to any real var... @@ -1144,6 +1219,24 @@ } } + /* lamps */ + for (id= main->lamp.first; id; id= id->next) { + Lamp *la= (Lamp *)id; + + printf("\tconverting lamp %s \n", id->name+2); + + /* we're only interest in the IPO */ + if (la->ipo) { + /* Add AnimData block */ + adt= BKE_id_add_animdata(id); + + /* Convert Lamp data... */ + ipo_to_animdata(id, la->ipo, NULL, NULL); + la->ipo->id.us--; + la->ipo= NULL; + } + } + // XXX add other types too... printf("INFO: animato convert done \n"); // xxx debug @@ -1296,58 +1389,6 @@ } } break; - case ID_LA: /* lamp channels ----------------------------- */ - { - Lamp *la= (Lamp *)id; - - switch (icu->adrcode) { - case LA_ENERGY: - poin= &(la->energy); break; - case LA_COL_R: - poin= &(la->r); break; - case LA_COL_G: - poin= &(la->g); break; - case LA_COL_B: - poin= &(la->b); break; - case LA_DIST: - poin= &(la->dist); break; - case LA_SPOTSI: - poin= &(la->spotsize); break; - case LA_SPOTBL: - poin= &(la->spotblend); break; - case LA_QUAD1: - poin= &(la->att1); break; - case LA_QUAD2: - poin= &(la->att2); break; - case LA_HALOINT: - poin= &(la->haint); break; - } - - if (poin == NULL) { - if (icu->adrcode & MA_MAP1) mtex= la->mtex[0]; - else if (icu->adrcode & MA_MAP2) mtex= la->mtex[1]; - else if (icu->adrcode & MA_MAP3) mtex= la->mtex[2]; - else if (icu->adrcode & MA_MAP4) mtex= la->mtex[3]; - else if (icu->adrcode & MA_MAP5) mtex= la->mtex[4]; - else if (icu->adrcode & MA_MAP6) mtex= la->mtex[5]; - else if (icu->adrcode & MA_MAP7) mtex= la->mtex[6]; - else if (icu->adrcode & MA_MAP8) mtex= la->mtex[7]; - else if (icu->adrcode & MA_MAP9) mtex= la->mtex[8]; - else if (icu->adrcode & MA_MAP10) mtex= la->mtex[9]; - else if (icu->adrcode & MA_MAP11) mtex= la->mtex[10]; - else if (icu->adrcode & MA_MAP12) mtex= la->mtex[11]; - else if (icu->adrcode & MA_MAP13) mtex= la->mtex[12]; - else if (icu->adrcode & MA_MAP14) mtex= la->mtex[13]; - else if (icu->adrcode & MA_MAP15) mtex= la->mtex[14]; - else if (icu->adrcode & MA_MAP16) mtex= la->mtex[15]; - else if (icu->adrcode & MA_MAP17) mtex= la->mtex[16]; - else if (icu->adrcode & MA_MAP18) mtex= la->mtex[17]; - - if (mtex) - poin= give_mtex_poin(mtex, (icu->adrcode & (MA_MAP1-1))); - } - } - break; case ID_SO: /* sound channels ----------------------------- */ { bSound *snd= (bSound *)id; Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c 2009-01-27 11:14:02 UTC (rev 18693) +++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c 2009-01-27 11:31:30 UTC (rev 18694) @@ -219,7 +219,7 @@ /* init editing data */ memset(&bed, 0, sizeof(BeztEditData)); - bed.data= ▭ + bed.data= &rectf; /* loop over data, doing border select */ for (ale= anim_data.first; ale; ale= ale->next) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs