bf-Blender / Windows-Linux (2005/08/02)

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-Linux (2005/08/02)

Post by gabio »

Hi again. Time to see what appened. Quick salutation to the bullet engine on windows, Some bugfixes, Compression of .blend on the fly, Modifiers from zuster... and more.
Win: Builded with MSVC 7.1
Linux: Builded with gcc 3.3.6 glibc 2.3.5
Relevant Feature:
-added apply button for individual modifiers
-added wave modifier & removed old wave effect
-added decimate modifier & removed old decimate interface
-Added PoseMode CTRL+C copy menu
-Game engine work: bullet
-Wkey menu, "Flip Left/Right Names".
-in PoseMode/EditMode draws name of active Bone
-Added the new Armature/PoseMode options in View3D pulldowns.
-Compressed files are back!
-Introduced Bone type "Hinge".
-PageUpKey moves action up one row ( shift == move to top )
-PageDownKey moves action down one row ( shift == move to bottom )
-multiple selections allowed in action windows.
-BPY: shader data access to Blender.Material.
-Scripts updated: paths import, tex2uvbaker, obj exporter.
-BPY: support for Font, Curve, Surface and Meta Objects in Blender.NMesh.GetRawFromObject

NLA strip option "Add" accidentally also added constraint ipo values.
Result was characters going bezerk! By definition, pose blending now only
adds loc/rot/size, not constraint strength values.

Bug fix #2856

Changing 'active material' in Editing Buttons didn't update preview in
in Material Buttons.

When entering editmode on Armature, the Pose now defaults to a correct
restposition, also for deform and bone childs.

Regression file teapot.blend didn't render... this due to a hack removal of
a month ago (trying to cope with vertexcolor 'paint' and 'light'.)
Forgot to add the correct check for calculaing UV texture coords, needed to
have vertexcolor 'paint' working.

Little issues, combined commit!

- Bug #2857: Spin didn't create nice consistant normals
- removed unnecessary call to where_is_object() in init-render phase.
- Added DAG_scene_sort() calls when objects were removed (join cases)
- When using texture fonts, the file window header didn't display OK
- Saving a file didn't set the 'wait cursor' anymore (oldie!)

- fix some error handling in blend loader, correct error codes
were not always returned.

- added RNG abstract random object rng_{new/free/seed/get{Int,Double,Float}}
to avoid use of global generator. at the moment the renderer owns the
number generator and this is important for retaining render consistency.

- Dupliframes mball didn't work anymore (should be added to scene_update)
- restored nicer drawing for duplicator wireframe. Draws before selected,
so you can see the duplicated object better

- removed internal functions from effect header
- made particle system generation use its own RNG object,
keeps it safe against varying calculation order in the renderer

Still a funny bug where having a material on a particle object
changes the particle locations (in renderer, not in interface...

- displacement fix, need to calc normals before displacing

- added apply button for individual modifiers

- added wave modifier & removed old wave effect
- added decimate modifier & removed old decimate interface
(currently lacks warning about destroying data, and there needs
to be a way for modifiers to return errors back to the interface)
- allow applyModifier to return NULL to indicate error
- unfortunately new decimate modifier means it does not know exact
number of faces in mesh (other modifiers may come before) and so
instead interface uses a percentage. if people need exact face
count slider then I will have to think of some hack to fit this
in. note that it does display the output face count so its possible
to tweak the pct to get what you want regardless.
- removed python Wave object

If you are bored now how much easier it is to implement something
like decimate as a modifier. Very few changes to interface, very
few entry points.

- bugfix, mirror modifier didn't copy deformed vertex cos for shared

Added correct call to have curve paths calculated, when the anim system
discovers it wasn't done yet. Needs displist now, not calc-path. :)

Solves reported bug in regression file bowl.blend (camera didnt move) and
errors in NLA stride paths.

Removed Vertloop Select and Faceloop select from toolbox

In Vertex Select Mode

CTRL-Alt-RMB = Faceloop Select

Added PoseMode CTRL+C copy menu. Does loc/rot/size and constraints.

Fix in outliner. Renaming PoseChannels didn't call the routine that checked
all bones, other poses, constraints, actions, etc.

Also: for clarity, brought back the display of both Armature Bones as
Pose Channels. Renaming either works, but you can notice the constraints
are on Pose, not Armature.

Little bug still; the order of drawing (pose, armature) sometimes flips,
don't know why yet. Tomorrow!

- decimator modifier was giving wrong # of verts when a previous
modifier was active

Image memory garbage collection wasn't working correctly due to a poorly constructed if clause (it was collecting only images marked as NO_COLLECT, which only happens with Python loaded images).

Another problem now is that the userpref values aren't correctly saved in .b.blend, they always reset to the default. Will look into that.

Image memory garbage collection:
clock seemed to work weird on some machine, switching to PIL_check_seconds_timer.
It's more in line with the rest of Blender anyway.

- added debug line drawing in gameengine (handy for debugging physics problems)
- added #ifdef for a visual studio 8 crashing problems
- added scaling and tolerances to triangle meshes

Cleanup & goodies for rigging geeks! :)

