15 years agoBugfix #4051
Ton Roosendaal [Sun, 2 Apr 2006 11:48:22 +0000 (11:48 +0000)]
Bugfix #4051

- particle duplicators should not include parent animation (error in
  duplicator recode of last december)
- added exception for 'died' particles to keep correct orientation

Also in this commit:

- added comment in code to explain why vertexnormals in mesh are equal to
  vertex location when no faces exist
- cleanup of BKE_object.h for functions that don't need export.

15 years agoAdded proper initialize for curve pointer, fix for commit of march 24th.
Ton Roosendaal [Sun, 2 Apr 2006 11:41:46 +0000 (11:41 +0000)]
Added proper initialize for curve pointer, fix for commit of march 24th.

15 years agoBugreport #4057
Ton Roosendaal [Sun, 2 Apr 2006 08:21:47 +0000 (08:21 +0000)]
Bugreport #4057

Uninitialized variable used in viewmove for 2d windows... the reporter
found it himself. thanks Michael Jones!

15 years agoBugfix when checking for a container mesh (Mesh.Unlink needed here)
Campbell Barton [Sun, 2 Apr 2006 01:46:10 +0000 (01:46 +0000)]
Bugfix when checking for a container mesh (Mesh.Unlink needed here)

15 years agoSilly var typo fix.
Campbell Barton [Sat, 1 Apr 2006 19:28:55 +0000 (19:28 +0000)]
Silly var typo fix.

15 years agoBug fix #3900, washed out AO colors
Ton Roosendaal [Sat, 1 Apr 2006 15:35:25 +0000 (15:35 +0000)]
Bug fix #3900, washed out AO colors

Darn typo in AO code... it only multiplied the red compononent for AO. :)

15 years agoThis script copys vertex groups and weights from 1 weighted mesh, to all unweighted...
Campbell Barton [Sat, 1 Apr 2006 15:32:58 +0000 (15:32 +0000)]
This script copys vertex groups and weights from 1 weighted mesh, to all unweighted meshes.
It just uses the closest to copy the weights, but this means the meshes need not have the same number of verts.
Worldspace coords are used so the meshes only need to overlap in worldspace.

15 years agoAnd the preview.blend for texture preview fix
Ton Roosendaal [Sat, 1 Apr 2006 14:09:23 +0000 (14:09 +0000)]
And the preview.blend for texture preview fix

15 years agoTexture button preview:
Ton Roosendaal [Sat, 1 Apr 2006 14:08:57 +0000 (14:08 +0000)]
Texture button preview:

- now draws intensity value correct (black/white was inversed)
- added option to show texture alpha too

15 years agoSequence render bug: pressing ANIM didn't update renderwindow, when files
Ton Roosendaal [Sat, 1 Apr 2006 12:53:51 +0000 (12:53 +0000)]
Sequence render bug: pressing ANIM didn't update renderwindow, when files
for input were 32 bits.

15 years agoPreviewrender fix: when moving the mouse still while previews should render
Ton Roosendaal [Sat, 1 Apr 2006 09:36:18 +0000 (09:36 +0000)]
Previewrender fix: when moving the mouse still while previews should render
the escape happened without resetting a variable correctly, resulting in
black preview.

This can still be coded better...

15 years agomore Bullet physics improvements, mainly stability and performance related.
Erwin Coumans [Sat, 1 Apr 2006 03:30:15 +0000 (03:30 +0000)]
more Bullet physics improvements, mainly stability and performance related.
AddObjectActuator has new python method to immediately create objects (this allows to create multiple objects in 1 frame in different positions)

15 years agoAdded relative vertex references to obj importer,
Campbell Barton [Fri, 31 Mar 2006 13:07:27 +0000 (13:07 +0000)]
Added relative vertex references to obj importer,
Found a model that used negative relative vertex indicies.
positive relative vert indicies should work also but untested (no example models).

15 years agoAdded matt's empty drawsize property to python.
Campbell Barton [Fri, 31 Mar 2006 09:50:39 +0000 (09:50 +0000)]
Added matt's empty drawsize property to python.

15 years agoRemoved debug printing.
Campbell Barton [Fri, 31 Mar 2006 02:35:16 +0000 (02:35 +0000)]
Removed debug printing.

15 years agoFREE_WINDOWS was declaring a typedef for __int64. __int64 was alredy defined.
Campbell Barton [Thu, 30 Mar 2006 22:44:33 +0000 (22:44 +0000)]
FREE_WINDOWS was declaring a typedef for __int64. __int64 was alredy defined.
so WIngws' GCC was seeing it as
typedef long long long long... and not compiling.

Added an ifndef around this decleration. safe solution. but probably remove the typedef entirely.

- Cam

15 years agoBugfix: isffmpeg() could access a pointer array using an index of -1,
Ken Hughes [Thu, 30 Mar 2006 21:51:59 +0000 (21:51 +0000)]
Bugfix: isffmpeg() could access a pointer array using an index of -1,
causing a segfault.

