15 years agoSaturday merger of bf-blender in orange branch.
Ton Roosendaal [Sat, 17 Dec 2005 20:25:41 +0000 (20:25 +0000)]
Saturday merger of bf-blender in orange branch.

15 years agoAck! Error in the renaming code for outliner, it skipped doing the
Ton Roosendaal [Sat, 17 Dec 2005 20:22:36 +0000 (20:22 +0000)]
Ack! Error in the renaming code for outliner, it skipped doing the
handling callbacks that checked for double names... this was caused by
a bugfix I did a week ago for ESC on rename button in outliner.
Discovered in time by Andy, thanks!

15 years agoOrange:
Ton Roosendaal [Sat, 17 Dec 2005 19:02:39 +0000 (19:02 +0000)]

Enabled Striding in NLA to also use FollowPath Constraint. Until now it
only worked when Object was parented to a Curve.
Interesting feature now is that it checks for all FollowPath Constraints,
and it chooses to stride over the first Path found with influence > 0.5.

Note: to make swithing to other paths work, map the time curve for these
paths to match the switch. This is not very NLA friendly... but let the
dudes in studio test it first. :)

Todo for later once; ensure proper blending...

15 years agoOrange: bugfix, in armature "Stick" drawmode, the new "Custom Bone" option
Ton Roosendaal [Sat, 17 Dec 2005 15:08:08 +0000 (15:08 +0000)]
Orange: bugfix, in armature "Stick" drawmode, the new "Custom Bone" option
didn't draw in solid.

15 years agoOrange: Another NLA goodie. The NLA code didn't evaluate any strips when
Ton Roosendaal [Sat, 17 Dec 2005 14:58:31 +0000 (14:58 +0000)]
Orange: Another NLA goodie. The NLA code didn't evaluate any strips when
the current frame was outside of strips. This gives potential errors with
playback that skips frames, or for a renderfarm. And, while editing the
poses got 'stuck' if you changed to different frames.

Now if no strips are found on 'current frame', always the first strip to
right is used, or the last strip to the left.

15 years ago* ctrl-alt-numpad0 didn't correctly update 3dview when the camera had anything parent...
Nathan Letwory [Sat, 17 Dec 2005 14:27:33 +0000 (14:27 +0000)]
* ctrl-alt-numpad0 didn't correctly update 3dview when the camera had anything parented to it.

Fix for #3596 (

15 years agoOrange: New option "Shadow Bias", to extend the boundary between shadow or
Ton Roosendaal [Sat, 17 Dec 2005 14:05:40 +0000 (14:05 +0000)]
Orange: New option "Shadow Bias", to extend the boundary between shadow or
no shadow a little bit. Uses same threshold function as the "Bias" button.
(That latter still works, and will use an automatic bias value based on the
geometry, to prevent terminator errors in raytracing).

Anyhoo, with this manual bias you can get rid of terminator problems for
weird diffuse shaders now as well (like tangent or fresnel).

Committed a few more files than needed, that's just code cleanup.

15 years agoEnvironment mapping "Reload" button didn't work. Required more stuff to
Ton Roosendaal [Sat, 17 Dec 2005 13:06:22 +0000 (13:06 +0000)]
Environment mapping "Reload" button didn't work. Required more stuff to

15 years agoOrange: Snap-cursor-to-selected didn't respect bone layers yet.
Ton Roosendaal [Sat, 17 Dec 2005 10:28:37 +0000 (10:28 +0000)]
Orange: Snap-cursor-to-selected didn't respect bone layers yet.

15 years agoOrange:
Ton Roosendaal [Sat, 17 Dec 2005 10:08:57 +0000 (10:08 +0000)]

For some ancient reason, the stride option only worked on a single strip,
and extended always. This made it nearly impossible to integrate it well
with other actions in NLA.
This commit changes it as follows;

- As any strip, the striding-strip also stops at the end of a strip
- This allows to put multiple different actions on a single path, and if
  all of these have the striding option set, the actions will each do their
  own individual stride.
- To match the different actions, a new "Action Offset" button was added
  in the NLA Panel, which allows to internally cycle the action.
- Of course, blend-in and blend-out works nicely too.

Here's a quick AVI test with 2 actions. There's some slipping of the feet
between actions still, because of the stridebone blending. I might look
at that later, for now you can correct it with a simple Ipo on Armature too

15 years ago-- Bugfix #3617; addBezier() was not initializing all the attributes for
Ken Hughes [Sat, 17 Dec 2005 04:57:48 +0000 (04:57 +0000)]
-- Bugfix #3617; addBezier() was not initializing all the attributes for
   a the beztriple, so things like the hidden and handle select states were
   set to random values.  Added a beztriple.hide attribute so that the
   hide attribute can be set/cleared from the BPy API.