- PoseMode: Wkey menu, "Flip Left/Right Names". On selected bones, it flips
the L/R tags in names, and calls the proper code to rename everything
that's related (constraint targets, bone-childs, etc).
- PoseMode: Shift+S snapmenu: snap cursor to selected now works
- Outliner: select bones now correctly sets 'active' flag for bones,
updating the UI as well.
Also made sure you cannot select hidden bones in outliner.
- 3DWindow: in PoseMode/EditMode draws name of active Bone too (with user
option "Draw active object name" set.
- Added the new Armature/PoseMode options in View3D pulldowns.


- moved Pose code from editaction.c to poseobject.c
- removed BSE_editaction.h and BSE_editaction_types.h, moved contents of
it to BIF_editaction.h. One include per C file should be fine. :)
I know the src/ structure would require more elaborated includes, but
we don't have that now...

Added Name flip for

Also added if suffix == 001, do not re-add suffix. So allows the following procedure

bone named Bone_R is copied, becomes Bone_R.001
Bone_R.001 is Flipped, becomes Bone_L

Currently only works for 001, could be extended later

Bug fix #2870

Wire material doesn't work with raytrace, but the wire faces were still
trace-able, giving weird results.
Now the wire faces are excluded from the octree.

Patch provided by Shaul Kedem: Compressed files are back!
He even made a nice doc in wiki:

Usage: set the option "Compress File" in the main "File" pulldown menu.
This setting is a user-def, meaning it is not changed on reading files.
If you want it default, save it with CTRL+U.

The longest debate went over the file naming convention. Shaul started
with .blend.gz files, which gave issues in Blender because of the code
hanging out everywhere that detects blender files, and that appends the
.blend extension if needed.

Daniel Dunbar proposed to just save it as .blend, and not bother users
with such details. This is indeed the most elegant solution, with as
only drawback that old Blender executables cannot read it.
This drawback isn't very relevant at the moment, since we're heading
towards a release that isn't upward compatible anyway... the recode
going on on Meshes, Modfiers, Armatures, Poses, Actions, NLA already
have upward compatibility issues.
We might check - during the next month(s) - on a builtin system to
warn users in the future when we change things that make a file risky
to read in an older release.

- update storage.c to use standard time codes (should fix issue
with MSVS 8)
- broke mesh_create_shadedColors out of shadeDispList, used to
build vertex colors for mesh in vpaint as well (also fixed
bug where they were not initialized correctly for subsurfs)
- added modifier_copyData and modifier_findByType functions
- change editmode modifiers to only calculate if Realtime and
Editmode bits are both set, makes more sense for copying
- update object_copy to correctly copy modifiers
- removed duplicate redefinition of ME_ attributes in python,
this is a horrible idea, why was it done in the first place?
- update armature auto vertex group code to check for subsurf
in modifier stack
- fixed flip_subdivision to work with move to modifier stack
- added copymenu_modifiers, can copy all modifiers or just
data from first modifier of a certain type (not sure how
to deal with multiple modifiers of same type... not
a big issue though I think)

