blender.git
15 years agochanged:
Kent Mein [Wed, 2 Nov 2005 15:59:14 +0000 (15:59 +0000)]
changed:
msgfmt source -o blah
to
msgfmt -o blah source

(didn't work on my machine with the other order)

Kent

15 years agodisabled my previous fix, because of a reported crash when constant strings are passe...
Andrea Weikert [Wed, 2 Nov 2005 07:16:00 +0000 (07:16 +0000)]
disabled my previous fix, because of a reported crash when constant strings are passed so testbuilds can go on. Will provide propper fix later

15 years ago#3308
Ton Roosendaal [Tue, 1 Nov 2005 22:48:07 +0000 (22:48 +0000)]
#3308

Autokey didn't work for Object actions yet.

15 years ago#3315
Ton Roosendaal [Tue, 1 Nov 2005 22:15:54 +0000 (22:15 +0000)]
#3315

CTRL+click in weightpaint on subsurf crashed.
Subsurf weightpaint is not finished yet... commit now only code to prevent
crashing.

15 years agoFix #3266
Ton Roosendaal [Tue, 1 Nov 2005 21:37:25 +0000 (21:37 +0000)]
Fix #3266

Needed better DAG flush for 'do center', when linked duplis involved.

15 years ago* made 'innervert' the default subdivide type, for ui backwards
Matt Ebb [Tue, 1 Nov 2005 21:28:53 +0000 (21:28 +0000)]
* made 'innervert' the default subdivide type, for ui backwards
compatibility (knife tool functioning the same way etc.)

15 years agoupdated scons win32 installer script - uninstalling gives option to keep or remove
Simon Clitherow [Tue, 1 Nov 2005 21:11:55 +0000 (21:11 +0000)]
updated scons win32 installer script - uninstalling gives option to keep or remove
.blender/scripts folder.

15 years agoThe "Pose unlock" flag accidentally could get saved in file, causing
Ton Roosendaal [Tue, 1 Nov 2005 20:58:37 +0000 (20:58 +0000)]
The "Pose unlock" flag accidentally could get saved in file, causing
grabbing bones not to work. Only happened sofar in 1 file... but still
annoying!

15 years ago* Alpha 2 splash, by basse and andy!
Matt Ebb [Tue, 1 Nov 2005 20:55:44 +0000 (20:55 +0000)]
* Alpha 2 splash, by basse and andy!

15 years agoFix for item #3316 : make sure that BLI_make_file_string converts all
Andrea Weikert [Tue, 1 Nov 2005 20:25:23 +0000 (20:25 +0000)]
Fix for item #3316 : make sure that BLI_make_file_string converts all
slashes in the filenames to the system preferred direction.
Leaving unix slashes caused the error in the Python module
blender.Get('filename')

15 years agoJean-Michel Soler's updated tex2uvbaker script (thanks), previous one was broken.
Willian Padovani Germano [Tue, 1 Nov 2005 19:50:45 +0000 (19:50 +0000)]
Jean-Michel Soler's updated tex2uvbaker script (thanks), previous one was broken.

15 years ago-- avoid some divide-by-zero errors/assertions in boolean modifiers which
Ken Hughes [Tue, 1 Nov 2005 19:42:55 +0000 (19:42 +0000)]
-- avoid some divide-by-zero errors/assertions in boolean modifiers which
   caused "Trace/BPT trap" errors (don't normalize zero-length vectors)

15 years agoBugfix to allow Grabbing of bones with a parent, but not connected
Brecht Van Lommel [Tue, 1 Nov 2005 19:32:54 +0000 (19:32 +0000)]
Bugfix to allow Grabbing of bones with a parent, but not connected
(was broken after targetless IK commit).

15 years agoFix: the 'draw name in camera view' now draws the view's active
Matt Ebb [Tue, 1 Nov 2005 18:39:54 +0000 (18:39 +0000)]
Fix: the 'draw name in camera view' now draws the view's active
camera's name rather than the scene's, so it's not misleading
when you have unlocked 3D views. (#3324)

15 years agoThree new features:
Ton Roosendaal [Tue, 1 Nov 2005 12:44:30 +0000 (12:44 +0000)]
Three new features:

1) Stride Bone

For walkcycles, you could already set an NLA strip to cycle over a path
based on a preset distance value. This cycling happens based on a linear
interpolation, with constant speed.
Not all cycles have a constant speed however, like hopping or jumping.
To ensure a perfect slipping-less foot contact, you now can set a Bone
in an Armature to define the stride. This "Stride Bone" then becomes a
sort-of ruler, a conveyor belt, on which the character walks. When using
the NLA "Use Path" option, it then tries to keep the Stride Bone entirely
motionless on the path, by cancelling out its motion (for the entire
Armature). This means that the animation keys for a Stride Bone have to be
exactly negative of the desired path. Only, at choice, the X,Y or Z Ipo
curve is used for this stride.

Examples:

http://www.blender.org/bf/0001_0040.avi
The top armature shows the actual Action, the bottom armature has been
parented to a Path, using the Stride Bone feature.

http://www.blender.org/bf/0001_0080.avi
Here the Stride Bone has a number of children, creating a ruler to be
used as reference while animating.

Test .blend:
http://www.blender.org/bf/motionblender1.blend

Notes:
- Note that action keys for Bones work local, based on the Bone's
  orientation as set in EditMode. Therefore, an Y translation always
  goes in the Bone's direction.
- To be able to get a "solvable" stride, the animation curve has
  to be inverse evaluated, using a Newton Raphson root solver. That
  means you can only create stride curves that keep moving forward, and
  cannot return halfway.
- Set the Stride Bone in the Editing Buttons, Bone Panel. You can set
  change the name or set the axis in the NLA Window, Strip Properties Panel.
- Files in this commit will move to the blender.org release section.

2) Armature Ghosting

In EditButtons, Armature Panel, you can set an armature to draw ghosts.
The number value denotes the amount of frames that have to be drawn extra
(for the active action!) around the current frame.
Ghosts only evaluate its own Pose, executing it's Actions, Constraints and
IK. No external dependencies are re-evaluated for it.

3) NLA/Action time control