15 years agotypo, thanks letterrip.
Campbell Barton [Fri, 16 Dec 2005 22:40:20 +0000 (22:40 +0000)]
typo, thanks letterrip.

15 years agoFor sconstruct build blender linked against the winspool library. This seemed unneces...
Nathan Letwory [Fri, 16 Dec 2005 20:58:16 +0000 (20:58 +0000)]
For sconstruct build blender linked against the winspool library. This seemed unnecessary, and test showed Blender running
fine without it. This probably solves #3503 too, so ZoneAlarm users, do test!

The same change should be done for the project files.


15 years agoOrange: Yet another day of file reading & library linking code...
Ton Roosendaal [Fri, 16 Dec 2005 17:35:38 +0000 (17:35 +0000)]
Orange: Yet another day of file reading & library linking code...
Finally (after 10 years!) fixed the issue that was marked in a comment in
the top of the readfile.c... when using multiple library files at once,
the code that tries to map old to new pointers could fail when accidentally
pointers (in different files) had same old values.

Current code now uses proper lookup tables per open library file.
Last issues to solve;

- pointer tables still suffer the 'accidental pointer' error when linking
multiple levels of library deep, with recursive back linking to higher
levels... (I know is stupid, but should be solved!)

- The code for relative paths doesnt work for multiple levels, when the
files use different relative paths.

15 years agoOops, left the script menu in there. problems.
Campbell Barton [Fri, 16 Dec 2005 13:50:45 +0000 (13:50 +0000)]
Oops, left the script menu in there. problems.

15 years agoOrange bugfix; using in NLA window the Ckey option (Convert to NLA), did
Ton Roosendaal [Fri, 16 Dec 2005 12:49:42 +0000 (12:49 +0000)]
Orange bugfix; using in NLA window the Ckey option (Convert to NLA), did
not use the proper call to increase user count && set the action to get
a tag "extern linked". This caused actions to get lost when indirectly
linked from library files.

15 years agoBVH Export updated for 2.4x, also small updates in many areas.
Campbell Barton [Thu, 15 Dec 2005 23:18:48 +0000 (23:18 +0000)]
BVH Export updated for 2.4x, also small updates in many areas.

15 years ago-- Added BPy support for new Material modes. Recent additions of new mode
Ken Hughes [Thu, 15 Dec 2005 21:54:00 +0000 (21:54 +0000)]
-- Added BPy support for new Material modes.  Recent additions of new mode
   bits broke input-checking in the API, so added a bitmask #define in
   DNA_material_types.h which contains all valid mode bits.

15 years agoTesting call for Toni, he'll uncommit :)
Ton Roosendaal [Thu, 15 Dec 2005 20:59:47 +0000 (20:59 +0000)]
Testing call for Toni, he'll uncommit :)

15 years ago-- Fix misspelling in Material's TraShad tooltip.
Ken Hughes [Thu, 15 Dec 2005 20:55:52 +0000 (20:55 +0000)]
-- Fix misspelling in Material's TraShad tooltip.

15 years agoScripts:
Willian Padovani Germano [Thu, 15 Dec 2005 20:12:00 +0000 (20:12 +0000)]

