blender.git
13 years agoMore Orange NLA/Action fixes;
Ton Roosendaal [Wed, 26 Oct 2005 21:13:00 +0000 (21:13 +0000)]
More Orange NLA/Action fixes;

- NLA: Hotkey ALT+S resets (synchs) action start/end in selected Strips
- NLA: Panel for Strips allow setting negative "Action start"
- NLA: When transforming strips, the selected keys for that action don't
  get included (caused weird errors)
- Action: cleanup of drawing horizontal bars.
- Action: Pulldown menu option "Lock time" was in different location than
  for the other pulldowns

13 years agoOrange bugreport:
Ton Roosendaal [Wed, 26 Oct 2005 20:02:31 +0000 (20:02 +0000)]
Orange bugreport:

The new "lock time" option for ipo/action/nla/time/sound windows did not
work proper... it could accidentally activate other windows, confusing the
2d settings.

13 years agoOrange bugfix;
Ton Roosendaal [Wed, 26 Oct 2005 19:42:32 +0000 (19:42 +0000)]
Orange bugfix;

Border select in Action window didn't get corrected for NLA time.

13 years agoOrange bugfixes in NLA editor;
Ton Roosendaal [Wed, 26 Oct 2005 19:34:32 +0000 (19:34 +0000)]
Orange bugfixes in NLA editor;

- ALT+C "convert action into strip" didn't calculate the mouse position
  correct. Also changed menu a bit to tell which action it makes a strip
- Select action strips  now activates Object too
- Icons in Object 'row' (denoting NLA override or not) now draw blended

13 years agoDefault openGL material had a tiny ambient set, causing black to be not
Ton Roosendaal [Wed, 26 Oct 2005 19:00:40 +0000 (19:00 +0000)]
Default openGL material had a tiny ambient set, causing black to be not
black really! :)

13 years agoFix for vertex/weight paint, so it evaluates the subsurfed vertices for
Ton Roosendaal [Wed, 26 Oct 2005 18:48:53 +0000 (18:48 +0000)]
Fix for vertex/weight paint, so it evaluates the subsurfed vertices for
applying paint. (Until now it used non-subsurfed vertices).

13 years ago- make getMeshDerivedMesh() initialize flag setting for new vertices (needed
Ken Hughes [Wed, 26 Oct 2005 17:36:02 +0000 (17:36 +0000)]
- make getMeshDerivedMesh() initialize flag setting for new vertices (needed
  for BPy Mesh to get derived mesh data)

13 years ago-Bugfix #3207: ALT-C on a mesh with modifiers would cause memory corruption.
Ken Hughes [Wed, 26 Oct 2005 17:33:31 +0000 (17:33 +0000)]
-Bugfix #3207: ALT-C on a mesh with modifiers would cause memory corruption.
   We make a copy of the mesh and perform operations on the new object using
   mesh_create_derived_no_deform() for the new object instead of the
   original.

   Would be really nice if Daniel would look this over to see if it's really
   fixed, or if I've just moved the problem somewhere else. :-)  I'm leaving
   the bug report open until the fixed is verified.

13 years agoPython API Additions
Johnny Matthews [Wed, 26 Oct 2005 16:30:50 +0000 (16:30 +0000)]
Python API Additions

New
Ipo Drivers access in IpoCurve
key.getChannelIpo(index) returns the ipocurve of a given shape index

Docs included for usage :)

13 years ago* fixed a problem where you couldn't select a timeline
Matt Ebb [Wed, 26 Oct 2005 13:43:55 +0000 (13:43 +0000)]
* fixed a problem where you couldn't select a timeline
marker on a frame < 0. Weirdly enough, it seemed to be
deliberate, with the line:
if(cfra < MINFRAME) cfra= MINFRAME; )

I removed this, but if whoever wrote it has a good
reason why it should be there, please let me know!

13 years ago- hopefully fixed osx compilation by forcing compilation
Nils Thuerey [Wed, 26 Oct 2005 12:07:51 +0000 (12:07 +0000)]
- hopefully fixed osx compilation by forcing compilation
  with a single file again (intern/elbeem/intern/solver_main.cpp
includes intern/elbeem/intern/solver_init.cpp and
intern/elbeem/intern/solver_util.cpp when __APPLE_CC__ is defined)
- minor cleanup of inlined functions

13 years agoDisabled CrazySpace when 'proportional edit' is on... I discovered both use
Ton Roosendaal [Wed, 26 Oct 2005 10:49:19 +0000 (10:49 +0000)]
Disabled CrazySpace when 'proportional edit' is on... I discovered both use
the eve->vn pointer to store temporal data. Need a better solution, do it
later. This just prevents crashing!

13 years agoNew: CrazySpace [tm] correction
Ton Roosendaal [Wed, 26 Oct 2005 09:56:52 +0000 (09:56 +0000)]
New: CrazySpace [tm] correction

When Modifiers are used in Edit Mode to show the deformed result for
editing, all actual coordinates Blender works with are still the ones from
the original Cage. You can notice that with the Transform Widget or
helper lines while transforming.

