Commit Graph

16327 Commits

Author SHA1 Message Date
Ton Roosendaal
feb210f08e Experimental feature, especially for the animation department:
THE OBJECT PROXY

Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.

This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.

Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
2006-11-11 16:45:17 +00:00
Brecht Van Lommel
97f892b86b Added custom face data support in edit mode. The code used to do this is
the CustomData module from the modifier stack rewrite, but with additions
to make it also usable in edit mode. Some of the datatypes from that
module were move to a DNA header file, they are not saved to file now, but
will be soon.

The only code that wasn't abstracted is the uv collapse / merging code. It
is rather complicated, will look into that in the future.

There should be no user level changes.
2006-11-11 16:38:37 +00:00
Jens Ole Wund
9e717b59cb softbody review
1. UI review -> disabeling options when not available .. giving hints why ( even tried to give usefull tooltips )
1.1 give some more user control to the solving process  (mins,maxs).. optional feedback on the console

2. replacing ugly object level 'sumohandle' with SB (private runtime) level/pointer 'scratch'
which holds runtime data like cached collider data and more .. and it's thread save this way :)

3.related no 2.  write a 'private' history of collision objects to ease the 'fast' collider tunneling syndrome'

4. some <clean> optimizations, 3-BSP for self collision,  general AABB checking before ever going to collision details

5. some <dirty>  ( in the sense of do some inacurate physics noone ever will see ) little tricks to make things faster .. ..fuzzy collision situation bypass .. forward collision resolution
2006-11-10 23:09:16 +00:00
Joshua Leung
68a2f29db3 Cleanup of evaluation code for Copy Rotation and Limit Rotation constraints.
Made them use the new the two new math functions I've added in arith.c (in
various patches) - Mat4ToEul and LocEulSizeToMat4 - cutting down on the
amount of code reuse.
2006-11-10 23:00:31 +00:00
Peter Schlaile
35b1719ecc == Sequencer ==
Bugfix for the bugfix: corrected intrr's patch.
2006-11-10 18:29:26 +00:00
Alexander Ewering
ba0d87474c Fix meta strips. Peter, please check if it is OK. It seems you just forgot
this place (it's marked with /* crash */).
2006-11-10 17:34:34 +00:00
Brecht Van Lommel
f314a00be1 Bugfix for image painting crash on windows as reported on bf-committers. 2006-11-10 17:21:46 +00:00
Ton Roosendaal
2a0ef5454d Bugfix #5199
Irregular shadow buffer, for solid OSA case, suffered aliasing. This caused
by optimized storage of shadow factors in 1 pixel (averaged for all sub
samples). That didn't work well really...

Now the code uses same method as for transparent faces, storing results for
each sample.
2006-11-10 14:21:27 +00:00
Ton Roosendaal
ac14a2c2b7 Bugfix #5197
Radiosity tool or render was using an uninitialized variable, causing clip
to work incorrect. (black lines in radiosity).

Error caused by commit in august, after 2.42a release.
2006-11-10 11:54:36 +00:00
Ton Roosendaal
9a14548104 Old feature request: undo system now restores images without reloading.
Was surprisingly easy to add, compiant with file reading and undo code.

Currently only the Image->ibuf gets restored, and its opengl binding, so
for realtime texture it works nicely. Also texture images are not freed
inbetween undo steps

Notes:
- Painting textures will just keep the painted image, there's no undo
  yet for that
- If this works satisfying, I'll extend it to compositing previews

TEST IT WELL PLEASE! :)
2006-11-10 10:17:04 +00:00
Nicholas Bishop
a54bd4993f Fixed display of modifiers in sculpt mode. 2006-11-10 08:18:16 +00:00
Nicholas Bishop
a4112470d7 Fixed bug #5193, crash using multires with sculpt
In fixing, replaced several frees and copys of dverts with the proper
blenkernel functions.
2006-11-10 03:58:04 +00:00
Nicholas Bishop
7c6ffecfff Fixed bug #5174, Crash on sculpt mode undo
The fix adds support for storing edge/face/partial visiblity data to the sculpt
mode undo data. (This may also be useful for multires.)
2006-11-10 01:57:06 +00:00
Brecht Van Lommel
740e3233e0 Modified the way face data is preserved in the radiosity module. There
is one user level change: the result is now no longer split up in meshes
of maximum 64k faces, was a workaround for an old limitation.
2006-11-09 23:47:28 +00:00
Peter Schlaile
57a2f7a5b5 == Sequencer ==
This adds support for "generator effect strips", which don't need necessarily
an input strip and my version of Matt Ebb's [ #5035 ] 'Solid Color'
sequence strip.

TODO: With a little bit more tweaking it will be possible to make animated
effect plugins and my still unfinished "Bake"-Strip.