- Mirror bone weights contributed by Thomas Oppl.
- Softimage XSI exporter contributed by Elira (with updates by Mal

Again, thanks to the authors mentioned. And to Tom (LetterRip) for
contacting the authors and making suggestions about scripts we should

15 years ago-- removed redundant initialization for Mesh_Type (thanks LetterRip)
Ken Hughes [Thu, 15 Dec 2005 19:12:31 +0000 (19:12 +0000)]
-- removed redundant initialization for Mesh_Type (thanks LetterRip)

15 years agoOrange:
Ton Roosendaal [Thu, 15 Dec 2005 18:42:02 +0000 (18:42 +0000)]
So... now I understand file reading and libraries again, I couldn't leave
it to do a nice optimize step. This commit introduces bsearch() for finding
the elements in the pointer table, while reconstructing links. Tests reveil
a speedup of a factor 2-5 on complex scenes. And since undo uses same
system, quite nice in general!

(Note; speedup sometimes can't be noticed, when a lot of subsurfs or other
displaylists need to be generated.)

15 years agoDisabled reading Groups from bf-blender. There was old rudimentary code
Ton Roosendaal [Thu, 15 Dec 2005 18:37:47 +0000 (18:37 +0000)]
Disabled reading Groups from bf-blender. There was old rudimentary code
for Groups in official release still, which will give very bad results when
loading an Orange branch file with bf-blender, save over, and read back
in Orange branch.

Now, reading files with Groups in bf-blender will just completely ignore
them (not read nor save). That's destructive, but normal behaviour and

15 years agoScripts:
Willian Padovani Germano [Thu, 15 Dec 2005 18:12:49 +0000 (18:12 +0000)]

- Jean-Baptiste Perin updated his bvh to armatures script to use the new
armature module.
- Johnny Matthews (guitargeek) contributed "Shape Widget Wizard". (Moved
it to the Animation menu in Scripts win)
- Benoit Foucque (dienben) contributed "Blender Lip Synchro".

Thanks to the three authors!

15 years agoMade Ctrl+RMB on an image in the oops view, activates images in the UV/Image window.
Campbell Barton [Thu, 15 Dec 2005 02:50:08 +0000 (02:50 +0000)]
Made Ctrl+RMB on an image in the oops view, activates images in the UV/Image window.
Faster way to flick through images.

15 years agoFixed some warnings from GetCurrent, remaining warnings seem to have no obvious solution
Campbell Barton [Thu, 15 Dec 2005 02:06:37 +0000 (02:06 +0000)]
Fixed some warnings from GetCurrent, remaining warnings seem to have no obvious solution
attr = Py_True; // Image.c:1107: warning: dereferencing type-punned pointer will break strict-aliasing rules

15 years agoScripts:
Willian Padovani Germano [Thu, 15 Dec 2005 01:42:45 +0000 (01:42 +0000)]
- added import and export scripts for 3ds and md2 (Quake 2) models
contributed by author Bob Holcomb. Thanks!
- updated ac3d importer to be more forgiving and exporter to get rid of
deprecated call.

More additions and possibly fixes to come.

Note: we're forming a group to take care of importers and exporters and
improve the situation as a whole in Blender. Discussions should happen
at the bf-scripts-dev mailing list:

Thanks Tom Musgrove (LetterRip) for helping a lot with scripts.

15 years ago(Orange branch)
Ton Roosendaal [Wed, 14 Dec 2005 23:00:01 +0000 (23:00 +0000)]
(Orange branch)
Phew... a whole day revision of library linking system... there was a bug
when objects got linked, then removed, and then linked via a group... this
was a weak part in the library system, when data is used both "direct"
(like local object is linked to scene) and "indirect" (when group from a
library has same object).

The crucial fixes are easier to find by reading the diff... this system
is just braincrunching complex! Just as note to self then;
- ID_ID oldmap-lookups are now protected
- removed adding oldmap lookups for already read data

For Matt & Basse: you can do a very good cleanup of old files by putting
the "rt" button on 127, and then save file. This will skip writing any
reference to library data in the file, with exception of group links.
Reload a file might give some link errors, but a 2nd save and load then
should result in a clean file.

15 years agoAnother merger of Orange branch with bf-blender, it has important fixes.
Ton Roosendaal [Wed, 14 Dec 2005 20:38:14 +0000 (20:38 +0000)]
Another merger of Orange branch with bf-blender, it has important fixes.

15 years agoThree fixes;
Ton Roosendaal [Wed, 14 Dec 2005 20:36:04 +0000 (20:36 +0000)]
Three fixes;

- On file reading, a check is added to see if a Pose has channels to
  missing bones. Poses are supposed to match an Armature completely.
  (Thanks for crash file, Johnny!... but how did you do it!)

- Own collection: added depsgraph update on setting all layers (with the
  ACCENTGRAVEKEY). This also could potentially crash with modifiers

- Renamed Xkey menu in NLA to more properly tell what it does. :)

15 years agoOrange; added a depsgraph update tag for the case a Group is being animated
Ton Roosendaal [Wed, 14 Dec 2005 18:43:53 +0000 (18:43 +0000)]
Orange; added a depsgraph update tag for the case a Group is being animated
with NLA, whilst the "NLA target" has no action or nlastrips itself.

15 years agoBPython:
Willian Padovani Germano [Wed, 14 Dec 2005 18:01:42 +0000 (18:01 +0000)]
- malformed nmeshes could crash Blender with a sigsegv. Related to old
behavior that accepted "faces" with one or two verts.
- removing unused var (store_edges) + doc update.

15 years agoorange: added Object.insertPoseKey to continue with the attempt to make nla/path...
Toni Alatalo [Wed, 14 Dec 2005 17:44:08 +0000 (17:44 +0000)]
orange: added Object.insertPoseKey to continue with the attempt to make nla/path walkcycle baking to actions

15 years agoOrange; Magical Group relink option. :)
Ton Roosendaal [Wed, 14 Dec 2005 15:58:52 +0000 (15:58 +0000)]
Orange; Magical Group relink option. :)

This is the case:

- Empty has Group duplicator
- Empty has NLA strips to animate the group

On linking the Empty to another group (with button in ObjectButtons), it
checks for the current strips in NLA, and tries to find the proper objects
in the new Group, based on name matches.
If not found, it sets the strip-objects to zero.

15 years agoOrange: On adding constraints, names are now unique per object/bone, this
Ton Roosendaal [Wed, 14 Dec 2005 14:45:24 +0000 (14:45 +0000)]
Orange: On adding constraints, names are now unique per object/bone, this
prevents confusing situations when adding constraint ipos.