15 years ago==Nothing to see here, move along==
Chris Want [Thu, 30 Mar 2006 14:23:25 +0000 (14:23 +0000)]
==Nothing to see here, move along==

Removing some outdated files from elbeem, as suggested by Nils.
(Compiles OK without them.)

15 years agofixed vehicle related issue (re-enabled them)
Erwin Coumans [Thu, 30 Mar 2006 06:08:41 +0000 (06:08 +0000)]
fixed vehicle related issue (re-enabled them)

15 years ago==Nothing to see here, move along==
Chris Want [Wed, 29 Mar 2006 23:16:09 +0000 (23:16 +0000)]
==Nothing to see here, move along==

A header (BKE_Scene.h) was not included.

15 years ago==Nothing to see here, move along==
Chris Want [Wed, 29 Mar 2006 23:14:37 +0000 (23:14 +0000)]
==Nothing to see here, move along==

Try to get the yy_wrap and yy_parse definitions for IRIX. Hoping
that it will also help Kent's multiply resolved warnings, I've done
this so that these symbols are defined only if they are currently
undefined. I'm not sure if it will work though, please test!

15 years agoFixed some bugs in BPyImage comprehensive loade. (used by 3ds and obj import)
Campbell Barton [Wed, 29 Mar 2006 18:25:42 +0000 (18:25 +0000)]
Fixed some bugs in BPyImage comprehensive loade. (used by 3ds and obj import)

OBJ Importer,
Added true FGon support for faces >4 verts. (Does a propper scanfill and optionaly converts it to an FGON.) - Checks for flipping, uses a face fan when scanfill fails.
Added the option to split by materials, into seperate mesh objects (Good for large databases)
Made smoothGroups optional.

15 years agoAdded BOP_Mesh constructor to get rid of this:
Kent Mein [Wed, 29 Mar 2006 16:47:56 +0000 (16:47 +0000)]
Added BOP_Mesh constructor to get rid of this:
BOP_Mesh.h:45: warning: ‘class BOP_Mesh’ only defines private constructors and h
as no friends

drawimasel.c initalized a variable so it didn't give warnings about it.
(wasn't really needed but if the code changes could be potential issue)


15 years ago- fixed elbeem header include problems
Nils Thuerey [Wed, 29 Mar 2006 14:57:14 +0000 (14:57 +0000)]
- fixed elbeem header include problems

15 years agoSeveral minor fixes:
Nils Thuerey [Wed, 29 Mar 2006 07:35:54 +0000 (07:35 +0000)]
Several minor fixes:
- Added part of Austin's msvc8 fixes (vector::erase function
  was "misused"), hopefully compiles better now.
- Ctrl-b now also bakes a selected fluidsim domain
  similar to the softbodies.
- Added surface smoothing option for domains: default is
  1, higher values result in a smoother surface (and probably
  slightly higher comupation times), while 0 means the surface
  is not modified at all.
- Added BLENDER_ELBEEMBOBJABORT environment variable in readBobj,
  if >0 quits blender when a not yet existing fluidsim
  frame should be loaded. Useful for rendering simulations
  as far as possible from the command line.
- Surface normals pointer is now set to NULL in readfile.c
- Fixed win32 error string handling, now uses a function
  to return the string from the solver.
- Fixed fluidsim particle halo scaling problem.
- Solver update

15 years ago==Directx 8 importer==
Tom Musgrove [Wed, 29 Mar 2006 06:25:07 +0000 (06:25 +0000)]
==Directx 8 importer==

addition of a direct x importer by Ben Omari

15 years ago==Directx 8 exporter update==
Tom Musgrove [Wed, 29 Mar 2006 06:22:43 +0000 (06:22 +0000)]
==Directx 8 exporter update==

update to the direct x exporter by Ben Omari

15 years agomore physics work: fixed some deactivation bug, improved contact constraint stability...
Erwin Coumans [Wed, 29 Mar 2006 03:11:30 +0000 (03:11 +0000)]
more physics work: fixed some deactivation bug, improved contact constraint stability and friction (lower the number of iterations).

15 years agoI fixed some warnings about multiply defined yy_parse (etc) fuctions.
Kent Mein [Tue, 28 Mar 2006 20:56:58 +0000 (20:56 +0000)]
I fixed some warnings about multiply defined yy_parse (etc) fuctions.
Did some small indentation fixes, and moved some variables so they
were declared at the top of the function blocks.


15 years agodisabled restitution in the new iterative contact constraint.
Erwin Coumans [Tue, 28 Mar 2006 20:55:44 +0000 (20:55 +0000)]
disabled restitution in the new iterative contact constraint.

15 years agofixed scons build for moved and added file.
Erwin Coumans [Tue, 28 Mar 2006 20:18:14 +0000 (20:18 +0000)]
fixed scons build for moved and added file.