Even worse, the actual transformations still happened on the original Cage
as well, making it very hard to edit. That caused the feature to be named
"CrazySpace" (baptized by Andy, afaik?).

This commit calculates the deformation transformation per vertex, and
inverse corrects it, so it's more intuitive editing this way.

Unfortunately all the deformation features of Blender don't use matrices
for defining deform, so the existing code cannot be re-used to retrieve
the correct deformation matrix per vertex. The solution I found is based
on calculating per face the transformation based on its first 3 vertices,
and store this transformation averaged in the face's vertices.
The solution can also only work on entire faces, because the full deform
can only be retrieved using 3 vertices. (using 2 vertices will miss edge-
aligned rotation, using 1 vertex can only retrieve translation).

By deriving the deformations per face, small errors will still happen,
especially on very low-poly Meshes with extreme deformations.

The only alternative I know now, is providing each vertex in
a mesh with 2 extreme small tangent vectors, which get deformed using the
existing code as well. That will mess up the existing deformation code too
much though, this solution has the benefit it works with each deform we can
up with later too.

Last note about CrazySpace: it can only be used to tweak Meshes. Do not
even try to add vertices, extrude, or duplicate. Probably we should disable
this... but preventing user errors isn't always power-user-friendly, eh. :)

13 years agofix access of pointer before its assigned
Ken Hughes [Wed, 26 Oct 2005 00:54:53 +0000 (00:54 +0000)]
fix access of pointer before its assigned

13 years agoFIX: BLI_makestringcode called with bad pointer mainl->curlib
Andrea Weikert [Tue, 25 Oct 2005 20:19:31 +0000 (20:19 +0000)]
FIX: BLI_makestringcode called with bad pointer mainl->curlib
Moved call to before blo_join_main where pointer gets killed.
Otherwise Blender crashed when appending a file and selecting
relative filenames.

13 years agoBugfix #3231
Ton Roosendaal [Tue, 25 Oct 2005 19:40:13 +0000 (19:40 +0000)]
Bugfix #3231

Constraint Ipos didnt work when the bone/channel had no Action Ipo...
just had to move a line of code. :)

13 years agoNew; Rotation Constraint allows to only copy X,Y,Z axis rotations.
Ton Roosendaal [Tue, 25 Oct 2005 19:13:04 +0000 (19:13 +0000)]
New; Rotation Constraint allows to only copy X,Y,Z axis rotations.

Note this is based on eulers, so might give the common issues. :)
For most cases it goes fine though, especially with only 1 axis constraint.

13 years agoBugfix #3232
Ton Roosendaal [Tue, 25 Oct 2005 18:48:18 +0000 (18:48 +0000)]
Bugfix #3232

When a file was loaded with curves in invisible layers, the displists
were not created.

13 years agoBugfix; appending with using relative paths made all dynamic links from
Ton Roosendaal [Tue, 25 Oct 2005 18:22:34 +0000 (18:22 +0000)]
Bugfix; appending with using relative paths made all dynamic links from
other libraries local.

Also added some securities in the temporal 'sync pose' testing code. It now
asks with a menu to confirm the object to be replaced too. Later more!

13 years agoupdated elbeem project for new / removed files
Jens Ole Wund [Tue, 25 Oct 2005 18:18:43 +0000 (18:18 +0000)]
updated elbeem project for new / removed files

13 years agogetMarked return change to dict
Joilnen Leite [Tue, 25 Oct 2005 18:12:27 +0000 (18:12 +0000)]
getMarked return change to dict
.

13 years agoFix for when knife tool (with path setting) is terminated with ctrl-Enter.
Chris Want [Tue, 25 Oct 2005 17:43:22 +0000 (17:43 +0000)]
Fix for when knife tool (with path setting) is terminated with ctrl-Enter.
Also, updated the little helper line on the status bar to indicate that
terminating with ctrl-Enter leaves only the verts on the cut line
selected.

Johnny: Please review.

13 years agoFirst commit, for test, for using Library files for synchronizing partial
Ton Roosendaal [Tue, 25 Oct 2005 15:58:51 +0000 (15:58 +0000)]
First commit, for test, for using Library files for synchronizing partial
data. This functionality is going to be in Outliner, for now only use
for testing while consulting me. :)

Usage: New option in SHIFT+F1 append window, "Sync Pose". When pressed, you
can append/load an *Object* of type Armature, this then replaces its
Armature and Pose with the selected Objects. After that it deletes the
appended object.

Note: it currently appends also Objects when used in Pose Constraints...

13 years agoSubdivide recode assistance!
Ton Roosendaal [Tue, 25 Oct 2005 13:57:37 +0000 (13:57 +0000)]
Subdivide recode assistance!

- Added subdivide sck upport for vertex groups
- Brought back subdivide-smooth, but it doesn't work as good as before yet,
  it used to catch an exception for subdividing the middle vertex of a quad,
  with edge-based subdivide it's not that simple. Will check later.
- made "number of cuts" a static variable, so it doesn't jump back to 2
  all the time

Coder level notes:

- removed the old subdivide code (yay, over 30k code less!)
- did some minor layout cleanups in the new code (just consistant syntax)
- removed redundant code parts, to enable smooth & vgroup subdiv
- subdivide smooth can do multiple cuts too, but i like to see that only
  as option when our smooth formula is good!

Compliment:

I think Johnny really made comprehensible design and nice code here. Was a
joy to work with. :)

13 years agofix for bug #3193, winmat was not calculated properly because of
Alfredo de Greef [Tue, 25 Oct 2005 09:30:54 +0000 (09:30 +0000)]
fix for bug #3193, winmat was not calculated properly because of
some previously uninitialized parameters.

13 years agoOnly restructured code:
Nils Thuerey [Tue, 25 Oct 2005 08:07:52 +0000 (08:07 +0000)]
Only restructured code:
- added Hos fixes
- split up solver into 3 cpp files (as suggested by jonathan)
- de-inlined function that caused gcc33 to use >1GB of memory

13 years ago-Bugfix #3254: Ipo.addCurve() didn't check if curve already existed before
Ken Hughes [Tue, 25 Oct 2005 04:46:49 +0000 (04:46 +0000)]
-Bugfix #3254: Ipo.addCurve() didn't check if curve already existed before
  creating (reported by Toni)

13 years agoMore bugfixing related to #3149:
Brecht Van Lommel [Mon, 24 Oct 2005 22:20:30 +0000 (22:20 +0000)]
More bugfixing related to #3149:
Drawing of rotation limits and IK solving was wrong with pose mode
bone offsets.

Also added proper modifier stack update after uv unwrap and lscm.

13 years agocleaning up
Jens Ole Wund [Mon, 24 Oct 2005 22:13:32 +0000 (22:13 +0000)]
cleaning up
- removed euler branch in favor for a 'better solver to come'
- removed some debug vars from lattices
- removed some garbage related to 'borrowing' collision from particles
note SB collision is completly decoupled from particle stuff to allow
: 1. SB collision targets can be 'anything evaluated by modifier stack' but won't be subsurfed (for performace reasons / possible though / see comment in code)
: 2. SB <-> SB collisions
: 3. ( 1. implies that SB collision targets may be animated, hooked,  curve deformed ,  .. ! )

13 years agoFix for correct handling of relative filenames.
Andrea Weikert [Mon, 24 Oct 2005 20:52:51 +0000 (20:52 +0000)]
Fix for correct handling of relative filenames.
Now relative filenames that are not below the .blend file
in the directory hierarchy can be used.

CAUTION:
  The relative filenames are not updated if the blend file
  is moved to another dir or saved into another dir (save as)
  We will rely on the smartness of the users for this.

my first official commit - thanks Ton!

13 years agoBugfix #3242
Ton Roosendaal [Mon, 24 Oct 2005 20:47:28 +0000 (20:47 +0000)]
Bugfix #3242

Ipo WIndow, "Make single user" button crashed. Forgot to recode 2 weeks ago

13 years agoMade it so that number of editmode unsteps can successfully be set to zero.
Chris Want [Mon, 24 Oct 2005 20:11:16 +0000 (20:11 +0000)]
Made it so that number of editmode unsteps can successfully be set to zero.

13 years agoBugfix #3238
Ton Roosendaal [Mon, 24 Oct 2005 20:03:53 +0000 (20:03 +0000)]
Bugfix #3238

ALT+C on mesh without modifier crashed.

13 years agoBugfix #3210
Ton Roosendaal [Mon, 24 Oct 2005 19:22:04 +0000 (19:22 +0000)]
Bugfix #3210

Included a patch by Pablo Marrol! selecting with ALT+CTRL combos
didnt check if there was actually a Mesh in editmode.

13 years agoBugix #3200
Ton Roosendaal [Mon, 24 Oct 2005 19:13:15 +0000 (19:13 +0000)]
Bugix #3200

DAG_object_flush_update() always used scene layers, causing updates to go
wrong with 3d windows with "Lock" off (allowing local layer and camera).

This fixes a larger amount of potential issues.

Also: fixed menu title for adding IK constraint to Bone (CTRL+I).

13 years agoFix for Bug #3217
Johnny Matthews [Mon, 24 Oct 2005 18:17:35 +0000 (18:17 +0000)]
Fix for Bug #3217

Just needed to mark a few more edges.

13 years agoThe handy Shift Space for maximise a window space
Matt Ebb [Mon, 24 Oct 2005 12:53:24 +0000 (12:53 +0000)]
The handy Shift Space for maximise a window space
wasn't being too handy in the text editor, so I've disabled
it here now.

13 years agoBugfix (based on user mailing me): In editmode, "remove doubles" crashes
Ton Roosendaal [Mon, 24 Oct 2005 09:00:33 +0000 (09:00 +0000)]
Bugfix (based on user mailing me): In editmode, "remove doubles" crashes
when it uses subsurf display. Was missing a DAG update.

13 years agoAutohandles in Ipo Window still could overshoot. Added a new clamping to
Ton Roosendaal [Sun, 23 Oct 2005 21:36:24 +0000 (21:36 +0000)]
Autohandles in Ipo Window still could overshoot. Added a new clamping to
ensure the handles never result in a curve that goes beyond the neighbour
control points.