If you click in the NLA window on the action (linked to Object), it makes
sure the Timing as drawn in the Action editor is not corrected for NLA.
If you also set the Object to "Action", this timing will be executed on the
Object as well (not NLA time).
(It's a bit confusing... will make a good doc & maybe review UI!)

15 years agoFound a potential crash where NULL could be passed to vfont_get_data(),
Alexander Ewering [Mon, 31 Oct 2005 16:46:22 +0000 (16:46 +0000)]
Found a potential crash where NULL could be passed to vfont_get_data(),
here's the fix. Maybe it fixes Andy's file :)

15 years agoComment out debug printf
Alexander Ewering [Mon, 31 Oct 2005 16:27:47 +0000 (16:27 +0000)]
Comment out debug printf

15 years agoAdding Key.ipo as access to ipo data both get and set
Johnny Matthews [Mon, 31 Oct 2005 15:53:21 +0000 (15:53 +0000)]
Adding Key.ipo as access to ipo data both get and set

15 years ago-- further clean-up of mesh error handling for update and PutRaw(); add
Ken Hughes [Mon, 31 Oct 2005 15:08:01 +0000 (15:08 +0000)]
-- further clean-up of mesh error handling for update and PutRaw(); add
   specific messages for different types of exception errors

15 years agoYet another IK offset fix, pointed out by Ton. Offset should be passed
Brecht Van Lommel [Mon, 31 Oct 2005 15:01:37 +0000 (15:01 +0000)]
Yet another IK offset fix, pointed out by Ton. Offset should be passed
in local bone space.

15 years ago-- patch submitted by Johnny Matthews which lets a user get an Ipo curve by
Ken Hughes [Mon, 31 Oct 2005 14:05:47 +0000 (14:05 +0000)]
-- patch submitted by Johnny Matthews which lets a user get an Ipo curve by
   its adrcode in addition to its string name (shape keys don't have fixed
   or unique string names, and they are stored in the key, not the Ipo).
   This will make it easier to later use constants from dictionaries to
   access a curve.

15 years ago* Gave the Obdata to Center / Center New / Center Cursor
Matt Ebb [Mon, 31 Oct 2005 13:39:05 +0000 (13:39 +0000)]
* Gave the Obdata to Center / Center New / Center Cursor
 tools a nice little home in the 3D View header/toolbox
 transform menu. Death to button-only actions!

15 years agoFix: Scaling in Action Window didn't correct for NLA mapped time
Ton Roosendaal [Mon, 31 Oct 2005 10:53:47 +0000 (10:53 +0000)]
Fix: Scaling in Action Window didn't correct for NLA mapped time

15 years agoFix: Using Hinge Bones in a chain with "Target-less IK" didn't apply the
Ton Roosendaal [Mon, 31 Oct 2005 10:10:01 +0000 (10:10 +0000)]
Fix: Using Hinge Bones in a chain with "Target-less IK" didn't apply the
correct rotations.

15 years agoiNew: TimeSlide in Action Window
Ton Roosendaal [Mon, 31 Oct 2005 09:41:24 +0000 (09:41 +0000)]
iNew: TimeSlide in Action Window

Usage: press Tkey, and you can proportionally squeeze or stretch the
selected keys, with current mouse position as reference. Only works with
more than 3 keys selected horizontally.

I've remapped the old Tkey (ipo type) to SHIFT+T... might be temporal, I
have an idea for a cool 2D manipulator system that makes it much friendlier
to grab/scale/slide keys all in once.

