bf-blender / Windows (2005/04/18)

User-contributed CVS development builds. Please test and give feedback!

Moderators: jesterKing, stiv

Posts: 0
Joined: Thu Jan 15, 2004 6:41 am
Location: Canada - Québec - Sherbrooke

bf-blender / Windows (2005/04/18)

Post by gabio »

Lots' of bugfixes. This is an other one to go play with for a long time.
I'm aware some of you may have problem downloading it. The cause is unknow still, working on it. Thanks for mirrors.

***The Xtra file got updated, please test with***
***a fresh env. by getting the new package. ***

-Made with MSVC 7 and scons
Relevant feature:
-Adds python API for Particle Interaction Settings and Softbody Settings
-Adds getTimeCode() to Rendering Context (python)
-updated versions of dispaint
-upgraded VRML exporter
-new: Scripts Config Editor
-Added new menu: System
-Updated, and the AC3D importer and exporter.
-add some more python stuff... great job on python guys.
-Added browsing for vertex group for "Goal" in SoftBody buttons
-added 'copy properties' for softbody settings
-New methods for Curve module: getBevOb() and setBevOb()
-add Minneart diffuse and WardIso specular to our shader menu.
-Game engine bugfix!
-Some more work on softbody collision.

Having come to understand the nature of bug #1576 a little better,
I can now say that I declared it fixed erroneously before, and
I hope that when I call it fixed now it can really, truly be laid
to rest.

Sometimes when you escape a transform on an object that is the
target of an IK constraint on an armature bone, the rotations were
not restored correctly on the bones in the IK chain. This commit
fixes this problem in a rather brute force manner.

- bug fix, tface flags weren't checked correctly for INVISIBLE
- bug fix, tfaces weren't accessed correctly in presence of hidden/invis.

- make sure object outline doesn't get drawn in faceselect mode

Adds API for Particle Interaction Settings and Softbody Settings
Also adds docs for above API.

My testing cases seem to work fine. Please test to make sure I have not
missed anything!

Stivs, I got ascotan's signoff on thses. But please make any adjustments that
you deem needed.


Adds getTimeCode() to Rendering Context so that you can get current frame in HH:MM:SS:FF string format

This commit initializes the softbody pointer if it is accessed through python and has not yet been set up.

Similar to last commit, This initializes the pd pointer if it is null for Particle interaction. for all the PI functions

Fixes timecode to run frames 0 to (fps-1) rather than 1 to fps

Another attempt to make extrude deliver correct normals.
Rule is flipped when it doesn't extrude a 'volume', in that case normals
point outside based on extruding in direction of original normals.

Extrude normal correction part #4!

It works OK for faces extrude, but with only edges it should work too. :)

In localview the Manipulator didnt center at correct 3d cursor location.

Note: this commit includes new functionality to save and restore scripts configure options. This is ongoing work, scripts still have to be updated to use this feature and more tests are needed, though many have been performed. The new Scripts Config Editor script is the main part of this. If anyone wants to check it, only the AC3D importer and exporter have already been updated to use it: simply open them (you can then cancel with ESC) to have the data created, then try the config editor.

- Thanks Jean-Michel Soler (jms) for updated versions of dispaint, fixfromarmature and unweld (also renamed to remove version part).
- Thanks Bart for the upgraded VRML exporter (great doc webpage!). It is available as VRML 97 and the original VRML 2 is for now still there, to help users testing the new version. For the next release the old one should be removed, of course.
- New script: Scripts Config Editor (Scripts win -> Scripts -> System). Scripts with config options (simple data that is to be set according to user needs or preferences) can use this facility instead of providing a gui and writing config files to disk themselves.
- Added new menu: System, available in the Scripts win.
- Updated, and the AC3D importer and exporter.
- Removed use of the Scrollbar and added arrow keys and mouse wheel support instead in Daniel Dunbar's old The scrollbar events handling doesn't exist, Ton suggested removing the scrollbar from the API months ago. For now its ref doc is gone and no bundled script uses it, until we get time to implement it properly.
- Added module with functions to handle reading / writing config files automatically to the scripts/bpydata/config dir.
- Removing dir release/bpydata and its contents (moved earlier to release/scripts/bpydata/)
- Bug #2379: made small changes to bevel_center's ui to fix a problem reported by Alexander Ewering (intrr): ... group_id=9

