13 years agomerge with trunk (15330 -> 15566)
Martin Poirier [Mon, 14 Jul 2008 14:09:36 +0000 (14:09 +0000)]
merge with trunk (15330 -> 15566)

13 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.

13 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.

13 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.

13 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.

13 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!)

13 years agoGet simulated annealing working correctly. Meaning bone arc retargeting is much faste...
Martin Poirier [Sun, 13 Jul 2008 18:24:27 +0000 (18:24 +0000)]
Get simulated annealing working correctly. Meaning bone arc retargeting is much faster than before.

Still need to do stability tests and analysis (brute force is probably better in some situations).

13 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.

13 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

13 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)

13 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)

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

13 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

13 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.

13 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.

13 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

13 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).

13 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

13 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)

13 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).

13 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

13 years agoFirst draft for simulated annealing optimization method (disabled because not ok...
Martin Poirier [Thu, 10 Jul 2008 21:04:29 +0000 (21:04 +0000)]
First draft for simulated annealing optimization method (disabled because not ok yet)

13 years agoUse tree length as parameter for multi resolution filtering.
Martin Poirier [Thu, 10 Jul 2008 18:48:27 +0000 (18:48 +0000)]
Use tree length as parameter for multi resolution filtering.

This is the begining of the simplification phase (meaning less parameters to mess up users)

13 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.

13 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.

13 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.

13 years agoSpecial multi resolution lookup on first arc, because the lowest node can get filtere...
Martin Poirier [Thu, 10 Jul 2008 15:15:47 +0000 (15:15 +0000)]
Special multi resolution lookup on first arc, because the lowest node can get filtered out too.

13 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)

13 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.

13 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.

13 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

13 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.

13 years agoDraw node index
Martin Poirier [Wed, 9 Jul 2008 21:07:02 +0000 (21:07 +0000)]
Draw node index
Retargetting, go to higher levels no nodes when no match is found
Fix bug in exterme threshold external filtering

13 years agoMulti resolution retargetting. Go back to lowest level on shared nodes.
Martin Poirier [Wed, 9 Jul 2008 19:44:40 +0000 (19:44 +0000)]
Multi resolution retargetting. Go back to lowest level on shared nodes.

13 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.

13 years agoFix external arc merging bug (could mess up node degrees)
Martin Poirier [Wed, 9 Jul 2008 18:36:35 +0000 (18:36 +0000)]
Fix external arc merging bug (could mess up node degrees)

13 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.

13 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.

13 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.

13 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!

13 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.

13 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.

13 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)


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)

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

13 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,

13 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.

13 years agoRename some struct members to reduce confusion
Martin Poirier [Tue, 8 Jul 2008 19:34:20 +0000 (19:34 +0000)]
Rename some struct members to reduce confusion
Proper flag clearing for retarget on multi resolution

13 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.

13 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.

13 years agoStart multi resolution search on first arc and smarter search (match first two levels...
Martin Poirier [Tue, 8 Jul 2008 16:22:18 +0000 (16:22 +0000)]
Start multi resolution search on first arc and smarter search (match first two levels only).

Now need a way to go back to lower levels at shared nodes.

13 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).

  Local=false: newLoc = oLoc+iLoc
  Local=true : newLoc = oLoc+oScale*(oMat*iLoc)
  Local=false: newMat = iMat*oMat
  Local=true : newMat = oMat*iMat
  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
- 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.

13 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.

13 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.

13 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) ;)

13 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)

13 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.

13 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.

13 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.

13 years agoFirst draft: Use multiresolution graph for retargetting (enables bypassing small...
Martin Poirier [Mon, 7 Jul 2008 20:31:53 +0000 (20:31 +0000)]
First draft: Use multiresolution graph for retargetting (enables bypassing small appendages that don't correspond to anything on the armature).

13 years agoReeb multiresolution filtering, now with more than one level
Martin Poirier [Mon, 7 Jul 2008 17:27:22 +0000 (17:27 +0000)]
Reeb multiresolution filtering, now with more than one level

13 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

- 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.

13 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:

13 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).

13 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

13 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

13 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

13 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.

13 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)

13 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

13 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.

13 years agoFilter according to arc length, not weight different (more logic physical filtering)
Martin Poirier [Sat, 5 Jul 2008 22:01:46 +0000 (22:01 +0000)]
Filter according to arc length, not weight different (more logic physical filtering)

13 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.

13 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

13 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...

13 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

13 years ago== compile fix ==
Andrea Weikert [Fri, 4 Jul 2008 20:21:08 +0000 (20:21 +0000)]
== compile fix ==
- fix compilation for MSVC (added missing math define)
- note: defines were already duplicated, added twice to keep them in synch