http://www.blender.org/cms/Animation_Curve_Handle.717.0.html

13 years agoFixed backwardstransform.blend bug from orange dudes.
Martin Poirier [Sun, 23 Oct 2005 21:34:20 +0000 (21:34 +0000)]
Fixed backwardstransform.blend bug from orange dudes.
It was literally two lines of code.

This probably fixes a lot of the "constraining transform goes backward" problems.
Was a dumb oversight on my part.

14 years agoBugfix: select Vertex Group in Outliner now updates 3d view properly.
Ton Roosendaal [Sun, 23 Oct 2005 19:27:45 +0000 (19:27 +0000)]
Bugfix: select Vertex Group in Outliner now updates 3d view properly.

14 years agoThe ctrl+click extrude now calculates a rotation, so you can do wild quick
Ton Roosendaal [Sun, 23 Oct 2005 19:16:37 +0000 (19:16 +0000)]
The ctrl+click extrude now calculates a rotation, so you can do wild quick
modeling!
It detects the rotation based on the average of all half-selected edges and
the extrude vector. The first rotation might go wrong on extruding parts
of very irregular shapes, but in general it does it fine. Of course, single
vertex clicking or entire shape clicking doesn't rotate.

14 years agoupdated SConstruct and Makefile so that if you compile the gameengine, is always...
Erwin Coumans [Sun, 23 Oct 2005 17:55:19 +0000 (17:55 +0000)]
updated SConstruct and Makefile so that if you compile the gameengine, is always enables bullet, independent of sumo/ode.
So for the 2.4 release, both bullet AND sumo will be enabled. You can choose in the world buttons which physics engine is active for a scene.

sorry if this breaks your builds!

14 years agoRemoved DAG update for armature after inserting keys in pose mode.
Ton Roosendaal [Sun, 23 Oct 2005 16:18:42 +0000 (16:18 +0000)]
Removed DAG update for armature after inserting keys in pose mode.
That caused un-keyed positions to flip back.

14 years agoOne Constraint function missed the new MINMAX (floor) type, caused the
Ton Roosendaal [Sun, 23 Oct 2005 16:13:04 +0000 (16:13 +0000)]
One Constraint function missed the new MINMAX (floor) type, caused the
last commit (add constraint menu) to fail on adding floor constraints.

14 years agoNew: Hotkey/menu access in 3D window to add constraints. Works in PoseMode
Ton Roosendaal [Sun, 23 Oct 2005 12:18:32 +0000 (12:18 +0000)]
New: Hotkey/menu access in 3D window to add constraints. Works in PoseMode
as well as for Objects. Hotkey: CTRL+ALT+C (bit clumsy I know, but I like
to use the Ckey).

Constraints are added to the active Object or Bone.
Based on selection context, the menu has three versions:

Pose Mode:
  - if another bone is selected, bone becomes target
  - else if another Object is selected, Object becomes target
  - else it adds a new Empty as target
Object Mode
  - if another Object is selected: Object becomes target
  - else it adds a new Empty as target

Same works this way now for CTRL+I, "Add IK".

To be solved: ALT+C in PoseMode is "Clear Constraints", but in Object Mode
it does "Convert" still...

14 years agoAnother useful tool for efficient usage of WeightPaint:
Ton Roosendaal [Sun, 23 Oct 2005 11:03:51 +0000 (11:03 +0000)]
Another useful tool for efficient usage of WeightPaint:

Press SHIFT+LMB, and it shows a menu with all Vertex Groups the vertices of
the indicated face has, also allowing selection of Groups.

14 years agoNew: Option to show the paths of Bones over time.
Ton Roosendaal [Sun, 23 Oct 2005 10:08:19 +0000 (10:08 +0000)]
New: Option to show the paths of Bones over time.

In PoseMode, press Wkey or use the Pose pulldown menu. It calculates the
positions of all selected Bone end points, over the time as indicated with
the Scene start/end frame. This then is drawn as a path, with little black
dots on every frame, and a white dot on every 10 frames.

Paths are not saved in files, and not calculated automatic yet on changes.

To make this relative fast, but also reliable, I had to add a new method
in the Dependency graph system, to find exactly (and only) these parents
of an Object that influence its position. This is needed because the path
should show the actual global coordinates of the entire animation system.

