Commit Graph

11497 Commits

Author SHA1 Message Date
f33309b028 2.5
- 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. :)
2009-02-09 15:50:09 +00:00
c58d336a33 Keyframe-related bugfixes:
* 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.
2009-02-09 11:05:34 +00:00
59736af8fc Animato: Added 'experimental' grouping schemes for F-Curves
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.
2009-02-09 10:04:11 +00:00
0139d9d121 2.5
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.
2009-02-09 01:33:50 +00:00
1e3a23ee0c merge with 2.5 at r18865 2009-02-08 14:25:04 +00:00
f22bacee3b forgot that you can't simply grow an array by one, when your rotating your indexes. 2009-02-08 12:41:13 +00:00
fa8d5608dc Animato Conversions:
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.
2009-02-08 11:28:20 +00:00
d21a4780da 2.5
Bugfix in ctx itterator: CTX_DATA_COUNT() didn't free memory.
2009-02-07 13:39:54 +00:00
86f200a510 Started converting over the sculpt header menu to the new system. Added operator and menu items for brush curve presets. 2009-02-07 03:21:28 +00:00
09099111e3 Added Scale, fixed bugs incl. patch #18037 2009-02-06 18:09:35 +00:00
f8492383fd Finish Material, Sound and World adr conversion sections. Moving on to particle adr codes, but I have to wrap particle dna first. Ugh. 2009-02-06 17:32:57 +00:00
14f180fa04 2.5
Node editor: 

- Linking sockets back.
- Removed obsolete code 
- Add node gives correct pointers for Render stuff
2009-02-06 16:34:05 +00:00
6a669d00b2 Patch #18015, adds "Value to Normal" node 2009-02-06 01:21:38 +00:00
fbdd75a475 Added compose/decompose, fixed bugs. 2009-02-06 00:55:38 +00:00
e1b92bc166 2.5
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.
2009-02-05 19:28:28 +00:00
0a3697ccf7 2.5 - Bugfixes for Pose 'Clear' Operators
* 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.
2009-02-05 05:51:21 +00:00
6947624afa 2.5
*******
-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()
2009-02-05 05:13:08 +00:00
f89e3d2517 2.5 - Context API access for Bones (EditMode and PoseMode)
* 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
2009-02-05 03:28:07 +00:00
66f90c47d4 * Added range function for Multires's level RNA
* 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)
2009-02-05 01:12:47 +00:00
0341e762b2 Assorted fixes:
* 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
2009-02-04 11:47:05 +00:00
00c9745720 2.5
* 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
2009-02-04 09:09:31 +00:00
3461f86786 merge with 2.5 at r18796. note I've customized the
vc9 project files a bit, they won't compile blender by
themselves anymore (I use scons for that).
2009-02-03 06:22:30 +00:00
284db61572 RNA: C API
* 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
2009-02-02 19:57:57 +00:00
c67952a475 Animato RNA wrapping:
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.
2009-02-02 11:51:10 +00:00
a6156d2ad2 Begin port of edge subdivide (with multicut) to
bmesh.  Basic infrastructure is in place, and
subdivision patterns for quads are implemented. 
Properly handling of the (many) flags and options
related to edge subdivide isn't complete, but I've
made a good start.  

Goal is eventual 100% api compatibility with old
esubdivide function, with some of the uglier design
aspects refactored after some of the tools that rely
on them are redone.