13 years agoMade some python game engine funcs use NOARGS, getAxisVec was using wrong multiplica...
Campbell Barton [Fri, 4 Jul 2008 19:00:56 +0000 (19:00 +0000)]
Made some python  game engine funcs use NOARGS, getAxisVec was using wrong multiplication order.
Use BUT_TOGDUAL for controllers init states so you can see what the init state is for any controller without using the button to check.

13 years ago-> Vertex Group support for bevel (editmode only)
Geoffrey Bantle [Fri, 4 Jul 2008 17:59:16 +0000 (17:59 +0000)]
-> Vertex Group support for bevel (editmode only)

Vertex groups are now preserved when beveling (editmode only).
Modifier support as well as uv/vert colors to follow soon.

13 years ago-> Moving Pooling Alloctor to BlenLib
Geoffrey Bantle [Fri, 4 Jul 2008 17:32:55 +0000 (17:32 +0000)]
-> Moving Pooling Alloctor to BlenLib

Bmesh's pooling allocator is probably usefull for other parts of blender as
well, so I am moving it to BlenLib.

13 years agoGenerate and display multi resolution filtering graphs
Martin Poirier [Fri, 4 Jul 2008 17:05:06 +0000 (17:05 +0000)]
Generate and display multi resolution filtering graphs

13 years agoBGE logic update: new servo control motion actuator, new distance constraint actuator...
Benoit Bolsee [Fri, 4 Jul 2008 08:14:50 +0000 (08:14 +0000)]
BGE logic update: new servo control motion actuator, new distance constraint actuator, new orientation constraint actuator, new actuator sensor.

- Removal of Damp option in motion actuator (replaced by
  Servo control motion).
- No PyDoc at present, will be added soon.

Generalization of the Lvl option
A sensor with the Lvl option selected will always produce an
event at the start of the game or when entering a state or at
object creation. The event will be positive or negative
depending of the sensor condition. A negative pulse makes
sense when used with a NAND controller: it will be converted
into an actuator activation.

Servo control motion
A new variant of the motion actuator allows to control speed
with force. The control if of type "PID" (Propotional, Integral,
Derivate): the force is automatically adapted to achieve the
target speed. All the parameters of the servo controller are
configurable. The result is a great variety of motion style:
anysotropic friction, flying, sliding, pseudo Dloc...
This actuator should be used in preference to Dloc and LinV
as it produces more fluid movements and avoids the collision
problem with Dloc.
LinV : target speed as (X,Y,Z) vector in local or world
       coordinates (mostly useful in local coordinates).
Limit: the force can be limited along each axis (in the same
       coordinates of LinV). No limitation means that the force
       will grow as large as necessary to achieve the target
       speed along that axis. Set a max value to limit the
       accelaration along an axis (slow start) and set a min
       value (negative) to limit the brake force.
P:     Proportional coefficient of servo controller, don't set
       directly unless you know what you're doing.
I:     Integral coefficient of servo controller. Use low value
       (<0.1) for slow reaction (sliding), high values (>0.5)
       for hard control. The P coefficient will be automatically
       set to 60 times the I coefficient (a reasonable value).
D:     Derivate coefficient. Leave to 0 unless you know what
       you're doing. High values create instability.

Notes: - This actuator works perfectly in zero friction
         environment: the PID controller will simulate friction
         by applying force as needed.
       - This actuator is compatible with simple Drot motion
         actuator but not with LinV and Dloc motion.
       - (0,0,0) is a valid target speed.
       - All parameters are accessible through Python.

Distance constraint actuator
A new variant of the constraint actuator allows to set the
distance and orientation relative to a surface. The controller
uses a ray to detect the surface (or any object) and adapt the
distance and orientation parallel to the surface.
Damp:  Time constant (in nb of frames) of distance and
       orientation control.
Dist:  Select to enable distance control and set target
       distance. The object will be position at the given
       distance of surface along the ray direction.
Direction: chose a local axis as the ray direction.
Range: length of ray. Objecgt within this distance will be
N    : Select to enable orientation control. The actuator will
       change the orientation and the location of the object
       so that it is parallel to the surface at the vertical
       of the point of contact of the ray.
M/P  : Select to enable material detection. Default is property
Property/Material: name of property/material that the target of
       ray must have to be detected. If not set, property/
       material filter is disabled and any collisioning object
       within range will be detected.
PER  : Select to enable persistent operation. Normally the
       actuator disables itself automatically if the ray does
       not reach a valid target.
time : Maximum activation time of actuator.
       0 : unlimited.
       >0: number of frames before automatic deactivation.
rotDamp: Time constant (in nb of frame) of orientation control.
       0 : use Damp parameter.
       >0: use a different time constant for orientation.