15 years agoWednesday merger of Orange branch and bf-blender
Ton Roosendaal [Wed, 14 Dec 2005 14:24:23 +0000 (14:24 +0000)]
Wednesday merger of Orange branch and bf-blender

15 years agoCommit with fix for ActionStrip "Hold" missed two crucial features;
Ton Roosendaal [Wed, 14 Dec 2005 14:10:04 +0000 (14:10 +0000)]
Commit with fix for ActionStrip "Hold" missed two crucial features;
- if repeat is set on exact integer values, it jumped to first position
- code was missing the action start offset

15 years agoOrange: added proper stringcopy for creating/finding pose and action-
Ton Roosendaal [Wed, 14 Dec 2005 13:47:40 +0000 (13:47 +0000)]
Orange: added proper stringcopy for creating/finding pose and action-
channels. This for python api development here... :)

15 years agoOrange: more relative path code cleanup. Introduced a new call in the
Ton Roosendaal [Wed, 14 Dec 2005 13:21:32 +0000 (13:21 +0000)]
Orange: more relative path code cleanup. Introduced a new call in the
blenlib to correctly convert a relative path to a clean new path:

BLI_cleanup_dir(const char *relabase, char *name);

Only works for directories now.

15 years agoOrange; more relative path messing... the functions in Blender for it
Ton Roosendaal [Wed, 14 Dec 2005 09:59:22 +0000 (09:59 +0000)]
Orange; more relative path messing... the functions in Blender for it
don't work consistant;

This one works correct for paths that go up; it then makes a relative
path like : //../lib/file.blend

This one delivers different paths when it expands, the previous case
will just append the relative path, like /work/project/../lib/file.blend.
That string cannot be compared with the original... which happened to find
out if a library was read already.

Solution for now is that only the relative paths are compared, but it
won't work if multiple relative levels are used... like for libraries
that link recursive. To solve that, the entire 'relative' concept has to
be redesigned.

15 years agoAdded
Campbell Barton [Wed, 14 Dec 2005 03:27:35 +0000 (03:27 +0000)]
Image.New(name, w,h,depth)
Image.start- for animtex
Image.end - for animtex
Image.speed - for animtex
Image.packed - read only bool

See the pydocs for details.

15 years agoTuesday merger of Orange branch with bf-blender
Ton Roosendaal [Tue, 13 Dec 2005 20:32:39 +0000 (20:32 +0000)]
Tuesday merger of Orange branch with bf-blender

15 years agoOrange reported fix: Stride bone offset was blending with any strip, even
Ton Roosendaal [Tue, 13 Dec 2005 20:16:10 +0000 (20:16 +0000)]
Orange reported fix: Stride bone offset was blending with any strip, even
when strips had no stride set... causing using multiple strips not to work
for stride.

15 years agoOrange: two other cases with databrowser and menus that needed the upgrade,
Ton Roosendaal [Tue, 13 Dec 2005 19:23:22 +0000 (19:23 +0000)]
Orange: two other cases with databrowser and menus that needed the upgrade,
as committed yesterday for NLA.

15 years agoOrange: Library linking half-assed-fix for files that mix linked "direct"
Ton Roosendaal [Tue, 13 Dec 2005 19:21:56 +0000 (19:21 +0000)]
Orange: Library linking half-assed-fix for files that mix linked "direct"
data (local data links to lib data) and "indirect" (lib links to same lib

A real solution should be found though... there's a conflict in the code
I don't fully grasp yet.

15 years ago-- More of Bugfix #3580: Mesh_getFromObject() was not updating key->from
Ken Hughes [Tue, 13 Dec 2005 18:39:50 +0000 (18:39 +0000)]
-- More of Bugfix #3580: Mesh_getFromObject() was not updating key->from
   when it duplicated mesh data.

   I'm not thrilled with how I implemented this code, but currently don't
   know a better way.  If someone more familiar with how blender duplicates
   objects and converts things to meshes wants to have a look, it would be

15 years ago-- Calling mesh.verts.extend() on a mesh with vertex groups was not updating
Ken Hughes [Tue, 13 Dec 2005 15:36:32 +0000 (15:36 +0000)]
-- Calling mesh.verts.extend() on a mesh with vertex groups was not updating
   mesh->dvert, eventuallu causing a crash.

15 years agoBugfix #3580
Ton Roosendaal [Tue, 13 Dec 2005 15:07:21 +0000 (15:07 +0000)]
Bugfix #3580

Apparently python allows to create Key blocks without proper *from pointer
back to the owner of the Key. The Key unfortunately wasn't mean to be a
dynamic block linkable to any Mesh...

This patch sets the from pointer on any call to do_mesh_key, which is safe
to do anyway. I made a note to get rid of that convention once, but at
least now we got non-crashing blenders. :)