15 years agoRemoved a bad return and and unused variable.
Campbell Barton [Tue, 28 Mar 2006 03:20:10 +0000 (03:20 +0000)]
Removed a bad return and and unused variable.
swappsed all // for /**/.

15 years agoFix gcc warning about usage of identifier "main"; renamed the variable to
Ken Hughes [Mon, 27 Mar 2006 22:33:21 +0000 (22:33 +0000)]
Fix gcc warning about usage of identifier "main"; renamed the variable to

15 years agoAdd structure declaration to beginning of file to fix gcc warnings.
Ken Hughes [Mon, 27 Mar 2006 22:22:08 +0000 (22:22 +0000)]
Add structure declaration to beginning of file to fix gcc warnings.

15 years agoMove variable declaration to beginning of code block, to avoid compiler
Ken Hughes [Mon, 27 Mar 2006 22:20:24 +0000 (22:20 +0000)]
Move variable declaration to beginning of code block, to avoid compiler
warnings or errors.

15 years agoModified editmesh_mods.c
Campbell Barton [Mon, 27 Mar 2006 21:35:31 +0000 (21:35 +0000)]
Modified editmesh_mods.c
Added "Similar Edge Face Angles" to "Select Edge Groups"
This means you can select edges based on the angles of edges in the existing selection.
Only works for edges with 2 face users at the moment.

15 years agoanother couple of uninitalized variables get the axe.
Kent Mein [Mon, 27 Mar 2006 16:15:44 +0000 (16:15 +0000)]
another couple of uninitalized variables get the axe.

This is only to make things predictable until that section of the
code is finished.  Ton said it'd be a good idea to drop in in for now.


15 years agoMake editmesh edge length and face area drawing's precission proportonate to the...
Campbell Barton [Mon, 27 Mar 2006 14:57:53 +0000 (14:57 +0000)]
Make editmesh edge length and face area drawing's precission proportonate to the gridsize.
Needed when working with small models.

15 years agoneeded to normalize the plane for the manipulator.
Campbell Barton [Mon, 27 Mar 2006 08:52:28 +0000 (08:52 +0000)]
needed to normalize the plane for the manipulator.

15 years agoremoved 2 warnings from epydocs
Campbell Barton [Mon, 27 Mar 2006 08:34:06 +0000 (08:34 +0000)]
removed 2 warnings from epydocs

15 years agoSeperated out some functionality into 3 new functions.
Campbell Barton [Mon, 27 Mar 2006 08:25:06 +0000 (08:25 +0000)]
Seperated out some functionality into 3 new functions.
These functions are used by the manipulator to get data from an editselection. regardless of weather its a face/edge/vert.

15 years agoSynchronized Bullet physics to latest version.
Erwin Coumans [Mon, 27 Mar 2006 06:37:30 +0000 (06:37 +0000)]
Synchronized Bullet physics to latest version.

- Changed license from MIT to ZLib.
- Added 3D Sweep and Prune contribution
- More stable native constraint solver

Sorry for any inconvenience caused by this checkin.
All Blender buildsystems require update: added files and moved files.

15 years agoAdded rotate about centre for active Vert/Edge/Face in mesh editmode. also works...
Campbell Barton [Mon, 27 Mar 2006 05:28:36 +0000 (05:28 +0000)]
Added rotate about centre for active Vert/Edge/Face in mesh editmode. also works for getting the V/E/F normal. Means we can now rotate about the last selected edge.

15 years ago-> Stored Selections
Geoffrey Bantle [Mon, 27 Mar 2006 05:19:14 +0000 (05:19 +0000)]
-> Stored Selections

Previously Blender did not store the order in which vertices, edges
or faces were selected in edit mode. In many cases it is useful to
have this data, however it is not desirable to store every selection
made. Now blender stores selections in the order in which they were
made in a linked list called 'selected' in  EditMesh. EditSelection structs
are created whenever 'EM_store_selection' from  editmesh_lib.c is called
(currently only on user selection with mouse). There are several cases
in which they might be deallocated by calling the 'EM_remove_selection'
function however:

