8 years agominor edits, no functional changes.
Campbell Barton [Mon, 7 Feb 2011 22:48:23 +0000 (22:48 +0000)]
minor edits, no functional changes.
- BGE was getting MCol array and not using it.
- use list lookup functions for getting constraint from pose bone.
- use const char * in more places.

8 years agoGLSL shader part
M.G. Kishalmi [Mon, 7 Feb 2011 21:57:40 +0000 (21:57 +0000)]
GLSL shader part

bump-mapping update to properly support
multiple textures in different bump-spaces.

8 years agobump-mapping update to properly support
M.G. Kishalmi [Mon, 7 Feb 2011 21:55:54 +0000 (21:55 +0000)]
bump-mapping update to properly support
 multiple textures in different bump-spaces.

kudos to M.L.Mikkelsen (sparky) for helping with the math! :)

8 years agoLogic UI: Game Actuator options renaming
Dalai Felinto [Mon, 7 Feb 2011 18:42:07 +0000 (18:42 +0000)]
Logic UI: Game Actuator options renaming
After talking with Ton Roosendaal we agreed on making those changes.
I wonder if we should go for "Start Game" instead of "From File". But Space is not a constraint here so be it.

8 years agoLogic UI: Armature Actuator + general Captalizing 1st letter of UI text
Dalai Felinto [Mon, 7 Feb 2011 18:24:15 +0000 (18:24 +0000)]
Logic UI: Armature Actuator + general Captalizing 1st letter of UI text
- Armature Actuator now only shows the "Secondary Target" option when the Bone Constraint supports it (IK only now).
-- that may be overkill I don't know. It shouldn't slow down the UI considerably, so it should be fine. Easy to revert if needed though.

- renaming things such as "Start frame" to "Start Frame"

8 years agoBugfix 25965
Ton Roosendaal [Mon, 7 Feb 2011 18:09:27 +0000 (18:09 +0000)]
Bugfix 25965

New "auto render" now prevents calling anim-updates, that's
not needed (and popped back transformed keyed objects).

8 years agoTodo/feature request
Ton Roosendaal [Mon, 7 Feb 2011 16:41:57 +0000 (16:41 +0000)]
Todo/feature request

When using masks or other simple 3D elements in composites, doing
a layer re-rendering on a node is a bit clumsy all the time.

This commit does two things to help:
- new hotkey "Z" in node editor automatically finds render layer
  that changed and re-renders it + composites
- option "Auto Render" does same, but then after every transform
  edit in 3D window

The latter is experimental; real & proper system for this requires
full threaded render support (like previews). But it works!

Demo file:

Important fix:
After any render, all the render layers were tagged "changed", which
caused any edit to first totally recomposte everthing. Now it only
composites changes.

Implementation notes

- DAG scene flush now sets 'changed' flags in render layer nodes
- Added notifier for 'transform finished' to trigger the update,
  this is temporarily.

