blender-staging.git
11 years ago== Sequencer ==
Peter Schlaile [Wed, 23 Jul 2008 07:11:23 +0000 (07:11 +0000)]
== Sequencer ==

Fixes: [#17315] Sequencer: after undo there's no active object
closes: [#17357] fix for bug #17315 - Sequencer: after undo there's no active object
(kiemdoder: thanks for the patch, had to do it in a little bit different way,
since sort_seq will kill your sort order idea...)

11 years agoUpdated some out of date documentation of Object Ipo curve names
Matt Ebb [Wed, 23 Jul 2008 02:31:56 +0000 (02:31 +0000)]
Updated some out of date documentation of Object Ipo curve names

11 years agoBGE patch: Add min/max parameters to orientation constraint actuator
Benoit Bolsee [Tue, 22 Jul 2008 23:05:06 +0000 (23:05 +0000)]
BGE patch: Add min/max parameters to orientation constraint actuator

The min/max parameters define a minimum/maximum angle
that the object axis can have with the reference
direction without being constrainted. The angle is
expressed in degree and is limited to 0-180 range.
The min/max parameters define a conical free zone
around the reference direction.

If the object axis is outside that free zone, the
actuator will tend to put it back using as a temporary
reference direction the vector that is exactly at
min or max degree of the reference direction
(depending if the axis angle is below the minimum
or above the maximum) and is located in the plane
formed by the axis and the reference direction.

With a low damping value, this is equivalent to
clamping the axis orientation within min/max degree
of the reference direction.

Backward compatibility corresponds to the absence
of free zone: min = max = 0.

11 years agoUpdate MSVC project files
Benoit Bolsee [Tue, 22 Jul 2008 18:11:32 +0000 (18:11 +0000)]
Update MSVC project files

11 years agoBGE patch: update KX_GameObject::getChildren() to use CListValue instead of python...
Benoit Bolsee [Tue, 22 Jul 2008 16:44:35 +0000 (16:44 +0000)]
BGE patch: update KX_GameObject::getChildren() to use CListValue instead of python list (allows name search keep refcount consistent)

11 years ago== Grease Pencil ==
Joshua Leung [Tue, 22 Jul 2008 09:53:25 +0000 (09:53 +0000)]
== Grease Pencil ==

Grease Pencil is a tool which allows you to draw freehand in some views, allowing you to annotate/scribble over the contents of that view in either 2d or 3d. This facilitates many easier communication and planning abilities.

To use, simply enable it from the View menu (choose 'Grease Pencil...' and click 'Use Grease Pencil'). Then, click+drag using the left-mouse button and the shift-key held to draw a stroke.

For more information, check the following page on the wiki:
http://wiki.blender.org/index.php/User:Aligorith/247_Grease_Pencil

11 years agoPython API
Ken Hughes [Mon, 21 Jul 2008 20:42:11 +0000 (20:42 +0000)]
Python API
----------

Particle patch from Cédric Paille: bugfixes and child-particles export improvements for .getLoc(), part.getRot() part.getSize(), part.getAge() methods.

Also fix a bug with part.randemission getter (was using PART_BOIDS_2D instead of PART_TRAND), plus typos and duplications in API documentation.

11 years agoallow to write to libraries that are indirectly linked
Campbell Barton [Mon, 21 Jul 2008 17:05:59 +0000 (17:05 +0000)]
allow to write to libraries that are indirectly linked

11 years agoBGE patch: Optimization of bullet adaptation layer - part 1.
Benoit Bolsee [Mon, 21 Jul 2008 12:37:27 +0000 (12:37 +0000)]
BGE patch: Optimization of bullet adaptation layer - part 1.

First batch of optimizaton of the bullet adaptation layer in the BGE.
- remove circular motion state update.
- optimization of physic adaptation layer for bullet: bypass
  unecessary conversion of rotation matrix to quaternion and back.
- remove double updates during object replication.

11 years agoBGE 2dFilters some extra fixes
Hamed Zaghaghi [Sun, 20 Jul 2008 23:34:17 +0000 (23:34 +0000)]
BGE 2dFilters some extra fixes

11 years agoBGE Bug Fix:#17349, fixes some problems about 2d-filters
Hamed Zaghaghi [Sun, 20 Jul 2008 23:03:01 +0000 (23:03 +0000)]
BGE Bug Fix:#17349, fixes some problems about 2d-filters

11 years agoBGE patch: constraint orientation actuator did not work when damping=0.
Benoit Bolsee [Sun, 20 Jul 2008 21:09:56 +0000 (21:09 +0000)]
BGE patch: constraint orientation actuator did not work when damping=0.

11 years agoFix for crash in collisions (introduced *after* 2.46 with my collision recode)
Daniel Genrich [Sun, 20 Jul 2008 21:05:48 +0000 (21:05 +0000)]
Fix for crash in collisions (introduced *after* 2.46 with my collision recode)

11 years ago[#17356]: Reactor particles makes blender crash
Daniel Genrich [Sun, 20 Jul 2008 18:07:02 +0000 (18:07 +0000)]
[#17356]: Reactor particles makes blender crash

11 years agoGameObject functions getChildren() and getChildrenRecursive()
Campbell Barton [Sun, 20 Jul 2008 17:18:46 +0000 (17:18 +0000)]
GameObject functions getChildren() and getChildrenRecursive()

11 years agoBugfix #16662
Ton Roosendaal [Sun, 20 Jul 2008 16:06:40 +0000 (16:06 +0000)]
Bugfix #16662

Curve modifier on lattice suffered drawing updates, only when the system
was not animated though, missed depsgraph calls then.

Solved it by forcing lattice to always return displist for its vertices,
that's same as for how mesh/curve works now.

11 years agoBGE bug fix (for 2.47): setParent() fix, third part: set mass to 0 when parenting...
Benoit Bolsee [Sun, 20 Jul 2008 15:40:03 +0000 (15:40 +0000)]
BGE bug fix (for 2.47): setParent() fix, third part: set mass to 0 when parenting. Allow loc/scale/orientation change on child object with physic controller.

11 years agoBugfix #8182
Ton Roosendaal [Sun, 20 Jul 2008 10:09:19 +0000 (10:09 +0000)]
Bugfix #8182

Specular render in Blender still had terminator problems... only the diffuse
part got "phong correction" applied. I didn't fix this before to not change
rendering results just before the release. Now there's time I hope?

Render results should only differ minimal, and only visible for low spec
hardness values (like 1 or 2)

11 years agoAdded functions so python can change library paths.
Campbell Barton [Sat, 19 Jul 2008 15:44:00 +0000 (15:44 +0000)]
Added functions so python can change library paths.
* bpy.libraries.paths() -> list of library paths.
* bpy.libraries.replace(fromPath, toPath)

11 years agosyntax change so GCC 4.3 will build
Campbell Barton [Sat, 19 Jul 2008 13:04:55 +0000 (13:04 +0000)]
syntax change so GCC 4.3 will build

11 years agoBGE bug fix (good for 2.47): remove static-static collision messages on the console...
Benoit Bolsee [Sat, 19 Jul 2008 10:27:52 +0000 (10:27 +0000)]
BGE bug fix (good for 2.47): remove static-static collision messages on the console since previous SetParent fix. The physical object is set to static+ghost while the object is parented. This behavior will be made optional in a future release. The DisableDynamics actuator will also make the object static except that the ghost/non-ghost flag is preserved.

11 years agoBGE patch: Relink actuators with target within group when duplicating group; generali...
Benoit Bolsee [Sat, 19 Jul 2008 07:45:19 +0000 (07:45 +0000)]
BGE patch: Relink actuators with target within group when duplicating group; generalize protection against object deletion for all actuators that point to objects.

Certain actuators hold a pointer to an objects: Property,
SceneCamera, AddObject, Camera, Parent, TractTo. When a
group is duplicated, the actuators that point to objects
within the group will be relinked to point to the
replicated objects and not to the original objects.
This helps to setup self-contained group with a camera
following a character for example.
This feature also works when adding a single object
(and all its children) with the AddObject actuator.

The second part of the patch extends the protection
against object deletion to all the actuators of the above
list (previously, only the TrackTo, AddObject and
Property actuators were protected). In case the target
object of these actuators is deleted, the BGE won't
crash.

11 years agoBGE patch: support for partial hierarchy in dupligroup instantiation; removal of...
Benoit Bolsee [Fri, 18 Jul 2008 19:56:56 +0000 (19:56 +0000)]
BGE patch: support for partial hierarchy in dupligroup instantiation; removal of links that point to inactive objects during group instantiation.

This situation corresponds to a group containing only a portion
of a parent hierarchy (the Apricot team needed that to avoid
logic duplication). The BGE will instantiate only the
children that are in the group so that it follows the 3D view
more closely.
As a result, the logic links to the objects in the portion of the
hierarchy that was not replicated will point to inactive objects
(if the groups are stored in inactive layers as they should be).
To keep the logic system consistent, these links are automatically
removed.
This last part of the patch is a general fix that could go in
2.47 but as this situation does not normally occurs in pre-2.47
games, it is not needed.

11 years agoBGE bug fix (good for 2.47): SetParent actuator did not work on dynamic objects....
Benoit Bolsee [Fri, 18 Jul 2008 14:40:24 +0000 (14:40 +0000)]
BGE bug fix (good for 2.47): SetParent actuator did not work on dynamic objects.  Dynamics will now be disabled automatically and the object will be set ghost for the duration of the parenting; this is to avoid static interaction with the parent object. The dynamic state is restored when the parenting is removed with RemoveParent actuator. This fix also applies to setParent() and removeParent() python functions.

11 years agoown error, recent commit that tried to keep an active face could crash when deleting...
Campbell Barton [Fri, 18 Jul 2008 13:05:15 +0000 (13:05 +0000)]
own error, recent commit that tried to keep an active face could crash when deleting faces.

11 years agobugfix
Campbell Barton [Fri, 18 Jul 2008 13:04:15 +0000 (13:04 +0000)]
bugfix
the aspect of a block could become negative and default when scaling icons.
this is caused by the using viewRedrawForce (transforming a mesh) and drawing icons in the image panel.
must look into why bwin_getsinglematrix can give a negative value, probably because the opengl state is set incorrect.

This is still not correct because the aspect will be wrong. but at least it wont crash.

11 years agoChange message printed by sceneRender.enableCropping() to be more descriptive, and...
Ken Hughes [Thu, 17 Jul 2008 17:30:32 +0000 (17:30 +0000)]
Change message printed by sceneRender.enableCropping() to be more descriptive, and note the method as deprecated in the python docs.

11 years agoBGE patch: use the Blender convention to duplicate groups in the BGE so that the...
Benoit Bolsee [Thu, 17 Jul 2008 15:33:27 +0000 (15:33 +0000)]
BGE patch: use the Blender convention to duplicate groups in the BGE so that the objects will be created with the location and orientation as in Blender. Note that the BGE handles scaling in a parent tree differently than Blender. To avoid discrepencies between the 3D view and the BGE, use only isotropic scaling on all your objects except the leaf objects (i.e. without children) that can have anisotropic scaling

11 years agoBGE bug fix (good for 2.47): fix logic reconnection after replication. The old method...
Benoit Bolsee [Thu, 17 Jul 2008 12:29:42 +0000 (12:29 +0000)]
BGE bug fix (good for 2.47): fix logic reconnection after replication. The old method was matching the bricks by name assuming they are unique but it is not always the case, especially with the new dupligroup feature. The new method matches the bricks by objects and position.

11 years agoBGE patch: fix mesh deformation errors with duplicated objects sharing the same mesh...
Benoit Bolsee [Wed, 16 Jul 2008 21:24:54 +0000 (21:24 +0000)]
BGE patch: fix mesh deformation errors with duplicated objects sharing the same mesh in case of 1) armature+multiple material 2) shape drivers

11 years agoBugfix: particles with deflection based on size could pass through
Brecht Van Lommel [Wed, 16 Jul 2008 13:47:03 +0000 (13:47 +0000)]
Bugfix: particles with deflection based on size could pass through
objects due to a broken SweepingSphereIntersectsTriangleUV. This
merges the code from the shrinkwrap branch by André Pinto, thanks!

11 years ago* change active face behavior so that entering editmode will assign the first face...
Campbell Barton [Wed, 16 Jul 2008 11:48:55 +0000 (11:48 +0000)]
* change active face behavior so that entering editmode will assign the first face as active when none is set. UnSetting the active face will also use the first face as active.
* missing countall when selecting linked

11 years agoBug Fix #17337, now atmosphere works correctly with FSA enabled
Hamed Zaghaghi [Wed, 16 Jul 2008 08:10:23 +0000 (08:10 +0000)]
Bug Fix #17337, now atmosphere works correctly with FSA enabled

11 years agoBGE patch: DUPLIGROUP option supported in BGE.
Benoit Bolsee [Tue, 15 Jul 2008 20:05:23 +0000 (20:05 +0000)]
BGE patch: DUPLIGROUP option supported in BGE.

Blender duplicates groups in the 3D view at the location of objects having the DUPLIGROUP option set. This feature is now supported in the BGE: the groups will be instantiated as in the 3D view when the scene is converted. This is useful to populate a scene with multiple enemies without having to actually duplicate the objects in the blend file.

Notes: * The BGE applies the same criteria to instantiate the group as Blender to display them: if you see the group in the 3D view, it will be instantiated in the BGE.
       * Groups are instantiated as if the object having the DUPLIGROUP option (usually an empty) executed an AddObject actuator on the top objects of the group (objects without parent).
       * As a result, only intra-group parent relationship is supported: the BGE will not instantiate objects that have parents outside the group.
       * Intra-group logic bricks connections are preserved between the duplicated objects, even between the top objects of the group.
       * For best result, the state engine of the objects in the group should be self-contained: logic bricks should only have intra-group connections. Use messages to communicate with state engines outside the group.
       * Nested groups are supported: if one or more objects in the group have the DUPLIGROUP option set, the corresponding groups will be instantiated at the corresponding position and orientation.
       * Nested groups are instantiated as separate groups, not as one big group.
       * Linked groups are supported as well as groups containing objects from the active layers.
       * There is a difference in the way Blender displays the groups in the 3D view and how BGE instantiates them: Blender does not take into account the parent relationship in the group and displays the objects as if they were all children of the object having the DUPLIGROUP option. That's correct for the top objects of the group but not for the children. Hence the orientation of the children objects may be different in the BGE.
       * An AddGroup actuator will be added in a future release.

11 years agoBGE bug fix (good for 2.47): radar and near sensor did not filter correctly the colli...
Benoit Bolsee [Tue, 15 Jul 2008 18:57:10 +0000 (18:57 +0000)]
BGE bug fix (good for 2.47): radar and near sensor did not filter correctly the collisioning objects based on ACTOR flag when the parent object was added dynamically. This could result in a very big performance decrease.

11 years agoUpdated so things compile. (Missing includes needed)
Kent Mein [Tue, 15 Jul 2008 18:12:08 +0000 (18:12 +0000)]
Updated so things compile.  (Missing includes needed)

Kent

11 years agoFix segfault in the Sequence.
Diego Borghetti [Tue, 15 Jul 2008 01:23:56 +0000 (01:23 +0000)]
Fix segfault in the Sequence.

If you enable the Proxy and Custom Dir options and later disable
the Proxy (but not the Custom Dir options), Blender crash every
time that you try select the strip, because the proxy don't exist
anymore.

The solution: only draw the Custom Dir button if the Proxy
option is enable.

11 years agoBugfix:
Joshua Leung [Mon, 14 Jul 2008 23:49:17 +0000 (23:49 +0000)]
Bugfix:

My recent commit in transform code messed up Auto-IK.

11 years agobugfix
Campbell Barton [Mon, 14 Jul 2008 17:19:24 +0000 (17:19 +0000)]
bugfix
* samples that wernt loaded could crash blender - divide by zero errors from having 0 channels or bits.
* could also corrupt memory when selecting samples with long names. from the sample selector menu.

11 years agoWin64 fix: disable 1GB restriction for 64bit windows systems, baking fluid with ...
Daniel Genrich [Mon, 14 Jul 2008 12:24:49 +0000 (12:24 +0000)]
Win64 fix: disable 1GB restriction for 64bit windows systems, baking fluid with >4GB is verified to work on Vista64.

11 years agoBugfix #17327
Ton Roosendaal [Mon, 14 Jul 2008 10:26:11 +0000 (10:26 +0000)]
Bugfix #17327

Small one: changed the string attribute in multilayer exr files to be:

"2.43 and newer"

To indicate that it's about compatibility of the exr file, not the version
Blender saved it in.

11 years agoBugfix #17323
Ton Roosendaal [Mon, 14 Jul 2008 09:37:06 +0000 (09:37 +0000)]
Bugfix #17323

Ztransp OSA render did not include z values anymore in pass... this is
not good Z anyway (aliased), but at least it's back now.

Note: for composites using Z values: use FSA for superior results.

11 years agoimporting the GameLogic module was being done by adding the text "import GameLogic...
Campbell Barton [Mon, 14 Jul 2008 00:47:07 +0000 (00:47 +0000)]
importing the GameLogic module was being done by adding the text "import GameLogic" to the start of all scripts used in the game engine, this meant every error line number was off by 1 (quite annoying). better to do this to the dictionary that the scripts run with.

11 years agoWin64 fix: if you disable enough things in CMakeList.txt blender compiles on win64...
Daniel Genrich [Sun, 13 Jul 2008 18:29:07 +0000 (18:29 +0000)]
Win64 fix: if you disable enough things in CMakeList.txt blender compiles on win64 now using cmake --> *BUT* it doesn't say anything about if it works with MEM>4GB (that's next thing to explore!)

11 years agoFix to let Ghost compile with win64 msvc compiler.
Daniel Genrich [Sun, 13 Jul 2008 17:49:12 +0000 (17:49 +0000)]
Fix to let Ghost compile with win64 msvc compiler.

11 years agoBugfix #14435
Ton Roosendaal [Sun, 13 Jul 2008 14:49:07 +0000 (14:49 +0000)]
Bugfix #14435

"(De)Select faces with material" (edit buttons) should also draw image window

11 years agoFixing the fix: Sometimes, Valgrind sees memory leaks where noone is - especially...
Daniel Genrich [Sat, 12 Jul 2008 22:11:26 +0000 (22:11 +0000)]
Fixing the fix: Sometimes, Valgrind sees memory leaks where noone is - especially with external used memory managers like in this case (and Python case)

11 years agoBGE bug fix (good for 2.47): automatic detection that target object of AddObject...
Benoit Bolsee [Sat, 12 Jul 2008 12:10:27 +0000 (12:10 +0000)]
BGE bug fix (good for 2.47): automatic detection that target object of AddObject actuator is being deleted to avoid crash (bad game design anyway)

11 years agoUpdate MSVC project files
Benoit Bolsee [Sat, 12 Jul 2008 11:57:21 +0000 (11:57 +0000)]
Update MSVC project files

11 years agoimprovement of 2d-filter custom shader,
Hamed Zaghaghi [Sat, 12 Jul 2008 10:21:37 +0000 (10:21 +0000)]
improvement of 2d-filter custom shader,
some bugfixes,
now you can use depth buffer and luminance buffer without any settings,
also you can use object's properties in a shader

11 years agoPatch #17285: fix for bug #14685: frame counter not always updating while scrubbing
Joshua Leung [Sat, 12 Jul 2008 06:49:33 +0000 (06:49 +0000)]
Patch #17285: fix for bug #14685: frame counter not always updating while scrubbing

Patch submitted by Roelf De Kock (kiemdoder)

The parts of the patch affecting the timeline were have not been committed, as there was a better solution.

11 years agoBugfix #17318: PoseLib: Crash while searching for pose typing in letter i then backspace
Joshua Leung [Sat, 12 Jul 2008 06:44:57 +0000 (06:44 +0000)]
Bugfix #17318: PoseLib: Crash while searching for pose typing in letter i then backspace

When searching failed to find any matches, the pointer to a matching pose was cleared. However, it wasn't reset upon clearing the invalid search-string, so a crash occurred.

11 years agoPatch #17310: Fixing urls in main README
Joshua Leung [Sat, 12 Jul 2008 06:18:06 +0000 (06:18 +0000)]
Patch #17310: Fixing urls in main README

Thanks to Dietrich Bollmann (diresu) for the patch

11 years ago== Action Editor - NKEY Properties Panel ==
Joshua Leung [Sat, 12 Jul 2008 05:00:37 +0000 (05:00 +0000)]
== Action Editor - NKEY Properties Panel ==

When the NKEY is pressed in the Action Editor while hovering over the keyframes area, a floating properties panel can now be accessed. It shows relevant properties for the active channel, however this is currently only for Action Groups. Action Channel support will come later.

The key benefit of this panel is that it is now possible to edit the colour set used by a group. Also, there is a button for selecting all the channels in that group (which can also be done by simply Ctrl-Shift clicking on any group).

11 years agoFix for bug [#13479] Particle system "corrupts" when changing material colour and...
Janne Karhu [Fri, 11 Jul 2008 23:47:44 +0000 (23:47 +0000)]
Fix for bug [#13479] Particle system "corrupts" when changing material colour and used in conjunction with softbodies
- changing particlesystem settings for hair particles cleared & recalculated everything even when hair softbody was baked

11 years agoMemory leak fix (found with Valgrind)
Daniel Genrich [Fri, 11 Jul 2008 17:08:45 +0000 (17:08 +0000)]
Memory leak fix (found with Valgrind)

11 years agoMemory leak fix: br_find_exe() uses strdup() which uses malloc and therefore the...
Daniel Genrich [Fri, 11 Jul 2008 14:11:55 +0000 (14:11 +0000)]
Memory leak fix: br_find_exe() uses strdup() which uses malloc and therefore the returned string needs free'ing (Found with valgrind).

11 years agoBugfix #17306: Missing refresh call for button in UserPrefs
Joshua Leung [Fri, 11 Jul 2008 00:36:38 +0000 (00:36 +0000)]
Bugfix #17306: Missing refresh call for button in UserPrefs

Autokey settings were missing redraw for Info-window

11 years agoFix for bug #14411: missing preview render redraw for a few lamp buttons.
Brecht Van Lommel [Thu, 10 Jul 2008 18:11:36 +0000 (18:11 +0000)]
Fix for bug #14411: missing preview render redraw for a few lamp buttons.

11 years agoFix for bug #14665: stars not working in 3D view.
Brecht Van Lommel [Thu, 10 Jul 2008 16:29:42 +0000 (16:29 +0000)]
Fix for bug #14665: stars not working in 3D view.

11 years agoFix for bug #17292: vertex paint blur darkens the colors as you
Brecht Van Lommel [Thu, 10 Jul 2008 15:30:35 +0000 (15:30 +0000)]
Fix for bug #17292: vertex paint blur darkens the colors as you
paint, due to old optimization to use >>8, but this is equivalent
to /256, and it should be /255.

11 years agoAdding an option for action actuator - "Continue" this means animations always play...
Campbell Barton [Thu, 10 Jul 2008 14:23:19 +0000 (14:23 +0000)]
Adding an option for action actuator - "Continue" this means animations always play from where they left off. Continue was the 2.46 operation too, so new functionality is the option to disable.

When using states, an action like kick or throw can often switch out before finishing playing the action, and there was no way to play from the start frame the second time round. (even setting the actions current frame through python doesn't work work)

11 years agoSync with Apricot Game Engine
Brecht Van Lommel [Thu, 10 Jul 2008 12:47:20 +0000 (12:47 +0000)]
Sync with Apricot Game Engine
=============================

* Clean up and optimizations in skinned/deformed mesh code.
* Compatibility fixes and clean up in the rasterizer.
* Changes related to GLSL shadow buffers which should have no
  effect, to keep the code in sync with apricot.

11 years agoAutoMerge Keyframes option for Action/NLA editors will now also delete duplicate...
Joshua Leung [Thu, 10 Jul 2008 01:47:51 +0000 (01:47 +0000)]
AutoMerge Keyframes option for Action/NLA editors will now also delete duplicate keyframes if a Duplicate (SHIFT-DKEY) operation is cancelled.

11 years ago-> Support for Custom Data in bevel modifier
Geoffrey Bantle [Thu, 10 Jul 2008 00:46:19 +0000 (00:46 +0000)]
-> Support for Custom Data in bevel modifier

Added Customdata to Bmesh <-> derivedmesh functions

11 years agoApricot Request:
Joshua Leung [Thu, 10 Jul 2008 00:15:57 +0000 (00:15 +0000)]
Apricot Request:

When changing the active action in the NLA editor with NLA-override off, armatures now have their restpose applied before the new action is evaluated.

I've commented the code here to make it clearer what is going on.

11 years ago[#17298] surface normal direction compensation for objects with negative scale in...
Campbell Barton [Wed, 9 Jul 2008 19:15:26 +0000 (19:15 +0000)]
[#17298] surface normal direction compensation for objects with negative scale in rendering with radiosity
from Roelf De Kock (kiemdoder)

Fixes bug [#7969] Mirroring Object Breaks Radiosity Calculations

- copied from the tracker.
The code in this patch detects whether an object has negative scale (test the OB_NEG_SCALE bit in Object.transflag)
and then compensate for the negative scale when the surface normals are calculated for a radiosity render.

11 years agoFixed bug #14510 - wave modifier crash
Ben Batt [Wed, 9 Jul 2008 15:54:53 +0000 (15:54 +0000)]
Fixed bug #14510 - wave modifier crash

CDDM_apply_vert_coords needs a CDDerivedMesh, but it was getting a
CCGDerivedMesh from the preceding Subsurf modifier. This fix just makes
a CDDerivedMesh copy of the supplied DerivedMesh rather than using it directly.

11 years agobugfix, vector was not checked for zero length before normalizing, closing blender...
Campbell Barton [Wed, 9 Jul 2008 15:30:15 +0000 (15:30 +0000)]
bugfix, vector was not checked for zero length before normalizing, closing blender instantly with an assert.

11 years agoBuhh... and now I left in testing print in exr code.
Ton Roosendaal [Wed, 9 Jul 2008 15:25:34 +0000 (15:25 +0000)]
Buhh... and now I left in testing print in exr code.

11 years agoReplaced strcasecmp with BLI_strcasecmp, to make msvc happy!
Ton Roosendaal [Wed, 9 Jul 2008 13:12:58 +0000 (13:12 +0000)]
Replaced strcasecmp with BLI_strcasecmp, to make msvc happy!

11 years agoFix for reported openexr file reading failures.
Ton Roosendaal [Wed, 9 Jul 2008 10:51:03 +0000 (10:51 +0000)]
Fix for reported openexr file reading failures.

For simple RGB(A) files, the channel names in openexr were supposed
to be simply "R" "G" "B" and "A" too.
Other programs like other names... like lower case, or like "ambient.r"

Tested with file from renderman.

11 years agoFix for bugfix #12075: gamma node check for nan was always
Brecht Van Lommel [Wed, 9 Jul 2008 10:13:09 +0000 (10:13 +0000)]
Fix for bugfix #12075: gamma node check for nan was always
checking red channel.

11 years agoadded a factor argument for aligning to vector, this isn't correct since it does...
Campbell Barton [Wed, 9 Jul 2008 09:21:52 +0000 (09:21 +0000)]
added a factor argument for aligning to vector, this isn't correct since it does linear interpolation of the vector and renormalizes.
(can be improved to rotate correctly but for our  use ist ok for now, would also be useful to have an argument to clamp the maximum rotation angle to get a constant rotation speed),

This will used to make franky upright when falling from an angle, to track to a surface when hanging onto a ledge and setting the glide pitch.
Without this rotation is instant and jerky.

currently this is done with Mathutils which isnt available in Blender Player.

def do_rotate_up(own):
own.alignAxisToVect([0,0,1], 2, 0.1)

replaces...

def do_rotate_up(own):
up_nor = Vector(0,0,1)
own_mat = Matrix(*own.getOrientation()).transpose()
own_up = up_nor * own_mat
ang = AngleBetweenVecs(own_up, up_nor)
if ang > 0.005:
# Set orientation
cross = CrossVecs(own_up, up_nor)
new_mat = own_mat * RotationMatrix(ang*0.1, 3, 'r', cross)
own.setOrientation(new_mat.transpose())

M    source/gameengine/Ketsji/KX_GameObject.cpp
M    source/gameengine/Ketsji/KX_GameObject.h

11 years agoexiting wasnt working (was raising errors), also use dict.keys() rather then appendin...
Campbell Barton [Wed, 9 Jul 2008 00:58:57 +0000 (00:58 +0000)]
exiting wasnt working (was raising errors), also use dict.keys() rather then appending from iteritems,

11 years agofix for crasher with touch sensor, ben you may want to look at this, should be ok...
Campbell Barton [Tue, 8 Jul 2008 22:43:44 +0000 (22:43 +0000)]
fix for crasher with touch sensor, ben you may want to look at this, should be ok since the ray sensor does NULL checks in for getNewClientInfo in a similar area.

11 years agobugfix - GameEngine PyObject methods did not all return when using dir(), because...
Campbell Barton [Tue, 8 Jul 2008 17:57:31 +0000 (17:57 +0000)]
bugfix - GameEngine PyObject methods did not all return when using dir(), because inherited methods were ignored, This made it incredibly annoying, not only having to search a C++ file to see what functions were available. but looking up methods inherited from other C++ classes.
There is still no __members__ attribute so dir() wont work at all for attributes.

11 years agoFix for crash in freeing group nodes, node trees have to be freed
Brecht Van Lommel [Tue, 8 Jul 2008 17:04:58 +0000 (17:04 +0000)]
Fix for crash in freeing group nodes, node trees have to be freed
before materials.

11 years agoBGE logic patch: new "Add" mode for Ipo actuator, several corrections in state system.
Benoit Bolsee [Tue, 8 Jul 2008 12:18:43 +0000 (12:18 +0000)]
BGE logic patch: new "Add" mode for Ipo actuator, several corrections in state system.

New Add mode for Ipo actuator
=============================
A new Add button, mutually exclusive with Force button, is available in
the Ipo actuator. When selected, it activates the Add mode that consists
in adding the Ipo curve to the current object situation in world
coordinates, or parent coordinates if the object has a parent. Scale Ipo
curves are multiplied instead of added to the object current scale.
If the local flag is selected, the Ipo curve is added (multiplied) in
the object's local coordinates.
Delta Ipo curves are handled identically to normal Ipo curve and there
is no need to work with Delta Ipo curves provided that you make sure
that the Ipo curve starts from origin. Origin means location 0 for
Location Ipo curve, rotation 0 for Rotation Ipo curve and scale 1 for
Scale Ipo curve.

The "current object situation" means the object's location, rotation
and scale at the start of the Ipo curve. For Loop Stop and Loop End Ipo
actuators, this means at the start of each loop. This initial state is
used as a base during the execution of the Ipo Curve but when the Ipo
curve is restarted (later or immediately in case of Loop mode), the
object current situation at that time is used as the new base.

For reference, here is the exact operation of the Add mode for each
type of Ipo curve (oLoc, oRot, oScale, oMat: object's loc/rot/scale
and orientation matrix at the start of the curve; iLoc, iRot, iScale,
iMat: Ipo curve loc/rot/scale and orientation matrix resulting from
the rotation).

Location
  Local=false: newLoc = oLoc+iLoc
  Local=true : newLoc = oLoc+oScale*(oMat*iLoc)
Rotation
  Local=false: newMat = iMat*oMat
  Local=true : newMat = oMat*iMat
Scale
  Local=false: newScale = oScale*iScale
  Local=true : newScale = oScale*iScale

Add+Local mode is very useful to have dynamic object executing complex
movement relative to their current location/orientation. Of cource,
dynamics should be disabled during the execution of the curve.

Several corrections in state system
===================================
- Object initial state is taken into account when adding object
  dynamically
- Fix bug with link count when adding object dynamically
- Fix false on-off detection for Actuator sensor when actuator is
  trigged on negative event.
- Fix Parent actuator false activation on negative event
- Loop Ipo curve not restarting at correct frame when start frame is
  different from one.

11 years agoBugfix #16535
Ton Roosendaal [Tue, 8 Jul 2008 11:47:22 +0000 (11:47 +0000)]
Bugfix #16535

The infamous Fkey 'make face' in editmode still failed in cases, giving
an annoying convex error popup.
Found two errors in this code:

- not all cases were evaluated to make a face of 4 vertices (6 cases)
- the function that makes always a face when the 4 edges already exist
  failed when not in vertex-select mode.

I also removed the popup, but added a print... its still not perfect.

11 years agoscenes set pose objects would draw in posemode while weight painting if they were...
Campbell Barton [Tue, 8 Jul 2008 10:18:34 +0000 (10:18 +0000)]
scenes set pose objects would draw in posemode while weight painting if they were set to posemode in their scene.

11 years agoCompiler warning fixes (how some of this stuff compiled without stopping compiling...
Joshua Leung [Tue, 8 Jul 2008 07:30:38 +0000 (07:30 +0000)]
Compiler warning fixes (how some of this stuff compiled without stopping compiling I don't know) ;)

11 years ago== Select Swap for Armatures (Ctrl I) ==
Joshua Leung [Tue, 8 Jul 2008 07:06:42 +0000 (07:06 +0000)]
== Select Swap for Armatures (Ctrl I) ==

It is now possible to swap the selection of bones in EditMode and PoseMode using the CTRL IKEY hotkey.

As a result, the hotkey for adding IK Constraints has now changed to SHIFT IKEY (so that select swap can have a consistent hotkey)

11 years ago-> UV and VCOL support for bevel (editmode)
Geoffrey Bantle [Tue, 8 Jul 2008 02:22:37 +0000 (02:22 +0000)]
-> UV and VCOL support for bevel (editmode)

BMesh and the bevel code now support UVs/VCOLS.
The offset is fixed at this time, but will be
made dynamic later.

11 years agopatch from res2k to stop the blender window being upscaled on vista.
Campbell Barton [Mon, 7 Jul 2008 22:11:11 +0000 (22:11 +0000)]
patch from res2k to stop the blender window being upscaled on vista.

11 years agoown mistake with drawing used state bits.
Campbell Barton [Mon, 7 Jul 2008 21:04:30 +0000 (21:04 +0000)]
own mistake with drawing used state bits.
Other minor changes and removed some warnings.

11 years ago[#17288] Sequencer API: added a method, a geter/setter, the blend modes dict and...
Campbell Barton [Mon, 7 Jul 2008 04:17:03 +0000 (04:17 +0000)]
[#17288] Sequencer API: added a method, a geter/setter, the blend modes dict and corrected a malfunction on audio strips blend mode
from Luca Bonavita (mindrones)

- adds the method "rebuildProxy()" useful to rebuild all the strips at once:   the user can do

- adds a BlendModes dictionary under the Blender.Scene.Sequence module: the  user can see the blending option with

- adds the getter/setter "blendMode"

- adds a function seq_can_blend in sequence.c as requested by Peter, useful for these purposes but also to solve a bug
after

- the bug is you can apply blend modes to an audio strip that doesn't make sense: changed the test and now you cannot
assign blend mode other than Replace to audio strips

Omitted DNA cleanup part since its only whitespace and Id prefer to have a useful "svn blame" output.

11 years ago* New UV editor selection mode: Island
Matt Ebb [Mon, 7 Jul 2008 02:02:10 +0000 (02:02 +0000)]
* New UV editor selection mode: Island

This goes alongside vertex and face selection and selects an entire UV island with a single click. It's a lot less painful to use when rearranging UV layouts, especially with Drag Immediately on - see: http://mke3.net/blender/etc/uv_island.mov

11 years agoDerived Mesh Bugfix
Martin Poirier [Mon, 7 Jul 2008 01:56:47 +0000 (01:56 +0000)]
Derived Mesh Bugfix

EditMesh MEdge vertex index were doubled incremented, so more or less always wrong (even worse, could read outside of array).

11 years agoLittle tweak to timeline_force_draw, so that button windows are updated properly
Joshua Leung [Mon, 7 Jul 2008 00:54:32 +0000 (00:54 +0000)]
Little tweak to timeline_force_draw, so that button windows are updated properly

11 years agoFix for bug: [#14570] particle system: grid distribution + vertex emitting bug
Janne Karhu [Sun, 6 Jul 2008 22:52:55 +0000 (22:52 +0000)]
Fix for bug: [#14570] particle system: grid distribution + vertex emitting bug
- grid distribution didn't check for emission from vertices

11 years ago=== Transform Snap ===
Martin Poirier [Sun, 6 Jul 2008 15:38:51 +0000 (15:38 +0000)]
=== Transform Snap ===

Bugfix face snapping in edit mesh didn't test for selection properly

11 years agoGameObject rayCast and rayCastTo were not setting exception strings (causes return...
Campbell Barton [Sun, 6 Jul 2008 14:11:30 +0000 (14:11 +0000)]
GameObject rayCast and rayCastTo were not setting exception strings (causes return without exception set error)
Also made game state buttons only have a dot in states that have controllers in them.

11 years agoBugfix #16669
Ton Roosendaal [Sun, 6 Jul 2008 13:52:17 +0000 (13:52 +0000)]
Bugfix #16669

The Image "do premul" option didn't work when Image was of type Sequence.
(Note: this option converts key-alpha images to premul, as is standard
in Blender rendering)

11 years ago#16675: Object name doesn't get updated in 3D viewports if it is changed via Buttons...
Joshua Leung [Sun, 6 Jul 2008 11:25:58 +0000 (11:25 +0000)]
#16675: Object name doesn't get updated in 3D viewports if it is changed via Buttons Window

11 years agoBugfix #17139
Ton Roosendaal [Sun, 6 Jul 2008 09:21:39 +0000 (09:21 +0000)]
Bugfix #17139

When "image type" is a movie, image file saving falls back to jpg as a
default. The code checking extensions didn't correctly include quicktime.

11 years agoUpdates from Roger Wickes
Campbell Barton [Sat, 5 Jul 2008 11:38:16 +0000 (11:38 +0000)]
Updates from Roger Wickes

[#16494] Animation Bake Constraints update
links cloned children to cloned parents, useful for ik target baking. whitespace, capitalization.

[#15032] C3D Import script cleanup/IK
Changed code to put IK constraints on a user-defined layer, separate from Markers. cleaned up module naming convention.
removed questionable sloc. add revision history. forced the TrackTo constraint to use a valid marker, and not make up
one on its own.

11 years agopatch [#17275] Fix for: pressing delete on an empty sequencer pops up a confirmation
Campbell Barton [Sat, 5 Jul 2008 11:08:39 +0000 (11:08 +0000)]
patch [#17275] Fix for: pressing delete on an empty sequencer pops up a confirmation
from Roelf De Kock (kiemdoder) to address report #15025

11 years ago->Last Commit broke compilation on GCC
Geoffrey Bantle [Fri, 4 Jul 2008 22:32:06 +0000 (22:32 +0000)]
->Last Commit broke compilation on GCC

CustomData_bmesh_set function header and
prototype didnt match. For some reason this
not only compiledon MSVC but didnt even warn...

11 years ago== BUGFIX ==
Andrea Weikert [Fri, 4 Jul 2008 20:24:15 +0000 (20:24 +0000)]
== BUGFIX ==
- fix crash when exiting game engine (with ESC-key).
- reason for crash: std::vector iterator is invalid after vector::erase