Age | Commit message (Collapse) | Author |
|
Small fixes for animsys:
- Blender 2.4x allowed drivers to exist without object target, these
got converted resulting in error prints. Now they get skipped.
- Animdata struct was not created for objects with poses, but without
action/nla linked.
- An action-channel-constraint-ipo gets inserted in drivers differently
than a pose-bone-constraint-ipo. Not sure yet how... but it makes a
different depsgraph relation.
Error is of course in depsgraph, that'll get tackled. For correct
driver eval I've made 'object update ob' also been called for
the 'object update data' tag.
|
|
Assorted smaller fixes:
- Fix: modal keymaps for editmode in view3d were not set again
when you copy areas or go fullscreen.
- Improved "redo last op" (F6) to search back in history for
a redoable operator. Operator also used wrong pupmenu type.
- On creating new FCurve editor, the channel rainbow colors are
set correct.
- EditMesh: fixed code for Spin/Screw, correct props, init and
error reporting. (Spin hotkey ALT+R temporary)
- recompiled all to check for uninitialized variable warnings.
(compile flag should be -O for this). Fixed some proto's.
|
|
Cleanup of saving code for Image window.
Little extra: added poll() check for buttons, greying out inactive
menu items or buttons. You can see it work in Image menu.
(Item 'save image' is grey when it wasn't saved, then you have to
use the 'save as' item).
Carefully designing poll checks is worth a trial once. :)
Do note that cpu time for polls should be totally minimal.
|
|
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
|
|
Fix for the 'repeat last operator' option. It didn't work yet well
outside editmode. Now undo/redo has to fully keep the UI alive,
even when called from within a running popup.
Another fix: when regions collapse/hide they were not effectively
disabled, still accepting events. (like Nkey in 3d window).
|
|
Added RNA wrapping for F-Curve colour settings
|
|
Outliner
* Cleaned up the helper functions for the Outliner operators which deal with Keying Sets
* Fixed a few minor bugs in the Keying Sets API that won't show up with the current tools, but may crop up later
* Added a new method to find a 'matching' path in a Keying Set. Now adding a new path to a Keying Set will firstly check if there is any similar path already, and skip adding another path.
|
|
* Removed unnecessary define for context loop (editable posechannels)
* Fixed crash in animation-channel filtering - missing check for no world animation.
|
|
irrelevant) for bones and pose-channels.
I'm not totally sure that these are needed, though it does make some tools simpler.
|
|
feature restored: window title shows file name,
if saved/loaded.
|
|
* The settings of KeyingSets can now be viewed/modified through RNA.
* Shuffled RNA wrapping for AnimData over to its own file
* Moved insert-key flags to DNA_anim_types.h, as they're now used for KeyingSets.
|
|
|
|
* Hide, Reveal
* Separate, Duplicate, Delete
* Set Weight, Set Radius, Set Spline Type, Set Handle Type, Set Smooth
* Tilt, Clear Tilt
* Smooth, Smooth Radius
* De(select) First, De(select) Last, De(select) All, Select Inverse,
Select Linked, Select Control Point Row, Select Next, Select Previous,
Select More, Select Less, Select Random, Select Every Nth
* Switch Direction, Subdivide, Make Segment, Spin, Extrude, Toggle Cyclic
* Specials Menu
Not working correct yet:
* Add Vertex (ctrl click)
* Add Menu
|
|
To use KeyingSets, simply Outliner-select items in the Datablocks view and press K to add to the active KeyingSet. Then keyframes can be inserted by choosing the 'Active Keying Set' option when inserting keyframes.
Important notes on the current implementation:
* Only properties directly inside some ID-block that is close to the root (i.e. main -> objects -> "someobj" -> location, or main -> materials -> "somemat" -> colour) can be accessed for now, as I haven't got the code for building the inner-parts of the paths working yet. Help on getting this working is welcome (hint to Brecht).
* Properties that can be safely included include simple properties "object -> Dupli Verts", entire arrays "object -> Location" or individual array elements "object -> Location -> y"
---
Also added typo fix for KeyingSet freeing. It was freeing the KeyingSet instead of it's paths.
|
|
Smaller jobs, all in one commit!
- Moved object_do_update out of view3d drawing, into
the event system (currently after notifiers).
Depsgraph calls for setting update flags will have to
keep track of each Screen's needs, so a UI showing only
a Sequencer doesn't do objects.
- Added button in "Properties region" in 3D window to set
or disable 4-split, including the 3 options it has.
(lock, box, clip)
- Restored legacy code for UI, to make things work like
bone rename, autocomplete.
- Node editor now shows Curves widgets again
- Bugfix: composite job increased Viewer user id count
- Bugfix: Node editor, not "Enable nodes" still called
a Job, which didn't do anything
- Various code cleaning, unused vars and prototypes.
|
|
When fully implemented, these will be the clearest demonstration of 'Everything is Animateable', as they will allow users to define an arbitary group of settings through selecting items in the Datablocks (RNA-Viewer) View of the Outliner to define custom 'sets'. Such Keying Sets are known as the 'absolute' ones, which are created for a custom purpose.
Of course, 'builtin' Keying Sets will still be provided. Such built-in ones will not work on any particular paths, but will use context info to maintain the legacy method of inserting keyframes (via IKEY menu).
Currently, KeyingSets cannot be created/edited through the UI, though the backend code is in place to do this.
|
|
('Ctrl Alt P')
|
|
clean out some other day).
|
|
- Added depsgraph tag for object-change in AnimData, so the
new animsys doesn't have to all objects anymore.
(Still WIP, depsgraph has to do this much better)
- Bugfix in notifiers; only 1 notifier was handled for
frame updates
Result: 2 windows, displaying 2 scenes, now can be edited
independently, and play independent. Not when they share
data, of course. :)
|
|
* Deleting keyframes should be safer now
* Graph Editor no longer crashes on F-Curves with no keyframes/samples
* Silenced console prints that occurred when an F-Curve had now keyframes.
|
|
When inserting keyframes on previous un-animated Objects/bones, F-Curves will be added into Action Groups into either "Object Transform" or <PoseChannel Name>. Ob->Material settings are not grouped for now to illustrate what's possible.
Old files are currently not patched to use do this, as it's still not clear whether this will be ideal.
|
|
Fixed memory leaks when closing Blender without exiting Armature EditMode first.
Ton/Brecht - mesh editmode (and a few others I think) are still leaking in this case.
|
|
Added a few Material->Mode bitflag conversions as an example for Roland to extend to the remaining settings. There are currently still quite a few settings missing from RNA to be able to convert all of these.
|
|
Bugfix in ctx itterator: CTX_DATA_COUNT() didn't free memory.
|
|
operator and menu items for brush curve presets.
|
|
particle adr codes, but I have to wrap particle dna first. Ugh.
|
|
Node editor:
- Linking sockets back.
- Removed obsolete code
- Add node gives correct pointers for Render stuff
|
|
Safe method to move render results to the displayed image.
It now allocates a single image for display, and on each
refresh callback from render, it copies the refreshed
section over to this image, in 32 bits. While rendering
that image then only shows progress updates, as usual.
This also now works for scenes in composte and results
for composite.
This should solve reported crashes for MBlur or SSS.
|
|
* Fixed context iterators for PoseChannels. The actual selection test was missing (but layer visibility was getting checked). Also added check for hidden bones here too.
* Removed unnecessary defines added by mfoxdogg in BKE_context.h
* Removed the old hacks in 'Clear ...' operators for ensuring that object animation (ipos/actions) don't overwrite poses. These are no longer necessary, since normal animation calculation is only done in a separate step on frame-changes now.
* Removed the manual checks for layer visibility from 'Clear ...' operators, since that's taken care of by context iterators.
|
|
*******
-ported clear loc,rot,scale operators to pose mode operators
- for some reason when animated and you clear anything, the whole aramture clears. somthing to do with the depsgraph stuff that was directly ported from clear armature()
|
|
* Added selected, selected+editable, and active to access EditBones for Armature Operators to use. These take into account X-Axis Mirror too, so there is really no need to check that sort of thing anymore in tools.
* Added a quick testing operator for verifying that these loops filter the data correctly. I've dumped this in armature_ops.c for now. It can be activated using the TKEY hotkey in Armature EditMode only. This should be removed once we have a few more functional tools.
* Ported over cleaned up roll-calculation tools from AnimSys2
* Removed a few ugly stubs from posemode code
|
|
* Removed RNA for old multires in Mesh, the old mesh->mr struct should never be used (except for loading old files)
* Dealt with sculpt + render (just needed to force multires update)
* sculpt memory leaks fixed
* Entering editmode now always exits paint modes (previously, only happened if editmode was called from the header button)
|
|
* Added examples of how to patch up MTex adrcodes for Animato. It appears many of the settings there in RNA are still undefined though!
* Added undo push for the Outliner tweaks I made
* Removed some outdated comment
|
|
* Outliner 'select' (i.e. blue/grey highlights for tree items) works again in both normal Outliner + RNA views.
* Fixed bugs/MSVC warnings in animation code
|
|
* RNA_blender.h is now generated along with the other files. It is not
used anywhere yet, and still located quite hidden next to the other
rna_*_gen.c files. Read only access for now.
* Inherited properties are not copied from the base anymore but
iterated over. Patch by Vekoon, thanks!
* Array get/set callbacks now do the whole array instead of getting an
index. This is needed for some layers for example so python can set
the array as a whole, otherwise the check that one layer has to be
enabled at all times gets in the way. Also nicer for the C API.
* Also some changes to returning pointers to make the API cleaner, got
rid of the type() callback and instead let get() return PointerRNA
with the type included.
The C API looks like this currently:
http://users.pandora.be/blendix/RNA_blender.h
|
|
It's about time that the RNA wrapping for various parts of the animation system were cleaned up for my recent changes. I've moved some code around (and/or deleted a file or two) in the process.
|
|
Edit Mesh:
- Added back "Edge Shortest Path select"
It now also does regular selection, more fun!
It's mapped to CTRL+click now, and makes or clears selections
between current and previously activated edge.
Seam/Sharp/etc marking is a toolsetting mode still. These
options cannot become properties easily, because the tool
uses the properties of selected edge to clear...
- Removed a whole bunch of G.f flags, related to mesh drawing.
It's all now local in me->drawflags. Here's the list of
removed old globals:
G_DRAWEDGES
G_DRAWFACES
G_DRAWNORMALS
G_DRAW_VNORMALS
G_ALLEDGES
G_HIDDENEDGES
G_DRAWCREASES
G_DRAWSEAMS
G_DRAWSHARP
G_DRAWBWEIGHTS
G_DRAW_EDGELEN
G_DRAW_FACEAREA
G_DRAW_EDGEANG
|
|
- Made standard border operator calls bail out on zero sized borders
- Fixed compile warning in call to BKE_animsys_evaluate_animdata()
|
|
- sequencer border zoom (Shift+B) or from the header.
- added includes for blender.c and outliner.c
- editfont.c got rid of warning
|
|
use of function pointers in the context callbacks. Apparently
MSVC decides that some of these functions are the same and
makes them into a single function with the same address. I
couldn't figure out if this was a compiler bug or according
to the C spec. Regardless, that means this method can't be
used, so now it uses separate CTX_DATA_DEFINES.
|
|
Animsys: added integrated copy of animdata in copy_libblock().
-> by default animdata-copy should relink ID data like Action,
and put a facility to really duplicate it in other code.
(single_user_animdata or so)
|
|
* Drivers view in Graph Editor now displays drivers only, instead of displaying normal Animation data.
* 'Materials' channel is now only shown under an Object when there are Materials with animation data...
* Hid more debug prints behind debug flag. These should be removed...
|
|
many slowdowns on complex rigs with Action Constraints. Many of these prints should eventually be removed, though some of them will still be useful.
|
|
Constraints are in fact working now (I was probably testing old code last night).
|
|
Currently this still works really badly, but I'm not sure of the exact cause yet.
|
|
|
|
Only object layers have been done for now. The implementation of this should provide a good indicator for how this should be done. Unforunately, the code for animating layer visibility is not that straightforward, since scene->base->layer (not set) settings need to be synchronised with the object->layer (set by Animato) settings.
|
|
faces/verts)
* Means that full object recalc isn't done, so multires works more as expected now
* Moved mesh element cache back to sculpt session (from sculpt cache), really makes more sense there
|
|
* Recoded the conversion code so that all data gets converted. Previously, some IPO's and Actions (notably the ones used for Action Constraints) were not ported across.
* Made F-Curve drawing use more saturated colours to make them more visible. I'm not sure whether this works well in practice.
* Restored some horizontal bounding-box checks to optimise drawing.
|
|
* Automatic shortcut keys in menus now compare operator properties as well.
Implemented IDP_EqualsProperties for this.
* I imagine all these compares may be a bit slow, for this case it's not
so bad though because it only happens for one menu when it is opened.
|