Notes: - If neither N nor Dist options are set, the actuator
         does not change the position and orientation of the
         object; it works as a ray sensor.
       - The ray has no "X-ray" capability: if the first object
         hit does not have the required property/material, it
         returns no hit and the actuator disables itself unless
         PER option is enabled.
       - This actuator changes the position and orientation but
         not the speed of the object. This has an important
         implication in a gravity environment: the gravity will
         cause the speed to increase although the object seems
         to stay still (it is repositioned at each frame).
         The gravity must be compensated in one way or another.
         the new servo control motion actuator is the simplest
         way: set the target speed along the ray axis to 0
         and the servo control will automatically compensate
         the gravity.
       - This actuator changes the orientation of the object
         and will conflict with Drot motion unless it is
         placed BEFORE the Drot motion actuator (the order of
         actuator is important)
       - All parameters are accessible through Python.

Orientation constraint
A new variant of the constraint actuator allows to align an
object axis along a global direction.
Damp : Time constant (in nb of frames) of orientation control.
X,Y,Z: Global coordinates of reference direction.
time : Maximum activation time of actuator.
       0 : unlimited.
       >0: number of frames before automatic deactivation.

Notes: - (X,Y,Z) = (0,0,0) is not a valid direction
       - This actuator changes the orientation of the object
         and will conflict with Drot motion unless it is placed
         BEFORE the Drot motion actuator (the order of
         actuator is important).
       - This actuator doesn't change the location and speed.
         It is compatible with gravity.
       - All parameters are accessible through Python.

Actuator sensor
This sensor detects the activation and deactivation of actuators
of the same object. The sensor generates a positive pulse when
the corresponding sensor is activated and a negative pulse when
it is deactivated (the contrary if the Inv option is selected).
This is mostly useful to chain actions and to detect the loss of
contact of the distance motion actuator.

Notes: - Actuators are disabled at the start of the game; if you
         want to detect the On-Off transition of an actuator
         after it has been activated at least once, unselect the
         Lvl and Inv options and use a NAND controller.
       - Some actuators deactivates themselves immediately after
         being activated. The sensor detects this situation as
         an On-Off transition.
       - The actuator name can be set through Python.

13 years agosmall changes to py funcs that can run 100s of times a second, so python wont generat...
Campbell Barton [Fri, 4 Jul 2008 00:30:44 +0000 (00:30 +0000)]
small changes to py funcs that can run 100s of times a second, so python wont generate empty args tuple when they are not needed.

13 years agonon user visible changes and small optimizations to the game engine pyapi as well...
Campbell Barton [Fri, 4 Jul 2008 00:05:50 +0000 (00:05 +0000)]
non user visible changes and small optimizations to the game engine pyapi as well as fixing some bugs.
* 2 returning errors without exception set another return None instead of NULL.
* a missing check for parent relation
* BPY matrix length was incorrect in matrix.c, this change could break some scripts, however when a script expects a list of lists for a matrix, the len() function is incorrect and will give an error. This was the only thing stopping apricot game logic running in trunk.

Also added a function for GameObjects  -  getAxisVect(vec), multiplies the vector be the objects worldspace rotation matrix. Very useful if you want to know what the forward direction is for an object and dont want to use Blender.Mathutils which is tedious and not available in BlenderPlayer yet.

13 years agoWindow Installer:
Simon Clitherow [Thu, 3 Jul 2008 19:10:54 +0000 (19:10 +0000)]
Window Installer:
A couple of fixes:
 - uninstaller now deletes itself (oops! :)
 - uninstaller now correctly locates \.blender for removal.

13 years agoReeb Graph Copy procedures, for multi resolution filtering
Martin Poirier [Thu, 3 Jul 2008 17:51:19 +0000 (17:51 +0000)]
Reeb Graph Copy procedures, for multi resolution filtering

13 years agoFix arc flipping for null embedding filtering
Martin Poirier [Thu, 3 Jul 2008 16:32:19 +0000 (16:32 +0000)]
Fix arc flipping for null embedding filtering

13 years agoSun,Sky and atmosphere for lamps(sun type), PATCH#8063
Hamed Zaghaghi [Thu, 3 Jul 2008 10:38:35 +0000 (10:38 +0000)]
Sun,Sky and atmosphere for lamps(sun type), PATCH#8063

13 years agoAdding GameObject setLinearVelocity(), without this interacting with objects requires...
Campbell Barton [Thu, 3 Jul 2008 01:34:50 +0000 (01:34 +0000)]
Adding GameObject setLinearVelocity(), without this interacting with objects requires them to have logic bricks to apply force which doesn't work well when the character is in a seperate blend file to the levels. (its also messy to have a script & multiple motion actuators on each object you can pickup and throw).

This is also needed for removing any force that existed before suspending dynamics - In the case of franky hanging, resuming dynamics when he fell would apply the velocity he had when grabbing making dropping to the ground work unpredictably.

Also note in pydocs that enable/disable rigidbody physics doesn't work with bullet yet.