(In bugreport noted that we need to check Python code for it too!)

15 years ago*warnings fixes
Joseph Gilbert [Tue, 13 Dec 2005 14:29:56 +0000 (14:29 +0000)]
*warnings fixes

15 years agoBugfix #3590
Ton Roosendaal [Tue, 13 Dec 2005 14:28:34 +0000 (14:28 +0000)]
Bugfix #3590

Adding Ipos to Sound strips in Sequencer didn't work anymore. Adding a new
curve with CTRL+click also wasn't smart enough to detect that only one
channel existed there... fixed that too.

15 years agoBugfix #3579
Ton Roosendaal [Tue, 13 Dec 2005 13:38:14 +0000 (13:38 +0000)]
Bugfix #3579

Saving envmap, with a filter set (like gauss) and with a percentage set
(like 50%), saved envmaps with empty pixels inbetween the sub images.

15 years agoBugfix #3552
Ton Roosendaal [Tue, 13 Dec 2005 13:17:29 +0000 (13:17 +0000)]
Bugfix #3552

Another ancient bug in unified render... the lamphalo wasn't filled in
correctly over sky, especially when the background had halos (or stars).

Only shows when using filters other than box though.

15 years agoWith the introduction of fixed edge arrays in Mesh, the options to render
Ton Roosendaal [Tue, 13 Dec 2005 12:41:17 +0000 (12:41 +0000)]
With the introduction of fixed edge arrays in Mesh, the options to render
wire frame became very limited... the information of faces (vertex colors
and UV reside there) got lost.
Solved it nicely with creating a large index table, and use bsearch() to
get quickly the matching information.

Then I noticed the render code needed fixes too for wire, no proper UV's
were calculated over the wire edge.

15 years agobugfix #3585
Ton Roosendaal [Tue, 13 Dec 2005 08:44:07 +0000 (08:44 +0000)]
bugfix #3585

The tool "Single User" -> "Object data" missed a tag to recalculate the
geometry. This caused meshes to disappear after entering editmode on the
former linked mesh.

15 years agoFrom kh_pylon:
Campbell Barton [Tue, 13 Dec 2005 00:27:10 +0000 (00:27 +0000)]
From kh_pylon:
  You have to put Py_RETURN_NONE; inside { }; it's a two-line macro
Aparently breaks MacOS.

15 years agoAdded Image.GetCurrent()
Campbell Barton [Tue, 13 Dec 2005 00:00:11 +0000 (00:00 +0000)]
Added Image.GetCurrent()
Previously the only way to get the current image was flaky and relyd on the image being assigned to a mesh.

  me = Scene.GetCurrent().getAttiveObject().getData(mesh=1)
  image = me.faces[me.activeFace].image
  image = None

...Can new be replaced by the following, and works even when there is no mesh.
image = Image.GetCurrent()

  Get the currently displayed Image from Blenders UV/Image window.
  When multiple images are displayed, the last active UV/Image windows image is used.

15 years ago-- Bugfix #3566: Entering very large numbers for scaling/rotation/translation
Ken Hughes [Mon, 12 Dec 2005 23:03:32 +0000 (23:03 +0000)]
-- Bugfix #3566: Entering very large numbers for scaling/rotation/translation
   cause a write past end of string buffers in outputNumInput().  Patched to
   make large numbers (+-1.0e+10) display in scientific notation format.

15 years agoBugfix #3583
Ton Roosendaal [Mon, 12 Dec 2005 22:27:30 +0000 (22:27 +0000)]
Bugfix #3583

Auto-IK confused a routine that checked for IK on bones... causing
drawing errors in buttons and 3d window.

16 years agoBugfix #3565
Ton Roosendaal [Mon, 12 Dec 2005 22:04:34 +0000 (22:04 +0000)]
Bugfix #3565

Enabling FluidSim on non-mesh object crashed... it uses DerivedMesh. :)

16 years agoBug #3562
Ton Roosendaal [Mon, 12 Dec 2005 21:56:32 +0000 (21:56 +0000)]
Bug #3562

Strips with a repeat fraction (like 3.51) should also "hold" on the
fraction of .51 when indicated so.
Patch provided by Roland Hess, but cleaned up (exisiting) mess a bit too.

16 years agoBugfix #3556
Ton Roosendaal [Mon, 12 Dec 2005 21:16:24 +0000 (21:16 +0000)]
Bugfix #3556

Unified render didn't treat the alpha for raytraced transparent correct...
unified is based on layering with alpha, so it cannot support alpha in
raytraced transparent correctly.

I'm going to kill unified one day... its giving me headaches. :)

16 years ago*Armature api documentation
Joseph Gilbert [Mon, 12 Dec 2005 20:12:50 +0000 (20:12 +0000)]
*Armature api documentation