Some notes: Customdata interpolation wasn't working
right.  I thought maybe the weights were off, so I
swapped them, which surprising made it work.  It's
still not completely identical to old edge
subdivide though.
2009-02-02 03:25:23 +00:00
86a2a0f694 2.5
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
2009-01-31 13:30:56 +00:00
607a56cb7a 2.5
- Made standard border operator calls bail out on zero sized borders
- Fixed compile warning in call to BKE_animsys_evaluate_animdata()
2009-01-31 10:00:08 +00:00
b5230890ec - sequencer select handle menu functions back
- sequencer border zoom (Shift+B) or from the header.
- added includes for blender.c and outliner.c
- editfont.c got rid of warning
2009-01-31 09:58:38 +00:00
128c8167af 2.5: Fix for windows editmode tab crashes. This was due to
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.
2009-01-30 16:45:25 +00:00
1122b60f31 2.5
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)
2009-01-30 14:23:31 +00:00
59caae4384 Animato:
* 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...
2009-01-30 08:10:31 +00:00
e7d62464b7 Animato: Hiding all debug prints behind -d flag, as they were causing too many slowdowns on complex rigs with Action Constraints. Many of these prints should eventually be removed, though some of them will still be useful. 2009-01-29 23:27:24 +00:00
e109310ad7 Just a minor change to a comment in constraints code. It appears that Action Constraints are in fact working now (I was probably testing old code last night). 2009-01-29 22:24:16 +00:00
2869ce6cfa Animato: Groundwork for getting Action Constraint functional again
Currently this still works really badly, but I'm not sure of the exact cause yet.
2009-01-29 11:22:34 +00:00
3701fe8f36 Silencing MSVC warnings in code that I maintain 2009-01-29 10:19:43 +00:00
595983cd28 Animato: Added base-code for converting the ugly old bitflag settings
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.
2009-01-29 09:40:49 +00:00
54059f0ac1 * Brought back special normal recalc for sculpt (only recalculates modified 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
2009-01-29 03:50:46 +00:00
2176f69602 Animato: Conversion code + drawing tweaks
* 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.
2009-01-29 03:43:04 +00:00
b18defbffb 2.5:
* 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.
2009-01-28 23:29:27 +00:00
ce2446e3db * Was missing checks for scene->ed which crashed blender when using the sequencer for the first time.
* Added WM_OT_tweak_gesture operator for select, drag
* Sequencer select operator now returns OPERATOR_FINISHED|OPERATOR_PASS_THROUGH
2009-01-28 22:36:34 +00:00
3f06164471 2.5
Joshua asked me to check depsgraph drivers; i've added the
very minimal case, but further I'm stuck, need help.
Also made region listeners for Graph Editor work for all.
2009-01-28 13:16:43 +00:00
56d2dc7e7f bug fix softbody wind
-compensating factor 1000 that comes from 
pdDoEffectors() since Aug 2008
-give  particles and soft body vertices the same 
polarity on force fields.
2009-01-28 12:34:22 +00:00
623659f72f Animato - Driver + ShapeKey bugfixes
* ShapeKey conversions should now go to the correct places
* Added fix for drivers to prevent crashes when no driver object is provided (Franky from BBB seems to have one such driver for some reason).
* Temporarily disabled a check when evaluating drivers for whether the driver is tagged for evaluation. Drivers still need to be correctly tagged AND ordered by the Depsgraph to work correctly.
2009-01-28 00:50:56 +00:00
561a9b3d4c svn merge -r 17502:18705 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2009-01-28 00:43:46 +00:00
764168d62a 2.5
Added support in threaded compositor to copy the viewer
image safely away, prevents crashing especially for
people using blender -E or redrawing viewer while it
composites.

(Note; reloading images in nodes, render result, and
probably other cases have to be checked still)
2009-01-27 19:32:44 +00:00
c0ee40ab10 2.5
Compositor now uses threaded jobs.

- updates happen per preview node! Check this file for
  fun: http://www.blender.org/bf/composite_image.blend
  (any compo node could get preview!)
- had to ensure the composite data gets fully copied before
  it executes thread, so editing is not frustrated.
- put back node buttons (missing init)
- added WM_jobs api call to check for running job,
  illustrated with red light icon in 'use nodes' button.
- added another callback to WM_jobs, to initialize.
  use this init to ensure you only do it when job really
  starts.
- added an extra notifier option for WM_jobs, to signal
  finished job (like redraw image view)
- fixed file read error, it copied the screen it read,
  instead of using it.
- commented out annoying prints for missing ops in imagewin
2009-01-27 17:12:40 +00:00
43c1532af9 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.
2009-01-27 11:31:30 +00:00
83ea582478 Graph Editor - Selection Tools
* Mouse-Select and DeSelect All work again
* Added access to constraint 'influence' value
2009-01-27 05:04:23 +00:00
8aabcdb883 2.5 - Bugfixes for loading ManCandy
* Objects parented to bones now load correctly again (so Mancandy no longer looks like he had a run-in with a lawn mulcher). Was caused by a typo. I'm not sure how that got in there (or who did it)

* Action/Graph Editors would crash when loading files with Materials with some drivers.
2009-01-27 02:31:39 +00:00
a34e2e1427 Animato/2.5 - Graph Editor (i.e. the new 'IPO Editor')
This commit brings back the drawing code for the 'Graph Editor'. I've decided to call it this, as currently it can show either F-Curves for Animation stored in Actions, or F-Curves for Drivers.

Currently, it shows all curves, since some of the necessary filtering code (i.e. for limiting curve visibility) hasn't been put in place yet. At least this serves as good proof that we can have F-Curves from multiple sources at least.

It should be noted that the code still has to be modified to work with some of the new Animato features, such as F-Curve Modifiers (cycles are an example of one of the features that use this). Also, a nicer way to set the colours of the curves needs to be investigated.

Notes:
* Fixed a few bugs in RNA User-Preferences wrapping

* The keyframe drawing uses the new-style drawing for handles from AnimSys2. There's a minor bug that sometimes occurs, where a distorted handle gets drawn at the origin of the grid on the first run. Hints anyone?

* Removed most of the old data from SpaceIpo struct, as the new code uses that. Maybe later, the directories/files at least should get renamed.

* Removed ancient hack for NVidia/TNT drivers. It is probably no longer needed, but could be restored if someone needs it.
2009-01-26 11:33:16 +00:00