For the 'Solid Color'-Effect, to quote Matt:
This is nice and simple, just provides a solid colour that's set in a colour picker in the properties popup. This is something we've needed for a long time, and I got totally sick of having to make 'black.png' and 'white.png' just to do fades, so I coded this.
2006-11-09 22:23:09 +00:00
Peter Schlaile
0df60a9ef4 == Sequencer ==
Added enhancements by blendix (Patch #4919: Insert sequence effect between)

It adds the following things:
- You can add a sequence strip afterwards in the middle of an effect chain
  (you have to move strips around before, so that there is "room" for it.
   Blender will ask you then, if you want to add in between or after the
   selected strips)
- In the case you messed it up and want your effect strips to be reassigned in
  a different way, there is the new "R"-key. Just select three arbitrary
  strips and press "R". If you don't create a cycle, those will be connected
  to a new effect chain.
- Fixed freeing of imbufs on changes to properly take into account dependencies.  An example of a simple case that went wrong is one image strip with two
  glow effects, changing the parameters of the first glow strip will not
  result in any updates. Basically only direct dependencies were taken into
  account, which resulted in the image preview not being updated in some cases.
- Let the sequencer detect an active sequence strip if none is defined, to
  get rid of annoying error messages when trying to add an effect to a
  selected sequence strip right after loading a file.
- Delete is less destructive. If you delete somewhere between other strips,
  Blender now tries to relink in a reasonable way.
- The active sequence strip is now displayed with a light instead of a dark
  outline, which makes it easier to spot, and is especially useful for the
  tools using the active sequence strip.
- Ability to view the final result when editing inside meta strip.
  The channel button was modified to also allow negative numbers,
  where -n is n levels up the meta stack. There is probably a nicer way to
  specify this, instead of (ab)using the channel button, but this seems to
  work quite efficient.
- Also a small bugfix: don't crash on loading files from newer versions with
  an unknown effect strip.
2006-11-09 18:58:02 +00:00
Kent Mein
d1285dc756 This is really two commits but the first one is very small and affects one
file I modified for the other patch.  So I'm being bad and combining them
together.

First one is added -lXi to LLIBS for solaris.  (Makes it so it compiles
again with the tablet stuff added)

Second one is the real commit its an expansion of patch #4458
This adds optional ICONV lining to support international fonts in the
file selector.  Thanks to wisit venita (dripstone) I mostly just cleaned
it up a little and made it optional via defines.

Its currently turned off for all platforms except for solaris on scons.
For scons see your config/(platform).py file look for WITH_BF_ICONV
For the Makefiles look at source/nan_definitions.mk look for WITH_ICONV
(basically you'll want to export WITH_ICONV=true and possibly set some other
stuff)

Let me know if there are any problems.

Kent
--
mein@cs.umn.edu
2006-11-09 15:45:19 +00:00
Ken Hughes
56a12a30c5 Patch #4896, submitted by Juho Vepsäläinen (bebraw):
Allows "Degr" field in Mesh tools accept negative and positive float values
from range [-360, 360].
2006-11-09 14:30:11 +00:00
Ton Roosendaal
7ce7d0e7d3 Bugreport in irc:
The Preview panel in UV window, for compositing, sets a 'crop' flag in the
scene when used. Somehow this flag can hang when you switch screens or
close windows. Or even worse, it crashed on renders.

This commit ensures that the compositor survives and gives error prints.
The real issue, hanging flags on closing windows, has to be solved still.
2006-11-09 12:06:06 +00:00
Ton Roosendaal
afc880bb45 Oops, added the #define in wrong line. Now displace modifier is back! 2006-11-09 10:12:26 +00:00
Joshua Leung
f645e51256 Two minor code cleanups.
* Removed un-needed cases for limit loc/rot/scale constraints from expand_constraints, which caused a few compiler warnings

* Removed an odd character in one of the comments for constraints. (Hopefully there wasn't any specific reason why it had to be there)
2006-11-09 09:01:20 +00:00
Ton Roosendaal
5782a80d70 Bugfix #5044 revisited
Displace modifier crashed when used on Curve, the fix removed the flag
that accepts curve objects, but apparently then a flag to accept meshes
has to be added. (eModifierTypeFlag_AcceptsMesh).

Thanks Michael Crawford for notifying this fix.
2006-11-09 08:48:24 +00:00
Joshua Leung
7f0dc54f61 This commit adds two of my recent animation editing related patches:
#5061 - Ipo/Action 'Cleaning'
#5071 - 'Only Needed' Keyframing Option

====================

* IPO/Action 'Cleaning':
It removes un-necessary keyframes from individual ipo curves.
- In both editors, the hotkey is currently the OKEY.  Also accesable from menus of each editor.
- There is currently a 'threshold' popup. This sets the value that the cleaner uses to determine if two keys have same time/value

There are a few improvements that could still be made, such as:
- There are a few cases that it still doesn't handle yet, such as when un-needed keyframes lie on a linear line (and similiar cases). This shall be improved soon.
- Also, for some reason, after running cleaning while in ipo editor editmode, all but the active curve are hidden.

====================

* 'Only Needed' Keyframing Option:
This patch adds a new keyframing option for objects and bones. It only adds keyframes where they are needed, judging from the surrounding points on that curve.

Notes about this keyframing option:
- Works like the existing 'Avail' option, except it checks if the keyframe
is needed.
- Currently uses hardcoded threshold for determining if same value.

[quote]
/* Cases where keyframes should not be added:
*       1. Keyframe to be added bewteen two keyframes with similar values
*       2. Keyframe to be added between two keyframes with similar times
*       3. Keyframe lies at point that intersects the linear line between two
keyframes
*/
[/unquote]
2006-11-09 08:43:27 +00:00
Joshua Leung
bdadf4fc83 My first commit!
This commit fixes the name of the LocZ number field in n-key panel for pose-mode bones.
2006-11-09 08:09:54 +00:00
Ton Roosendaal
911362841b Feature: Group duplicators now are recursive, so group-duplid can be
grouped and become a new duplicated group, and so on.

IMPORTANT NOTE!
- no check for eternal loops, so I've hardcoded limited it to 5 levels
- no support for animation or deformation/modifiers/constraints

So, only fun for the props and architecture department :)
2006-11-08 21:20:38 +00:00
Brecht Van Lommel
f350836342 While I'm breaking build systems anyway, also removed the two img modules,
they are not used anymore in the new image paint code.
2006-11-08 20:33:28 +00:00
Brecht Van Lommel
011f531359 Modified the way booleans preserve face data, and cleaned up some
duplicate code. Also removed redundant files from the bsp module,
that where replaced by boolop last year, no sense in updating them
for these changes. On the user level things should still work the
same, this is only preparation work.

Not counting the removed files, -1501 lines of code, not too bad :)
2006-11-08 20:14:04 +00:00
Ton Roosendaal
cea2b6752b Bugfix #5188
Material type OnlyShadow didn't work yet for irregular shadow buffer.
2006-11-08 18:47:38 +00:00
Ton Roosendaal
a65fc1e381 Patch #5126 by Ben Stabler
In 3D window, ortho view, you can use SHIFT+B to zoom in to a border.