-When the user deselects something with the mouse ('mouse_mesh' in

-When switching selection modes stored selections that are not relevant
to the new mode are removed by the 'EM_strip_selections' function
(multi-select mode is supported)

-When the vertex, edge or face pointed to by a certain stored selection is

-When EM_clear_flag_all is called and where the flag passed to the function
contains the 'SELECT' bitmask.

-When leaving edit mode (making stored selection data persistent across
editing sessions will require modifications to mesh DNA later)


There are a few cases still where you can temporarily end up with a stored
selection that points to an element that is no longer selected
(edge loop de-select can cause this for instance). The solution to this is to
add a call to EM_remove_selection from 'EM_select_edge' and 'EM_select_face' when
these functions are being used to deselect elements. For the sake of completeness
however this will also require that an 'EM_select_vert' function be coded and
called at all appropriate parts of the editmesh code. I will look into this
later in the week.

For now there are two tools that already take advantage of the stored selections.
The first one is 'merge at first or last vertex' in the merge menu (the 'firstvert' and
'lastvert' pointers are gone from EditMesh). The second tool is path select, which builds
a path between the last vert selected and the second to last vert selected. This allows you
to build complex path selections in a short amount of time like this
'select A, select B, path select. select C, path select. select D...'

15 years ago=== Transform Display ===
Martin Poirier [Sun, 26 Mar 2006 22:35:03 +0000 (22:35 +0000)]
=== Transform Display ===
Based on a patch by Matthias Derer, this adds the distance moved to a translation (grab) transform
(both 3D and 2D, although the 2D transform displays the normalised distance only).

15 years ago==sequencer==
Tom Musgrove [Sun, 26 Mar 2006 22:31:11 +0000 (22:31 +0000)]

a tiny patch by Luis de Bethencourt Guimera (luisbg) adds RETKEY as completing a transform for consistency

15 years ago==Sequencer==
Peter Schlaile [Sun, 26 Mar 2006 21:36:42 +0000 (21:36 +0000)]
This patch is mostly a usability patch for the sequencer, mainly written by
Anders Gudmundson and twisted a little bit by me.

- Lock Time to other windows
- Possibility to switch the X-Axis between frames and seconds-display
- IPO-Frame Locking for plugins (T-Key)
- Additional Popup to add HD-Sound and Movie at once
- In Timeline-Window: Sequencer windows only playback
- Make the IPOs a little bit IPO-Frame-Lock friendlier (doesn't jump;
  the frame that is drawn has the right dimension)
- Wheel-Mouse buttons make the sequencer window zoom again.
- The "This is not a sound/movie-file message" now reads "... or
  FFMPEG-support not compiled in!" since I learned some prominent
  people who complained, that hdaudio does not work for them ;-)
- Make SPACEKEY open up the "Add Strip"-Popup on the timeline and start
  playback in the preview window.

15 years agoAdded python image pack/unpack per image.
Campbell Barton [Sun, 26 Mar 2006 09:25:30 +0000 (09:25 +0000)]
Added python image pack/unpack per image.

15 years agoselect group with large selections could make blender hang. break out of the loop...
Campbell Barton [Sun, 26 Mar 2006 01:54:52 +0000 (01:54 +0000)]
select group with large selections could make blender hang. break out of the loop when no more can be done.

15 years agoMade group work from multiple selection's (before it used the first selected face...
Campbell Barton [Sun, 26 Mar 2006 01:02:22 +0000 (01:02 +0000)]
Made group work from multiple selection's (before it used the first selected face/vert/edge)
so you can select 2 faces and then get all coplaner faces around both.
Added fp to face and edge edit data so as to store edge length and face area/perimeter. (in the union so minimal overhead)
current implimentation is fairly optimized.

Change to arithb.c was just to command Inpf as being the dot producr.

15 years ago==paint==
Tom Musgrove [Sat, 25 Mar 2006 22:29:48 +0000 (22:29 +0000)]

change CKEY to toggle paint on or off in image paint patch by Stephan Kassemeyer

15 years agoFixed a possible bug where counting faces was a short and could be less then the...
Campbell Barton [Sat, 25 Mar 2006 11:51:33 +0000 (11:51 +0000)]
Fixed a possible bug where counting faces was a short and could be less then the number of items selected.
Added Vertex group select menu- Similar Normal|Same FaceUsers|Shared Vertex Groups

15 years agoFixed a but where DupStart and DupEnd (duplivert settings) max values were larger...
Campbell Barton [Sat, 25 Mar 2006 10:06:40 +0000 (10:06 +0000)]
Fixed a but where DupStart and DupEnd (duplivert settings) max values were larger then a short. which made the buttons act oddly.
Also added tooltips.

Idealy these would be unsigned shorts or ints because they should be able to go up to the max frame number 300000.

15 years agoAdded select group edges (Length/Direction/FaceUsers)
Campbell Barton [Sat, 25 Mar 2006 06:32:39 +0000 (06:32 +0000)]
Added select group edges (Length/Direction/FaceUsers)
Added VecAngle2 - needed for grouping by normal and planer faces.
Made select face & edge group ignore hidden faces.
fixed a bug where hiding faces didnt update G.tot*sel

15 years agoAdded select group meny to mesh editmode.
Campbell Barton [Sat, 25 Mar 2006 04:37:40 +0000 (04:37 +0000)]
Added select group meny to mesh editmode.
Currently only works for faces.
Try Shift+G in face/editmode.

