15 years agoupdate to msvc7 projectfiles
Joseph Gilbert [Sat, 13 May 2006 14:46:48 +0000 (14:46 +0000)]
update to msvc7 projectfiles

15 years agoFix 4190
Ton Roosendaal [Sat, 13 May 2006 13:39:40 +0000 (13:39 +0000)]
Fix 4190

Using the "RVK" sliders in Action window, on a Library-linked Mesh, crashed
due to using a NULL pointer. Added menu warning.

15 years agoMade editmesh remove_doubles work with vertex colours,
Campbell Barton [Sat, 13 May 2006 12:36:48 +0000 (12:36 +0000)]
Made editmesh remove_doubles work with vertex colours,
added vertex colour support to BPyMesh_redux polygon reducing function.

15 years agoBugfix #4191
Ton Roosendaal [Sat, 13 May 2006 10:38:39 +0000 (10:38 +0000)]
Bugfix #4191

NLA window: the "blend in/out" values were limited to action lenght, which
should the strip length instead.

15 years agoBrowsing Mesh data in editmode used to be locked (uiButLock). Cleanup of
Ton Roosendaal [Sat, 13 May 2006 09:55:52 +0000 (09:55 +0000)]
Browsing Mesh data in editmode used to be locked (uiButLock). Cleanup of
headerbuttons code in orange branch disabled this lock. Brought it back.

15 years agoBPyMesh_redux: Fixed a rare bug in mesh redux's, collapsed location.
Campbell Barton [Sat, 13 May 2006 05:24:58 +0000 (05:24 +0000)]
BPyMesh_redux:  Fixed a rare bug in mesh redux's, collapsed location.
BPyMesh_redux:  made redux support non UV Meshes.
vertexpaint_selfshadow_ao:  turned vertex selfshadow scale into radius.

15 years agoText patch for game player, from Charlie: TFace from KX_PolygonMaterial, as opposed...
Erwin Coumans [Sat, 13 May 2006 00:08:14 +0000 (00:08 +0000)]
Text patch for game player, from Charlie: TFace from KX_PolygonMaterial, as opposed to KX_BlenderMaterial

15 years agoHappy msvc6 again .. however some new std::std::strings in El'Beem
Jens Ole Wund [Fri, 12 May 2006 22:00:27 +0000 (22:00 +0000)]
Happy msvc6 again .. however some new std::std::strings in El'Beem
i'll give it to nils later on

15 years ago===Python API===
Ken Hughes [Fri, 12 May 2006 20:47:39 +0000 (20:47 +0000)]
===Python API===
Fixing some nmesh typos in Mesh docfile (thanks, Hos).

15 years agoMaking the vrml exporter use the Ken Hughes Mesh module, rather
Chris Want [Fri, 12 May 2006 15:26:38 +0000 (15:26 +0000)]
Making the vrml exporter use the Ken Hughes Mesh module, rather
than NMesh.

15 years agoCompositor: Pressing Rkey now gives a popup for OK, and then will read in
Ton Roosendaal [Fri, 12 May 2006 15:17:24 +0000 (15:17 +0000)]
Compositor: Pressing Rkey now gives a popup for OK, and then will read in
all RenderResult nodes (when "Save Buffers" used) at once.

Before it only read 1 Scene... not too useful.

Also: added wait-cursor for saving images in UV/Image Editor.

15 years ago===Python API===
Ken Hughes [Fri, 12 May 2006 13:10:55 +0000 (13:10 +0000)]
===Python API===
* use CONSTRAINT_LOCAL instead of SELECT in "Copy Rotate" constraint
* remove "LOCAL" key for now from "Copy Size" constraint; not supported
  right now in Blender UI

15 years agoNew Compositer option: "Free Unused". In the Node Editor header.
Ton Roosendaal [Fri, 12 May 2006 11:27:01 +0000 (11:27 +0000)]
New Compositer option: "Free Unused". In the Node Editor header.

This will free all Node output buffers, while compositing, when not needed
anymore. Saves a whole lotta memory, and will enable to use many many more
nodes (or high resolution images).

15 years agoA stupid x/y mixup gave error "Sorry, exr tile saving only allowed with
Ton Roosendaal [Fri, 12 May 2006 11:22:45 +0000 (11:22 +0000)]
A stupid x/y mixup gave error "Sorry, exr tile saving only allowed with
equally sized parts" when the tiles were equally sized anyway.

15 years ago===Python API===
Ken Hughes [Fri, 12 May 2006 04:34:02 +0000 (04:34 +0000)]
===Python API===
Added NULL constraint (and fixed bug that didn't allow appending FLOOR
constraint), and added support for Constraint.Settings.LOCAL key support in
COPYLOC, COPYROT and COPYSIZE constraints when target object is an armature.