Nice time saver for Armatures: Introduced Bone type "Hinge", which doesn't
inherit pose rotation/scale from its parent pose-channel.
Button is available in Editing Buttons for PoseMode as well as EditMode.

Aim is to reduce overhead of Constraint usage (copy location).

(in object.c I removed old code for IK)

Bugfix #2875

Removed old code that was used when the global undo still saved files. It
was restoring pointers in the UI based on names, which gave confusing
results when loading the quit.blend file (actually undobuffer).
Instead it should treat the quit.blend same as "Load without UI" option.

Forgot to add correct offset for drawing multiple PoseChannel buttons,
editbutton context. Thanks Ztonzy! :)

A Small change on Edgeslide while I try to come up with a better mouse interaction.

Move mouse - 5%
SHIFT modifier - 1%
CTRL modifier - 10%

added physics-debugging
didn't check every single file, so might have broken some gameengine stuff, will fix it this weekend!

Another UV tweak for subdivide, It seems to work better now, still not perfect

Flush Edge selection down to verts in subdivide if you are in Vertex select mode

Fixing (hopefully) a stupid issue with rendering text objects:

cu->curinfo.mat_nr appearently didn't get initialized to 0 when creating
a new curve / text object, thus assigning random material indices to
characters, which crashed when rendering.

I'm still not sure if this was the actual issue, though I'd hope so :)

For old files that crash on rendering, just enter editmode on EACH text
object, select all text, and assign a material to it.

I hope this fixes.

Edgeslide Mouse Movement Fix

Edgeslide movement is now controlled by a line drawn between the endpoints of the 2 control rail edges. Edgeslide will
try to pick a control rail pair (will color green ATM) if you don't like the edge it picked, use the mouse wheel up to change it.
have to code mouse wheel down to go other direction still. Just ran out of time ATM and wanted to get this in for movement testing.

movement is in 1% per edge (so 1% out of -1 to 1)
CTRL makes it 10%
SHIFT makes it .1%

Se what you think and give me some feedback on functionality :) Code needs cleanup and comments, so don't crit that too much yet.

more physics work, tuning parameters, hooking up friction etc.

For edgeslide control rail there are 2 options:

Scroll Up/Down and Left/Right arrow key will cycle through the control edges in either direction.

I got rid of SHIFT for the time being.

yo bassam, here it is
Action editor UI tweaking:
PageUpKey moves action up one row ( shift == move to top )
PageDownKey moves action down one row ( shift == move to bottom )
multiple selections allowed

Adding a little idling to Edgeslide loop,

Some more loop fixing, this time in loopcut

Scripts updated:
- Jean-Michel Soler: 1) paths import -- ai module; 2) tex2uvbaker;
- Campbell Barton: obj exporter.

- Campbell also provided a patch (+docs) to add shader data access to Blender.Material.

Again, thanks guys and sorry for the long delay.

Work for fix of #2256 "something weird with some buttons":

NUMSLI buttons with retval of 0 can be used to trigger other buttons. Not
sure if this is best course of action but will investigate more. Until then
buttons_shading.c is clear of NUMSLI buttons with retval of 0 and now use
B_DIFF as retval argument (which happens to be 1).

This patches adds support for Font, Curve, Surface and Meta Objects in
Blender.NMesh.GetRawFromObject through a displist conversion method as used by
Blender when converting them in the UI.

Notes: Objects with only edges (3D curves/polyline without bevel) do not have
normals, so they are all initialised to (1, 0, 0) on conversion

Converting from meta objects only work on the "mother ball". That is,
the object with the lower base name.
Example: "meta" for all the "meta.*" objects.

Meshes extracted from curve based objects (Font/2D filled curves)
contain both the filled surfaces and the outlines of the shapes.

Materials are taken from the object's material list. Material handling
in NMesh is incorrect anyway, as it always uses the materials from the
mesh, ignoring the setting in ob->colbits.

This patch also makes the include order a little clearer.
A couple of warnings have been fixed by using better types:
- Using char instead of short when parsing color values.
The "constructor" expects and uses char anyway.

- Explicit casting to short when storing normals back in mvert.