16 years agoBugfix #3544
Ton Roosendaal [Mon, 12 Dec 2005 19:06:34 +0000 (19:06 +0000)]
Bugfix #3544

First two vertices of a hair strand were not transformed OK, causing weird
results with especially thicker hair, or very short ones.

16 years ago- Armature/Bone API for python
Joseph Gilbert [Mon, 12 Dec 2005 18:46:26 +0000 (18:46 +0000)]
- Armature/Bone API for python
* this resolves a number of outstanding issues with the armature api and gets this ready for release
- add/remove bones possible
- rolls work correctly now!
- ik'ing to parent should work
- flags for tip/root/bone selection
- etc.

16 years agobugfix: #3420 Indent/Unindent in text editor not undoable
Stephen Swaney [Mon, 12 Dec 2005 18:35:15 +0000 (18:35 +0000)]
bugfix:  #3420 Indent/Unindent in text editor not undoable

contributed by Mr. TextEditor - themyers.  Thanks!

16 years agoNLA editor, adding actions wasn't possible when amount of actions was over
Ton Roosendaal [Mon, 12 Dec 2005 16:29:47 +0000 (16:29 +0000)]
NLA editor, adding actions wasn't possible when amount of actions was over
30, the databrowse option didnt work.

Made popup menu to go to 60 now, in 3 collums max. Databrowse works too

Next commit; check all other databrowsers for it.

16 years agoRewrote TimeLine_getFramesMarked func with better coding
Joilnen Leite [Mon, 12 Dec 2005 11:57:58 +0000 (11:57 +0000)]
Rewrote TimeLine_getFramesMarked func with better coding

16 years agoDebug commit;
Ton Roosendaal [Mon, 12 Dec 2005 09:18:56 +0000 (09:18 +0000)]
Debug commit;

If a group duplicator uses a group with no users, it draws in red. Needed
because this seems to happen in unknown cases...

16 years agoFix confusing (too early) waitcursor when selecting rand fac for fractal
Alexander Ewering [Mon, 12 Dec 2005 03:02:29 +0000 (03:02 +0000)]
Fix confusing (too early) waitcursor when selecting rand fac for fractal

16 years agoSunday merger of orange branch with bf-blender
Ton Roosendaal [Sun, 11 Dec 2005 23:04:27 +0000 (23:04 +0000)]
Sunday merger of orange branch with bf-blender

16 years agoFix #1 to resolve corrupted NLA files with lib-linked groups.
Ton Roosendaal [Sun, 11 Dec 2005 22:54:46 +0000 (22:54 +0000)]
Fix #1 to resolve corrupted NLA files with lib-linked groups.

- If a library became unreadable, with a print like:
  ERROR: can't find lib //../../../../../../..//jorma_light.blend
  Then set the F10 "rt" button to 111. :)
  That will read files with a stripping routine to fix it.

- For lost actions in strips: press Lkey in NLA editor, this is the new
  "re-link action" option. To get it work, dont forget to fill in the
  proper Armature in NKey panel.

The real fix, for the code that corrupted relative paths, will be
part of the bf-blender branch merging, which follows.

16 years agoFix: reading library files with option "Relative Paths" set, whilst library
Ton Roosendaal [Sun, 11 Dec 2005 22:03:04 +0000 (22:03 +0000)]
Fix: reading library files with option "Relative Paths" set, whilst library
was read already AND relative, caused the path for libraries to corrupt...

Error caused big headaches in studio Orange... :)

16 years agoAdded depsgraph update call on 'add group'.
Ton Roosendaal [Sun, 11 Dec 2005 18:01:09 +0000 (18:01 +0000)]
Added depsgraph update call on 'add group'.

16 years agoOrange: made duplicators work for dynamic particle systems. Meaning; a
Ton Roosendaal [Sun, 11 Dec 2005 14:28:22 +0000 (14:28 +0000)]
Orange: made duplicators work for dynamic particle systems. Meaning; a
particle generator can be duplicated.

Note that the particles are only generated once, on the original, and just
get duplicated.
For static particles it worked already OK.

Added note for previous grouping commit; group-duplicators should support
fully all animation systems, including modifiers and particles.

16 years agoOrange: Removed old duplicator stuff from renderconverter.c...
Ton Roosendaal [Sun, 11 Dec 2005 13:37:05 +0000 (13:37 +0000)]
Orange: Removed old duplicator stuff from renderconverter.c...

16 years agoBig commit with work on Groups & Libraries:
Ton Roosendaal [Sun, 11 Dec 2005 13:23:30 +0000 (13:23 +0000)]
Big commit with work on Groups & Libraries:

-> Any Group Duplicate now can get local timing and local NLA override. This
   enables to control the entire animation system of the Group.

Two methods for this have been implemented.
1) The quick way: just give the duplicator a "Startframe" offset.
2) Advanced: in the NLA Editor you can add ActionStrips to the duplicator
   to override NLA/action of any Grouped Object.