I've disabled it for perspective, that doesn't work at all with this.
2006-11-08 15:22:58 +00:00
Ton Roosendaal
a0354619c7 Patch #5091, by Ramon Carlos Ruiz
For numerical pad 2-4-6-8, it adds a step value in degrees in the User
Presets. Code had to be rewritten some... :)
2006-11-08 12:46:41 +00:00
Ton Roosendaal
6685c0d571 Patch #5069, by Juho Vepsäläinen (bebraw)
Enable to use Xkey or DEL for deleting objects in outliner.

Note: there's reasons to be a bit reluctant with extensions like this.
Mostly related to the fact that outliner operations is completely unfinished
still. We need to spend time on thinking over how it should evolve, and
based on that the proper hotkeys and menus can be added as well.
2006-11-08 12:03:10 +00:00
Ton Roosendaal
6106b1648f Patch #5058, by GSR
Adding #define constants for button definitions in theme editor.
2006-11-08 10:59:19 +00:00
Ton Roosendaal
376851268a - Action Modifier; paths now support Speed curve.
http://download.blender.org/demo/test/2.43/0001_0150_speed.avi
  By default the Speed maps in the range 0-100 frames, since there's
  not an actual time relationship here.

  IMPORTANT: this didn't work before, and default Curve Paths have a
  speed Ipo, so past saved scenes will work different now!

- Speed curve points are now drawn on the 3D path as well. With select
  info for selected points, if Curve Object is active.

- Duplicating Objects with NLA ActionModifiers now also correctly copies
  object pointers, so a duplicate works as expected.
2006-11-08 10:51:27 +00:00
Geoffrey Bantle
c6976219fb ->Join triangles fixes.
There was a bug with the new join triangles code that caused concave faces to be
created. This is fixed now and is tweakable using the the 'threshold' value set
in the 'Mesh Tools' panel in editbuttons.