15 years agopatch from Charlie, bug fix (3795) , improves CubeMaps in game engine
Erwin Coumans [Thu, 11 May 2006 20:41:28 +0000 (20:41 +0000)]
patch from Charlie, bug fix (3795) , improves CubeMaps in game engine

15 years agoAdded MVert.hide property because hidden verts were hanging BPyMesh_Redux
Campbell Barton [Thu, 11 May 2006 20:35:43 +0000 (20:35 +0000)]
Added MVert.hide property because hidden verts were hanging BPyMesh_Redux

15 years ago-> New menu and toolbox entries
Geoffrey Bantle [Thu, 11 May 2006 19:46:26 +0000 (19:46 +0000)]
-> New menu and toolbox entries

Added the following to the 'select' menu of 3d header and toolbox while in mesh editmode: '

-Path Select
-Edge Loop Multi-Select
-Edge Ring Multi-Select
-Loop to Region
-Region to Loop

Also added Collapse Faces and Collapse Edges to menu and toolbox as well as made them available in selection modes other than face exclusive and edge exclusive.

15 years ago- Charlie provided a work-around for some armature related crashes
Erwin Coumans [Thu, 11 May 2006 17:58:23 +0000 (17:58 +0000)]
- Charlie provided a work-around for some armature related crashes
- fixed some Bullet raycasting (hitfraction was not properly updated for static meshes)
- removed some cvs tags in Bullet's BMF _Font files (they keep on conflicting when duplicated in different repositories)
- set default linearsleepingtreshold explicitly

