Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-26Building w/o Python works againCampbell Barton
2017-06-14Make whole ID copying code use const source pointer.Bastien Montagne
Noisy change, but safe, and better do it sooner than later if we are to rework copying code. Also, previous commit shows this *is* useful to catch some mistakes.
2017-03-11Cleanup: code style & cmakeCampbell Barton
2017-03-11Add support for Objects in Drive variable `Rotational Difference`Germano Cavalcante
Thus it is according to the Manual https://docs.blender.org/manual/en/dev/animation/drivers/drivers_panel.html#driver-variables
2017-01-16Cleanup/refactor: Add new BLI_string_util.Bastien Montagne
Things like `BLI_uniquename` had nothing, but really nothing to do in BLI_path_util files! Also, got rid of length limitation in `BLI_uniquename_cb`, we can use alloca here to avoid overhead of malloc while keeping free size (within reasonable limits of course).
2016-07-30Py-Driver: add 'self' optionCampbell Barton
Drivers can use this to refer to the data which the driver is applied to, useful for objects, bones, to avoid having to create a variable pointing to its self.
2016-06-03Fix T48234: Glitch w/ action constraints sharing an actionCampbell Barton
FCurve evaluation depended on FCurve.curval, which isn't threadsafe. Now only use this value for debug display, and pass the value instead of storing in the FCurve for all but debug-display.
2016-04-15Drivers Editing: Added "Copy/Paste" buttons beside "Add Variable" for ↵Joshua Leung
copying all variables from one driver to another This was a feature request from a few years back (IIRC from ZanQdo?) to make it easier to reuse one set of driver variables across several different drivers. Dev Notes: * Finally it's done! All that trouble for two little buttons. * Grr... cmake... grrr!
2016-04-05PyDriver support for all RNA property typesCampbell Barton
Support for driver variables that don't resolve to numbers, eg: objects, bones, curves... etc. Without this, Python expressions to access this data needed to use an absolute path from `bpy.data`, however this is inconvenient, breaks easily (based on naming) and wouldn't set the dependencies correctly.
2016-04-01Generic check for string being a Py keywordCampbell Barton
Driver code used incomplete list of Py keywords
2016-03-26Driver Variable Name Validation: Added missing check for zero-length (i.e. ↵Joshua Leung
"blank") names
2016-03-24Cleanup: use prefix for return argsCampbell Barton
2016-03-24Driver Keyframing: Some tweaks to make inserting keyframes on Driver ↵Joshua Leung
F-Curves easier Now, when trying to insert a keyframe on a driven property (using IKEY, or with autokeying enabled), the keyframes will get created on the Driver's F-Curve (instead of creating a new FCurve that goes into the active action, but will never do anything). Furthermore, the x-value of the new keyframe will be the current result of the driver expression. Why/Motivations: This way, it becomes easier to create corrective drivers, as you can position all the targets the driver depends on, then adjust the driver value until it does what you need, and then you keyframe that value to bake it into the Driver F-Curve (in effect, "training" the computer how to behave in that case). Usage Notes: * In practice, that particular workflow is still quite clunky to achieve, due to some quirks of how the driver system and the UI widgets interact. Specifically, you'll need to disable/mute the driver before trying to edit the setting (to prevent the driver from immediately resetting the value - before even autokey fires!). However, if you're using the Graph Editor to preview/monitor/manage the keying process, you'll then want to re-enable the driver before changing the targets, so that you can see how much of a change you'll want to be applying! * The warning about editing driver values may need to be disabled or selectively knocked out. I had it disabled while testing this functionality, but it's actually harmless in its current state (if just a bit annoying).
2016-03-24Fix dodgy indentationJoshua Leung
2016-03-24Drivers UI: Added name validation/linting for Driver VariablesJoshua Leung
When attempting to change a driver variable name to an "invalid" name, an indicator will now be shown beside the offending variable name. Clicking on this icon will show a popup which provides more information about why the variable name cannot be used. Reasons that it knows about are: 1) Starts with number 2) Has a dot 3) Has a space 4) Starts with or contains a special character 5) Starts with an underscore (Python does allow this, but it's bad practice, and makes checking security of drivers harder) 6) Is a reserved Python keyword
2015-11-14Fix T46701: Sampled FCurve looks jagged when FModifiers (doing nothing) are ↵Joshua Leung
present This was caused by interpolation between samples being performed incorrectly (i.e. wrong order of arguments) when sampling more than once per frame.
2015-10-23BLI_math: add invert_qt_normalizedCampbell Barton
When the quat is known to be unit length, so we can avoid scaling (just conjugate_qt which asserts on non unit quats).
2015-08-21Fix T45864: Wrong NLA Control Curves keyed when using the Graph Editor slidersJoshua Leung
This commit simplifies the logic for finding the control curves for NLA strips, thus eliminating a whole bunch of weird errors that were happening here. It should also fix a number of other related issues here.
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-07-09Curve selection, de-duplicate & cleanupCampbell Barton
2015-07-02Fix: Keyframe indicators for NLA Strip properties fails if the AnimData has ↵Joshua Leung
an active action
2015-07-01Cleanup: use swap math funcsCampbell Barton
2015-05-19Building without Python works againCampbell Barton
2015-05-18Attempt to make drivers more safe for threadingSergey Sharybin
There were some reported data race conditions in the python interpreter which seems to be rather valid. Surely this is not very pretty solution, but it might solve some annoying bugs related on threading.
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-28Fix for various small issues which may cause crashesJoshua Leung
2015-03-28Keyframes on NLA-Strip F-Curves are detected by RNA buttons tooJoshua Leung
2015-03-28Code Cleanup / Preemptive Bug Fixing: "action" parameter may get set when it ↵Joshua Leung
shouldn't be Logically, it makes sense that this parameter only gets used to describe the action that the F-Curve actually belongs to (if it belongs to one). Otherwise, it should not be set at all.
2015-02-20Fix for unlikely NULL pointer dereferenceCampbell Barton
Potential crash reading freestyle modifiers from future blend-files
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-16FCurve RNA API: add funcs to convert to samples/to keyframes.Bastien Montagne
So far, we had an operator to 'bake' keyframe curves into samples, but no way to make the fcurve editable again (i.e. to convert it back into a keyframes one). Needed to fix mocap addon (see T43259). Also, fixed a glitch in `fcurve_store_samples()`, since given end frame is included in range, it is valid to give same start and end frame (in case you want a single point in samples, not much practical cases, but...).
2015-01-11Fix T43204: Shrinkwrap constraint, project mode: Space ignored in bone case.Bastien Montagne
Own fault in rBb154aa8c060a60d to fix T42447... Reverted that commit, and added kind of not-so-nice hack instead. Note root of the issue comes from the special case we are doing here re 'Local' space of parent-less objects. In that case, local space should be the same as world one, but instead we apply the object rotation to it... This is inconsistent with all other cases and could very well lead to other issues as T42447, but afraid fixing that properly would be rather hairy - not to mention it would likely break all existing riggings etc. :( Should be safe for a 2.73a, shall we need it.
2014-12-01Cleanup: more int->bool.Bastien Montagne
2014-11-24SCons: correct include for win, also minor cleanupCampbell Barton
2014-11-16[T40372] FCurve Eval/Drawing Optimisation: Skip Bezier handle eval when all ↵Joshua Leung
handles are flat Small optimisation (which shouldn't have much of an effect) where we skip complex handle calculations if all the handles/verts for a Bezier curve segment are all flat. Patch by Campbell (T40372 -> F91346)
2014-11-16Bugfix T41525: Button keyframe indicators don't work correctly when editing ↵Joshua Leung
NLA Strips When the active action is a NLA strip, the keyframe indicator colors for buttons and the 3D view indicator (i.e. the current frame indicator changes color) didn't work correctly. This was because they were still checking for keyframes in "global" time space, whereas they needed to be applying NLA corrections to "look inside" the remapped action.
2014-10-06Fix Cycles crashing with previous own commit.Bastien Montagne
Behavior with NULL context was wrong.
2014-10-06Fix T40350: Some texture prop did not have visual feedback they were driven.Bastien Montagne
This is only a (hacky) partial fix, actually, since `RNA_property_animated()` will still not work in those cases... Better that than nothing, though. Thanks to Campbell for review.
2014-07-30Bugfix T41240: Home key doesn't show everything on F-CurvesJoshua Leung
Own copy and paste typo in 73d157e meant that this was not in some cases, the bounds calculated may be incorrect.
2014-07-20Bugfix T41042: Irrelevant Bezier handles still affect Graph Editor Show AllJoshua Leung
The "Show All" and "Show Selected" operators in the Graph Editor was taking into account all handles on keyframes, even when some of those would be invalid and/or set to nonsense values (e.g. for any interpolation mode other than "Bezier")
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-06-13Code cleanup: remove redundant arg from ARRAY_LAST_ITEMCampbell Barton
2014-06-11Regression Bugfix T40332: Bad driver behaviour on small distances.Joshua Leung
!!! ANIMATORS/RIGGERS PLEASE TEST !!! I've reduced the size of the threshold for the keyframe lookup here. This threshold determines the minimum time in frames between keyframes (i.e. "how close" to each other they can get). Making this too small causes problems like T39207, but it seems that the threshold we've been using makes it impossible to get accurate behaviour on driver curves with keyframes, when the driver target only moves 2cm (i.e. 0.02 BU). So far, all of the test cases from T39207 seem to work fine, as well as Caminandes 2 files, and Kenny the Caterpillar. The Kiribati rigs/shots (thanks jpbouza for helping to check on these!) also seem to be fine.
2014-04-28f-curve easing: Adjustments to Robert Penner elastic easingCampbell Barton
Compensate for the clamped amplitude by blending the elastic effect. Allows for a subtle elastic effect which wasn't possible before.
2014-04-28"Auto" option for Keyframe.easingJoshua Leung
This option (alongside the Ease In/Out/InOut options already available) aims to make it easier to get an initial curve that looks closer to the one you were expecting, by automatically picking whether Ease In or Ease Out should be used based on the type of interpolation being used for the curve segment in question. Notes: * The types chosen may need some adjustments (e.g. using ease in-out instead of just ease in) * This does break compatability with files saved in previous dev builds, but only if you were using Bounce/Elastic/Back with "Ease In"
2014-04-19Math Lib: add shell_v3v3_normalized_to_dist and v2 versionCampbell Barton
bypass angle calculation to avoids (asin, sqrt, cos).
2014-04-15Move binary-search threshold used for FCurves to BKE_fcurve.h headerJoshua Leung
Since this is now pretty much the de-facto "minimum distance between keyframes", we might as well expose this in this header so that other places which need similar thresholds can perform similar checks (needed for my next commit)
2014-04-11Code cleanup: use boolCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-31Fix T39291: "Stepped" F-curve modifier does not work as expected when ↵Joshua Leung
stacked after other modifiers Evaluation of time-warping modifiers ("Stepped" is one of them) didn't actually end up distorting the time to look up what values other modifiers in the stack generate. This meant that when a "stepped" fmodifier was on top of a "generator", the stepped fmodifier looked like it didn't have any effect. (This fix requires a bit of testing still, so should be left for 2.71)