Also removed the popup notice telling you how many triangles had been joined. It
was only there for debugging purposes.
2006-11-08 05:18:11 +00:00
Kent Mein
a4b6dc81e4 missed one more endian issue. Lynx3d saw it...
Kent
2006-11-07 21:24:47 +00:00
Nicholas Bishop
30b9de3a65 Modified sculpt/multires UI:
* Changed multires panel's width to the default
* Removed floating multires panel
* Made multires panel always visible (in EditButtons)
* Moved Make/Delete [multires] button into the multires panel
* Moved the two sculpt panels into tabs of the multires panel
* Removed two extra sculptmode buttons from view header
2006-11-07 20:55:09 +00:00
Ton Roosendaal
2e93510a6b Patch #5028. by Joshua Leung (aligorith)
Key snapping in Action Window, cleanup and added option to snap to
current frame.
2006-11-07 18:34:32 +00:00
Kent Mein
a221ddcf9b removed redefinition of cp and mem.
Was causing problems on windows.  (Its odd that it worked on gcc without
warnings)

Thanks to damiles.

Kent
2006-11-07 18:32:25 +00:00
Kent Mein
387f3b6a07 Patch provided by (lynx3d) Mathias Wein,
It fixes endian issues with 16bit targa images.
this is fixing bug #4982

Kent
2006-11-07 17:32:29 +00:00
Ton Roosendaal
f3a7541365 The occosional warning cleanup;
- unused varialbles
- unused functions
- wrong casted callback for SDL
- gcc3 related; (GLint *) for opengl calls.
2006-11-07 16:43:44 +00:00
Ton Roosendaal
7de24b7ea8 MSVC compiler is non-posix for some string operations...
Created a BLI_strcasestr and used existing BLI_strcasecmp in code now.
2006-11-07 16:27:31 +00:00
Ton Roosendaal
0de4c3c0eb Long wanted feature for animators: option to lock a view to always show
a specific object, so you can see long walkcycles or actions well.

Option is per 3d window, in "View Properties" panel. It also can optional
lock a view to a single bone even!

Temporal movie for fun:
http://www.blender.org/bf/0001_0060.avi
2006-11-07 15:47:10 +00:00
Ton Roosendaal
f34bf8a0cd Patch #4980, by Joshua Leung (aligorith)
This enables finding data in the Outliner.
Usage: Fkey (partial strings), CTRL+Fkey (partial strings, case sensitive).
SHIFT+Fkey to repeat a search, this cycles around.

Extra changes:
- button popups to enter strings now starts activated.
- outliner either shows for Armature the Bones, or Posechannels or
  Editbones,  depending the mode. Was needed to make searches meaningful.

Although Joshua did very good work on the key functions, there were a couple
of issues in his code, and problems in Outliner code, that didn't make it
all work nicely. So, this is quite a revised patch. :)

Full review log can be found in the patch tracker.
2006-11-07 14:25:58 +00:00
Nathan Letwory
008d6987d0 move SPACE_* (enum) and SPACEICONMAX to DNA_space_types (being the more logical place than DNA_screen_types). SPACEICONMAX gets its value now through this enum, so it is not anymore easy to forget to update it correctly :) 2006-11-07 11:24:11 +00:00
Nathan Letwory
a8d1f30807 create_verse_node was given wrong parameter (VSession), corrected to be VerseSession. 2006-11-07 11:10:37 +00:00
Ben Batt
de7b03aca7 Fix for bug #5176: Crash when using display mode "Draw Sharp"
This was a sculpt mode merge problem: the G_DRAWSHARP and G_SCULPTMODE flags
had the same value, so Blender thought it was in sculpt mode when "Draw Sharp"
was turned on, leading to segfaults.

I have moved the G_SCULPTMODE flag to an unused value.
2006-11-07 05:32:39 +00:00
Geoffrey Bantle
e144a05114 ->Commit of patch #5132: Separate by material
This patch adds a new option to the separate menu in editmode, 'By Material'.
It simply loops through all materials in the mesh selects the faces associated
with them and calls separate().

Thanks to Andrea Weikert for the patch!
2006-11-07 00:34:48 +00:00
Brecht Van Lommel
2ef6c48a65 Added two new blend modes to image painting brushes, erase alpha and
add alpha, for painting transparency in images. When using the eraser
tool of a tablet pen, the erase alpha blend mode is activated.
2006-11-07 00:10:37 +00:00
Brecht Van Lommel
b48c514db8 Added an option in the IK constraint to disable stretching, useful
in rigs with layered IK constraints. Also removed the tolerance
setting, this value wasn't used in the solver anymore.
2006-11-06 23:51:37 +00:00
Ton Roosendaal
c2e72a9a9b Patch #4955, Joshua Leung (aligorith)
Four more selection options in Curve editing;
- select more/less (ctrl+numpadplus/minus)
- select first/last point

All nice in menus and toolbox even!

Patch note: had to fix bugs in using 'continue' inside of while() loops.
Turned all oldstyle while() in for() for going over lists.
2006-11-06 18:20:56 +00:00