15 years agoBugfix #3818: nmesh.insertKey() was not letting Ipo space know to
Ken Hughes [Fri, 24 Mar 2006 21:56:29 +0000 (21:56 +0000)]
Bugfix #3818:  nmesh.insertKey() was not letting Ipo space know to
recalculate, causing a segfault when the curve was selected in the Ipo
window.  lattice.insertKey() has similar code.  Added calls to
allspace(REMAKEIPO,0) to correct this.

15 years agoBugfix #3772: Allows "Center Cursor" for 3D curves to modify the curve
Ken Hughes [Fri, 24 Mar 2006 20:39:38 +0000 (20:39 +0000)]
Bugfix #3772: Allows "Center Cursor" for 3D curves to modify the curve
center's Z location.  An eons-old comment in the code said:

/* Curves need to be 2d, never offset in
 * Z. Is a somewhat arbitrary restriction,
 * would probably be nice to remove. */

I couldn't find any other reason for the restriction other than 2D curves
limit the point's Z component to 0, so added a check to only forve the
center Z to 0 when the curve is 2D.  If there are other reasons for the
restriction, then this commit may need to be rolled back.

15 years agoa bunch of small warnings fixes:
Kent Mein [Fri, 24 Mar 2006 16:40:32 +0000 (16:40 +0000)]
a bunch of small warnings fixes:

newline missing at end of file fixes:
TypedConstraint.h WheelInfo.h RaycastVehicle.h VehicleRaycaster.h

radiance_hdr.c fixed the following warning by changing type of local variable:
radiance_hdr.c:357: warning: pointer targets in passing argument 3 of
‘fwritecol rs’ differ in signedness

edgeRender.c,edgeRender.h same thing changed type of local vars to get rid
of warnings about signedness

RAS_OpenGLRasterizer.cpp removed unused variable unit line 1295


15 years agoblender -P xxx -b crashed sometimes, still will crash in some cases if the python...
Campbell Barton [Fri, 24 Mar 2006 16:04:55 +0000 (16:04 +0000)]
blender -P xxx -b crashed sometimes, still will crash in some cases if the python functions access screen data. but at least Blender.sys.expandpath wont segfault anymore.

15 years agoMade blender python work in background mode without a blend file loading.
Campbell Barton [Fri, 24 Mar 2006 15:46:26 +0000 (15:46 +0000)]
Made blender python work in background mode without a blend file loading.
Blender.c python initialization creates a scene when in background mode and when there is no scene.
Needed to skip redrawing when in background mode because it depended on screen data that wasnt there.

15 years agoAttempted to unify and document Dupli* stuff.
Campbell Barton [Fri, 24 Mar 2006 08:36:39 +0000 (08:36 +0000)]
Attempted to unify and document Dupli* stuff.

see the epydocs for documentation at - will update in a tick.

15 years agoFix problem with possibly random calls to MEM_freeN() due to uninitialized
Ken Hughes [Thu, 23 Mar 2006 23:54:48 +0000 (23:54 +0000)]
Fix problem with possibly random calls to MEM_freeN() due to uninitialized
variable in NMesh.c

15 years agoUpdated mallocn.c MEM_check_memory_integrity was casting
Kent Mein [Thu, 23 Mar 2006 17:45:40 +0000 (17:45 +0000)]
Updated mallocn.c MEM_check_memory_integrity was casting
a string as an int and it was causing a warning.
I changed it to check to see if the string == 0
return 0 else return 1.

The only thing that called this function was memtest.c and it
had outdated code, so I fixed that...
        was calling MEM_set_error_stream updated to


15 years agooops, typo
Campbell Barton [Tue, 21 Mar 2006 23:59:52 +0000 (23:59 +0000)]
oops, typo

15 years ago===Python API===
Ken Hughes [Tue, 21 Mar 2006 23:30:25 +0000 (23:30 +0000)]
===Python API===
Two small bugfixes:
   * Image.New() resets to 0; it is set to 1 by new_image()
   * allow ima.depth and ima.size getters to propagate their own error
     messages (missing image was returning MemoryError)