8 years agoFix for [#25963] Show mouse option in wrong Panel.
Thomas Dinges [Mon, 7 Feb 2011 14:53:40 +0000 (14:53 +0000)]
Fix for [#25963] Show mouse option in wrong Panel.
Did some reorganization of the Game buttons, made a new "Display" Panel.

8 years agoremove mat_nr from MVert struct, saves 4 bytes per vertex.
Campbell Barton [Mon, 7 Feb 2011 13:02:44 +0000 (13:02 +0000)]
remove mat_nr from MVert struct, saves 4 bytes per vertex.
used to be used for halo's

8 years agoArgh! This code is haunted... (line 666) compiler here isn't barfing
Joshua Leung [Mon, 7 Feb 2011 12:37:14 +0000 (12:37 +0000)]
Argh! This code is haunted... (line 666) compiler here isn't barfing
on these errors tonight :/

8 years agoAnimSys Todo: Scene/CompoNode Driver Hacks
Joshua Leung [Mon, 7 Feb 2011 12:28:04 +0000 (12:28 +0000)]
AnimSys Todo: Scene/CompoNode Driver Hacks

Drivers for Scene, World, and Compositing Nodes now "work" (well,
sort-of)! Previously they were strictly restricted to object-
accessible data only; now they can function across the board (give or
take some weak spots).

Although there is still no depsgraph support so that these properties
update properly when their source controls are changed (this will
probably require a lot more work), they can still update under other
circumstances (i.e. frame change and/or manual refresh flushing via
mouse movement, etc.)

As the depsgraph tagging support is lacking, these just get always
executed for now, which might potentially be quite sluggish, though it
is hoped that there are so few of these top-level datablocks with
drivers hooked up that this is barely an issue in practice. At least I
haven't noticed any substantial slowdowns for animation playback, so
it should probably be fine.

8 years agofix [#25926] lattice + projection on surface snap issue
Campbell Barton [Mon, 7 Feb 2011 12:07:26 +0000 (12:07 +0000)]
fix [#25926] lattice + projection on surface snap issue

8 years agoBug fix: adding force fields from the add menu didn't sort the depsgaph, so hair...
Janne Karhu [Mon, 7 Feb 2011 11:55:24 +0000 (11:55 +0000)]
Bug fix: adding force fields from the add menu didn't sort the depsgaph, so hair didn't update straight away to force field settings changes.

8 years agoCompiling commit for previous commit...
Joshua Leung [Mon, 7 Feb 2011 11:51:28 +0000 (11:51 +0000)]
Compiling commit for previous commit...

8 years agoHair ui simplification:
Janne Karhu [Mon, 7 Feb 2011 11:43:33 +0000 (11:43 +0000)]
Hair ui simplification:
* There were a lot of settings in the particle panels that made no sense for simple hair and only cluttered up the ui.
* Now these settings are hidden by default unless "advanced" hair options are shown.
* Without advanced options the particle velocity controls are replaced by a simple "hair length" value, which actually corresponds to the grown hair length in blender units.
* Some hair effector options that are actually very useful were not shown in ui. These are now found in the "field weights" panel.

8 years agoadd access to radius for game objects (static objects can have radius) as well as...
Campbell Barton [Mon, 7 Feb 2011 11:42:49 +0000 (11:42 +0000)]
add access to radius for game objects (static objects can have radius) as well as anisotropic friction.

8 years agoVisual Keying Code Tweaks:
Joshua Leung [Mon, 7 Feb 2011 11:38:57 +0000 (11:38 +0000)]
Visual Keying Code Tweaks:

Moving this code to the same method as is used for Apply Visual
Transform (for bones case), which uses standardised decomposition
methods instead of the improvised ones used here before. This was in
an attempt to get IK chains Visual Keyed correctly, though this
doesn't seem to have improved the situation much.

Also, the decompositon for objects here now takes care of euler
rotation modes.
TODO: other rotation modes should get included here too...

8 years agoFix for [#25955] Hair paths under force field influence look jagged
Janne Karhu [Mon, 7 Feb 2011 10:54:55 +0000 (10:54 +0000)]
Fix for [#25955] Hair paths under force field influence look jagged
* Effectors were applied wrong for hair.

8 years agoBugfix [#25934] "Apply Visual Transform as Pose" not working?
Joshua Leung [Mon, 7 Feb 2011 10:50:35 +0000 (10:50 +0000)]
Bugfix [#25934] "Apply Visual Transform as Pose" not working?

Simplified the code for Apply Visual Transform as Pose.

This makes it work for IK chains now, since there aren't any
recalculations of the pose involved now, which were contributing to
the pose getting incorrect as the applying process went on, since the
IK chain was getting calculated differently with each successive
change to the chain.

8 years agoA simplified way of defining bNodeType structs. Instead of doing full struct member...
Lukas Toenne [Mon, 7 Feb 2011 09:33:36 +0000 (09:33 +0000)]
A simplified way of defining bNodeType structs. Instead of doing full struct member initialization for each node, this uses a couple of helper functions now. This will make it easier to change and extend the bNodeSocket interface in the future. Two examples (normal and mapping shader nodes) included, the rest should be converted too.

8 years agorename ID.update() --> update_tag() since this function only tags for updating and...
Campbell Barton [Mon, 7 Feb 2011 08:13:28 +0000 (08:13 +0000)]
rename ID.update() --> update_tag() since this function only tags for updating and scene.update() executes the update.

8 years agoType checks for internal ID-Property UI min/max/tip & use defines to get values from...
Campbell Barton [Mon, 7 Feb 2011 05:05:41 +0000 (05:05 +0000)]
Type checks for internal ID-Property UI min/max/tip & use defines to get values from ID-Props.
Probably wouldn't cause a problem but manually editing these types through python could easily crash blender.

also changed cmake, stub-makefile default build dir to be lower case and leave out architecture string, easier for documentation.
Use ../build/linux/ rather then ../build/Linux_i686/

8 years agocomment unused var
Campbell Barton [Mon, 7 Feb 2011 01:45:52 +0000 (01:45 +0000)]
comment unused var

8 years agoPoseLib Bugfix:
Joshua Leung [Mon, 7 Feb 2011 01:28:47 +0000 (01:28 +0000)]
PoseLib Bugfix:

When using Pose Lib with a search string, if the search fails after
typing a character and then you try to backspace to get back to the
previous search string, the pose does not refresh until you type in
another valid letter such that the search works again.

Did a logic reshuffled in the get next preview pose function so that
this is dealt with properly

8 years agopatch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel
Campbell Barton [Mon, 7 Feb 2011 01:23:18 +0000 (01:23 +0000)]
patch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel

8 years ago- own error with sound unpack operator using NULL pointer
Campbell Barton [Mon, 7 Feb 2011 01:13:21 +0000 (01:13 +0000)]
- own error with sound unpack operator using NULL pointer
- make stub now creates 'Release' build by default.

8 years agoPoseLib Preview/Browse Bugfixes:
Joshua Leung [Sun, 6 Feb 2011 22:20:26 +0000 (22:20 +0000)]
PoseLib Preview/Browse Bugfixes:

- [#25951] Hardcoded Keys in PoseLib modal operator register twice per
Now only the KM_PRESS events are handled. KM_RELEASE events for these
are ignored...

- While checking the above, I also found that the view-manipulation
while previewing functionality was broken. This was one of the
benefits of this UI approach over a fixed screenshot-only listview.
Fixed now :)

8 years agoBugfix #25953
Ton Roosendaal [Sun, 6 Feb 2011 18:38:53 +0000 (18:38 +0000)]
Bugfix #25953

Fix in crashing displacement last friday, assumed wrongly that
the old 'new bump' failed for displacement too. It still did
work (somewhat). This restores the situation again.

8 years agoTwo in one:
Ton Roosendaal [Sun, 6 Feb 2011 17:36:42 +0000 (17:36 +0000)]
Two in one:

- Bugfix #25937
  Child-of constraint now behaves like regular parent-child
  relationship when all options are set. This prevents the
  errors that can happen when decomposing non-uniform matrices.

- Todo item
  The area corner hotspots for splitting/merging were far too
  narrow. Now it uses a circular distance to detect whether
  the hotspot is active. Also cleaned up drawing code for it.

8 years agoBug fix: Particles in dupligroups were mostly drawn properly in 3d view, but renderin...
Janne Karhu [Sun, 6 Feb 2011 15:50:00 +0000 (15:50 +0000)]
Bug fix: Particles in dupligroups were mostly drawn properly in 3d view, but rendering them was a real mess.
* After countless different bugs particles should now render correctly inside dupligroups.
* Only particles with metaball visualization are still problematic, this is mostly due to the ancient metaball code.
* I'll also add a test file for some of the situations, so that hopefully these cases stay fixed :)

8 years agomathutils.Matrix.Scale(factor, size, axis)
Campbell Barton [Sun, 6 Feb 2011 11:17:22 +0000 (11:17 +0000)]
mathutils.Matrix.Scale(factor, size, axis)
- 'axis' arg was not coerced from a tuple like other args now do.
- 'axis' arg was being modified in-place (VERY BAD).
- also made new function matrix_3x3_as_4x4().

8 years ago- cmake was missing an inclide (IDE's wouldnt index)
Campbell Barton [Sun, 6 Feb 2011 10:18:20 +0000 (10:18 +0000)]
- cmake was missing an inclide (IDE's wouldnt index)
- made doc generation always sumlink newly built docs to static URL.

8 years agobugfix [#25824] Quats + Camera + Fly = Madness
Campbell Barton [Sun, 6 Feb 2011 09:01:01 +0000 (09:01 +0000)]
bugfix [#25824] Quats + Camera + Fly = Madness
ensure quat, delta rotation is set to a unit quaternion on older files.

8 years agofix [#25947] Smart Project is broken SVN r34664
Campbell Barton [Sun, 6 Feb 2011 06:59:11 +0000 (06:59 +0000)]
fix [#25947] Smart Project is broken SVN r34664
own recent mathutils updates broke this script.

8 years agofix [#25948] does incorrect checking for the number of arguments
Campbell Barton [Sun, 6 Feb 2011 06:54:19 +0000 (06:54 +0000)]
fix [#25948] does incorrect checking for the number of arguments
noticed by Shinsuke Irie (irie)

8 years agoSVN maintenance.
Guillermo S. Romero [Sun, 6 Feb 2011 00:49:58 +0000 (00:49 +0000)]
SVN maintenance.

8 years ago[#25693] Netrender "shadow" images with last frame always appear
Martin Poirier [Sat, 5 Feb 2011 22:46:59 +0000 (22:46 +0000)]
[#25693] Netrender "shadow" images with last frame always appear

More debugging info with -d

Also fix some conditions that didn't check the proper list in the ui.

8 years agotodo list item:
Ton Roosendaal [Sat, 5 Feb 2011 19:07:54 +0000 (19:07 +0000)]
todo list item:

3D View:
In quad-view mode, the options to set back/bottom/left views were
blocked. Now they work again.

Note: the oparator polls don't have a check for properties... so it
cannot be finegrained here. Checks are inside code.

8 years agoAnother fix for the raytracing commit, forgot that it also included vertex
Brecht Van Lommel [Sat, 5 Feb 2011 17:54:00 +0000 (17:54 +0000)]
Another fix for the raytracing commit, forgot that it also included vertex
reordering to be consistent with the rest of the render engine. That means
the self intersection issues with non-planar quads should also be gone now.

8 years agoBugfix #25944
Ton Roosendaal [Sat, 5 Feb 2011 16:32:56 +0000 (16:32 +0000)]
Bugfix #25944

Save image (F3) didn't remember the last saved path on 2nd use.

8 years agoThis fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custo...
Peter Schlaile [Sat, 5 Feb 2011 15:11:29 +0000 (15:11 +0000)]
This fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custom proxy file.

8 years agoBugfix, own todo
Ton Roosendaal [Sat, 5 Feb 2011 15:05:17 +0000 (15:05 +0000)]
Bugfix, own todo

Saving a file for the first time (after opening blender) didn't
use the last directory as saved/loaded from in a previous session.

8 years agoRaytrace modifications from the Render Branch.
Brecht Van Lommel [Sat, 5 Feb 2011 13:41:29 +0000 (13:41 +0000)]
Raytrace modifications from the Render Branch.

These should not have any effect on render results, except in some cases with
you have overlapping faces, where the noise seems to be slightly reduced.

There are some performance improvements, for simple scenes I wouldn't expect
more than 5-10% to be cut off the render time, for sintel scenes we got about
50% on average, that's with millions of polygons on intel quad cores. This
because memory access / cache misses were the main bottleneck for those scenes,
and the optimizations improve that.

Interal changes:

* Remove RE_raytrace.h, raytracer is now only used by render engine again.
* Split non-public parts rayobject.h into rayobject_internal.h, hopefully
 makes it clearer how the API is used.
* Added rayintersection.h to contain some of the stuff from RE_raytrace.h
* Change Isect.vec/labda to Isect.dir/dist, previously vec was sometimes
  normalized and sometimes not, confusing... now dir is always normalized
  and dist contains the distance.
* Change VECCOPY and similar to BLI_math functions.
* Force inlining of auxiliary functions for ray-triangle/quad intersection,
  helps a few percentages.
* Reorganize svbvh code so all the traversal functions are in one file
* Don't do test for root so that push_childs can be inlined
* Make shadow a template parameter so it doesn't need to be runtime checked
* Optimization in raytree building, was computing bounding boxes more often
  than necessary.
* Leave out logf() factor in SAH, makes tree build quicker with no
  noticeable influence on raytracing on performance?
* Set max childs to 4, simplifies traversal code a bit, but also seems
  to help slightly in general.
* Store child pointers and child bb just as fixed arrays of size 4 in nodes,
  nearly all nodes have this many children, so overall it actually reduces
  memory usage a bit and avoids a pointer indirection.

8 years agoFix bones moving when changing between editmode and posemode.
Brecht Van Lommel [Sat, 5 Feb 2011 13:19:14 +0000 (13:19 +0000)]
Fix bones moving when changing between editmode and posemode.
Patch #25901 by Tobias Oelgarte.

Bone transformations would be converted back and forth between different
representations when changing modes, which due to numerical errors could
lead to bone transformations slowly changing as you edit the armature.

Now the editmode head, tail and roll values are stored in bones and used
directly when entering edit mode. Head and tail were already there but
now we ensure they are the exact same value, roll was not yet there, so
we have a version patch for it.

The sub version was incremented to 1 for the version patch.

8 years agoRenamed texture.c in render module, to prevent debuggers to
Ton Roosendaal [Sat, 5 Feb 2011 13:10:20 +0000 (13:10 +0000)]
Renamed texture.c in render module, to prevent debuggers to
complain about the same named file in blenkernel.

8 years agoBugfix 25871
Ton Roosendaal [Sat, 5 Feb 2011 13:07:51 +0000 (13:07 +0000)]
Bugfix 25871

Using displacement with new bump caused NaN values or crashes.
Since displace code doesn't provide derivatives, it now falls
back to "old bump" by default.

8 years agoaccidentally left scaling code commented out when testing.
M.G. Kishalmi [Sat, 5 Feb 2011 11:46:44 +0000 (11:46 +0000)]
accidentally left scaling code commented out when testing.

8 years agomathutils fixes noticed when refactoring.
Campbell Barton [Sat, 5 Feb 2011 10:40:42 +0000 (10:40 +0000)]
mathutils fixes noticed when refactoring.
- comparing eulers was ignoring the order.
- printing Euler()'s now prints the order too.
- un-orderable types (all except for Vector's), were not raising an exception when compared with >=, >, <, <=.

8 years agomathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
Campbell Barton [Sat, 5 Feb 2011 09:57:02 +0000 (09:57 +0000)]
mathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
each accept Euler/Quaternion/Matrix types.

  Euler.rotate(Quaternion(axis, angle))
  Vector.rotate(Euler((pi/2, 0, 0)))

matrix.resize_4x4() and euler.make_compatible() were still returning an instance of themselves, now return None.

8 years agoupdate for changes in mathutils.
Campbell Barton [Sat, 5 Feb 2011 07:04:23 +0000 (07:04 +0000)]
update for changes in mathutils.

8 years agoRename python mathutils functions and split in-place methods from those that return...
Campbell Barton [Sat, 5 Feb 2011 06:14:50 +0000 (06:14 +0000)]
Rename python mathutils functions and split in-place methods from those that return new values.
This completes the changes proposed.

This will break scripts (fixing coming up next), for full list of changes see mathutils.c comments.

8 years agoLogic UI: multiple fixes on Constraint Actuator
Dalai Felinto [Fri, 4 Feb 2011 21:25:57 +0000 (21:25 +0000)]
Logic UI: multiple fixes on Constraint Actuator
1) damping factor is not percentage (it's in frames, who would know that)
2) angles as degrees (cleaning the tooltips for those too)
3) setting Direction to None when changing from Loc and Fh Consts to Ori - negative axis is not supported in Ori Const. Buggy since ever (2.49).

8 years ago- Drivers should now be updated correct when curve changes topology
Sergey Sharybin [Fri, 4 Feb 2011 21:10:27 +0000 (21:10 +0000)]
- Drivers should now be updated correct when curve changes topology
- Fixed regression with keeping alive f=curves for deleted CVs
  (was a mistake in previous commit in this area)

8 years agoFix #25923: Active area of text editor line numbers too big
Sergey Sharybin [Fri, 4 Feb 2011 16:28:19 +0000 (16:28 +0000)]
Fix #25923: Active area of text editor line numbers too big

Area with width 60px was used for determing should we jump to line or
input new cahacter. Reduce this area to actual line numbers margin width.

8 years agoFix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but...
Sergey Sharybin [Fri, 4 Feb 2011 16:10:30 +0000 (16:10 +0000)]
Fix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but no jitter available.

Manually disable jitter usage for anchored and drag dot brush stroke metdhods.
Jitter slider is hidden in UI for this strokes so users can't set it to 0 by hand
and even if this slider would be visible in UI jitter gives wierd result for
this stroke methods.

8 years agoImprovements for particle grid distribution:
Janne Karhu [Fri, 4 Feb 2011 15:48:13 +0000 (15:48 +0000)]
Improvements for particle grid distribution:
* Particles that aren't shown are now actually deleted (huge memory savings for flat objects).
* Grid distribution for flat objects is now done on the surface object surface without offset.
* Invert grid option wasn't in ui and it didn't work for non-volume grids.
* New parameter to randomize the grid point locations.
* Resolution soft/hard limits changed to even 50/250.

8 years agoFix [#19997] Duplicating window results in graphics corruption in UI
Nathan Letwory [Fri, 4 Feb 2011 13:22:02 +0000 (13:22 +0000)]
Fix [#19997] Duplicating window results in graphics corruption in UI
reported by Micael Dias (and many others, see duplicates list)

On closing the first ("main") Blender window the very first OpenGL context
got deleted too. This context needs to be retained, since we share quite a
bit of OpenGL data through it to the newly created contexts (new windows).
Thanks to Ton Roosendaal for thinking out loud while trying to figure out
what the actual cause was.

8 years agosmall typo fix
Nathan Letwory [Fri, 4 Feb 2011 13:18:44 +0000 (13:18 +0000)]
small typo fix

8 years agoQuick Animation Feature: Paste Pose "Selection Mask" option
Joshua Leung [Fri, 4 Feb 2011 11:43:30 +0000 (11:43 +0000)]
Quick Animation Feature: Paste Pose "Selection Mask" option

After discussions with ZanQdo, it was agreed that the current workflow
for making a pose symmetrical was a bit too cumbersome, especially
when auto-keying was enabled, requiring pasting the flipped pose on
another frame so that the changes could be merged back in without
overwriting the "good" half of the rig.

This option for the Paste Pose operator makes things easier, by adding
an option which will make the pose only get pasted on to selected
bones instead of overriding the entire pose. By default this option is
turned off, but can be easily enabled either from the toolbar
(operator properties) or through the F6 popup.

The intended workflow with this option for making a rig symmetrical is
1) Copy pose
2) Select "bad" bones
3) Paste Flipped
4) Enable "On Selected Only" for the operator

If there is sufficient interest, this option can even be enabled by
default. But, we'll see about that later

8 years agoswap Matrix.Shear(...) arguments so matrix size is the second argument, matching...
Campbell Barton [Fri, 4 Feb 2011 09:41:59 +0000 (09:41 +0000)]
swap Matrix.Shear(...) arguments so matrix size is the second argument, matching other constructors.

8 years agomathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args....
Campbell Barton [Fri, 4 Feb 2011 09:35:20 +0000 (09:35 +0000)]
mathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args. since axis was only allowed when plane was 'R'.
This was already done with Matrix.Rotation().

8 years agopep8 cleanup
Campbell Barton [Fri, 4 Feb 2011 09:27:25 +0000 (09:27 +0000)]
pep8 cleanup

8 years agohard- and ui-limit for particle grid resolution were vice versa.
M.G. Kishalmi [Fri, 4 Feb 2011 09:02:47 +0000 (09:02 +0000)]
hard- and ui-limit for particle grid resolution were vice versa.

8 years agoMoved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Joshua Leung [Fri, 4 Feb 2011 08:33:07 +0000 (08:33 +0000)]
Moved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Scene (Toolsettings, i.e. alongside "layered" option for using NLA
while doing auto-keying)

This option makes all Auto-Keying operations use the active Keying Set
to carry out keyframing operations instead of picking and choosing
their own Keying Sets to use, thus cutting down on the number of
unwanted keys.

Warning: if the older userpref option was enabled in an old
startup.blend, it may be difficult to turn this option off.

8 years agofix for make stub, readlink was used incorrectly and building didn't work on BSD...
Campbell Barton [Fri, 4 Feb 2011 04:12:24 +0000 (04:12 +0000)]
fix for make stub, readlink was used incorrectly and building didn't work on BSD because of CPU detection.

8 years agosmall mathutils changes.
Campbell Barton [Fri, 4 Feb 2011 03:39:06 +0000 (03:39 +0000)]
small mathutils changes.
- fix for returning empty slices (was returning list rather then tuple).
- report invalid type when mathutils_array_parse_fast() fails.

8 years agoPyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:
Campbell Barton [Fri, 4 Feb 2011 03:06:23 +0000 (03:06 +0000)]
PyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:

8 years agoSVN maintenance.
Guillermo S. Romero [Thu, 3 Feb 2011 18:57:53 +0000 (18:57 +0000)]
SVN maintenance.

8 years ago- Fixed bug with disappearing curve animation data created in edit
Sergey Sharybin [Thu, 3 Feb 2011 17:03:37 +0000 (17:03 +0000)]
- Fixed bug with disappearing curve animation data created in edit
  mode for case there was no animation at object before enter editmode
- Fixed memory corruption for case of fcurve groups
- Fixed bug with incorrect re-naming "spline[%d].smth" pathes

  - Also update drivers' curves
  - Enable I-key menu and autokeying

  Will do this after consultation with Aligorith, shouldn't harm atm.

8 years agoBugfix #25912
Ton Roosendaal [Thu, 3 Feb 2011 16:31:03 +0000 (16:31 +0000)]
Bugfix #25912

Render bug in spothalo (weird horizontal line).
Appeared to be precision error... even for doubles,
before doing division a check for FLT_EPSILON works
better than DBL_EPSILON (if there's an alternative).

8 years agoApplying patch #25898 by Shinsuke Irie for rendering total external reflections
Janne Karhu [Thu, 3 Feb 2011 15:05:43 +0000 (15:05 +0000)]
Applying patch #25898 by Shinsuke Irie for rendering total external reflections
* Tracing objects with IOR < 1.0 (like air bubbles under water) wasn't working correctly as a refraction was always assumed to be the first thing that happens for transparent materials.
* This fix is ok, but the fact that the internal renderer is not a physically based one is starting to show, as for example blurred reflections in this case are not really possible nicely without some slightly heavier modifications to the ray code.
* Also some cleaned up logic and better comments for my previous total internal reflection commit.

8 years agoAudio Bugfixes:
Joerg Mueller [Thu, 3 Feb 2011 13:25:05 +0000 (13:25 +0000)]
Audio Bugfixes:

* [#25638] 'Insufficient thread locking' for sounds
  - Actually a workaround for an msvc bug, msvc STL containers are buggy
* [#25922] Sound does not play in BlenderPlayer(r34579)
  - Windows OpenAL doesn't seem to have clear context error state on initialising

8 years agoremove unused variable
Campbell Barton [Thu, 3 Feb 2011 11:02:02 +0000 (11:02 +0000)]
remove unused variable
also clear scene data before running batch import (utility script).

8 years agoMakefile for convenience on *nix systems.
Campbell Barton [Thu, 3 Feb 2011 10:07:15 +0000 (10:07 +0000)]
Makefile for convenience on *nix systems.

Running 'make' starts an out of source build with CMake in ../build/OS_CPU, creating the dir and configuring CMake if necessary.

So casual users can just run this without changing dirs:
 'svn up ; make'

8 years agoBugfix #25913
Ton Roosendaal [Wed, 2 Feb 2011 14:36:00 +0000 (14:36 +0000)]
Bugfix #25913

Compositor: using "read sample buffers" after load file, without
render layers in composite, crashed blender (NULL read)

8 years agoFix for [#25899] Renderer can't trace successive total internal reflection
Janne Karhu [Wed, 2 Feb 2011 12:04:23 +0000 (12:04 +0000)]
Fix for [#25899] Renderer can't trace successive total internal reflection
* This was wrong since 2006!
* Raytrace code assumed refractions to go "air -> glass -> air -> glass -> air.." so actually only the first total internal reflection was calculated correctly, but everything after that was wrong.
* Now after a total internal reflection there needs to be an actual refraction before the ray escapes the "glass" object.

8 years agoAdded Read Render Layers and Read Full Sample Layers to node editor menu
Daniel Salazar [Wed, 2 Feb 2011 10:33:29 +0000 (10:33 +0000)]
Added Read Render Layers and Read Full Sample Layers to node editor menu

8 years agoKeymap conflict in node editor. Read Render Layers is now Ctrl R to
Daniel Salazar [Wed, 2 Feb 2011 10:26:14 +0000 (10:26 +0000)]
Keymap conflict in node editor. Read Render Layers is now Ctrl R to
leave R for rotate

8 years agofix [#25684] Grease pencil strokes with "Surface" option attach erratically to curves.
Campbell Barton [Wed, 2 Feb 2011 03:32:58 +0000 (03:32 +0000)]
fix [#25684] Grease pencil strokes with "Surface" option attach erratically to curves.
added new functions
- view_autodist_depth_segment()
- plot_line_v2v2i(), which takes a callback and plots x/y points.

8 years agoBugfix [#25907] Impossible to "select all" on narrow action editors
Joshua Leung [Wed, 2 Feb 2011 03:12:39 +0000 (03:12 +0000)]
Bugfix [#25907] Impossible to "select all" on narrow action editors

Marker selection operators now use a special poll() callback which
checks that there are some markers before trying to run them. This
means that when there are no markers, the full screen range is
available, instead of just those areas above the region masked off for
markers which can be quite slim when trying to save space by only
showing the summary channel.

8 years agobugfix for setting the worldspace matrix of an object which used quaternion rotation...
Campbell Barton [Wed, 2 Feb 2011 01:01:01 +0000 (01:01 +0000)]
bugfix for setting the worldspace matrix of an object which used quaternion rotation and deltas, was subtracting the values rather then multiplying by the inverse.
effected 'Apply Visual Transform' & pythons obj.matrix_world = mat

8 years ago- some parts of the code to remove rotation were not removing axis/angle rotation...
Campbell Barton [Wed, 2 Feb 2011 00:40:55 +0000 (00:40 +0000)]
- some parts of the code to remove rotation were not removing axis/angle rotation (only functional change of this commit).
- use BLI_math functions for removing rotations from objects and pose channels.
- add unit_axis_angle() to avoid setting the Y axis inline anywhere rotation needs removing.

8 years agofix crash from report [#25746] Adding keyframes to nested custom properties (IDProper...
Campbell Barton [Tue, 1 Feb 2011 23:53:54 +0000 (23:53 +0000)]
fix crash from report [#25746] Adding keyframes to nested custom properties (IDProperties) of a bone causes segfault
though keyframing still doesn't work, it gives an error instead.
also use const char * in more parts of the py/rna api.

8 years ago"Batch-Edit" Code cleanup: Renaming ED_operator_ipo_active to
Joshua Leung [Tue, 1 Feb 2011 23:51:52 +0000 (23:51 +0000)]
"Batch-Edit" Code cleanup: Renaming ED_operator_ipo_active to

8 years agoBugfix [#25902] alt+a over 3D view don't up date dropesheet editor
Joshua Leung [Tue, 1 Feb 2011 23:41:01 +0000 (23:41 +0000)]
Bugfix [#25902] alt+a over 3D view don't up date dropesheet editor

Migrating "redraws" settings from TimeLine view data to per Screen.
The options are now still shown in the TimeLine "Playback" menu

This means that whatever redraw settings you set in a TimeLine editor
will be used throughout a screen (i.e. editor layout) to determine
which editors will get updated during playback, instead of only
certain editors doing certain things at vague times.


Also, I moved some version patches pre 2.56 version bump into a
version-check for 2.56. These must've been missed when doing the

8 years agoAction Editor UI Tweaks:
Joshua Leung [Tue, 1 Feb 2011 22:21:43 +0000 (22:21 +0000)]
Action Editor UI Tweaks:

While animating, I realised that actually the 'only selected' and
'include hidden' DopeSheet filtering options are also useful in the
Action Editor, especially while tweaking the animation for some
characters, where you'd like to focus only on some of the character's
control (i.e. eyelid tweaks, hand tweaks, etc.).

The other DopeSheet filtering options aren't so relevant here, so I've
excluded them from this.

8 years agofix issue #2 raised by report: [#25894] Problems with properties across files
Campbell Barton [Tue, 1 Feb 2011 21:24:59 +0000 (21:24 +0000)]
fix issue #2 raised by report: [#25894] Problems with properties across files

8 years agopartial revert for r34590, exclude render() from enabling the read-only state.
Campbell Barton [Tue, 1 Feb 2011 20:38:24 +0000 (20:38 +0000)]
partial revert for r34590, exclude render() from enabling the read-only state.
will re-open [#25845] and assign to Brecht.

8 years agoIcons in outliner were jittering a bit on sizing of the area.
Ton Roosendaal [Tue, 1 Feb 2011 17:54:02 +0000 (17:54 +0000)]
Icons in outliner were jittering a bit on sizing of the area.
Subpixel position issue... when is this ever correct? :)

8 years agoFix #25884: Crazy behaviour of the rotate brush
Sergey Sharybin [Tue, 1 Feb 2011 15:51:40 +0000 (15:51 +0000)]
Fix #25884: Crazy behaviour of the rotate brush

Rotation brush used to be crazy because it depends on normal of area
under brush, which is used as axis to rotate vertexes around and
this normal used to change during stroke.

Calculate normal from original mesh state for rotation tool too.

8 years agoFix for [#25879] Particle Duplication issue with Linked in Objects from Groups.
Janne Karhu [Tue, 1 Feb 2011 15:02:25 +0000 (15:02 +0000)]
Fix for [#25879] Particle Duplication issue with Linked in Objects from Groups.
* Only the first object (in scene object order) that instanced a dupligroup was rendered properly, because particle instances were checked for only after creating the render object (and even this check was done wrong).
* Now the actual render object is created only after both object and particle instances have been checked.

8 years agoBugfix #25891
Ton Roosendaal [Tue, 1 Feb 2011 13:35:21 +0000 (13:35 +0000)]
Bugfix #25891

Info header: option to switch scenes or add new ones has to be hidden
for "full screen" mode. Current full-screen code doesn't allow to
browse screens or switch scenes nicely.

8 years agoScript to test import operators, so a single command can execute an operator on all...
Campbell Barton [Tue, 1 Feb 2011 12:47:50 +0000 (12:47 +0000)]
Script to test import operators, so a single command can execute an operator on all files in a directory and optionally save out blend files for inspection.
This comes in handy for testing importers against 100's of files, quickly showing breakages and easier to setup then unit tests.

Example usage:

  blender.bin --background --python source/tests/ -- \
              --operator="bpy.ops.import_scene.obj" \
              --path="/data/testfiles/obj" \
              --match="*.obj" \
              --start=0 --end=50 \

Also found my name was spelt wrong in some places :)

8 years agocorrect fix for bug #23871, __main__ module was being overwritten in nested functions...
Campbell Barton [Tue, 1 Feb 2011 12:37:53 +0000 (12:37 +0000)]
correct fix for bug #23871, __main__ module was being overwritten in nested functions, so on returning from calling operators the __main__ module could be cleared and imported modules turn into None

... would clear a scripts namespace if running directly, not in a module.

Fix by backing up and restoring the __main__ module.

Also found BKE_reportf wasnt printing all reports in background mode as BKE_report() was doing.

8 years agoBugfix: Graph Editor menus were missing an entry for the "Smooth
Joshua Leung [Tue, 1 Feb 2011 11:54:05 +0000 (11:54 +0000)]
Bugfix: Graph Editor menus were missing an entry for the "Smooth
Keyframes" operator

Probably this was missed off, since the DopeSheet doesn't have this

8 years agoBugfix: Renaming Keying Sets didn't update timeline
Joshua Leung [Tue, 1 Feb 2011 11:39:51 +0000 (11:39 +0000)]
Bugfix: Renaming Keying Sets didn't update timeline

Keying Set RNA props were missing update notifiers

8 years agoNew Keyframe Type: "Jitter"
Joshua Leung [Tue, 1 Feb 2011 11:35:27 +0000 (11:35 +0000)]
New Keyframe Type: "Jitter"

While doing some animation work over the past few days, I found that
it would be useful to be able to tag keyframes as a another type yet:
"jitter" for fill-in secondary motion (i.e. blinks/hand-keyed camera
shake). Of course, what you really use these for is up to you, but
this is one more option when you need it :)

8 years agoown fix for bug #23871 (r33277), crashes when running multiple operators in a batch...
Campbell Barton [Tue, 1 Feb 2011 09:02:49 +0000 (09:02 +0000)]
own fix for bug #23871 (r33277), crashes when running multiple operators in a batch script with a double free.
Cant see why this happens but this different fix doesn't crash so using it instead.

8 years agobugfix [#25767] Addons cannot be upgraded through the UI
Campbell Barton [Tue, 1 Feb 2011 06:48:19 +0000 (06:48 +0000)]
bugfix [#25767] Addons cannot be upgraded through the UI
added option to overwrite.

8 years agoTargetless IK Bugfixes + Tweaks:
Joshua Leung [Tue, 1 Feb 2011 05:15:32 +0000 (05:15 +0000)]
Targetless IK Bugfixes + Tweaks:
- "CONSTRAINT_IK_AUTO" flag for targetless IK constraints was being
set in the wrong place. This is for the IK constraint data's flag, not
the generic constraint's flag
- Converting stack var "targetless" from type bConstraint to
bKinematicConstraint (i.e. constraint baseclass -> specialised data),
since it was only used in one place with a cast used there.
- When using targetless IK with no specified chain length, bone
rotation locks are taken into account too, saving a bit of extra setup