Also: fix for HOME key in action editor (didn't do Pin), and removed gcc
warnings from jiri's commit in editmesh_add.c

15 years ago-- one step closer to fixing booleans: one-line change to use new object
Ken Hughes [Mon, 31 Oct 2005 04:17:29 +0000 (04:17 +0000)]
-- one step closer to fixing booleans: one-line change to use new object
   instead of original object when building new mesh and mesh material list

15 years agoRemoved key.getChannelIpo() doc.
Johnny Matthews [Mon, 31 Oct 2005 02:52:17 +0000 (02:52 +0000)]
Removed key.getChannelIpo() doc.

15 years agoRemoved key.getChannelIpo() since it is not proper implementation anymore.
Johnny Matthews [Mon, 31 Oct 2005 02:52:14 +0000 (02:52 +0000)]
Removed key.getChannelIpo() since it is not proper implementation anymore.

15 years agoFix for HOME key in Action Window. Didn't check for mapped NLA time yet.
Ton Roosendaal [Sun, 30 Oct 2005 21:48:25 +0000 (21:48 +0000)]
Fix for HOME key in Action Window. Didn't check for mapped NLA time yet.

15 years agoTwo half working commits!
Ton Roosendaal [Sun, 30 Oct 2005 20:56:19 +0000 (20:56 +0000)]
Two half working commits!

- Python Drivers
  In Ipo Window "transform properties" Panel, added the buttons, and the
  initial handling (now only printing text). Willian makes it work!

- Better Matrix to Eul, code submitted by Brecht. No time yet to do it
  really nice (like a Mat3ToEulCompat(mat, eul, eulc))

15 years ago-- fix (I think) for "normal booleans interface (for Wkey 123 entries)";
Ken Hughes [Sun, 30 Oct 2005 20:10:05 +0000 (20:10 +0000)]
-- fix (I think) for "normal booleans interface (for Wkey 123 entries)";
   second selected object's mesh was being overwritten by new object's
   mesh, so new object had no empty mesh

15 years agoA few leftover py2.3 -> py2.4 changes:
Simon Clitherow [Sun, 30 Oct 2005 19:19:38 +0000 (19:19 +0000)]
A few leftover py2.3 -> py2.4 changes:

- updated python24.zip to include all required module dependancies.
- updated zlib.pyd to py24 zlib.pyd - now it opens the zip file (thanks ianwill!)
- removed whrandom module from basic_modules (deprecated in py24)

15 years ago - bug fix: normal of new added face is calculated without mistakes now
Jiri Hnidek [Sun, 30 Oct 2005 18:42:50 +0000 (18:42 +0000)]
 - bug fix: normal of new added face is calculated without mistakes now
 - direction of face normal doesn't depend on user's view to scene anymore,
   it is influenced only by direction of face normals in nieghborhood

15 years agoSupport for adding elements in random positions in an opennl matrix.
Brecht Van Lommel [Sun, 30 Oct 2005 18:38:35 +0000 (18:38 +0000)]
Support for adding elements in random positions in an opennl matrix.
Also some code formatting.

15 years agoPrevious change to enable Shape Actions, didn't support Drivers yet.
Ton Roosendaal [Sun, 30 Oct 2005 18:29:40 +0000 (18:29 +0000)]
Previous change to enable Shape Actions, didn't support Drivers yet.

15 years ago-- testing a patch which lets Python initialize the site path for Blender
Ken Hughes [Sun, 30 Oct 2005 18:27:24 +0000 (18:27 +0000)]
-- testing a patch which lets Python initialize the site path for Blender
   (old code is just "#ifdef"-ed out for now.)

Please give this a try on all platforms and give us feedback on what you
see for your sys.path setting in Blender (run these two lines in text window)

import sys
print sys.path

15 years agoMirror clipping bug; Martin used abs() which is for int! should be fabs().
Ton Roosendaal [Sun, 30 Oct 2005 17:32:17 +0000 (17:32 +0000)]
Mirror clipping bug; Martin used abs() which is for int! should be fabs().

15 years ago-- fix compiler warning about return "from incompatible pointer type" when
Ken Hughes [Sun, 30 Oct 2005 14:34:48 +0000 (14:34 +0000)]
-- fix compiler warning about return "from incompatible pointer type" when
   returning Python exceptions.  EXPP_ReturnPyObjError() always returns a
   NULL because Python expects error conditions to return a NULL pointer
   instead of an object.  Since the pointer is cast to a PyObject *, it's
   ugly to use for propagating the errors back in this case, so this fix just
   uses PyErr_SetString() to set the error and return NULL (see the body
   of EXPP_ReturnPyObjError() ).

15 years agoTwo new IK features.
Ton Roosendaal [Sun, 30 Oct 2005 13:50:42 +0000 (13:50 +0000)]
Two new IK features.

1) Target-less IK

If you add an IK constraint without a target set (no object or bone target),
it now can be grabbed and moved with IK, using its own Bone tip or root as
target itself. This way you can use IK for posing, without having the IK
executed while it animates or while a Pose is being solved for real IK.

After grabbing "Target-less IK", it applies the resulted motion in the
pose-channels, which then can be used to insert keypositions.

The Target-less IK bone can still be rotated without IK, also its chain
can be edited as usual.

UI: The CTRL+I menu gives this as an option too. In the 3D window it is
drawn with orangish color.

Note that IK is not resistant to non-uniform scaling yet.

2) Auto-IK

When the option "Automatic IK" is set, in Edit Buttons Armature Panel,
it creates automatic temporal Target-less IK for the Bone you grab or
translate.

The rules are:

- it only works when a single Bone is selected
- if the Bone is a root bone (no parent), it adds IK to the end of the
  chain(s)
- otherwise it adds the IK to the active Bone
- the temporal IK chain only consists of connected Bones.

This method is still a bit experimental. Maybe it should become a special
grabbing option (like SHIFT+G in Pose Mode). It also only works OK for rigs
that fit for it well... when a rig already is fully setup with IK it can't
do much good. :)