Also, seems to me there's something funny going on with image
accounting.  In do_image_buttons(), is set whenever an image is
accessed vi the datablock menu:

        if(idtest!=id) {
            G.sima->image= (Image *)idtest;
            if(idtest->us==0) idtest->us= 1;
            allqueue(REDRAWIMAGE, 0);

This is independent of whether a UV face is selected or not (and it also
seems that the number of UV faces linked to an image is not maintained

15 years agoFix for a bug where python could save a sceneless blend file.
Campbell Barton [Tue, 21 Mar 2006 22:30:29 +0000 (22:30 +0000)]
Fix for a bug where python could save a sceneless blend file.

15 years agoFix for bug,
Campbell Barton [Tue, 21 Mar 2006 22:16:41 +0000 (22:16 +0000)]
Fix for bug,
Raise an error instead of crash when python expandpath runs and no scene is loaded.

15 years agoSilly bug in using Compositor... the code that checked if a 3d rendering
Ton Roosendaal [Tue, 21 Mar 2006 11:29:03 +0000 (11:29 +0000)]
Silly bug in using Compositor... the code that checked if a 3d rendering
was required (compositor can also be used with only image input) told
the pipeline not to render when no composite nodes were available at all,
and with button 'Use Nodes' on.

15 years agoScene id->us user counter was always set to 1 on a file read, which did not
Ton Roosendaal [Mon, 20 Mar 2006 20:52:04 +0000 (20:52 +0000)]
Scene id->us user counter was always set to 1 on a file read, which did not
work for Composite nodes using a scene... when you delete such a node the
scene could get zero users then.

Now scenes count users correctly, and are initialized to 1 on the correct

15 years ago=== MINGW compile ===
Andrea Weikert [Mon, 20 Mar 2006 17:25:42 +0000 (17:25 +0000)]
=== MINGW compile ===
Fixing compile for Windows mingw builds with cygwin make and scons.
Used SHGetFolderPath instead of SHGetSpecialFolderPath which is
better supported for mingw.
Thanks to Ralf Hoelzemer for the tip and the patch.

Let me know if any problems persist, I'll try to fix then.

--- Andrea

15 years agoCineon/DPX export didn't survive when Blender gave it negative colors.
Ton Roosendaal [Mon, 20 Mar 2006 16:53:13 +0000 (16:53 +0000)]
Cineon/DPX export didn't survive when Blender gave it negative colors.
Was missing test for it before turning it into unsigned short.

15 years agoFixed an error in the help printout and set out the formats that are not supported...
Campbell Barton [Mon, 20 Mar 2006 16:24:00 +0000 (16:24 +0000)]
Fixed an error in the help printout and set out the formats that are not supported on all os's.

15 years agoFix various gcc warnings.
Ken Hughes [Sun, 19 Mar 2006 20:45:50 +0000 (20:45 +0000)]
Fix various gcc warnings.

15 years agoThreshold for non-flat quad detection was too wide still. Causing errors
Ton Roosendaal [Sun, 19 Mar 2006 20:14:16 +0000 (20:14 +0000)]
Threshold for non-flat quad detection was too wide still. Causing errors
of quads filling in in octrees...

15 years agoMore environment map stuff:
Ton Roosendaal [Sun, 19 Mar 2006 17:50:53 +0000 (17:50 +0000)]
More environment map stuff:

- added a zoom factor for Planar Environment Map, allowing to zoom in or
  out on the reflected object. The zoom is corrected when rendering, so it
  just gives control over the resolution.
- Planar maps don't cycle anymore, but only render the front plane, using
  standard image texture extend mode.
- threaded rendering is back in envmap render

15 years ago=== fileseletor ===
Andrea Weikert [Sun, 19 Mar 2006 16:36:37 +0000 (16:36 +0000)]
=== fileseletor ===

patch #2554: My Documents and Desktop folder automaticly added to the Folders
pulldown of the filesector

Only affects Windows builds.

Uses shell functions to correctly get the My Documents and Desktop folders and
then add them to the fsmenu, right below the drive letters.

Needs shell32.lib linked, which is already linked by default for VS7 project files.
Platform maintainer please check if it has to be added to scons and MSVC6 project files.

Patch provided by Martin Poirier (theeth) - many thanks!

15 years agoAdded a way to set the renderpath (dir and name) from the command line.
Campbell Barton [Sun, 19 Mar 2006 16:25:32 +0000 (16:25 +0000)]
Added a way to set the renderpath (dir and name) from the command line.
Blender  -b c:\blends\test.blend  -o "c:\renders\render_#.png"  -x 0  -F PNG

-x 1/0 for extension enable/disable
-F for format/filetype

This is important because somebody elses Blend files can render anywhere on your PC, possibly a security risk.
And nice for renderfarms to be able to set the path without running a python script inside the blend file.

blender --help (render opts only)
Render options:
  -b <file>     Render <file> in background
    -S <name>   Set scene <name>
    -f <frame>  Render frame <frame> and save it
    -s <frame>  Set start to frame <frame> (use with -a)
    -e <frame>  Set end to frame (use with -a)<frame>
    -o <path>   Set the render path and file name.
      Use // at the start of the path to
        render relative to the blend file.
      Use # in the filename to be replaced with the frame number
      eg: blender -b foobar.blend -o //render_# -F PNG -x 1
    -F <format> Set the render format, Valid options are..
               Use // at the start of the path to
    -x <bool>   Set option to add the file extension to the end of the file.

Added details to the -v option
blender -v
Blender 2.41 Build
        build date: 2006-03-20
        build time: 16:16:34
        build platform: linux-glibc2.3.6-i386
        build type: dynamic

Also fixed bugs where nagative/realy big  frames could be set- causing Blender to crash.

15 years agoBugfix in environment mapping: Ztransp and Halo didn't show up. Bug is
Ton Roosendaal [Sun, 19 Mar 2006 15:16:02 +0000 (15:16 +0000)]
Bugfix in environment mapping: Ztransp and Halo didn't show up. Bug is
there since the Render refactor of early january.

15 years agoAdded option to only render a single side of an Environment map cube,
Ton Roosendaal [Sun, 19 Mar 2006 14:26:56 +0000 (14:26 +0000)]
Added option to only render a single side of an Environment map cube,
allowing to use it for planar mirrors. Enable it with the new "Plane"
option in the Environment Map Panel.

Current default is to render the cube side that points to the positive
Z axis direction. To make it work, it uses the same image for all
other cube sides, so it will 'wrap around'.

Also made maximum resolution for environment map to be 4096x4096 now.

15 years agoUpdated to use Blender.sys.exists() which now uses BLI_exist rather then stat.
Campbell Barton [Sun, 19 Mar 2006 13:31:44 +0000 (13:31 +0000)]
Updated to use Blender.sys.exists() which now uses BLI_exist rather then stat.

15 years ago=== bugfix win32 - python ===
Andrea Weikert [Sun, 19 Mar 2006 13:28:01 +0000 (13:28 +0000)]
=== bugfix win32 - python ===

Fixed BLI_exist: In Windows stat doesn't recognize
a dirname ending is a slash, exept when it's
the root dir ("C:\\"), where it is required.
So trailing slashes are only removed when filename
is longer than 3 chars.
Also fixed Python Sys.c that now uses BLI_exist
instead of calling stat directly.

15 years agoAdded support for group objects
Campbell Barton [Sun, 19 Mar 2006 04:45:58 +0000 (04:45 +0000)]
Added support for group objects

To have an iterator assigned as well as a list. Since gp.objects is an ietartor this is expected.
grp.objects= someGroup.objects works now.

Some other small fixes made.

Made a wrapper for add_to_group() That handles the OB_FROMGROUP flag. Should be moved to group.c's add_to_group()

void add_to_group_wraper(Group *group, Object *ob) {
Base *base;
add_to_group(group, ob);

if (!(ob->flag & OB_FROMGROUP)) { /* do this to avoid a listbase lookup */
ob->flag |= OB_FROMGROUP;

base= object_in_scene(ob, G.scene);
if (base)
base->flag |= OB_FROMGROUP;

15 years agoAdded object.dupliGroup so objects can access the groups they instance.
Campbell Barton [Sat, 18 Mar 2006 17:24:59 +0000 (17:24 +0000)]
Added object.dupliGroup so objects can access the groups they instance.
This is very confusing.
Since in object has
ob.setDupliGroup() # Enable/Disable Dupligroup
ob.getDupliGroup() # see if its enabled.
ob.dupliGroup # the group data this object is instancing.

Not yet added
ob.groups # Groups that use this object.

15 years agoSlight change, when moving the active object out of localview, keep it the activew...
Campbell Barton [Sat, 18 Mar 2006 15:53:06 +0000 (15:53 +0000)]
Slight change, when moving the active object out of localview, keep it the activew object. Face Select mode, vpain etc need to complain if act ob isnt visible before the modes are activated.

15 years agoMoved declerations to the top of the skope so as to work with MSVC?
Campbell Barton [Sat, 18 Mar 2006 15:23:02 +0000 (15:23 +0000)]
Moved declerations to the top of the skope so as to work with MSVC?
started removeing // from constant.h to shut GCC's -pedantic up. realized // are used everywhere.

15 years agoAdded Blender.Group module
Campbell Barton [Sat, 18 Mar 2006 14:47:26 +0000 (14:47 +0000)]
Added Blender.Group module
The plans for the new Python API are too far off to have this module conform.

Needs testing with MSVC 6

15 years agoTsk! A 'new' for filehandle wasn't combined with a 'delete', which is
Ton Roosendaal [Sat, 18 Mar 2006 14:45:15 +0000 (14:45 +0000)]
Tsk! A 'new' for filehandle wasn't combined with a 'delete', which is
probably causing the leakage issues we have exr in linux.

15 years agoUpdate box unpack with faster python use
Campbell Barton [Sat, 18 Mar 2006 11:41:07 +0000 (11:41 +0000)]
Update box unpack with faster python use
Update image loader, optional arg for not autocreating the image. - aslo removed some stuff that shouldent have been left in.
  Workaround for a bug in Blender.sys.exists()... should fix soon.

15 years ago==SCons==
Nathan Letwory [Fri, 17 Mar 2006 16:42:43 +0000 (16:42 +0000)]

* The documentation for BF_QUICKDEBUG et al, missing from previous commit. Also
  provided by Joseph Eagar.

15 years ago==SCons==
Nathan Letwory [Fri, 17 Mar 2006 16:38:39 +0000 (16:38 +0000)]
* Applied patch #4012 by Joseph Eagar. The patch provides a way to quickly assign a list
  of libraries to build with debug symbols. Usage:

  scons BF_QUICKDEBUG=src,bf_blenkernel,bf_blenlib

15 years agoWe're now doing final conversions... float exrs to dpx amd png. Found a
Ton Roosendaal [Thu, 16 Mar 2006 20:42:00 +0000 (20:42 +0000)]
We're now doing final conversions... float exrs to dpx amd png. Found a
couple of bugs in the new float support in sequencer;

- when effects have float buffer input, the effect strip itself only got
  byte buffers assigned, which bypassed the float versions of effects
- the float version of cross effect used ints to fade... should be float
- tests if an effect should be recalculated didn't check for float yet
- display of float buffer in sequencer preview showed black when no
  byte rect was in imbuf

Peter; we need this urgent, so I commit now.. check if this is according
to how you thought floatbuffers to work? thanks!

15 years ago==SCons==
Nathan Letwory [Thu, 16 Mar 2006 19:16:26 +0000 (19:16 +0000)]
* Link to png_st. Jens reported linking with dynamic lib crashed, but with static doesn't.

15 years ago2 New tools, 'Loop to region' and 'Region to loop'
Geoffrey Bantle [Wed, 15 Mar 2006 20:53:41 +0000 (20:53 +0000)]
2 New tools, 'Loop to region' and 'Region to loop'

-> Loop to Region
Examines the current set of selected edges and seperates them into groups
 of 'loops' that each bisect the mesh into two parts. Then for each loop it
selects the smaller 'half' of the mesh.

Example images:

This tool handles multiple loops fine as is shown by these images:

Furthermore it handles 'holes' just fine as well:

-> Region to Loop

This is the 'logical inverse' of loop to region.


Both features can be accessed by the 'Edge Menu' in EditMode (CTRL-E).

15 years agoDang... on background rendering (renderfarm) the user preset for temp dir
Ton Roosendaal [Wed, 15 Mar 2006 20:41:08 +0000 (20:41 +0000)]
Dang... on background rendering (renderfarm) the user preset for temp dir
isn't set. Hardcoded it to /tmp/ now. Have put on list this requires a
better solution (same issue open for yafray afaik)

15 years agoBugfix: In sequencer, duplicating effects crashed due to calling a NULL
Ton Roosendaal [Wed, 15 Mar 2006 18:16:25 +0000 (18:16 +0000)]
Bugfix: In sequencer, duplicating effects crashed due to calling a NULL

15 years agommap allocs now fall back on regular malloc when mmap fails.
Ton Roosendaal [Wed, 15 Mar 2006 15:06:53 +0000 (15:06 +0000)]
mmap allocs now fall back on regular malloc when mmap fails.

15 years agoBugfix: when compositor reads incomplete renders, when using the new
Ton Roosendaal [Wed, 15 Mar 2006 10:44:58 +0000 (10:44 +0000)]
Bugfix: when compositor reads incomplete renders, when using the new
render option "save result to disk" and ESC from rendering, it crashed...

Note; reading partially saved exr files still crash... but that's an issue
within the openexr lib. I've mailed the openexr dev list for assistance
how to properly close a partial saved tile-file.

15 years agoSilly copy/paste error enabled the 'save render to file' option always...
Ton Roosendaal [Wed, 15 Mar 2006 10:18:33 +0000 (10:18 +0000)]
Silly copy/paste error enabled the 'save render to file' option always...
now the button works as meant to be.

Still working on the feature though... I noticed exr files dont read
back when only part was saved (on user break). Working...

15 years agoBugfix: Node editor, ALT+G "UnGroup" crashed when group was editable.
Ton Roosendaal [Tue, 14 Mar 2006 21:58:16 +0000 (21:58 +0000)]
Bugfix: Node editor, ALT+G "UnGroup" crashed when group was editable.
Now it exits this editing mode, and ungroups nicely.

15 years agoMemory saving for large renders:
Ton Roosendaal [Tue, 14 Mar 2006 21:29:42 +0000 (21:29 +0000)]
Memory saving for large renders:

New option "Save Buffers", in first Output panel of renderbuttons, will not
allocate all render buffers, but instead save the rendered tiles to exr.
For each scene rendered, a single exr file then is created.
After rendering, the files get read, and only then the memory allocation is

The exr files are saved in the temp dir (from user settings), and have
names derived from the filename+scene name. That way these buffers remain
relatively unique, and can be re-used later too.

Saving all render-layers and passes in a single file (as F3 command) will
be done later. Also reading back the current muli-layer exr files is not
supported yet (will read black). The purpose is that these files then can
be used as input for the Compositor.

One fun thing I added; after rendering once with this option, close
Blender, and restart it. If you have a Composite set up press 'R' on an
active RenderResult node. This will refresh the node(s) and load the exr,
so you can composite again without a re-render.