14 years agofixing zero-size array
Nathan Letwory [Sun, 23 Oct 2005 09:11:48 +0000 (09:11 +0000)]
fixing zero-size array
(source\blender\src\editmesh_add.c(122) : error C2466: cannot allocate an array of constant size 0
warning:: ISO C forbids zero-size array `mval')

14 years agofixing most of #3096
Jens Ole Wund [Sat, 22 Oct 2005 22:50:09 +0000 (22:50 +0000)]
fixing most of #3096
by 'eating' contol messages
still there is an issue on how transparent/opaque floating panels should be for messages
... and i am wondering if that should move to 'regular' buttons

14 years agoLong on the wishlist!
Ton Roosendaal [Sat, 22 Oct 2005 19:34:31 +0000 (19:34 +0000)]
Long on the wishlist!

- CTRL+click in EditMesh now extrudes selection. If no selection, it adds
  a new vertex. Try it on a full selected monkey. Fun! :)
- CTRL+click now also adds the new stuff aligned with the view, as if you
  had translated it to the mouse cursor. Only new vertices are added with
  respect to 3D cursor location.

14 years agoVarious stuff in one commit;
Ton Roosendaal [Sat, 22 Oct 2005 18:47:38 +0000 (18:47 +0000)]
Various stuff in one commit;

- Added (BKE_utildefines.h) POINTER_TO_INT(poin) and INT_TO_POINTER(int)
  defines, to help fixing issues with switch to 64 bits systems. This
  assumes that a) not more than 16GB mem is used and b) that address
  space is below the 1<<35 value. The latter has to be confirmed, but it
  seems to conform the current 64 bits generation of OSs (for mallocs).

  Needless to say; use long if you want to store pointers! This is for
  temporal fixing.

- Added editmesh version for mesh-octree lookups, not used yet.

- Fix: ESC on armature posemode restored the actions, should not happen

- Fix: If in NLA an action was 0 frame long, it caused draw error

- Fix: Click on name in Action Window now activates Bones

- Fix: "Snap to" options in Armature editmode now use X-axis mirror edit.

14 years agoAutokey option crashed on Transform... was still using defines from before
Ton Roosendaal [Sat, 22 Oct 2005 15:03:29 +0000 (15:03 +0000)]
Autokey option crashed on Transform... was still using defines from before
the object-action-ipo-nla recode 2 weeks ago.

14 years agoNew: X-axis mirror weightpainting.
Ton Roosendaal [Sat, 22 Oct 2005 14:05:25 +0000 (14:05 +0000)]
New: X-axis mirror weightpainting.

- Set the button in Paint Panel, Edit buttons context
- It assumes the mesh to be near-perfectly mirrored. Current threshold is
  set to 0.0001 (maximum difference allowed).
  In order to evaluate proper mirroring, a new option will be added in
  Mesh editmode later.
- When the flipped group doesn't exist yet, it creates the group
- Of course this doesn't work for mirror modifier!

New: Select/activate flipped bone or vertex group
- Press SHIFT+F in PoseMode or WeightPaint mode to get the flipped bone.
  Is especially to see while painting if the mirror copying works OK.

New: "Apply Envelope to VertexGroup" uses X-mirror option too.

Todo; check on mirror vertex painting, and mirror Mesh editmode....

The implementation is based on a 8x8x8 Octree, where vertex locations are
stored. Vertices on the threshold boundary of an Octree node are filled in
the neighbour nodes as well, ensuring that the lookup works with threshold.
The current size of the Octree gives good speedup, even for 128k vertices
it only needs 256 lookup cycles per checked vertex.
Same code could be used for the bevel tool for example.

src/meshtools.c:
int mesh_octree_table(Object *ob, float *co, char mode)

- mode 's' or 'e' is "start octree" or "end octree"
- mode 'u' is "use", it then returns an index nr of the found vertex.
  (return -1 if not found)

14 years ago-bug fixed
Jens Ole Wund [Fri, 21 Oct 2005 22:58:12 +0000 (22:58 +0000)]
-bug fixed
-symtom: looks like rigged SB mesh follows weird goal settings
-cause: arbitary initialisation of 'edge spring rest length' ... must have happend by introducing 'modifyer stacK'

14 years agoA tweak for text follow curve -- the old comment in the code says
Chris Want [Fri, 21 Oct 2005 20:30:09 +0000 (20:30 +0000)]
A tweak for text follow curve -- the old comment in the code says
"why not 0.5?", so I am setting it to 0.5 since it looks way
better that way (I think somebody should really revisit this code
at some point).

14 years ago- documentation updates:
Ken Hughes [Fri, 21 Oct 2005 17:20:54 +0000 (17:20 +0000)]
- documentation updates:
  -- add Key module to index page
  -- include cross references for Object.colbits in material descriptions
     within Object, NMesh and Mesh modules

14 years ago1. Moved Edgeloop Delete to Delete Menu out of Edge Specials
Johnny Matthews [Fri, 21 Oct 2005 14:51:17 +0000 (14:51 +0000)]
1. Moved Edgeloop Delete to Delete Menu out of Edge Specials
2. Edgeloop Delete will pop the undo stack if it fails
3. Small Tweak on CTRL-Subdivide selection

14 years ago- Bugfix #3227: throw exception in NMesh if face data doesn't contain 3 or
Ken Hughes [Fri, 21 Oct 2005 13:52:44 +0000 (13:52 +0000)]
- Bugfix #3227: throw exception in NMesh if face data doesn't contain 3 or
  4 vertices

14 years agoBugfix: #3189, #3208, UV Mirror (MKEY) didn't work.
Brecht Van Lommel [Thu, 20 Oct 2005 23:36:24 +0000 (23:36 +0000)]
Bugfix: #3189, #3208, UV Mirror (MKEY) didn't work.

14 years agoBugfix: #3149, Parent rotation influences DoF / rotation limits
Brecht Van Lommel [Thu, 20 Oct 2005 23:07:43 +0000 (23:07 +0000)]
Bugfix: #3149, Parent rotation influences DoF / rotation limits

The rotation of the parent of the root in an IK chain was included
in the segment's basis, leading to the DoF / rotation limits to be
computed on the wrong basis.

14 years agoCrash fix (now discovered myself!). On sampling wpaint color (ctrl+lmb),
Ton Roosendaal [Thu, 20 Oct 2005 21:37:57 +0000 (21:37 +0000)]
Crash fix (now discovered myself!). On sampling wpaint color (ctrl+lmb),
when no vertex groups exist, it was referencing illegal memory.

14 years agoAnother memory error found, when deleting bones in editmode, it didn't
Ton Roosendaal [Thu, 20 Oct 2005 21:02:04 +0000 (21:02 +0000)]
Another memory error found, when deleting bones in editmode, it didn't
correctly free constraints.

To ensure the UI not to show any deleted data, after leaving editmode it
now also redraws nla, action and ipo.

14 years agoMemory error 'end corrupt' reports for deform groups... can't find it yet,
Ton Roosendaal [Thu, 20 Oct 2005 20:38:08 +0000 (20:38 +0000)]
Memory error 'end corrupt' reports for deform groups... can't find it yet,
but this code ensures the strcpy() is using BLI_strncpy now, and it uses
more clear names for the mallocs.

14 years agoBugfix; using weightpaint changed the default lighting setup (specular).
Ton Roosendaal [Thu, 20 Oct 2005 19:27:47 +0000 (19:27 +0000)]
Bugfix; using weightpaint changed the default lighting setup (specular).

14 years agoCurve and Lattice deform Modifiers now accept optional Vertex Group name
Ton Roosendaal [Thu, 20 Oct 2005 18:52:29 +0000 (18:52 +0000)]
Curve and Lattice deform Modifiers now accept optional Vertex Group name
to finetune deform further as well.
Note that curve deform requires object buttons 'track' and 'up' axes set
properly. Curve deform can twist/flip a lot, making Vertex Group based
deform hard to set up.

14 years agofix for Game engine bug #1961 furnished by Josh Nimoy.
Jean-Luc Peurière [Thu, 20 Oct 2005 18:05:06 +0000 (18:05 +0000)]
fix for Game engine bug #1961 furnished by Josh Nimoy.

Thanks.

Although the fix is not perfect (lacks screen requisition safeguards),
it does indeed allow to run game engine fullscreen

14 years agoAnother option for more Armature deform control;
Ton Roosendaal [Thu, 20 Oct 2005 16:31:46 +0000 (16:31 +0000)]
Another option for more Armature deform control;

The "Use VGroup" or "Use Envelope" options now are in Modifier Panel
for Armature deform.
If Modifiers are in use, they override the Armature settings for it.
(Cannot get rid of the Armature panel options yet, since Blender still
allows parenting to be deforming too, which is displayed as a Virtual
modifier now)

This now allows to - for example - make a Envelope deform on a Lattice,
and have same Armature use vertexgroups on Mesh.

Next; vertexgroup option for Lattice & Curve deform

14 years ago- fix bug calculating number of edges to create in mesh.edges.extend()
Ken Hughes [Thu, 20 Oct 2005 15:10:43 +0000 (15:10 +0000)]
- fix bug calculating number of edges to create in mesh.edges.extend()
  (thanks to guitargeek for catching)

14 years ago- Fix for Wkey menu in WeightPaint modus; it didn't work when the armature
Ton Roosendaal [Thu, 20 Oct 2005 14:58:46 +0000 (14:58 +0000)]
- Fix for Wkey menu in WeightPaint modus; it didn't work when the armature
  is a modifier only (Armature not parented to Mesh).
  Note; if multiple Modifier/Armatures work, it uses only the first still.

- Armature option 'draw axes' now scales axes to 0.25 of bone length.

14 years agoNew option; "Lock Time to Other Windows" for Ipo, Action, NLA and Time
Ton Roosendaal [Thu, 20 Oct 2005 14:41:10 +0000 (14:41 +0000)]
New option; "Lock Time to Other Windows" for Ipo, Action, NLA and Time
windows. If set (in View pulldown), it synchronizes the horizontal scale of
the current window with the other Windows with this option set. That way
you always have these windows showing an identical part of the time you
work on.

Also added because Action Window now displays its content relative to
NLA strips.

14 years agoAdding some simple but very convenient selection
Matt Ebb [Thu, 20 Oct 2005 10:31:02 +0000 (10:31 +0000)]
Adding some simple but very convenient selection
functionality for the UV editor:

* A "Select->Pinned UVs" command (Shift P) that
selects all the visible pinned UVs
* A "Select->Border Select Pinned" tool (Shift B) that
works just like the normal border select tool, but only acts on pinned UVs

This is really useful when using LSCM, I only want to
touch the pinned UVs and then recalculate.

14 years agoUV window, without an image, now draws a nice zoom-resistant grid.
Ton Roosendaal [Thu, 20 Oct 2005 10:03:27 +0000 (10:03 +0000)]
UV window, without an image, now draws a nice zoom-resistant grid.
It uses the themecolor for backdrop.

The units are in powers of 4, with a minimum grid cell size of 16 pixels.
(Another Orange request!)

14 years agoUninitialized variable, caused OSX to work, but not the other OS's!
Ton Roosendaal [Thu, 20 Oct 2005 08:15:02 +0000 (08:15 +0000)]
Uninitialized variable, caused OSX to work, but not the other OS's!
(for Mesh rip)

14 years agoNew Mesh tool: "Rip".
Ton Roosendaal [Thu, 20 Oct 2005 07:47:10 +0000 (07:47 +0000)]
New Mesh tool: "Rip".

http://www.blender3d.org/cms/Mesh_Ripping.712.0.html

This tool allows to insert gaps/seams in a Mesh, based on the selection
(1 vertex or a row of edges) and the position of the mouse (to indicate
the part that gets grabbed). Shortcut: Vkey.

Special Orange request!

14 years ago- New additions to Mesh module
Ken Hughes [Wed, 19 Oct 2005 21:24:18 +0000 (21:24 +0000)]
- New additions to Mesh module
  - new methods from NMesh (transform, getFromObject, findEdges)
  - new methods for deleting groups of verts, edges and faces
  - new methods for accessing mesh editing tools: fill, flipNormals,
    recalcNormals, remDoubles, smooth, subdivide, toSphere
- Added PVertType to Types module (not my favorite name; any suggestions?)

14 years agoOverflow was possible for vertex index numbers in deformgroups, causing
Ton Roosendaal [Wed, 19 Oct 2005 11:15:36 +0000 (11:15 +0000)]
Overflow was possible for vertex index numbers in deformgroups, causing
the table with bones in deform code not to work. Added a check for amount
of Bones. (Orange bug!)

14 years agoThree fixes in 1 commit; (reports 3183 3201 3203)
Ton Roosendaal [Mon, 17 Oct 2005 19:03:16 +0000 (19:03 +0000)]
Three fixes in 1 commit; (reports 3183 3201 3203)

- added redraw of Oops/Outliner on selecting in Databrowse
- Ipo Record in ipo window had copy paste error, causing in potential mem
  errors
- Ipo Record now creates a new Ipo again

14 years agoThis fixes ALT+A playback in 3d windows, with one or more windows having
Ton Roosendaal [Mon, 17 Oct 2005 16:57:12 +0000 (16:57 +0000)]
This fixes ALT+A playback in 3d windows, with one or more windows having
unlocked (not scene) layers. Depgraph pickyness.

14 years ago- Bugfix #3202: ipo.addCurve() created curve but didn't add to the Ipo
Ken Hughes [Mon, 17 Oct 2005 03:48:02 +0000 (03:48 +0000)]
- Bugfix #3202: ipo.addCurve() created curve but didn't add to the Ipo
  (thanks, lguillaume).  I think we need much more testing of the Ipo
  module following Ton's refactoring.

14 years ago- Bugfix #3194: calling curve.appendNurb() with any number of float param
Ken Hughes [Sun, 16 Oct 2005 16:39:11 +0000 (16:39 +0000)]
- Bugfix #3194: calling curve.appendNurb() with any number of float param
  other than 4 or 5 caused segfault (thanks for catching, Cam)

14 years ago- Bugfix #3127: gives Python ability to do "reload()" on Blender Text scripts
Ken Hughes [Fri, 14 Oct 2005 17:26:57 +0000 (17:26 +0000)]
- Bugfix #3127: gives Python ability to do "reload()" on Blender Text scripts
  (not really a bug, just adding a missing capability)

14 years ago- perform typechecking before calling EXPP_check_sequence_consistency
Ken Hughes [Thu, 13 Oct 2005 20:47:15 +0000 (20:47 +0000)]
- perform typechecking before calling EXPP_check_sequence_consistency
- change experimental methods for Mesh Tools "Subdivide" and "Smooth" to
  object methods.  if compiled, you can use mesh.subdivide() and mesh.smooth()

14 years agotoo much indentation!
Simon Clitherow [Thu, 13 Oct 2005 20:05:00 +0000 (20:05 +0000)]
too much indentation!

14 years agoindentation got messed up!
Simon Clitherow [Wed, 12 Oct 2005 20:59:47 +0000 (20:59 +0000)]
indentation got messed up!

14 years agolast minute updates for releasing on Windows...
Simon Clitherow [Wed, 12 Oct 2005 20:51:00 +0000 (20:51 +0000)]
last minute updates for releasing on Windows...

scons 'wininst' target fixes (py2.3 -> py2.4)

14 years agoTwo very easy crash fixes, one more proper pointer check, and a check
Ton Roosendaal [Wed, 12 Oct 2005 20:36:11 +0000 (20:36 +0000)]
Two very easy crash fixes, one more proper pointer check, and a check
for a division by zero. Sorry... but i can't stand such known issues to be
in an official build. :)

14 years agoBuild system - Bug Fix/Cleanup: Moving use_fluidsim variable to platform specific...
D.J. Capelis [Wed, 12 Oct 2005 11:55:56 +0000 (11:55 +0000)]
Build system - Bug Fix/Cleanup: Moving use_fluidsim variable to platform specific section where it belongs as per ML and IRC discussion.  This allows platform maintainers some flexibility in determining what should be compiling on each system.  Right now fluidsim is set as true everywhere and there is no functional change from before.

14 years ago- swapped MFace.flag and MFace.mode code; they were reversed (thanks, Cam)
Ken Hughes [Tue, 11 Oct 2005 23:18:53 +0000 (23:18 +0000)]
- swapped MFace.flag and MFace.mode code; they were reversed (thanks, Cam)
- fixed bug in MFace_getFlags(): was accessing wrong field

14 years agoWhoa! I get what the derivedmesh is about! :P
Ton Roosendaal [Tue, 11 Oct 2005 22:10:17 +0000 (22:10 +0000)]
Whoa! I get what the derivedmesh is about! :P

Fixed bugreport on crashing vertex duplicators in editmode. Apparently it
was not coded with new mesh/modifier support. And now it does, quite fun!

One day picture for quick people:
http://www.blender.org/bf/rt.jpg

Daniel; could you check the commit diff below?

14 years agoOrange bugreport; Only Shadow lamp crashed on rendering preview.
Ton Roosendaal [Tue, 11 Oct 2005 21:10:49 +0000 (21:10 +0000)]
Orange bugreport; Only Shadow lamp crashed on rendering preview.
Bug caused due to fix a couple of weeks ago for this kind of lamp type...

14 years agoBugfix #3163
Ton Roosendaal [Tue, 11 Oct 2005 20:47:45 +0000 (20:47 +0000)]
Bugfix #3163

Materials; using "Stencil" option, didn't work properly for multiply, and
other related filters. This is a very old issue, but now I found the good
way to fix it! :)

14 years agoAlmost-sure-fix for crashes after joining meshes or curves. Was caused by
Ton Roosendaal [Tue, 11 Oct 2005 19:54:15 +0000 (19:54 +0000)]
Almost-sure-fix for crashes after joining meshes or curves. Was caused by
not updating depsgraph, and still evaluating it.

14 years agolooks like the warning fix caused problems so reverting it.
Kent Mein [Tue, 11 Oct 2005 19:21:31 +0000 (19:21 +0000)]
looks like the warning fix caused problems so reverting it.

Kent

14 years agoFound a crasher in editing text; load file with text, enter editmode for
Ton Roosendaal [Tue, 11 Oct 2005 19:09:27 +0000 (19:09 +0000)]
Found a crasher in editing text; load file with text, enter editmode for
it and reload. I could fix the crash quickly, but it still gives not freed
memory errors.

More important; this code is VERY BAD! Not sure who added all this *goto*
stuff, but it's not acceptable code that way... (kernel, font.c)

The hacks in editfont.c are very bad too. I really hope Alexander and/or
Mika will clean up before we officially release!

14 years agoScripts updated:
Willian Padovani Germano [Tue, 11 Oct 2005 19:05:56 +0000 (19:05 +0000)]
Scripts updated:
- Discombobulator by Evan R and DirectX8 Exporter by Ben Omari.

BPython:
- Crashed Blender while testing discombobulator: obj.setMaterials() was not checking if the passed obj had valid obj->data. If the object had been created and not linked yet to a mesh, a crash would happen when trying to sync ob and me material lists. Now an error is returned. Also made obj.setMaterials accept an empty list, since obj.getMaterials can return that.

Thanks to the script authors for the updated versions and special thanks to Tom (LetterRip) for collecting info about updated and new scripts, sending me updates I had missed, etc.

14 years agoA couple of small fixes to get things working on solaris.
Kent Mein [Tue, 11 Oct 2005 18:07:37 +0000 (18:07 +0000)]
A couple of small fixes to get things working on solaris.

added #include <ieeefp.h>  similar to where its included in
other files.  (made an ifdef that matches other includes of the same
file)

solaris does a lot of type overloading so there is no expf  its just exp
so I added a #define expf exp wrapped in an ifndef

Finally, I fixed a warning in cfglexer.cpp about multiply defined
yy_wrap functions.

Kent

14 years agoBugfix #3170
Ton Roosendaal [Tue, 11 Oct 2005 16:57:55 +0000 (16:57 +0000)]
Bugfix #3170

Drawing axes in Armature editmode, draw type 'envelope' didnt work.

14 years agoAnother fix for the heuristic code to prevent adding overlapping faces...
Ton Roosendaal [Tue, 11 Oct 2005 16:49:57 +0000 (16:49 +0000)]
Another fix for the heuristic code to prevent adding overlapping faces...
(report #3167). Now hope I covered all! :)

14 years ago- force setResolu() to update all NURBS belonging to a curve
Ken Hughes [Tue, 11 Oct 2005 15:51:27 +0000 (15:51 +0000)]
- force setResolu() to update all NURBS belonging to a curve