15 years agowhen recording physics keyframes, always run at a fixed framerate (not variable/real...
Erwin Coumans [Sun, 30 Oct 2005 07:25:36 +0000 (07:25 +0000)]
when recording physics keyframes, always run at a fixed framerate (not variable/real-time)

15 years agoMinor changes in Bullet:
Erwin Coumans [Sun, 30 Oct 2005 06:44:42 +0000 (06:44 +0000)]
Minor changes in Bullet:

- on Ton's request use double versions of cos,sin,tan, sqrt etc.
just like Solid in MT_Scalar #if defined (__sun) || defined (__sun__) || defined (__sparc) || defined (__APPLE__)
- updated an url in the header of files

15 years ago- fix issues in with Mesh_fromNMesh pointed out by Ton earlier; errors from
Ken Hughes [Sun, 30 Oct 2005 03:05:54 +0000 (03:05 +0000)]
- fix issues in with Mesh_fromNMesh pointed out by Ton earlier; errors from
  Python routines should properly be propagated back to give an error as
  intended.

15 years agoSHIFT+S snap to frame for both Action and NLA window.
Ton Roosendaal [Sat, 29 Oct 2005 21:27:07 +0000 (21:27 +0000)]
SHIFT+S snap to frame for both Action and NLA window.

15 years agoNew: Write Protection for transform values.
Ton Roosendaal [Sat, 29 Oct 2005 20:08:25 +0000 (20:08 +0000)]
New: Write Protection for transform values.

You now can set, in NKEY Transform Properties Panel, per XYZ rot/loc/size,
a protection for Transform tools to not change these values anymore.
This now works for Objects or for Bones in PoseMode.

Usage is especially for character animation, to give Bones in a Pose
defaults for rotation axes, so you don't have to worry about the correct
limitations (or setup complex IK limits).
Of course, this feature doesn't influence the animation system.

As an extra also the Transform Widgets then draw less handles. Note this
is based on the actual locked value, and depends still on Manipulator
orientation whether it can be used really.

Implementation warning: I had to remove the 'return' in the middle of the
editobject.c compatible_eul() call. It now makes nice compatible eulers
when they're simple (single axis rotations). Unfortunately there was no
note in the code why it was ever removed...

ALso: fix for crash in using Crease Transform and Mirror modifier.

15 years agoattempt to fix a link problem by changing the link-order or ketsji/bullet
Erwin Coumans [Sat, 29 Oct 2005 17:54:04 +0000 (17:54 +0000)]
attempt to fix a link problem by changing the link-order or ketsji/bullet

15 years agoMirror cliping polishing:
Martin Poirier [Sat, 29 Oct 2005 15:24:24 +0000 (15:24 +0000)]
Mirror cliping polishing:
- Better use of tolerance to check for elements already on seam
- remove debug printfs

15 years agoMirror cliping polishing:
Martin Poirier [Sat, 29 Oct 2005 15:05:23 +0000 (15:05 +0000)]
Mirror cliping polishing:
- Work with multiple mirror modifiers
- Take into accound elements already on the seam properly.
- Use the proper mirror tolerance as limit

15 years agoRemainder todo from Shape Action recode; the drawipo.c Panel code still
Ton Roosendaal [Sat, 29 Oct 2005 14:23:43 +0000 (14:23 +0000)]
Remainder todo from Shape Action recode; the drawipo.c Panel code still
was referencing Key pointers in spaceipo->from, this has to be Object *.
Thanks Johnny for the report!

15 years agofixing case issue for blender_BOP.lib to blender_bop.lib
Johnny Matthews [Sat, 29 Oct 2005 13:47:41 +0000 (13:47 +0000)]
fixing case issue for blender_BOP.lib  to blender_bop.lib

15 years agoScons files for Boolop
Johnny Matthews [Sat, 29 Oct 2005 13:26:31 +0000 (13:26 +0000)]
Scons files for Boolop

also a fix in BOP_Material so that MSVC won't complain about template issues

15 years ago*silly whistling*
Martin Poirier [Sat, 29 Oct 2005 12:17:44 +0000 (12:17 +0000)]
*silly whistling*
See, in theory, I didn't make typos when coding.

Explanation:

iloc*loc will be negative when the sign changes between them, so we can snap if an element cross the limit.

15 years agoBug in Ton's mirror clipping feature.
Martin Poirier [Sat, 29 Oct 2005 12:12:12 +0000 (12:12 +0000)]
Bug in Ton's mirror clipping feature.
It was assuming the real half is always on the positive, which is not true all the time (the mirror modifier doesn't make that assumption).
It incorrecly snapped everything to 0 if the half is in the negative quadrant.

Fix was to do "if (td->loc[0] * td->loc[0] < 0" instead, only snapping if the sign changed.

NOTE: this is all "in theory", as scons is broken, but I'm pretty sure the bug was real and the fix is.

15 years agoNew: Mirror Modifier now has option "Do Clipping", which prevents vertices
Ton Roosendaal [Sat, 29 Oct 2005 11:36:21 +0000 (11:36 +0000)]
New: Mirror Modifier now has option "Do Clipping", which prevents vertices
during Transform to go through the mirror. Note that it is *only* during
transform, and ESC restores the non-clipped positions of vertices.

15 years agoColorBand editing suggestion from Andy; CTRL+click inserts a new 'key' in
Ton Roosendaal [Sat, 29 Oct 2005 10:37:14 +0000 (10:37 +0000)]
ColorBand editing suggestion from Andy; CTRL+click inserts a new 'key' in
the ColorBand, with color/alpha as defined by that position.

15 years agoOrange's buglist!
Ton Roosendaal [Sat, 29 Oct 2005 10:15:36 +0000 (10:15 +0000)]
Orange's buglist!

- Action Editor: hotkeys V and H for handles were invisible, added menus
- NLA strips: when current frame is exactly on the strip end, it didn't
  include that action... needs a rounding correction for it.
- Action/NLA: deleting keys in Action, which results in only 1 key left,
  resulted in zero sized strip length. Now the strips are defaulted to be
  1 frame in size minimal.
- NLA editor: ALT+C "Convert to strip" didn't increment Action user count
- 3D Window: CTRL+P make parent to Bone still gave the insane menu with all
  bone names. With unified PoseMode select it can just parent to the
  active Bone. Note; this now requires the Armature to be in PoseMode to
  work.
- Rotation Constraint; the new options to only map to X,Y,Z rotation, did
  set the not mapped rotation axes to zero. These should remain unchanged.
- AutoKey optionn for Actions; should not insert action keys on ESC

And added a fix myself:

- When SHIFT+selecting a Bone in PoseMode, and the Armature was not selected
  or active yet, it doesn't extend-select/deselect the Bone anymore.
  This case is only useful when you try to add IK or Constraint, so the
  shift+selection should only activate the clicked Bone.

15 years agoMy local tree has iblender's Game engine soundsystem
Alexander Ewering [Fri, 28 Oct 2005 20:29:50 +0000 (20:29 +0000)]
My local tree has iblender's Game engine soundsystem
(which uses SDL_mixer), one thing in nan_definitions.mk slipped
through.

My apologies :)

15 years ago(Hopefully) last part of Booleans commit.
Alexander Ewering [Fri, 28 Oct 2005 20:18:56 +0000 (20:18 +0000)]
(Hopefully) last part of Booleans commit.

Please update, compile (make) and test.

15 years agoNew files from new booleans
Alexander Ewering [Fri, 28 Oct 2005 20:17:27 +0000 (20:17 +0000)]
New files from new booleans

15 years agoSomehow, most files are missing from this commit, and I have no idea why,
Alexander Ewering [Fri, 28 Oct 2005 19:54:16 +0000 (19:54 +0000)]
Somehow, most files are missing from this commit, and I have no idea why,
so there will be more files following.

Anyway: NEW BOOLEANS from Google Summer of Code (Courtesy of Marc Freixas)

Known problems:

 - Random freezes while using them as a modifier. This may not be directly
   related to modifiers though - it's maybe just the huge number of
   operations that leads to a higher probability of triggering a bug

 - Static booleans (the first 3 entries in the WKEY menu) are borked
   anyway, this is not due to this commit.

 - Errors when exiting Blender (dupli_alloc stuff), is not related to this
   commit, either.

Please test if everything works, and check the other build systems, I only
know that make works.

Also, compare the results of, say, cube-cylinder, in old and new booleans
:)

