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
2016-06-01Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_curves.cpp intern/cycles/blender/blender_particles.cpp source/blender/depsgraph/intern/builder/deg_builder_relations.h source/blender/depsgraph/intern/depsgraph_build.cc
2016-05-31Fix T48552: Ctrl-D to add drivers shows disabled menu itemsCampbell Barton
2016-05-29Fix: Flip logic order for autokeying checking to cope with files where the ↵Joshua Leung
flags have been set incorrectly Sometimes the autokeying flags don't get set correctly (i.e. the "mode" flags used for 'Add + Replace' vs 'Replace Only' aren't set), meaning that the old logic would always fall through to the "replace only" case. When this happens, the resulting behaviour can be quite strange and hard to debug. This fix prevents problems like this from continuing to be an issue...
2016-05-28Fix T48529: NLA : viewport not updated after Track muted/unmuted.Bastien Montagne
Not sure why, but ANIM_animdata_update() totally ignored NLAStrip type of bAnimListElem. For now only added support for ANIM_UPDATE_DEPS type of update, don't know whether others are needed in this case or not... time will say.
2016-05-24Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_curves.cpp source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/particle.c source/blender/blenloader/intern/versioning_270.c source/blender/editors/physics/particle_edit.c source/blender/editors/transform/transform_snap_object.c source/blender/editors/util/undo.c source/blender/makesrna/intern/rna_object_force.c
2016-05-14Fix T48426: Use same length for all header message strings.Bastien Montagne
Some languages like Chinese or Japanese take three or four bytes per char... Also fixed some missing translation markers for UI header messages.
2016-05-08Fix: Toggling "lock layer" for GPencil layers in the dopesheet didn't update ↵Joshua Leung
the layers UI
2016-04-28Merge branch 'master' into temp_remove_particlestemp_remove_particlesLukas Tönne
2016-04-23Fix weird wording in driver operator tooltipJulian Eisel
2016-04-20Merge branch 'master' into temp_remove_particlesLukas Tönne
2016-04-16Assorted enum tweaksJoshua Leung
* Knock out "Python" FModifier entry - It really hasn't been coded yet! * Add icon for "Match Indices" driver eyedropper mode. It should help provide a bit more of a hint of what it does, but it also doesn't look quite as nice now.
2016-04-16Removed the ID_PA code used for ParticleSettings.Lukas Tönne
2016-04-15Merge branch 'master' into temp_remove_particlesLukas Tönne
2016-04-15Code Cleanup: Remove unused define left over from earlier versions of this codeJoshua Leung
2016-04-15Remove a leftover from older codeSergey Sharybin
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-15Code Cleanup: Add proper defines (with ANIM_* prefix) for animation-related ↵Joshua Leung
copy-paste buffer free callbacks
2016-04-12Removed all direct uses of BKE_particle.h and DNA_particle_types.h from ↵Lukas Tönne
source/blender/editors.
2016-04-01Fix When using keying sets, the toggling "all items" in the array target ↵Joshua Leung
only goes from the index value down, instead of keying all
2016-04-01Use STRPREFIX macro for testing property nameCampbell Barton
2016-03-31Fix memory leak when calling new driver eyedropperJulian Eisel
Would return OPERATOR_RUNNING_MODAL for non-modal operator.
2016-03-29Driver Mapping Types: Added temporary icons to break up the two types of ↵Joshua Leung
mapping behaviours (modal vs manual)
2016-03-29Drivers Setup: Expose all mapping types for creating driversJoshua Leung
* This includes the "manually create" modes, which correspond to the previous behaviour for setting up drivers. This is necessary when the current screen layout is not well suited to having multiple property editors open (e.g. small screen or heavily subdivided screen). * Only the modes relevant for the current property type (i.e. array vs single) will be shown * The "Add Driver" entries in the RMB context menu have now been replaced by a submenu which will list all the available mapping types. * NOTE: The code for the ANIM_OT_button_driver_add() operator is perhaps a bit hairy. However, it currently allows us to have the desired behaviour. It can always get cleaned up later though.
2016-03-27Cleanup: Silence some compiler warningsSergey Sharybin
2016-03-27Driver Eyedropper: Auto detection/correction magic for rotation propertiesJoshua Leung
When linking a rotation property to a non-rotation property (going in either direction - i.e. rot -> normal, normal -> rot), the driver expression will now be set so that the new drivers behave as expected (i.e. you get the values you see, instead of "weird" values that seem several orders of magnitude off). This may not be that great for everyone (i.e. the rare users out there who actually like to look at their rotations in radians), but they usually know what they're doing anyway, so this will be easy to correct.
2016-03-27Drivers: Add a "none" mode for use when adding driversJoshua Leung
Although it isn't currently exposed, this allows for the old behaviour, where an "empty" driver was added (without any target assigned yet). For this reason, it's also referred to as the "Manual" mode. There are also some attempts at improving the tooltips + names for the other modes (again, not shown anywhere yet)
2016-03-26Driver Setup Workflow Improvement: Property EyedropperJoshua Leung
This commit brings some long requested improvements to the workflow for setting up drivers, which should make it easier and faster to set up new drivers in a more interactive fashion. The new workflow is as follows: 1) Hover over the property (e.g. "Lamp Energy" or "Y Location") or properties ("Rotation") you wish to add drivers to. We'll refer to this as the "destination" 2) Ctrl-D to active the new "Add Drivers" eyedropper 3) Click on the property you want to use as the source/target. The property under the mouse will be used to drive the property you invoked Ctrl-D on. For example, to drive the X, Y, and Z location of the Cube using the Y Location of the Lamp, hover over any of the X/Y/Z location buttons, hit Ctrl-D, then click on the Y-Location button of the Lamp object. Drivers will be added to the X, Y, and Z Location properties of the Cube; each driver will have a single variable, which uses the Y-Location Transform Channel of the Lamp. Tips: - Transform properties will automatically create "Transform Channel" driver variables. Everything else will use "Single Property" ones - Due to the way that Blender's UI Context works, you'll need two Properties Panel instances open (and to have pinned one of the two to show the properties for the unselected object). It's slightly clunky, but necessary for implementing a workflow like this, as the UI cannot be manipulated while using eyedroppers to pick data. - The eyedropper operator implemented here actually has three modes of operation. 1) The "1-N" (one to many) mode is the default used for Ctrl-D, and "Add Driver to All" in the RMB Menu. This is the behaviour described above. 2) There's also a "1-1" (one to one) mode that is used for the "Add Single Driver" in the RMB Menu. 3) Finally, there's the "N-N" mode (many to many), which isn't currently exposed. The point of this is to allow mapping XYZ to XYZ elementwise (i.e. direct copying) which is useful for things like locations, rotations, scaling, and colours. Implementation Notes: - The bulk of the driver adding logic is in editors/animation/drivers.c, where most of the Driver UI operators and tools are defined - The property eyedropper code is in interface_eyedropper.c along with all the other eyedroppers (even though they don't share much actual code in common). However, this turns out to be necessary, as we can't get access to many of the low-level buttons API's otherwise. Todo: - It may be necessary to restore a way to access the old behaviour (i.e. "manual setup") in case it is not practical to immediately pick a property. - Other things to investigate here include extra hotkeys (e.g. Ctrl-Shift-D for Add Single?), and to expose the N-N mode. - Other things we could try include interactively applying scaling factors, picking multiple targets (e.g. for location difference and rotation difference drivers), and/or other ways of using these property picking methods.
2016-03-24Cleanup: use prefix for return argsCampbell Barton
2016-03-24Fix incorrect arg typeCampbell 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-23AnimEditors: Fuzzy/Multi-Word Name FilteringJoshua Leung
Thanks to D1080 by @rockets, I've now been able to easily implement the ability to type multiple word snippets/partial words into the text filter field (in the Animation Editors), and have it filter the channels which contain just some of those parts (instead of having to match everything). For example, the following search strings will now work: * "loc rot" or "lo ro" will now filter all location and rotation FCurves * "col loc" will filter all location and color FCurves * "scale" will also work as before to filter all scale FCurves But, the following will not work: * "lc rt" will NOT filter all location and rotation, as the fuzzy search only breaks down the search string based on whitespace placement By default, this is not enabled when using name filtering (i.e. magnifying glass is checked, and some filtering text is specified). Instead, you need to enable the "AZ" toggle beside the name field. This fuzzy matching is not enabled by default as it could end up being quite a bit slower on really heavy scenes. (There are probably some optimisation opportunities, but that's only a future option if someone really needs it)
2016-03-13Fixed some type mismatch errors, missed earlierJoshua Leung
(CMake MSVC's output makes it really difficult to spot errors when they occur!)
2016-03-13Keyframing: Added ToolSetting for choosing default keyframe typeJoshua Leung
To make it easier for animators working in a multipass pose-to-pose workflow when inserting breakdown keyframes and so forth, it is now possible to specify the "type" of keyframe being created (i.e. the colour of the keyframe, when drawn in the Dope Sheet). Usage: 1) Choose the type of keyframe ("Keyframe", "Breakdown", "Extreme", etc.) from the new dropdown located between the AutoKeying and KeyingSet widgets on the timeline header. 2) Insert keyframes 3) Rejoyce that your newly created keyframes have now been coloured for you already in the DopeSheet. Todo: * Look into a way of using the actual keyframe colours (from the theme) for the icons of these types.
2016-03-07Fix T47706: 'CTRL ALT Left Mouse' clicking on the dope sheet summary line ↵Julian Eisel
crashes Blender Simple NULL-check seems fine here, working as it should now. Most likely caused by rBc4dc14b079d81.
2016-02-26Code Cleanup - Fix commentsJoshua Leung
2016-02-20Fix T47492: Name is not displayed for newly renamed FCurve, when the path ↵Joshua Leung
was broken Thanks Alexander Romanov (a.romanov) for the fix!
2016-02-08Fix: ANIM_animdata_update() was not handling post-edit updates on GP channelsJoshua Leung
This may have resulted in situations where the order of GP keyframes was incorrect (leading to some frames not being able to be found), or in some redraw problems when trying to delete GP keyframes (that I was getting earlier, but can't seem to reproduce now) TODO: We now need to hook up a proper api to do the GP key sorting
2016-02-08Fix: "Speaker" Icon for "Muting" in GPencil Dopesheet mode was confusing and ↵Joshua Leung
used incorrectly In the other Dopesheet modes, the "Speaker" icon was used to refer to "animation playback muting", while for GP layers, this was being incorrectly abused for "layer visibility in viewport". This commit fixes that by making the following changes: * A new "eye" icon toggle is added for controlling GP Layer visibility * The "speaker" icon toggle now controls "Lock Frame to Current" functionality, which functions more like the "animation playback muting" that is generally expected.
2016-02-05Fix T45915: Cannot select keyframes in summary channels in Dope Sheet in ↵Joshua Leung
TweakMode When in TweakMode on NLA strips that had an offset, it was not possible to select those keyframes in the Summary Channel in the Dope Sheet. The main gist of it is that the current code is from before the summary track was introduced, and so could assume that ANIM_nla_mapping_get() would work for all channels present. Thus, simply converting the clicked frame to nla-mapped time once would be enough. However, for summary channels, nla-mapping_get() doesn't do anything, since we can potentially include keyframes from several different objects!
2016-02-05Fix T46037: Moving keys in NLA tweak mode on offset actions results in ↵Joshua Leung
Bezier handles getting stretched unreasonably Patch by Alexander Gavrilov (angavrilov) Reviewed by Joshua Leung (aligorith)
2016-01-27Fix clear keyframes op not reporting when called over a locked fcurve.Bastien Montagne
Debug print here is not that useful to common user, and keyframe deletion does report warning, so do the same for clear op. Reported by venomgfx over IRC, thanks.
2016-01-23OpenGL: call glLineWidth less oftenMike Erwin
Each LINES draw call is now responsible for its own line width. No need to set it back to its 1.0 default after every draw. This eliminates half our calls to glLineWidth , similar to last week’s work on glPointSize.
2016-01-22OpenGL: cleanupMike Erwin
- LINE_STRIP to LINES when only drawing one - group state changes for easier reading - general cleanup
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-12-14Fix: NLA Mapping should not apply to keyframes of Driver FCUrvesJoshua Leung
2015-12-13Grease Pencil: Merge GPencil_Editing_Stage3 branch into masterJoshua Leung
This commit merges all the work done in the GPencil_Editing_Stage3 branch as of ef2aecf2db981b5344e0d14e7f074f1742b0b2f7 into master. For more details about the changes that this brings, see the WIP release notes: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.77/GPencil
2015-11-23Cleanup: use `rna_enum_` prefix for RNA enumsCampbell Barton
Definitions could shadow local vars.
2015-11-21Fix/Request T46798: Alt+I removes keyframes from all bones, not only ↵Joshua Leung
selected in Pose Mode Technically this was more of a feature request, but now the Alt-I operator will only remove keyframes related to selected bones in Pose Mode. In Object Mode, it will continue to operate on all keyframes of the object. This change makes this operator more meaningful when animating in the 3D view.
2015-10-26Graph Editor: Snap and Mirror keyframes now respect Cursor X in Drivers modeJoshua Leung
When using the "Current Frame" options for these operators, the Cursor X value will now be used instead of the current frame. Perhaps the labels could be changed too, but for now, I guess this will be good enough.