For "Group NLA" to work, an ActionStrip needs to know which Object in a
group it controls. On adding a strip, the code checks if an Action was
already used by an Object in the Group, and assigns it automatic to that
You can also set this in the Nkey "Properties" panel for the strip.

Change in NLA: the SHIFT+A "Add strip" command now always adds strips to
the active Object. (It used to check where mouse was). This allows to add
NLA strips to Objects that didn't have actions/nla yet.

Important note: In Blender, duplicates are fully procedural and generated
on the fly for each redraw. This means that redraw speed equals to stepping
through frames, when using animated Duplicated Groups.

-> Recoded entire duplicator system

The old method was antique and clumsy, using globals and full temporal
copies of Object. The new system is nicer in control, faster, and since it
doesn't use temporal object copies anymore, it works better with Derived
Mesh and DisplayList and rendering.

By centralizing the code for duplicating, more options can be easier added.
Features to note:

- Duplicates now draw selected/unselected based on its Duplicator setting.
- Same goes for the drawtype (wire, solid, selection outline, etc)
- Duplicated Groups can be normally selected too

Bonus goodie: SHIFT+A (Toolbox) now has entry "Add group" too, with a
listing of all groups, allowing to add Group instances immediate.

-> Library System

- SHIFT+F4 data browse now shows the entire path for linked data
- Outliner draws Library Icons to denote linked data
- Outliner operation added: "Make Local" for library data.
- Outliner now also draws Groups in regular view, allowing to unlink too.

-> Fixes

- depsgraph missed signal update for bone-parented Objects
- on reading file, the entire database was tagged to "recalc" fully,
  causing unnecessary slowdown on reading.

Might have missed stuff... :)

16 years agoAdded some details in the Mathutils documentation.
Campbell Barton [Sun, 11 Dec 2005 04:20:37 +0000 (04:20 +0000)]
Added some details in the Mathutils documentation.

16 years ago-- Bugfix #3573: Deleting a scriptlink when some other scriptlinks were no
Ken Hughes [Sat, 10 Dec 2005 19:36:05 +0000 (19:36 +0000)]
-- Bugfix #3573: Deleting a scriptlink when some other scriptlinks were no
   longer linked to a script would cause a crash.  We now delete all
   scriptlinks which are not linked.

16 years ago-- Bugfix #3564: Texture.getImage() always returned None for Env maps, even if
Ken Hughes [Fri, 9 Dec 2005 23:19:00 +0000 (23:19 +0000)]
-- Bugfix #3564: Texture.getImage() always returned None for Env maps, even if
   an image was assigned.

16 years agoBugfix #3526
Ton Roosendaal [Fri, 9 Dec 2005 17:22:50 +0000 (17:22 +0000)]
Bugfix #3526

Division with zero caused wrong pixels to be rendered with Ortho camera.

16 years agoOrange; WIP commit for inclusion of "Tangent" vector in rendering.
Ton Roosendaal [Fri, 9 Dec 2005 15:14:32 +0000 (15:14 +0000)]
Orange; WIP commit for inclusion of "Tangent" vector in rendering.
This first implementation only supports it for Meshes with UV maps, and
only tangents in V direction.

Tangent diffuse:
Tangent spec, diffuse, and bump:

NOTE: since UV coordinates are still very badly subsurfed, this won't work
well for subsurf meshes... on the todo.

On the todo;
- generate tangents for meshes without UV (with some options)
- use tangents from Curve/Surface
- add the Ashkimin shader from tracker


Important bugfix; curves didn't render anymore since yesterday. :)

16 years agochange return of getMarked method for dict {framnum:['nameframe']}
Joilnen Leite [Fri, 9 Dec 2005 15:00:54 +0000 (15:00 +0000)]
change return of getMarked method for dict {framnum:['nameframe']}

16 years agobugfix #3550
Johnny Matthews [Fri, 9 Dec 2005 14:49:41 +0000 (14:49 +0000)]
bugfix #3550

Fixing Loopcut smooth to actually cut smooth

I think this will go to HEAD now...

16 years ago-- Bugfix #3520: Text with extrusion and/or bevelling would would disappear
Ken Hughes [Fri, 9 Dec 2005 14:30:51 +0000 (14:30 +0000)]
-- Bugfix #3520: Text with extrusion and/or bevelling would would disappear
   when edit mode was entered.

16 years ago-- Bugfix #3545: Toggling the "apply modifier to editing cage during
Ken Hughes [Fri, 9 Dec 2005 13:57:27 +0000 (13:57 +0000)]
-- Bugfix #3545: Toggling the "apply modifier to editing cage during
   Editmode" flag in one modifier cleared the flag for all other modifiers.
   It now only allows toggling of the last modifier in the stack.