15 years agoThe algorithm to export vertex color was very inefficient (for every
Chris Want [Thu, 11 May 2006 17:42:58 +0000 (17:42 +0000)]
The algorithm to export vertex color was very inefficient (for every
vertex it would potentially loop through every face). This fix speeds
it up a bit (only loops through all faces once, at the cost of some
additional memory). An example of export times for a mesh with 6266
verts and 12528 faces:

Before: 2m56s
After:     8s

15 years agoSome bad logic was causing an 'Appearance' node not to get closed
Chris Want [Thu, 11 May 2006 17:29:44 +0000 (17:29 +0000)]
Some bad logic was causing an 'Appearance' node not to get closed
correctly when a mesh has vertex colors.

15 years agoAdded warning popup menu to note that Planar Environment maps cannot be
Ton Roosendaal [Thu, 11 May 2006 15:06:07 +0000 (15:06 +0000)]
Added warning popup menu to note that Planar Environment maps cannot be
saved yet.

15 years agoBugfix 4158
Ton Roosendaal [Thu, 11 May 2006 13:33:30 +0000 (13:33 +0000)]
Bugfix 4158

ALT+C convert for modifiers works again for Armatures etc.
Note; this is another victim of the very confusing derivedmesh...

15 years ago- fixed MSVC problem in fluidsim.c
Nils Thuerey [Thu, 11 May 2006 13:19:41 +0000 (13:19 +0000)]
- fixed MSVC problem in fluidsim.c
- removed some more debug output in the solver

15 years agoAdded a polygon reduction function that can poly reduce any mesh and supports UV...
Campbell Barton [Thu, 11 May 2006 12:42:10 +0000 (12:42 +0000)]
Added a polygon reduction function that can poly reduce any mesh and supports UV's as well as bone weights (Thanks to briggs).
Isnt intended to be ultra high quality, more for automatic realtime "Level of Detail" model generation.

BPyMesh.redux(ob, 0.5) # To reduce to about half the polys

15 years agoOMG! Can't be true, a new feature for character animators!
Ton Roosendaal [Thu, 11 May 2006 12:13:49 +0000 (12:13 +0000)]
OMG! Can't be true, a new feature for character animators!

When weightpainting, with the armature in posemode, you now can press the
NumPad-period key to zoom in to the selected bone. (it used to zoom to the
painted mesh instead). Actually bugreport 4161.

15 years agoBugfix 4165
Ton Roosendaal [Thu, 11 May 2006 10:27:12 +0000 (10:27 +0000)]
Bugfix 4165

Environment map render:

- when an object is in multiple layers, the "don't render layer" option
  didn't work properly. Now it doesn't render an object when it is
  invisible completely

- the new scaling option also worked for cubic envmap, should not.

15 years agoAdded some shortcuts to Mesh
Campbell Barton [Thu, 11 May 2006 10:06:15 +0000 (10:06 +0000)]
Added some shortcuts to Mesh

Updated some scripts that used these.

15 years agoAdded extra pointer check in "save envmap", which can crash when using
Ton Roosendaal [Thu, 11 May 2006 09:53:46 +0000 (09:53 +0000)]
Added extra pointer check in "save envmap", which can crash when using
the option without rendered envmap. Fixes bug #4166

15 years ago- removed debug output
Nils Thuerey [Thu, 11 May 2006 08:19:02 +0000 (08:19 +0000)]
- removed debug output

15 years ago- New options for mesh voxelization: shell only (also
Nils Thuerey [Thu, 11 May 2006 08:09:02 +0000 (08:09 +0000)]
- New options for mesh voxelization: shell only (also
  works for non closed objects), volume ("normal"/old way of
  doing it), and a combination of both:
- Finally included bjornmose MSVC6 fixes
- Added support for animated meshes, e.g. meshes with
  parented skeletons. Is enabled for obstacles with a new button.
  A simple example with Bassam's mancandy can be found here:
  (Warning - keep meshes as simple as possible, e.g. turn off subsurf
  for baking. Export probably shoulb be further optimized.)
- Changed handling of no/free/part slip obstacles, see:
- Removed surface particle option for upcoming release,
  needs more testing & tweaking
- Added tracer particles instead (swimming along in the fluid)
- Updated wiki (description of IPOs still missing).

15 years agofixed raycasting related issue
Erwin Coumans [Thu, 11 May 2006 02:14:48 +0000 (02:14 +0000)]
fixed raycasting related issue

15 years ago- Added support for kinematic objects (interaction between rigidbodies), deriving...
Erwin Coumans [Thu, 11 May 2006 00:13:42 +0000 (00:13 +0000)]
- Added support for kinematic objects (interaction between rigidbodies), deriving linear/angular velocity from previous transform/current transform and deltatime.
- Made another attempt to migrate from Sumo to Bullet: import of older files automatically switch to Bullet, but you can override it, and save the file in 2.42 version. then it stays Sumo physics.

15 years agoConverting spaces to tabs in this script (this is standard!)
Chris Want [Wed, 10 May 2006 21:37:03 +0000 (21:37 +0000)]
Converting spaces to tabs in this script (this is standard!)

15 years ago-> Fix for Bug #4167
Geoffrey Bantle [Wed, 10 May 2006 21:08:38 +0000 (21:08 +0000)]
-> Fix for Bug #4167

Stored selections (mselect array in mesh) were not getting freed along with their mesh blocks.

15 years ago-> Fix for Bug #4181
Geoffrey Bantle [Wed, 10 May 2006 20:34:45 +0000 (20:34 +0000)]
-> Fix for Bug #4181
Silly typo in a call to memcpy was leading to crashes when doing remove doubles with vertex weights (whoops!) Fixed now.

15 years ago This is a bit of a hack, but it looks like sun
Kent Mein [Wed, 10 May 2006 19:46:06 +0000 (19:46 +0000)]
 This is a bit of a hack, but it looks like sun
                  Used F11 and friends for its special keys Stop,again etc..
                  So this little patch enables F11 and F12 to work as expected
                  following link has documentation on it:
                  also from /usr/include/X11/Sunkeysym.h
#define SunXK_F36               0x1005FF10      // Labeled F11
#define SunXK_F37               0x1005FF11      // Labeled F12

I also added a comment explaning why the heck its there...

What this means is XK_F11 and XK_F12 do not line up with the F11 and F12
keys on sun keyboards.  So I've added special cases to correct the issue.

Doing a quick grep for XK_F shows there are some files in the
gameengine that use them when they probably shouldn't, but I'm not going to
attempt to fix them, Files that should be looked at are:


15 years agoBugfix #4175
Ton Roosendaal [Wed, 10 May 2006 17:22:49 +0000 (17:22 +0000)]
Bugfix #4175

Copying a Mesh did set the "texco mesh" pointer to zero... very weird code
from NaN days, which is a line that should just be removed. :)

15 years agoremoved an optimizarion in seeking verts that could cause an eternal loop.
Campbell Barton [Wed, 10 May 2006 15:31:11 +0000 (15:31 +0000)]
removed an optimizarion in seeking verts that could cause an eternal loop.

15 years agoModified mesh to allow writing to normals.
Campbell Barton [Wed, 10 May 2006 12:12:21 +0000 (12:12 +0000)]
Modified mesh to allow writing to normals.
renamed meshPrettyNormals to meshCalcNormals, and it now writes to normals rather then returning a list of vecs.
updated vertexpaint_selfshadow_ao to be a bit more efficient and make use of the above changes.

15 years agoFixed typo
Campbell Barton [Wed, 10 May 2006 03:59:16 +0000 (03:59 +0000)]
Fixed typo

15 years ago(experimental) logic timestep to 60hertz instead of 30 hertz.
Erwin Coumans [Wed, 10 May 2006 02:04:21 +0000 (02:04 +0000)]
(experimental) logic timestep to 60hertz instead of 30 hertz.

15 years agomade mesh's getFromObject pick the materials from object or obdata as set by the...
Campbell Barton [Wed, 10 May 2006 01:38:02 +0000 (01:38 +0000)]
made mesh's getFromObject pick the materials from object or obdata as set by the objects colbits.
its crufty that None of the exports currently export materials correctly, hopefully this will help.

15 years agoDisabled Sumo, and use Bullet physics instead.
Erwin Coumans [Wed, 10 May 2006 00:30:35 +0000 (00:30 +0000)]
Disabled Sumo, and use Bullet physics instead.

Until too many people complain: People can use older versions of Blender / player if they really need Sumo.
Sumo is not supported by anyone, and Bullet needs more feedback.

Note: Sumo is not removed yet, because no discussion is started about this. It's currently just a simple switch that replaced Sumo by Bullet.

15 years agofixed [ #3863 ] Baking game physics to IPOs misses the first few frames of motion
Erwin Coumans [Wed, 10 May 2006 00:05:49 +0000 (00:05 +0000)]
fixed [ #3863 ] Baking game physics to IPOs misses the first few frames of motion
Also, the recording starts from the actual 'curframe' onwards, rather then from frame 1

15 years agomodified behaviour of PropertySensor and MessageSensor on popular request.
Erwin Coumans [Tue, 9 May 2006 23:43:14 +0000 (23:43 +0000)]
modified behaviour of PropertySensor and MessageSensor on popular request.
Logic systems should be improved, with consistent Level and Edge triggering usage in the logic bricks.

15 years agoPotential bugfix #4141
Ton Roosendaal [Tue, 9 May 2006 20:26:34 +0000 (20:26 +0000)]
Potential bugfix #4141

The curves tool didn't extend after last point correctly, in linux/windows.
Stupid bug found by Joeedh. thanks!

15 years agofixed 2 physics related bugs (friction had a typo, and jacobian calculation too)
Erwin Coumans [Tue, 9 May 2006 19:03:26 +0000 (19:03 +0000)]
fixed 2 physics related bugs (friction had a typo, and jacobian calculation too)

15 years agoapplied Charlies patch (commenting out unused extensions that cause compile problems...
Erwin Coumans [Tue, 9 May 2006 18:23:45 +0000 (18:23 +0000)]
applied Charlies patch (commenting out unused extensions that cause compile problems under Solaris and probably other platforms)

15 years agoAdded some shading options
Campbell Barton [Tue, 9 May 2006 14:36:31 +0000 (14:36 +0000)]
Added some shading options
Concave/Convex Angle clipping- usefull for tinkering with highlights/shadow results.
Blur radius was inverted.
... Needs documenting.

15 years agoBugfix: mesh.removeVertsFromGroup() caused segfault due to NULL pointer.
Ken Hughes [Tue, 9 May 2006 14:17:34 +0000 (14:17 +0000)]
Bugfix: mesh.removeVertsFromGroup() caused segfault due to NULL pointer.

15 years agoAdded options
Campbell Barton [Tue, 9 May 2006 13:20:18 +0000 (13:20 +0000)]
Added options
Rotate X90 (most objs use X up)
Reuse Existing Materials (so material names arnt created when names match)

Fixed some bugs and added a few speedups.

15 years agoSmall fix: "Curves" UI widget used wrong method for defining shades for
Ton Roosendaal [Tue, 9 May 2006 07:45:06 +0000 (07:45 +0000)]
Small fix: "Curves" UI widget used wrong method for defining shades for
drawing grid lines, which didn't show in default theme.

15 years ago===Python API===
Ken Hughes [Tue, 9 May 2006 01:34:59 +0000 (01:34 +0000)]
===Python API===
Correct error in Constraint example code.

15 years agofixed Bullet raycasting filtering issue
Erwin Coumans [Tue, 9 May 2006 01:15:12 +0000 (01:15 +0000)]
fixed Bullet raycasting  filtering issue

15 years ago===Python API===
Ken Hughes [Mon, 8 May 2006 05:37:00 +0000 (05:37 +0000)]
===Python API===
Bugfix: replaced calls to enter_editmode() and exit_editmode(), which would
cause segfaults on scripts run in background mode (discovered by NichG).

15 years agofixed error with zero length normals (caused by zero area faces)
Campbell Barton [Sun, 7 May 2006 18:13:21 +0000 (18:13 +0000)]
fixed error with zero length normals (caused by zero area faces)
fixed rare bug - that a colour wasnt clamped between 0 and 255.

15 years ago===Python API===
Ken Hughes [Sun, 7 May 2006 14:57:58 +0000 (14:57 +0000)]
===Python API===
New Constraint API.  Constraints are accessible through a "constraints"
attribute in poses and objects.  Would be REALLY NICE for armature users to
pound on this code.

15 years agoAdded a self shadowing script accessed from the vertex paint menu, it does a fake...
Campbell Barton [Sun, 7 May 2006 14:09:46 +0000 (14:09 +0000)]
Added a self shadowing script accessed from the vertex paint menu, it does a fake ao thats more pradictable then radio baking and fairly fast.
Also assed a function to calculate high quality normals (normals are the same even for different topologys).

15 years agoAdded "VertexPaint" slot for python menus
Campbell Barton [Sun, 7 May 2006 13:09:29 +0000 (13:09 +0000)]
Added "VertexPaint" slot for python menus

15 years agoBugfixes for frame number boost:
Peter Schlaile [Sun, 7 May 2006 08:23:51 +0000 (08:23 +0000)]
Bugfixes for frame number boost:

- Found several places, where people explicitly casted the frame number
  to short.
- Fixed the crash in BPY_interface by adding an empty line (to make it
  recompile everywhere, make clean doesn't help...)

  For the build system maintainers:

  Problem was: The change in makesdna changed the position of the
  scriptlink structure. BPY_interface.c somehow didn't get recompiled
  (not even after a make clean!!!) which triggered crashes on adding

15 years agoadded optional 'worldspace' arg to getLocation/getSize/getEuler
Campbell Barton [Sun, 7 May 2006 08:12:18 +0000 (08:12 +0000)]
added optional 'worldspace' arg to getLocation/getSize/getEuler
getSize is never flipped, but added a note in the docs.
correction to getEuler, its not wrapped.

also removed all // comments to shut GCC up.

15 years ago==Bugfix==
Peter Schlaile [Sat, 6 May 2006 15:26:53 +0000 (15:26 +0000)]

Made the frame boost from short to int (30000 -> 300000 frames) complete
by walking through the source and finally changing all frame-variables
to ints.

This should finally fix the framecounter warp around seen in some buttons.

If you step on any further problems that may arise starting from frame
32768 please just give me a hint and I'll fix it.

(Sorry about that, didn't know enough about Blender, when I did it the first

15 years agoApplied patch
Campbell Barton [Sat, 6 May 2006 09:11:11 +0000 (09:11 +0000)]
Applied patch
Updated batch object name edit. to assign datanames from obnames.

15 years agoApplied pack unpack from Pablo Martin (caedes),
Campbell Barton [Sat, 6 May 2006 06:17:46 +0000 (06:17 +0000)]
Applied pack unpack from Pablo Martin (caedes),

Blender.UnpackModes (dict with the unpack modes)

image.packed (this was working)


15 years agoAdded vertex weight python scripts accessable from the paint menu.
Campbell Barton [Fri, 5 May 2006 16:17:59 +0000 (16:17 +0000)]
Added vertex weight python scripts accessable from the paint menu.
* clean weights (removed low weights)
* normalize, maximizes weights to a user set peak, optionaly scales other groups too to keep the proportion of the weights even. (Doubles as a weight scaler)
* Grow/Shrink, uses the mesh topology to expand/contract the vert weights. a few options for iterationsm, max length and strength.
I need a way tell if the users in Face Select mode (in python) so I can make use of the selected face flag.

15 years agoadded a python menu slot for weight pain.
Campbell Barton [Fri, 5 May 2006 06:57:33 +0000 (06:57 +0000)]
added a python menu slot for weight pain.
Also needed to seperate

The view3d_paintmenu and do_view3d_paintmenu were getting messy and had a lot of if's in it.

15 years ago===Python API===
Ken Hughes [Thu, 4 May 2006 13:42:12 +0000 (13:42 +0000)]
===Python API===
Bufgix #4171: Action_setName() didn't call rename_id(), messing up the
internal database.  Patch provided by Roland Hess (thanks).

15 years ago Bugfix for sequencer:
Jiri Hnidek [Thu, 4 May 2006 11:55:29 +0000 (11:55 +0000)]
 Bugfix for sequencer:

 When you wanted to display "Chroma VectorScope" or "Luma WaveForm" for
 image/window with small width/height, then Blender crashed, because
 Blender has used fixed limits of ibuf->rect size. Statistics informations
 should be created corectly now too.

15 years agoMultiple armatures<>mesh objects now work with name flipping.
Campbell Barton [Thu, 4 May 2006 00:59:02 +0000 (00:59 +0000)]
Multiple armatures<>mesh objects now work with name flipping.
previously would only work if the armature was the first in the meshes modifier list,
in that case the armature would be name flipped but the mesh would not)

15 years agoBugfix #4169: unlinking an empty object using scene.unlink() wasn't checking
Ken Hughes [Wed, 3 May 2006 17:15:33 +0000 (17:15 +0000)]
Bugfix #4169: unlinking an empty object using scene.unlink() wasn't checking
for ob->data == NULL, causing segfault.

15 years agoBugfix for Node editing;
Ton Roosendaal [Wed, 3 May 2006 13:20:25 +0000 (13:20 +0000)]
Bugfix for Node editing;

When multiple output nodes exist (Material), the active Output flag could
get copied and wasn't reset properly. Now the depenendency sorting code
ensures only 1 output node is the active output for execution.

15 years ago===Python API===
Ken Hughes [Tue, 2 May 2006 17:44:44 +0000 (17:44 +0000)]
===Python API===
Added activeGroup attribute to Mesh API, to get/set active vertex group for

15 years agoAdded some comments on what vec in BezTriple contains.
Kent Mein [Tue, 2 May 2006 14:35:47 +0000 (14:35 +0000)]
Added some comments on what vec in BezTriple contains.
(Provided by harkyman)

I also added comments explaining what the Blank lines with #
where for above a couple of structures.
(compiler ignores them and they specifiy to makesdna that that structure
can be ignored)


15 years ago==Sequencer==
Peter Schlaile [Tue, 2 May 2006 13:22:00 +0000 (13:22 +0000)]
- Added early-out optimisation to add-effect (the case, where fac == 0)
- Bugfixes:
  * hddaudio: ffmpeg does not seek always to the correct frame,
    if the SEEK_BACKWARD flag is used. Now we account for this and
    seek a little bit further... (hack, urghs)
  * hddaudio: on long timelines, the new seek code didn't work
    (forgot a long long cast)
  * the audio mixdown code now also calculates meta-strip IPOs

15 years agoCommited 3ds export enhancements from Mark Stijnman (beowulff)
Campbell Barton [Tue, 2 May 2006 11:26:32 +0000 (11:26 +0000)]
Commited 3ds export enhancements from Mark Stijnman (beowulff)
Will need to do some updates, Mesh over NMesh and optimize some areas but it works and is a big improvement.


Detailed description:
Modified the 3ds export script
- It now exports face UV correctly. 3ds only supports one UV coordinate per vertex. The script now duplicates vertices that had multiple UV pairs assigned to them so that each duplicate now only contains one and only one UV. Faces have their vertex indices adjusted accordingly.
- Quads are now split into triangles better. 3ds only supports triangles, so quads need to be split into two triangles. Instead of rather arbitrarily splitting along the diagonal between points 0 and 2, the script now splits along the shortest diagonal. This creates a higher quality triangular mesh, as well as better preservation of symmetry.
- Now creates an object node block, exporting object nodes, needed by some 3D importers. Among others, allows one to export object hierarchy.
- Now exports Empties as 3ds Dummies.

To be able to add all of the above new features, the script has been mostly rewritten and strongly restructured.

Motivation for the rewrite was the desire to be able to use Blender to produce custom 3d cars for Trackmania:Sunrise (TM:S). Previously, the TM:S importer could not correctly handle the 3ds files from the Blender 3ds export script. With this version, one can export cars complete with UV textures, correct wheel placement and light placement. To my knowledge, this script would make Blender the first fully free 3d modeller that allows one to export 3ds models for TM:S (expect a tutorial soon). The ability to have proper UV coordinates exported into the 3ds file should also be very welcome to many.

Add A Comment: Notepad

15 years agoeditmesh's seperate was crashing because the em->selected wasnt being flushed along...
Campbell Barton [Tue, 2 May 2006 10:43:58 +0000 (10:43 +0000)]
editmesh's seperate was crashing because the em->selected wasnt being flushed along with the seperated data.
easy 1 liner, seperate now clears the selection order linkedList.

Watch out for places where removing verts might not remove the selection order data.

15 years agoadded a glDisable(GL_DEPTH_TEST); before the UI drawing because face select and wp...
Campbell Barton [Tue, 2 May 2006 07:55:26 +0000 (07:55 +0000)]
added a glDisable(GL_DEPTH_TEST); before the UI drawing because face select and wp mode were drawing mesh data over the UI.

15 years agoAs mentioned in the pydrivers commit, I had to change the order in
Willian Padovani Germano [Tue, 2 May 2006 02:42:08 +0000 (02:42 +0000)]
As mentioned in the pydrivers commit, I had to change the order in
exit_usiblender() to finalize Python before main library data was freed.
This solved a somewhat specific sigsegv with pydrivers, but as Ken
Hughes found out (thanks!) caused one with scripts that called Blender.Exit().

Now running scripts (G.main->script) are freed in BPY_end_python()
itself (so before the rest of the library data is freed), before
Py_Finalize(). Works fine in all my tests so far.

The file script.c should become obsolete with this change (I added a
comment about it there). If all is indeed fine, it will be removed

15 years ago===Python API===
Ken Hughes [Mon, 1 May 2006 21:15:49 +0000 (21:15 +0000)]
===Python API===
Remove references in epydoc to deleted NMesh modes SUBSURF and OPTIMAL.

15 years ago===Python API===
Ken Hughes [Mon, 1 May 2006 05:28:51 +0000 (05:28 +0000)]
===Python API===
Make EXPP_setBitfield() PyObject_IsTrue() to evaluate parameter, so
boolean-type attribute setters will accept wider range of true/false inputs.

15 years agoSmall update for pydrivers: force reloading the Blender
Willian Padovani Germano [Sun, 30 Apr 2006 22:10:39 +0000 (22:10 +0000)]
Small update for pydrivers: force reloading the Blender
text module when user edits the input text box of any pydriver
(Transform Properties panel, Ipo window).

It's enough to click in and out of a single pydriver's text input box
for the module reloading and also re-evaluation of all pydrivers
available. Maybe this "refreshing" should also be available from a
menu, let's see.

Note for Python fans:

Definitions and redefinitions in a reloaded module are properly handled
in Python, but previously defined data in the module doesn't disappear.
So if you define a function "f" inside a module, import it, then change
the function's name to "g" and reload the module, both "f" and "g" will
be available. This is considered a feature, check reload's documentation:

15 years agoPydrivers: Ipo Drivers controlled by Python expressions
Willian Padovani Germano [Sun, 30 Apr 2006 16:22:31 +0000 (16:22 +0000)]
Pydrivers: Ipo Drivers controlled by Python expressions

wiki with info:

(there are two sample .blends in the patch tracker entry, last link in
the wiki page)


In usiblender.c I just made Python exit before the main library gets
freed. I found a situation with pydrivers where py's gc tried to del
objects on exit and their ID's were not valid anymore (so sigsegv).

Ton needs to check the depsgraph part.

For now pydrivers can reference their own object, something normal
ipodrivers can't. This seems to work fine and is quite useful, but if
tests prove the restriction is necessary, we just need to uncomment a
piece of code in EXPP_interface.c, marked with "XXX".

Thanks Ton for the ipodrivers code and adding the hooks for the py part
and Martin for the "Button Python Evaluation" patch from which I started
this one.

Anyone interested, please check the wiki, the .blends (they have
README's) and tell me about any issue.

15 years ago===Python API===
Ken Hughes [Sat, 29 Apr 2006 14:24:30 +0000 (14:24 +0000)]
===Python API===
Remove "EXPP_MOD_" from descriptions in Settings dictionary.

15 years agoBugfix #4139
Ton Roosendaal [Sat, 29 Apr 2006 11:37:26 +0000 (11:37 +0000)]
Bugfix #4139

Included a patch from Jacques Beaurain. On pressing "Play" the position of
the playback window didn't use same code as for pressing "Render".

15 years ago===Python API===
Ken Hughes [Fri, 28 Apr 2006 20:32:41 +0000 (20:32 +0000)]
===Python API===
Bugfix: call to EXPP_ReturnPyObjError() was discarding value

15 years ago- Charlie fixed some bugs related to copying armature-constraint data (these are...
Erwin Coumans [Fri, 28 Apr 2006 17:35:03 +0000 (17:35 +0000)]
- Charlie fixed some bugs related to copying armature-constraint data (these are different from Bullet rigidbody constraints like the hinge, and point 2 point!)
- fixed a crashing bug related to objects without meshes (tried to get material info from it)

15 years ago* Added optional X Zero snapping with tolerence limit.
Campbell Barton [Fri, 28 Apr 2006 11:41:11 +0000 (11:41 +0000)]
* Added optional X Zero snapping with tolerence limit.
* optionaly work with more then 1 mesh.

15 years agomsvc6 .. adding mofifiers for happy PY complie
Jens Ole Wund [Fri, 28 Apr 2006 07:31:27 +0000 (07:31 +0000)]
msvc6 .. adding mofifiers for happy PY complie
still no GE and still std::std::string in El'Beem

15 years agomissing commit. this profiling is disabled in Blender, but the headerfile is needed.
Erwin Coumans [Fri, 28 Apr 2006 01:49:03 +0000 (01:49 +0000)]
missing commit. this profiling is disabled in Blender, but the headerfile is needed.

15 years ago- fixed Bullet noResponse/ghost mode
Erwin Coumans [Fri, 28 Apr 2006 00:08:18 +0000 (00:08 +0000)]
- fixed Bullet noResponse/ghost mode
- added ccd option (future use, very basic and inefficient)
- some internal Bullet refactoring/improvements

15 years agoAll negative vert indicies are assumed relative, removed relative vert option.
Campbell Barton [Thu, 27 Apr 2006 23:22:04 +0000 (23:22 +0000)]
All negative vert indicies are assumed relative, removed relative vert option.

15 years ago===Python API===
Ken Hughes [Thu, 27 Apr 2006 20:24:27 +0000 (20:24 +0000)]
===Python API===
Added render.getRenderWinSize() method, to complement render.setRenderWinSize()

15 years agoLightwave mot exporter now does worldspace loc/size/rot
Campbell Barton [Thu, 27 Apr 2006 12:51:09 +0000 (12:51 +0000)]
Lightwave mot exporter now does worldspace loc/size/rot

15 years agoAdded scalePart to mathutils matrix type object.
Campbell Barton [Thu, 27 Apr 2006 12:32:44 +0000 (12:32 +0000)]
Added scalePart to mathutils matrix type object.
and made it so toEuler converts a 4x4 matrix to a 3x3 rather then raising an error.

Its not straight fwd to get an objects worldspace loc/size/rot from its 4x4 matrix.
Example from updated docs.
      import Blender
      scn = Blender.Scene.GetCurrent()
      ob = scn.getActiveObject()
      if ob:
        mat= ob.mat # Same as martixWorld
        print 'Location", mat.translationPart() # 3D Vector
        print 'Size", mat.scalePart() # 3D Vector
        print 'Rotation", mat.toEuler() # Euler object

15 years agomake Bullet default physics engine. However, it still loads some default .blend that...
Erwin Coumans [Thu, 27 Apr 2006 04:37:20 +0000 (04:37 +0000)]
make Bullet default physics engine. However, it still loads some default .blend that set's sumo default. todo: find out about this.
commented out some code that makes Blender crashing, after leaving the game engine (armature deletes some pose, which deletes constraints, which are still in the dependency graph. Ask Charlie)

15 years ago== interface ==
Matt Ebb [Wed, 26 Apr 2006 14:47:04 +0000 (14:47 +0000)]
== interface ==

* Floating panel edge snapping

Floating panels now have a snapping mechanism that sticks them to the edge of a window when you drag them within a small range of it. This not only allows nice easy alignment of panels within a window, but also keeps them stuck to window edges when the window is resized. This means that you no longer get panels that were once on the edge of the window left drifting in the middle of your view if you resize it larger, which was rather annoying before.

Another goodie is that panels snapped to the bottom edge of the screen will minimise down to the bottom when collapsed, and will move back up to be edge aligned when maximised again, preventing collapsed panels down here from hanging around in space.

15 years agoMade space handelers check that G_DOSCRIPTLINKS is enabled before running.
Campbell Barton [Wed, 26 Apr 2006 08:22:39 +0000 (08:22 +0000)]
Made space handelers check that G_DOSCRIPTLINKS is enabled before running.

Its scary to think that a redraw space handeler could run
  import os
  os.system('rm -rf ~/')
removing all user files, Just by opening the blend file!

This means at least you can opt not to run any python scripts you dont want to..

15 years agoadded Bullet rigidbodies that behave like Sumo 'dynamic', without rotations. Done...
Erwin Coumans [Wed, 26 Apr 2006 06:01:46 +0000 (06:01 +0000)]
added Bullet rigidbodies that behave like Sumo 'dynamic', without rotations. Done using a special hinge constraint (no translational degrees of freedom removed)

15 years agofixed several internal Bullet rigidbody dynamics bugs:
Erwin Coumans [Wed, 26 Apr 2006 03:20:28 +0000 (03:20 +0000)]
fixed several internal Bullet rigidbody dynamics bugs:
- broadphase had bugs in removing objects,
- persistent manifold renamed value,
- cylinder penetration depth fixed,
- memory leak for persistent manifold