- Changing constant doubles to floats with "f" to make compiler happy.

The only warning left regards NMFace.flag which is stored as a short but is
used to fill in TFace.flag which is a char. I didn't want to change the
object's structure so I left it like that. I didn't add an explicit cast when
putting it back in TFace so that the warning can remind us that there might be
something to change there.

BMFont didn't define correct character size for "Screen 15" font for TAB and NBSP.
Found out through ideasman's interactive console script.

Make Loopcut in Faceselect mode able to enter Edgeslide and not get 'loop crosses itself' message. Still need to work on selection out of this condition
A new build is available
Last edited by gabio on Sat Aug 13, 2005 5:06 pm, edited 3 times in total.

Posts: 15
Joined: Thu Oct 17, 2002 10:20 am
Location: Berlin, Germany

Post by thoro »

Thank you for this build. Wow, the hinge bones are very useful!

Posts: 0
Joined: Thu Jun 24, 2004 6:33 pm

Post by tommy »

If I were leet, then I'd say 7H|5 |5 T3|-| L337 R0><><0RZ!!!11oneone!eleventyone!!!sixtynine

If I weren't, I'd say: Wow! Thanks for the awesome build!

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

Post by gabio »

Here, linux build too. No bullet for linux though.

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

Post by kidb »

Posts: 0
Joined: Wed Oct 22, 2003 2:54 pm
Location: Brasília - Brazil

Post by arangel »

I have a AMD 64 CPU running with regular (32 bits) Windows 2000. Should I benefit from the AMD 64 build?
Alexandre Rangel
Multimedia Designer

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

Post by kidb »

No, its a build for Linux.

Posts: 0
Joined: Tue Jul 06, 2004 1:13 pm

Post by zupermonkey »

The download page is dead :(

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

Post by kidb »

zupermonkey wrote:The download page is dead :( ??

Posts: 0
Joined: Sun Jun 06, 2004 8:08 am

Usable animation tools AND more modelling improvements!?!

Post by kitsu »

Some very nice features in this version! The modifier system looks very promising. Armatures are also much friendlier to work with. One feature I read about a while ago that suprised me was the ability to set the secondary transformation axis. This is a super nice option while modelling. Both normal and view are very useful for moving things around in edit mode. Too bad the custom spaces options didn't make it in yet. Also in July Theeth made some experiments with using Python expressions with input buttons. Any news on when that will make it to the CVS?

Anyway I just want comment on some of the great new features being added.

Posts: 0
Joined: Fri Oct 24, 2003 6:07 pm
Location: UK

Post by Bogey »

Thanks for the build(s) gabio no problems
with the new features so far, but I havent
been able run a game pressing p so far.
I Know its been broken for a couple of weeks,
in the linux builds but dont know if its connected.
The error I get is "Offset:00285e87"
as blender crashes. Nothing in the console.

WinXP sp2 AMD.

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

Post by ElBarto »

Hello Gabio,

thanx for the new built. Well interface of the modifier stack didn't look great as it could:

And i got a modelling problem with the reworked Knife tool. Normally i modell this way:
Plane> Subdivide> Knife Middpoints> Scale> Extrude
But this is impossible now.

The command for saving compressed files should be a toggle in the "Save as" dialogue and not an menu entry.

Blender Feature Proposal:

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

Post by Napoleon »

hey guys whats happened to subsurf in this build? I can't find it anywhere.


Posts: 0
Joined: Sat Jan 24, 2004 4:12 pm

Post by JoOngle »

Napoleon wrote:hey guys whats happened to subsurf in this build? I can't find it anywhere.

It has been moved to the Object-menu (F7) under Modifiers - as a Modifier.

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

Re: Usable animation tools AND more modelling improvements!?

Post by theeth »

kitsu wrote:Too bad the custom spaces options didn't make it in yet.
The interface has to be thought out more fully.
kitsu wrote:Also in July Theeth made some experiments with using Python expressions with input buttons. Any news on when that will make it to the CVS?
It was just a small experiement, nothing really planned regarding CVS integration, will have to talk about it with other devs.

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

Post Reply