- Thanks Campbell Barton for new functionality: Blender.Get() now can also return all the paths from the user prefs -> file paths win and there is a new function: Blender.sys.expandpath() to transform Blender paths (those starting with '//' and ending with '#') to absolute paths.
- Added function Blender.ShowHelp(), to open the Scripts Help Browser with a given help page -- just a time saver for scripts.
- Improved function Blender.Run() to also work with gui and file select scripts.
- Found a (new?) crash related to NMesh.PutRaw when creating a new object while in edit mode. Leaving / entering edit mode fixes the problem, so a check for obj created, edit mode and leaving / re-entering it were added to the code for now (gdb didn't help much, no backtrace)
- doc updates, including splitting intro page in two, with bpython related stuff (registering / documenting / configuring scripts and command line mode (thanks Chris Want for "use system variables to pass parameters to scripts" idea).
- Registry: functions have been updated to support writing to / reading from disk, for the config editor -- only simple config data supported, for large amounts coders should write to a file themselves. This is done with a new parameter: Registry.GetKey(keyname, True) will also search for the key on the config dir, if not already loaded; equiv. for Registry.SetKey(keyname, dict, True). Data is only written to / read from disk when needed and only scripts already used (assuming they support this functionality) will have config data saved.

For the manipulator freaks; rotate widget with 'arcs' now displays the
transparant grey (ghosted) rotation where mouse click started.


- Added browsing for vertex group for "Goal" in SoftBody buttons.
- Means the default name "SOFTGOAL" isn't needed anymore
- temporally, on file read, the "SOFTGOAL" vertex group is set, if exists
- removing vertex group possible too
- changed softbody.c code to use this

More SoftBody stuff:

- after grab/duplicate the softbody didn't get a reset signal
- added 'copy properties' for softbody settings
- duplicate object didn't copy softbody yet

Li'll feat request;

When curve objects have no front/back faces, the bevels were only drawn
for the outer part. Now it also makes interior bevels, so yo can
have a curve become a 'solid' ring easily.
Note: only works when you disable filling option "Front" and "Back".

New methods for Curve module: getBevOb() and setBevOb()
Adds ability to set, clear and get bevel object for a Curve.
Contributed by Gergely Erdelyi (dyce).

More Curve Module features: access to the attributes flagU and flagV
in a CurNurb object.
Contributed by Gergely Erdelyi (dyce).

Patch provided by Andrea Weikert (elubie):

With a few tests I have discovered that when quitting Blender the filelist
in SpaceFile doesn't get free'd.

I have replaced strdup for the relname member in BLI_builddir with BLI_strdup.
and malloc with MEM_mallocN for the string member in BLI_addstrings().

Of course also had to replace free with MEM_freeN in freefilelist().

In freespacelist (space.c) I added call to freefilelist for the SPACE_FILE
space type.

Patch submitted by Jorge Bernal (lordloki) and Jonathan Merritt.

This will add Minneart diffuse and WardIso specular to our shader menu.
Minneart gives nice control over darkness/brightness areas, the wardIso
over 'plastic' style sharp or fuzzy specular.

Webpage is being made with nice samples. Will be in release log.

Jorge: one change is in the do_versions, you inserted it on wrong location.

Patch: [ #2439 ] Makes objects react properly to deformations after a mesh replacement call.

from brian hayward (bthayward)

Detailed description:
Currently, when an armature deformed object's mesh is replaced by the ReplaceMesh actuator, the new mesh fails to deform to the armature's movement.

My patch fixes this by properly replacing the deform controller along with the mesh (when appropriete).

For instance, if one had an animated character using any of the standard deformation techniques (armature, ipo, RVK, or AVK), that character's mesh would currently be prevented from changing mid-game. It could be replaced, but the new mesh would lack the controller which tells it how to deform. If one wanted to dynamiclly add a hat on top of the character's head, it would require storing a secondary prebuilt character (mesh, armature, logic, ect...) on another layer FOR EACH HAT the character could possibly wear, then swapping out the whole character when the hat change was desired. So if you had 4 possible hat/character combos, you would have 4 character meshes, 4 armatures, 4 sets of logic, and so on. I find this lack of flexibility to be unresonable.

With my patch, one could accomplish the same thing mearly by making one version of the character in the main layer, and adding an invisible object atop the character's head (which is parented to the head bone). Then whenever it becomes desirable, one can replace the invisible object's mesh with the desirable hat's mesh, then make it visible. With my patch, the hat object would then continue to deform to the character's head regardless of which hat was currently being worn.

*note 1*
for armature/mesh deformations, the new mesh must have properly assigned vertex groups which match one or more of the bones of the target armature before the replaceMesh call is made. Otherwise the vertices won't react to the armature because they won't know how. (not sure if vertices can be scripted to change groups after the game has started)

*note 2*
The added processing time involved with replacing the object's deform controller is negligible.

Add a "Z:" display when pressing LMB in the renderwindow, which displays
the normalized Z-Buffer value of the corresponding pixel.

Useful for setting ZMin for DOF, see next mail to the list

Fix crash with Unified Renderer on LMB in renderwindow. Ton needs to
provide Z-Buffer for Unified still :)

Little cleanup of eerie unified code for halos. Still got no clue what
was original idea of this implementation...
At least it's protected from crashing a bit more.

Bug fix #2458

Without 3d window, using subsurf setting buttons crashed Blender.

On adding monkey primitive, the face centers were not calculated OK. :roll:

Fixed several annoyances with halo render + unified render (bug 1989+2382)

- Maximum faces/halos per pixel was 500, which wasn't correctly applied in
all cases, causing errors in AA
- Moved maximum up to 1000 now
- made halos become clipped away from filling in buffers when behind a
solid face. That saves a lot of rendertime!

Unified remains weak with halos...

removed my SB hack from particle collision code
(which still can't really handle moving targets)
leaving 2 bug fixes
1. multiple objects need a reset on cache variable
2. quads always need to be handled as 2 triangles
(since they don't need to share a plane)

added a collision detecting function in effect.c for SB
( no need to be there, but i did not find a better place )
but should handle 'moving targets' up to 0.2 blender units/frame

well .. important info in this case:
uses 'face normal' to decide if *intrusion* happend
uses 'damping' of collision target to slow down movement
when *intrusion* happend

+some more removing unneeded code in softbody.c
A new build is available
Last edited by gabio on Sat Apr 23, 2005 5:50 pm, edited 1 time in total.

Posts: 0
Joined: Wed Oct 16, 2002 12:03 am

Post by bertram »

Posts: 0
Joined: Wed Jul 23, 2003 4:31 pm

Post by kidb »

Posts: 0
Joined: Tue Mar 30, 2004 3:47 pm

Post by crsrma »


Minnaert "Dark" & WardIso "rms" settings not being saved/loaded. When you reopen the file those settings are reset to default values. I've tried this in a clean install with the default scene & gotten the same result.

Btw, everything renders properly, until you flush the settings by reopening.

Besides that, it's nice to see these making it into the bf-blender builds. :)

Posts: 0
Joined: Thu Mar 04, 2004 1:28 pm

Post by SamAdam »


try changing your .htaccess file to get the .zip type to work.
maybe octet stream?

Posts: 0
Joined: Fri Jun 11, 2004 3:24 pm
Location: Berlin

Post by ElBarto »

Hello Gabio,

nice to see my VRML export is shipping with CVS built and I'm hoping getting more Feedback. Meanwhile developing the X3D version using same code base. On this way found some things my self and put an updated version online: ... 7922#37922

docs are here: ... web3d.html

Blender Feature Proposal:

Posts: 76
Joined: Wed Oct 16, 2002 12:53 am
Location: Valencia-Spain-Europe

Post by Caronte »

The new collision with moving objects is great!!

"Some Day, All Will Be Digital"

Posts: 2
Joined: Thu Oct 17, 2002 12:36 am

Post by lordloki »

crsrma wrote:Bug:

Minnaert "Dark" & WardIso "rms" settings not being saved/loaded. When you reopen the file those settings are reset to default values. I've tried this in a clean install with the default scene & gotten the same result.

when Ton changes blender version to 2.37, it will work.
The problem is due to that the assignement (for compability, i think) of variable's values is made in a function that it "works" for blender minor or equal to 2.36. Therefore i think that it will be necessary to wait for a little, so that it works well.


Posts: 0
Joined: Tue Jan 27, 2004 6:08 pm

Post by Napoleon »

Gabio linux version please. thnx.

Posts: 12
Joined: Thu Oct 17, 2002 9:58 pm
Location: Italy

Post by env »

Hi Gabio and thanks for all these builds.
Rotating bones (in pose mode) on local axes doesn't work, not with the old sistem nor with the new amazing widget. Btw, it doesn't work since a couple of builds.


Posts: 500
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal

Post by theeth »

env wrote:Hi Gabio and thanks for all these builds.
Rotating bones (in pose mode) on local axes doesn't work, not with the old sistem nor with the new amazing widget. Btw, it doesn't work since a couple of builds.
Yah, still need to fix that (keep forgetting).

Really busy lately :(

Life is what happens to you when you're busy making other plans.
- John Lennon

Posts: 0
Joined: Mon Apr 19, 2004 2:02 am

Post by kramer3d »

will beveling edges be in the next Blender Release? or is it only in Tuhoppu?

Posts: 110
Joined: Wed Oct 16, 2002 6:52 am

Post by Saluk »

Game engine problems:

Not necesarily a problem but it didnt do this before:
setPhysicsTicRate every frame kills physics
Im not sure if this function is working as expected anymore

This is a definite problem:
sce = GameLogic.getCurrentScene() crashes the SECOND time you run the game. So if you press play, then escape its ok. But if you try to run it again it dies. It's not cleaning it up somehow.

The new armature replace:
Seems to work pretty well. However, the deformations dont always look right. I think it might be an origin problem or something... I need to test it more I think.

Posts: 0
Joined: Fri Jun 11, 2004 3:24 pm
Location: Berlin

Post by ElBarto »

I submitted a bug about Suzanne primitive and flipped normals of her eyes that was meanwhile fixed:
2339 Opengl / Gfx Monkey Bugs
Now it is back in town :(

Blender Feature Proposal:

Posts: 0
Joined: Thu Mar 04, 2004 1:28 pm

Post by SamAdam »

yeah theeth, the problem is still there.

in my same file try duplicating the plane and then scaling it: shift-D, SKEY, 1 0 0. you should see it there.

it only scales in one dimension.

Post Reply