15 years agoAutocomplete for buttons that need Blender data names (ID's and Bones).
Ton Roosendaal [Fri, 28 Oct 2005 16:49:48 +0000 (16:49 +0000)]
Autocomplete for buttons that need Blender data names (ID's and Bones).

Just press TAB and it completes up to the level a match is found. If
more matches exist a menu could pop up, thats for later. Now an evening
off! :)

15 years agoHm, last method was not so good across various colour
Matt Ebb [Fri, 28 Oct 2005 15:45:32 +0000 (15:45 +0000)]
Hm, last method was not so good across various colour
themes. Now the line uses a blend of the outliner theme
colours instead of being hard coded.

15 years agoFixing Bug: 3273, Removing my goto calls from font.c.
Mika Saari [Fri, 28 Oct 2005 15:36:09 +0000 (15:36 +0000)]
Fixing Bug: 3273, Removing my goto calls from font.c.

15 years agoTiny cosmetic tweak to the outliner, making the
Matt Ebb [Fri, 28 Oct 2005 15:25:29 +0000 (15:25 +0000)]
Tiny cosmetic tweak to the outliner, making the
connecting line not so strong to see the other icons easier

15 years agoIrc reported bug by Sapir: Shape Key factor slider in Edit Buttons crashed
Ton Roosendaal [Fri, 28 Oct 2005 14:24:07 +0000 (14:24 +0000)]
Irc reported bug by Sapir: Shape Key factor slider in Edit Buttons crashed
when no ipo window was opened. Was using an old global pointer. fixed!

15 years agoTweaks to the camera visualisation:
Matt Ebb [Fri, 28 Oct 2005 14:19:40 +0000 (14:19 +0000)]
Tweaks to the camera visualisation:

We decided that the dashed lines were too much,
making the view very busy with dashed parent lines,
lamps, etc. So now the camera lines are drawn solid,
but the arrow (now triangle by andy's demand!) is drawn
outlined for inactive cameras, filled for the active
camera.

15 years agoNew: use ALT+ScrollWheel to step through frames. Like for Arrow keys, it
Ton Roosendaal [Fri, 28 Oct 2005 14:19:22 +0000 (14:19 +0000)]
New: use ALT+ScrollWheel to step through frames. Like for Arrow keys, it
does not cycle (not jump back to start frame on the end).

Mac users can also use Apple+ScrollWheel btw!

15 years agoError in creating Python dict for new Mesh API.
Ton Roosendaal [Fri, 28 Oct 2005 13:51:08 +0000 (13:51 +0000)]
Error in creating Python dict for new Mesh API.
It was calling PyModule_AddObject() with unassigned pointer. Crashed on
exit here (python 2.3.2). Weird thing was that python 2.3.5 didnt complain

CVSr ----------------------------------------------------------------------

15 years agoFixed gcc warnings for unused var and unitialiazed vars.
Ton Roosendaal [Fri, 28 Oct 2005 10:09:46 +0000 (10:09 +0000)]
Fixed gcc warnings for unused var and unitialiazed vars.

NOTE: I had to fix NMesh.c, Mesh_fromNMesh(), that is a real bad
function... it was returning a Py object as a Mesh (on error).
This is still not really solved (NULL return is not handled).

15 years agoHere's another milestone: Shape Keys now can be inserted in Actions and NLA
Ton Roosendaal [Fri, 28 Oct 2005 08:11:15 +0000 (08:11 +0000)]
Here's another milestone: Shape Keys now can be inserted in Actions and NLA

It works like for moving Object Ipos to the Action, press the Action icon
in the header of the IpoWindow, to the left of the mode selection menu.
It then creates an Action (if not existed) and moves the Shape Ipo to the
Action, using custom channel "Shape".

Main code change was that evaluating Ipo Curves for Relative Shapes had to
be recoded, but that's pretty minor and even much cleaner. (added "curval"
in the KeyBlock struct).
That this feature can work is thanks to the full modifier/derivedmesh
recode Daniel did, can't give him enough credits! :)

Also; small fixes in Outliner, for clicking on the Ipo icon (sets the Ipo
window to show that Ipo).

15 years agoapplied patch [ #3260 ] Enable compile bullet and sumo with scons
Erwin Coumans [Fri, 28 Oct 2005 04:48:01 +0000 (04:48 +0000)]
applied patch [ #3260 ] Enable compile bullet and sumo with scons

15 years ago- change description of AssignModes from "blah blah" to something meaningful.
Ken Hughes [Thu, 27 Oct 2005 22:07:43 +0000 (22:07 +0000)]
- change description of AssignModes from "blah blah" to something meaningful.

15 years agoNice one: Transform in NLA with the "Lock" feature, not only draws other
Ton Roosendaal [Thu, 27 Oct 2005 20:53:47 +0000 (20:53 +0000)]
Nice one: Transform in NLA with the "Lock" feature, not only draws other
windows, but also evaluates (depgraphed) all Objects involved.
Try select all in NLA and drag around!

15 years agoA few tweaks to the old->new camera conversion code
Matt Ebb [Thu, 27 Oct 2005 19:47:01 +0000 (19:47 +0000)]
A few tweaks to the old->new camera conversion code
after chatting with Ton. I've commented out the old file
title safe conversion for now, so we can actually use it in
files worked on now. Have noted to remember to
uncomment it before the new version number bump.

15 years agoLots of BPy Mesh additions:
Ken Hughes [Thu, 27 Oct 2005 19:37:37 +0000 (19:37 +0000)]
Lots of BPy Mesh additions:
- added faces.uvSel attribute: can get/set selection status of UV vertices in
  UV Editor window
- make mesh.faceUV, mesh.vertexUV and mesh.vertexColor writable: users
  can now enable/disable UV faces, vertex colors, "sticky" vertices
- fixed bug with mesh tool methods: before it would only work if an object
  linked to the mesh was selected
- added mesh.quadToTriangle() and mesh.triangleToQuad() methods
- added selected() method to verts, edges, faces; returns list of indices
  of selected items
- mesh.getFromObject() now gets derived mesh data
- ported vertex group methods from NMesh (required change to Object.c)
- ported module dictionaries from NMesh

15 years agoBugfix: Using the "Influence" slider for Constraints popped back to the
Ton Roosendaal [Thu, 27 Oct 2005 17:37:27 +0000 (17:37 +0000)]
Bugfix: Using the "Influence" slider for Constraints popped back to the
keyed positions when an Ipo was assigned to the Constraint.

15 years agoCopy scene did not copy the markers... causing in memory errors on quit.
Ton Roosendaal [Thu, 27 Oct 2005 17:09:58 +0000 (17:09 +0000)]
Copy scene did not copy the markers... causing in memory errors on quit.
No real baddie, but still very good to fix!

15 years ago- Bugfix #3271: saveRenderedImage() was corrupting memory while trying to
Ken Hughes [Thu, 27 Oct 2005 17:09:20 +0000 (17:09 +0000)]
- Bugfix #3271: saveRenderedImage() was corrupting memory while trying to
  build the filename (thanks for good bug report, Pablo)

15 years agoThe new icon file, with the key markers for NLA and Action
Ton Roosendaal [Thu, 27 Oct 2005 16:57:02 +0000 (16:57 +0000)]
The new icon file, with the key markers for NLA and Action

15 years ago - bug fix: clicking at button "Flip Normals" in button window didn't
Jiri Hnidek [Thu, 27 Oct 2005 16:54:33 +0000 (16:54 +0000)]
 - bug fix: clicking at button "Flip Normals" in button window didn't
   display changes in 3dview and data wasn't added to undo stack too

15 years agoNLA & Action goodies;
Ton Roosendaal [Thu, 27 Oct 2005 16:25:35 +0000 (16:25 +0000)]
NLA & Action goodies;

-> Locked Strip length
When changing time of the animation curves in an Action, the strips in NLA
just remained the same length, causing very confusing situations.
By setting the strips to Locked (Nkey NLA window), it always updates the
strip length to make sure all keys are included, and not more. From now on
(not on old files) this is the default strip method.

-> ALT+C clear size
This menu has 2 options, the first clears the size, the 2nd remaps the
action (only when you didnt use the new Lock feature).
Both options are in the Pulldown menu too

-> Key drawing
The weird beveled button in Action/NLA didn't accurately show what time it
was actually on. I've replaced it with an Icon now, diamond shaped, in a
design derived from the TimeLine markers.

15 years ago When you add new face with F key, then blender set up smoothness due to
Jiri Hnidek [Thu, 27 Oct 2005 15:19:57 +0000 (15:19 +0000)]
 When you add new face with F key, then blender set up smoothness due to
 smoothness of faces in neighbourhood. It tries to set up normal of new
 face due to normals of faces in neigbourhood too.

 btw: this coding was inspired by andy's tutorial at conf in Amsterdam.

15 years agoAnother missing .h file for fix for screen handlers
Ton Roosendaal [Thu, 27 Oct 2005 14:12:16 +0000 (14:12 +0000)]
Another missing .h file for fix for screen handlers

15 years agoMissing include for screen handlers (had to move to kernel level)
Ton Roosendaal [Thu, 27 Oct 2005 14:11:25 +0000 (14:11 +0000)]
Missing include for screen handlers (had to move to kernel level)

15 years agoThis is a bit a patch... unforseen issue with the new Screen Handlers.
Ton Roosendaal [Thu, 27 Oct 2005 13:56:41 +0000 (13:56 +0000)]
This is a bit a patch... unforseen issue with the new Screen Handlers.
(Screen handler is used now to trigger animated screen).

When files get saved with Verse_Blender, it has the verse handler set,
which causes the handler system to run without a means to disable it with
release versions of Blender. This patch disables the Verse Handler to be
set on reading files.

Jiri; you will have to uncomment this code when you sync it with your tree!

15 years agoCTRL+I, pose mode, added accidentally a location constraint, when having 2
Ton Roosendaal [Thu, 27 Oct 2005 13:02:34 +0000 (13:02 +0000)]
CTRL+I, pose mode, added accidentally a location constraint, when having 2
Bones selected.

15 years agoCamera visualisation changes and features (from tuho)
Matt Ebb [Thu, 27 Oct 2005 11:28:43 +0000 (11:28 +0000)]
Camera visualisation changes and features (from tuho)

* Made the in-camera view dashed border lines less jarring
and disturbing. We will give it some testing here, feedback
is welcome.
* Showing the title safe zone is now an option in the
camera edit buttons. It's not very useful if you're not
making stuff for video/broadcast so you can turn it off.
* Passepartout is now a flag per camera, rather than per
scene. It never really belonged in the render buttons or as
Scene data, though it could be up for debate whether it's
better as camera data or view data (i.e. in the view
properties panel). Old files get converted over nicely with
this so if you had passepartout on before, it stays on the
cameras.
* Added an option to show the current camera's name at
the bottom of the in-camera view, to help keep track of
which one you're seeing when using multiple cameras.
* In the 3D View (non-camera view) the active camera is
drawn with a solid line as before, while non-active
cameras are drawn with a dashed line, to help visualise
which one is active.

15 years agoI hope this commit finally fixes loading of .blend files with text objects
Alexander Ewering [Thu, 27 Oct 2005 10:01:11 +0000 (10:01 +0000)]
I hope this commit finally fixes loading of .blend files with text objects
that had been converted to curve with ALT-C.

Should fix bugs 2973 and 3269. Thanks Ken Hughes for a pointer into the
right direction.

15 years agoMore Orange NLA/Action fixes;
Ton Roosendaal [Wed, 26 Oct 2005 21:13:00 +0000 (21:13 +0000)]
More Orange NLA/Action fixes;

- NLA: Hotkey ALT+S resets (synchs) action start/end in selected Strips
- NLA: Panel for Strips allow setting negative "Action start"
- NLA: When transforming strips, the selected keys for that action don't
  get included (caused weird errors)
- Action: cleanup of drawing horizontal bars.
- Action: Pulldown menu option "Lock time" was in different location than
  for the other pulldowns

15 years agoOrange bugreport:
Ton Roosendaal [Wed, 26 Oct 2005 20:02:31 +0000 (20:02 +0000)]
Orange bugreport:

The new "lock time" option for ipo/action/nla/time/sound windows did not
work proper... it could accidentally activate other windows, confusing the
2d settings.

15 years agoOrange bugfix;
Ton Roosendaal [Wed, 26 Oct 2005 19:42:32 +0000 (19:42 +0000)]
Orange bugfix;

Border select in Action window didn't get corrected for NLA time.

15 years agoOrange bugfixes in NLA editor;
Ton Roosendaal [Wed, 26 Oct 2005 19:34:32 +0000 (19:34 +0000)]
Orange bugfixes in NLA editor;

- ALT+C "convert action into strip" didn't calculate the mouse position
  correct. Also changed menu a bit to tell which action it makes a strip
- Select action strips  now activates Object too
- Icons in Object 'row' (denoting NLA override or not) now draw blended

15 years agoDefault openGL material had a tiny ambient set, causing black to be not
Ton Roosendaal [Wed, 26 Oct 2005 19:00:40 +0000 (19:00 +0000)]
Default openGL material had a tiny ambient set, causing black to be not
black really! :)

15 years agoFix for vertex/weight paint, so it evaluates the subsurfed vertices for
Ton Roosendaal [Wed, 26 Oct 2005 18:48:53 +0000 (18:48 +0000)]
Fix for vertex/weight paint, so it evaluates the subsurfed vertices for
applying paint. (Until now it used non-subsurfed vertices).

15 years ago- make getMeshDerivedMesh() initialize flag setting for new vertices (needed
Ken Hughes [Wed, 26 Oct 2005 17:36:02 +0000 (17:36 +0000)]
- make getMeshDerivedMesh() initialize flag setting for new vertices (needed
  for BPy Mesh to get derived mesh data)

15 years ago-Bugfix #3207: ALT-C on a mesh with modifiers would cause memory corruption.
Ken Hughes [Wed, 26 Oct 2005 17:33:31 +0000 (17:33 +0000)]
-Bugfix #3207: ALT-C on a mesh with modifiers would cause memory corruption.
   We make a copy of the mesh and perform operations on the new object using
   mesh_create_derived_no_deform() for the new object instead of the
   original.

   Would be really nice if Daniel would look this over to see if it's really
   fixed, or if I've just moved the problem somewhere else. :-)  I'm leaving
   the bug report open until the fixed is verified.

15 years agoPython API Additions
Johnny Matthews [Wed, 26 Oct 2005 16:30:50 +0000 (16:30 +0000)]
Python API Additions

New
Ipo Drivers access in IpoCurve
key.getChannelIpo(index) returns the ipocurve of a given shape index

Docs included for usage :)

15 years ago* fixed a problem where you couldn't select a timeline
Matt Ebb [Wed, 26 Oct 2005 13:43:55 +0000 (13:43 +0000)]
* fixed a problem where you couldn't select a timeline
marker on a frame < 0. Weirdly enough, it seemed to be
deliberate, with the line:
if(cfra < MINFRAME) cfra= MINFRAME; )

I removed this, but if whoever wrote it has a good
reason why it should be there, please let me know!

15 years ago- hopefully fixed osx compilation by forcing compilation
Nils Thuerey [Wed, 26 Oct 2005 12:07:51 +0000 (12:07 +0000)]
- hopefully fixed osx compilation by forcing compilation
  with a single file again (intern/elbeem/intern/solver_main.cpp
includes intern/elbeem/intern/solver_init.cpp and
intern/elbeem/intern/solver_util.cpp when __APPLE_CC__ is defined)
- minor cleanup of inlined functions

15 years agoDisabled CrazySpace when 'proportional edit' is on... I discovered both use
Ton Roosendaal [Wed, 26 Oct 2005 10:49:19 +0000 (10:49 +0000)]
Disabled CrazySpace when 'proportional edit' is on... I discovered both use
the eve->vn pointer to store temporal data. Need a better solution, do it
later. This just prevents crashing!

15 years agoNew: CrazySpace [tm] correction
Ton Roosendaal [Wed, 26 Oct 2005 09:56:52 +0000 (09:56 +0000)]
New: CrazySpace [tm] correction

When Modifiers are used in Edit Mode to show the deformed result for
editing, all actual coordinates Blender works with are still the ones from
the original Cage. You can notice that with the Transform Widget or
helper lines while transforming.

Even worse, the actual transformations still happened on the original Cage
as well, making it very hard to edit. That caused the feature to be named
"CrazySpace" (baptized by Andy, afaik?).

This commit calculates the deformation transformation per vertex, and
inverse corrects it, so it's more intuitive editing this way.

Unfortunately all the deformation features of Blender don't use matrices
for defining deform, so the existing code cannot be re-used to retrieve
the correct deformation matrix per vertex. The solution I found is based
on calculating per face the transformation based on its first 3 vertices,
and store this transformation averaged in the face's vertices.
The solution can also only work on entire faces, because the full deform
can only be retrieved using 3 vertices. (using 2 vertices will miss edge-
aligned rotation, using 1 vertex can only retrieve translation).

By deriving the deformations per face, small errors will still happen,
especially on very low-poly Meshes with extreme deformations.

The only alternative I know now, is providing each vertex in
a mesh with 2 extreme small tangent vectors, which get deformed using the
existing code as well. That will mess up the existing deformation code too
much though, this solution has the benefit it works with each deform we can
up with later too.

Last note about CrazySpace: it can only be used to tweak Meshes. Do not
even try to add vertices, extrude, or duplicate. Probably we should disable
this... but preventing user errors isn't always power-user-friendly, eh. :)