13 years agoRemove some debugging prints
Martin Poirier [Wed, 2 Jul 2008 21:36:45 +0000 (21:36 +0000)]
Remove some debugging prints
Better symmetry detection using subtree shapes instead of depth
Fix the bug with flipping arcs caused by internal filtering

13 years ago== Python, GE & Threads ==
Willian Padovani Germano [Wed, 2 Jul 2008 21:01:59 +0000 (21:01 +0000)]
== Python, GE & Threads ==

Martin Sell (thanks!) reported that threading via scripts was not working in the game engine with Blender 2.46 and later. My fault, to make pynodes work properly with threads > 1 I disabled Python's "check interval", preventing threads created via scripts from receiving time to run.

Now only during rendering check interval is disabled (set to max int). Still experimental, I added the calls in BPY_do_all_scripts, since it's called in BIF_do_render, but will probably move the code to its own function after more testing & feedback.

13 years agoCloth collisions: Reorganized collision system to be more flexible for other parts...
Daniel Genrich [Wed, 2 Jul 2008 20:28:49 +0000 (20:28 +0000)]
Cloth collisions: Reorganized collision system to be more flexible for other parts of blender, so it can be more easily reused. Also slowed down friction impulse.

13 years agoChecked all cases where PyArg_ParseTuple is used in blenders game engine and made...
Campbell Barton [Tue, 1 Jul 2008 16:43:46 +0000 (16:43 +0000)]
Checked all cases where PyArg_ParseTuple is used in blenders game engine and made sure all will raise errors when called with invalid args.

13 years agobugfix, ActionActuator was missing many checks for PyArg_ParseTuple failing.
Campbell Barton [Tue, 1 Jul 2008 13:21:37 +0000 (13:21 +0000)]
bugfix, ActionActuator was missing many checks for PyArg_ParseTuple failing.
This meant an error in a script could be reported in a different line or script file which makes it quite hard to trace the problem. There were also places where invalid pointers could be used because of this.
The whole game engine pyapi probably needs to have these checks added.

13 years agolet the logic buttons operate on objects in different scenes. They would already...
Campbell Barton [Tue, 1 Jul 2008 06:44:34 +0000 (06:44 +0000)]
let the logic buttons operate on objects in different scenes. They would already display but pressing the buttons did nothing.
This is useful when using 1 scene for a character and another for a test level, so the character logic can be edited without switching scenes.

13 years agotrack to would crash (with a C++ assert) if the source and target are in the same...
Campbell Barton [Tue, 1 Jul 2008 05:16:08 +0000 (05:16 +0000)]
track to would crash (with a C++ assert) if the source and target are in the same location, which I have had happen a few times while testing.

13 years agoFix for python APi error - (Campbell: please check :) ) -- using myLamp.setType(Area...
Daniel Genrich [Mon, 30 Jun 2008 15:02:22 +0000 (15:02 +0000)]
Fix for python APi error - (Campbell: please check :) ) -- using myLamp.setType(Area) resulted in 'TypeError: expected int argument in [0,5]' (reported in IRC by Djoef)

13 years agoFix crash in python API (Campbell: please check :) ) -- using myLamp.setType(number...
Daniel Genrich [Mon, 30 Jun 2008 14:44:12 +0000 (14:44 +0000)]
Fix crash in python API (Campbell: please check :) ) -- using myLamp.setType(number) crashed blender (reported in IRC by Djoef)

13 years agoBGE python api addition, GameObject get/setState and Controller.getState()
Campbell Barton [Sun, 29 Jun 2008 21:52:23 +0000 (21:52 +0000)]
BGE python api addition, GameObject get/setState and Controller.getState()
Also added a note in the tooltip for action priority when using more then 1 action at a time.

13 years agoFix for bug #7753: after game engine drawing with vertex arrays,
Brecht Van Lommel [Sun, 29 Jun 2008 21:51:27 +0000 (21:51 +0000)]
Fix for bug #7753: after game engine drawing with vertex arrays,
nurbs/curves/text dissappears.

This also removes the "vertex arrays" option and enables it always
for OpenGL version >= 1.1 - there's no need to have an option to
make things render faster disabled by default, also it should work
stable now.

13 years agoFix for bug #13757: camera lens minimum value for ipo's was
Brecht Van Lommel [Sun, 29 Jun 2008 21:06:18 +0000 (21:06 +0000)]
Fix for bug #13757: camera lens minimum value for ipo's was
different than the button.

13 years agoFix for bug #8680: GameLogic.getRandomFloat() returns very small
Brecht Van Lommel [Sun, 29 Jun 2008 20:53:17 +0000 (20:53 +0000)]
Fix for bug #8680: GameLogic.getRandomFloat() returns very small
values on 64 bit, instead of range 0..1. Also a warning fix.