16 years agoNew feature: "Stress" texture input channel
Ton Roosendaal [Thu, 8 Dec 2005 22:05:42 +0000 (22:05 +0000)]
New feature: "Stress" texture input channel

(As usual movies disappears after while)

Face example showing stress values on a blend. White is stretch, black
is squeeze

Quick test with softbody stretch

Based on the difference of the "Orco" (original undeformed coordinate)
and the actual render coordinate, a stress value is computed to make
textures react to stretching or wrinking skin.

The texture coordinate is neutral (0) on relaxed state. -1 is squeezed
to zero, +1 is stretched to infinity.
Note that scaling (object itself or parent) also will result in
stress values.

The reason for the huge commit is a cleanup in allocating memory for
the vertices. These were growing too large with new options, so now it
allocates the optional coordinates dynamically.
Saves about 20 MB memory per 1M vertices already. But best of all is that
I now can add much more fun... so tangents, here we come!

16 years agobugfix #3550
Johnny Matthews [Thu, 8 Dec 2005 21:35:08 +0000 (21:35 +0000)]
bugfix #3550

Fixing Loopcut smooth to actually cut smooth

16 years agoOrange: fix for duplicator-group using X-Ray or Transparent draw options.
Ton Roosendaal [Thu, 8 Dec 2005 20:07:41 +0000 (20:07 +0000)]
Orange: fix for duplicator-group using X-Ray or Transparent draw options.
Note that X-ray is skipped, since it can only work for clearing the zbuffer,
but Transparent works now.

16 years agoOrange: Made Action Editor to respect Bone layers too.
Ton Roosendaal [Thu, 8 Dec 2005 18:32:06 +0000 (18:32 +0000)]
Orange: Made Action Editor to respect Bone layers too.

Note: only works when an Object has Action linked, and not for pinned

16 years agoOrange: Action editor didn't reset selection flag on selecting Pose bones.
Ton Roosendaal [Thu, 8 Dec 2005 15:18:42 +0000 (15:18 +0000)]
Orange: Action editor didn't reset selection flag on selecting Pose bones.

16 years agoOrange: More fixes in bone-layers (#$@%!).
Ton Roosendaal [Thu, 8 Dec 2005 15:05:14 +0000 (15:05 +0000)]
Orange: More fixes in bone-layers (#$@%!).
- constraint buttons were drawing the hidden bone settings
- ctrl+I or 'Add constraint' didn't respect layers yet

16 years agoOrange: Made Nkey and info text in 3d window respect Bone Layers.
Ton Roosendaal [Wed, 7 Dec 2005 23:25:43 +0000 (23:25 +0000)]
Orange: Made Nkey and info text in 3d window respect Bone Layers.

16 years agoMade Mesh verts/edges/faces hashable (as they were in NMesh); this will
Ken Hughes [Wed, 7 Dec 2005 21:12:33 +0000 (21:12 +0000)]
Made Mesh verts/edges/faces hashable (as they were in NMesh); this will
make it easier for some scripts to be converted.

16 years agoOrange fixes;
Ton Roosendaal [Wed, 7 Dec 2005 20:28:48 +0000 (20:28 +0000)]
Orange fixes;

- protected editing library data names in outliner
- layer-bone recode caused selection from posemode not to flush correctly
  to editmode

16 years agoBugfix from own collection: Rename option in Outliner didn't handle an ESC
Ton Roosendaal [Wed, 7 Dec 2005 19:59:26 +0000 (19:59 +0000)]
Bugfix from own collection: Rename option in Outliner didn't handle an ESC
correctly. Button wasn't closed then.

16 years agoOrange: Bugfix for uninitialized variables in lscm/stretch, forgot to
Brecht Van Lommel [Wed, 7 Dec 2005 19:54:52 +0000 (19:54 +0000)]
Orange: Bugfix for uninitialized variables in lscm/stretch, forgot to
update initialization when switching from MEM_callocN to BLI_memarena.
This should fix the windows crashes.

Patch by Jens, thanks!

16 years agoOrange: Group with curve objects in it, and used with group-duplication,
Ton Roosendaal [Wed, 7 Dec 2005 19:47:22 +0000 (19:47 +0000)]
Orange: Group with curve objects in it, and used with group-duplication,
didn't update display when original was on hidden layer.

16 years agoA patch from Ken Hughes per request of Bassam here at Orange: Python access to armatu...
Toni Alatalo [Wed, 7 Dec 2005 19:36:01 +0000 (19:36 +0000)]
A patch from Ken Hughes per request of Bassam here at Orange: Python access to armature visibility layers.

16 years agoOrange: option "Add to new group" (CTRL+G) didn't work when a group
Ton Roosendaal [Wed, 7 Dec 2005 15:13:37 +0000 (15:13 +0000)]
Orange: option "Add to new group" (CTRL+G) didn't work when a group
already existed.