7 years agoremove vertex selection check for weight paint mode so you can paint `through` the...
Campbell Barton [Tue, 1 Jan 2013 11:47:47 +0000 (11:47 +0000)]
remove vertex selection check for weight paint mode so you can paint `through` the mesh.

also made the wire draw without depth masking when the depth check is off, similar to mesh editmode drawing, nice hint about whats going on.

7 years agoUI cleanup: fixed texture is a 2d image painting option, hide in 3D viewport toolbar
Antony Riakiotakis [Tue, 1 Jan 2013 11:46:12 +0000 (11:46 +0000)]
UI cleanup: fixed texture is a 2d image painting option, hide in 3D viewport toolbar

7 years agoFix: weight painting operated only for selected vertices in edit mode.
Antony Riakiotakis [Tue, 1 Jan 2013 11:08:05 +0000 (11:08 +0000)]
Fix: weight painting operated only for selected vertices in edit mode.
We only need this in case vertex selection is enabled.

7 years agoBGE: Fixing a crash that occurred when LibLoading a scene with a 2D Filter Actuator...
Mitchell Stokes [Mon, 31 Dec 2012 21:32:46 +0000 (21:32 +0000)]
BGE: Fixing a crash that occurred when LibLoading a scene with a 2D Filter Actuator. The actuator was still referencing the old scene.

7 years agosmart stitching:
Antony Riakiotakis [Mon, 31 Dec 2012 19:38:40 +0000 (19:38 +0000)]
smart stitching:
* Some code cleanup
* Bugfix: rotation of uv islands during stitch on images with aspect
ratio was different for different island rotations. I needed to correct
normal and tangent calculation to take image aspect into account.

7 years agocode cleanup: name event -> event_type in macros, since this is from event->type
Campbell Barton [Mon, 31 Dec 2012 17:39:01 +0000 (17:39 +0000)]
code cleanup: name event -> event_type in macros, since this is from event->type

7 years agocode cleanup: autocomplete functions
Campbell Barton [Mon, 31 Dec 2012 17:19:55 +0000 (17:19 +0000)]
code cleanup: autocomplete functions

7 years agosyntax highlight autocomplete listing.
Campbell Barton [Mon, 31 Dec 2012 16:40:14 +0000 (16:40 +0000)]
syntax highlight autocomplete listing.

7 years agotext autocomplete
Campbell Barton [Mon, 31 Dec 2012 16:24:49 +0000 (16:24 +0000)]
text autocomplete
- make the popup box line up the X axis with the current word.
- add poll function for the operator

7 years agoMore wrong "in degrees" busted out of tips!
Bastien Montagne [Mon, 31 Dec 2012 15:54:44 +0000 (15:54 +0000)]
More wrong "in degrees" busted out of tips!

7 years agoCorrection to RNA update functions
Sergey Sharybin [Mon, 31 Dec 2012 15:45:31 +0000 (15:45 +0000)]
Correction to RNA update functions

Either forgot to merge some local changes into trunk or merge happened wrong..

7 years agoFix for saving 8bit PNG images when there's no byte buffer in ImBuf
Sergey Sharybin [Mon, 31 Dec 2012 15:30:03 +0000 (15:30 +0000)]
Fix for saving 8bit PNG images when there's no byte buffer in ImBuf

Misunderstand flag of file filter, should work fine now.

7 years agoadd back initial autocomplete support.
Campbell Barton [Mon, 31 Dec 2012 15:11:36 +0000 (15:11 +0000)]
add back initial autocomplete support.

- This doesnt use python as 2.4x did, instead it just autocompletes based on the text files unique identifiers so its useful for any language.
- key is same as console (Ctrl+Space)

7 years agoRemoved on old patch from the code, which attempted to keep the scrollers
Ton Roosendaal [Mon, 31 Dec 2012 14:56:07 +0000 (14:56 +0000)]
Removed on old patch from the code, which attempted to keep the scrollers
in user preferences in place.

New scroller code made user pref scroller jump back on activating add-ons,
because that causes a full blender system refresh.

7 years agocode cleanup: warning
Campbell Barton [Mon, 31 Dec 2012 14:55:16 +0000 (14:55 +0000)]
code cleanup: warning

7 years agoSome minor cleanup in camera's FOV angle props (mostly use DEG2RAD macro, and remove...
Bastien Montagne [Mon, 31 Dec 2012 14:52:55 +0000 (14:52 +0000)]
Some minor cleanup in camera's FOV angle props (mostly use DEG2RAD macro, and remove reference to degrees in tips - user is free to use radians if he prefers!).

7 years agominor updates to text autocomplete api
Campbell Barton [Mon, 31 Dec 2012 14:49:27 +0000 (14:49 +0000)]
minor updates to text autocomplete api
- draw function wasn't lining up correctly since DPI edits
- rename text_python.c to text_autocomplete.c

7 years agoCorrection to recent PNG commit
Sergey Sharybin [Mon, 31 Dec 2012 14:02:33 +0000 (14:02 +0000)]
Correction to recent PNG commit

Need to set default depth to 8bit.

7 years agoRemoved byte glow effect from sequencer in favor of float one.
Sergey Sharybin [Mon, 31 Dec 2012 13:52:26 +0000 (13:52 +0000)]
Removed byte glow effect from sequencer in favor of float one.

Byte glow was disabled in previous commit and code is removed now
in separate commit for easier revert if that'd be needed.

7 years agoAlpha premul pipeline cleanup
Sergey Sharybin [Mon, 31 Dec 2012 13:52:13 +0000 (13:52 +0000)]
Alpha premul pipeline cleanup

This assumptions are now made:
- Internally float buffers are always linear alpha-premul colors
- Readers should worry about delivering float buffers with that
- There's an input image setting to say whether it's stored with
  straight/premul alpha on the disk.
- Byte buffers are now assumed have straight alpha, readers should
  deliver straight alpha.

Some implementation details:

- Removed scene's color unpremultiply setting, which was very
  much confusing and was wrong for default settings.
  Now all renderers assumes to deliver premultiplied alpha.

- IMB_buffer_byte_from_float will now linearize alpha when
  converting from buffer.

- Sequencer's effects were changed to assume bytes have got
  straight alpha. Most of effects will work with bytes still,
  however for glow it was more tricky to avoid data loss, so
  there's a commented out glow implementation which converts
  byte buffer to floats first, operates on floats and returns
  bytes back. It's slower and not sure if it should actually
  be used -- who're using glow on alpha anyway?

- Sequencer modifiers should also be working nice with straight
  bytes now.

- GLSL preview will predivide float textures to make nice shading,
  shading with byte textures worked nice (GLSL was assuming straight

- Blender Internal will set alpha=1 to the whole sky. The same
  happens in Cycles and there's no way to avoid this -- sky is
  neither straight nor premul and doesn't fit color pipeline well.

- Straight alpha mode for render result was also eliminated.

- Conversion to correct alpha need to be done before linearizing
  float buffer.

- TIFF will now load and save files with proper alpha mode setting
  in file meta data header.

- Remove Use Alpha from texture mapping and replaced with image
  datablock setting.

  Behaves much more predictable and clear from code point of view
  and solves possible regressions when non-premultiplied images were
  used as textures with ignoring alpha channel.

7 years agoFix #33706: issue in cycles motion blur rendering after hair commit, my fault
Brecht Van Lommel [Mon, 31 Dec 2012 13:07:06 +0000 (13:07 +0000)]
Fix #33706: issue in cycles motion blur rendering after hair commit, my fault
for not finding it in review.

Also removed the hard limits on motion blur shutter time, soft limits are still
the same but it can be useful to set things lower/higher in some cases.

7 years agoUsability todo:
Ton Roosendaal [Mon, 31 Dec 2012 12:26:14 +0000 (12:26 +0000)]
Usability todo:

Editmode "Shear" didn't communicate well.
- Added X and Y shortcut to set shear axis
- Added print in header to denote that.

It will still switch with MMB press too.

7 years agoBug fix - post 2.65a problem:
Ton Roosendaal [Mon, 31 Dec 2012 12:13:30 +0000 (12:13 +0000)]
Bug fix - post 2.65a problem:

The keymap entries for NDOF device were moved up, so the hotkey searches for
menus didn't show the keyboard shortcuts. Special devices shouldn't list as a

7 years agoAdd try/catch around i18n locale setter code, just in case...
Bastien Montagne [Mon, 31 Dec 2012 12:12:50 +0000 (12:12 +0000)]
Add try/catch around i18n locale setter code, just in case...

7 years agoadd ".hh" as an extension for source scripts.
Campbell Barton [Mon, 31 Dec 2012 07:06:51 +0000 (07:06 +0000)]
add ".hh" as an extension for source scripts.

7 years agorename BM_edge_calc_squared_length -> BM_edge_calc_length_squared, matching len_v3...
Campbell Barton [Mon, 31 Dec 2012 02:40:15 +0000 (02:40 +0000)]
rename BM_edge_calc_squared_length -> BM_edge_calc_length_squared, matching len_v3, len_squared_v3

7 years agostyle cleanup
Campbell Barton [Mon, 31 Dec 2012 02:37:28 +0000 (02:37 +0000)]
style cleanup

7 years agoUsual UI messages-related fixes...
Bastien Montagne [Sun, 30 Dec 2012 23:21:33 +0000 (23:21 +0000)]
Usual UI messages-related fixes...

7 years agoCode cleanup: rename BLI_pbvh to BKE_pbvh
Nicholas Bishop [Sun, 30 Dec 2012 18:31:31 +0000 (18:31 +0000)]
Code cleanup: rename BLI_pbvh to BKE_pbvh

7 years agoAdd UI and keybindings for dynamic-topology sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:31:17 +0000 (18:31 +0000)]
Add UI and keybindings for dynamic-topology sculpt mode

* New topology panel in 3D view toolbar with the enable/disable button
  for dynamic topology and other controls

* Ctrl+DKEY to toggle dynamic topology

* Shift+DKEY to show a radial control for detail size

7 years agoAdd symmetrize operator for dynamic-topology sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:31:01 +0000 (18:31 +0000)]
Add symmetrize operator for dynamic-topology sculpt mode

7 years agoAdd simplify brush for sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:30:40 +0000 (18:30 +0000)]
Add simplify brush for sculpt mode

7 years agoUse GPU_Buffers to draw wireframe when in dynamic-topology sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:30:13 +0000 (18:30 +0000)]
Use GPU_Buffers to draw wireframe when in dynamic-topology sculpt mode

This adds an override to the CDDM edge drawing function that switches
to GPU_Buffers drawing for PBVHes of type PBVH_BMESH.

Within the GPU_Buffers code, glPolygonMode() is used to draw lines
instead of faces.

7 years agoHiding support for dynamic topology
Nicholas Bishop [Sun, 30 Dec 2012 18:29:56 +0000 (18:29 +0000)]
Hiding support for dynamic topology

7 years agoUpdate DerivedMesh for dynamic-topology sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:29:41 +0000 (18:29 +0000)]
Update DerivedMesh for dynamic-topology sculpt mode

* Build bmesh PBVH in CDDM when dyntopo is enabled

* Disable all modifiers when dyntopo is enabled

7 years agoModify info stats for dynamic-topology sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:29:25 +0000 (18:29 +0000)]
Modify info stats for dynamic-topology sculpt mode

Format is like this: "Verts:8 | Tris:12 | Cube"

7 years agoAdd dynamic topology support to sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:29:07 +0000 (18:29 +0000)]
Add dynamic topology support to sculpt mode

* User documentation:

* Code review for this and the other dynamic-topology commits:
  Thanks to Sergey for doing code review!

* Add SCULPT_OT_dynamic_topology_toggle operator to enable or disable
  dynamic topology mode

* Most brushes need little modification for dynamic topology, but for
  some it won't work well and is disabled. This decision is made in

* For brushes that need original data (e.g. grab brush) the topology
  is not updated during the stroke, but some changes to original
  vertex data is accessed were made since BMesh works a little
  differently from mesh/multires. This is abstracted with
  SculptOrigVertData and associated functions.

* Smooth brush gets yet another set of functions, for mesh and
  multires and dynamic topology and, separetely, masking

* For most brushes, the topology is updated during the stroke right
  before the regular brush action takes place. This is handled in

* Exiting sculpt mode also disables dynamic topology

* Sculpt undo works differently with BMesh. Since the contents of
  nodes in the PBVH do not remain static during a sculpt session, the
  SculptUndoNodes do not correspond with PBVHNodes if dynamic topology
  is enabled. Rather, each SculptUndoNode is associated with a

* Sculpt undo gets a few new cases: entering and exiting dynamic
  topology does an undo push of all mesh data. Symmetrize will
  similarly push a full copy of BMesh data, although it does so
  through the BMLog API.

* Undo and redo in dynamic-topology mode will do a full recalculation
  of the PBVH.

* Add some documentation to doc/ This could stand to be
  expanded a lot more, for now it mostly contains test cases for the
  undo system.

* Add SCULPT_OT_optimize operator to recalculate the BVH. The BVH gets
  less optimal more quickly with dynamic topology than regular
  sculpting. There is no doubt more clever stuff we can do to optimize
  it on the fly, but for now this gives the user a nicer way to
  recalculate it than toggling modes.

7 years agoAdd dynamic topology support to the PBVH
Nicholas Bishop [Sun, 30 Dec 2012 18:28:36 +0000 (18:28 +0000)]
Add dynamic topology support to the PBVH

* Add BLI_pbvh_build_bmesh(), similar to the other PBVH builders but
  specialized for BMesh. Whereas the PBVH leaf nodes for mesh and
  grids only store a start-index and count into the primitive indices
  array, the BMesh version uses GHashes to store the full set of faces
  and vertices in leaf nodes

* Update PBVH iterator to handle BMesh

* Make some of the pbvh.c functions non-static so they can be used by
  the new pbvh_bmesh code

* The BLI_pbvh_bmesh_update_topology() function is the main reason for
  adding BMesh support to the PBVH. This function is used during a
  sculpt stroke to dynamically collapse edges that are particular
  short and subdivide edges that are particularly long.

7 years agoAdd BLI_buffer, an alternative to BLI_array
Nicholas Bishop [Sun, 30 Dec 2012 18:28:10 +0000 (18:28 +0000)]
Add BLI_buffer, an alternative to BLI_array

BLI_buffer is a dynamic homogeneous array similar to BLI_array, but it
allocates a structure that can be passed around making it possible to
resize the array outside the function it was declared in.

7 years agoAdd DNA/RNA/BKE infrastructure for dynamic-topology sculpt mode
Nicholas Bishop [Sun, 30 Dec 2012 18:27:33 +0000 (18:27 +0000)]
Add DNA/RNA/BKE infrastructure for dynamic-topology sculpt mode

* Add a detail_size field to the Sculpt struct, two new sculpt flags,
  and a Mesh flag for dynamic-topology mode; that's it for file-level
  changes needed by dynamic topology

* Add RNA for the new DNA field and flags

* Add a new icon for dynamic-topology created by Julio Iglesias. TODO:
  update the icon for the new SVG icon format

* Add a SculptSession function for converting from BMesh to Mesh,
  handles reordering mesh elements and setting face shading

7 years agoMove layer displacements from SculptUndoNode to PBVHNode
Nicholas Bishop [Sun, 30 Dec 2012 18:26:11 +0000 (18:26 +0000)]
Move layer displacements from SculptUndoNode to PBVHNode

* This doesn't make much difference for regular mesh/multires
  sculpting, but for dynamic topology sculpting the undo stack isn't
  split up by PBVH nodes, so it's more convenient to store the layer
  data in PBVH nodes.

* Note that the life cycle of the layer displacement data is
  unchanged -- it's only valid during a stroke with the layer brush,
  gets free'd when the undo step ends.

7 years agoCode cleanup: move PBVH/PBVHNode structs into new header file
Nicholas Bishop [Sun, 30 Dec 2012 18:25:36 +0000 (18:25 +0000)]
Code cleanup: move PBVH/PBVHNode structs into new header file

7 years agoAdd GPU_buffers support for drawing dynamic topology nodes
Nicholas Bishop [Sun, 30 Dec 2012 18:24:54 +0000 (18:24 +0000)]
Add GPU_buffers support for drawing dynamic topology nodes

The GPU interface for PBVH drawing gets a new pair of build/update
buffers functions for drawing BMFaces and BMVerts.

TODO: the diffuse color is hardcoded to 0.8 gray rather than using
material color.

TODO: only VBO drawing is implemented, no immediate mode.

7 years agoAdd BMLog for efficiently storing changes to vertices and faces
Nicholas Bishop [Sun, 30 Dec 2012 18:24:08 +0000 (18:24 +0000)]
Add BMLog for efficiently storing changes to vertices and faces

The BMLog is an interface for storing undo/redo steps as a BMesh is
modified. It only stores changes to the BMesh, not full copies.

Currently it supports the following types of changes:
- Adding and removing vertices
- Adding and removing faces
- Moving vertices
- Setting vertex paint-mask values
- Setting vertex hflags

7 years agoDisable fall through to global undo from paint/sculpt undo
Nicholas Bishop [Sun, 30 Dec 2012 18:23:42 +0000 (18:23 +0000)]
Disable fall through to global undo from paint/sculpt undo

Undoing/redoing in sculpt and other paint modes should only use the
mode-specific undo, not global undo. It is now consistent with edit
mode and avoids tricky interaction between the two systems.

7 years agoAdd function to find closest point in triangle to another point
Nicholas Bishop [Sun, 30 Dec 2012 18:23:03 +0000 (18:23 +0000)]
Add function to find closest point in triangle to another point

New function is closest_to_tri_v3() in BLI_math_geom.

7 years agoAdd BM_edge_calc_squared_length() query function
Nicholas Bishop [Sun, 30 Dec 2012 18:22:21 +0000 (18:22 +0000)]
Add BM_edge_calc_squared_length() query function

Same as BM_edge_calc_length(), but avoids square root for cases where
only comparison is needed.

7 years agoImport the RangeTree library into extern
Nicholas Bishop [Sun, 30 Dec 2012 18:20:52 +0000 (18:20 +0000)]
Import the RangeTree library into extern

RangeTree is a simple C++ tree set for storing non-overlapping scalar
ranges. Original source from:

Also update the build systems to include RangeTree.

7 years agoFix crash in syntax color code when drawing a text editor with no text.
Brecht Van Lommel [Sun, 30 Dec 2012 18:17:20 +0000 (18:17 +0000)]
Fix crash in syntax color code when drawing a text editor with no text.

7 years agooptimization for text drawing:
Campbell Barton [Sun, 30 Dec 2012 15:40:49 +0000 (15:40 +0000)]
optimization for text drawing:
- dont set the color for each character, check if it changes from the previous one.
- dont memcpy text into a null terminated string to draw, instead rely on the length argument to BLF_draw().

7 years agostyle cleanup: casts, some casts had odd formatting, but very few. Style checker...
Campbell Barton [Sun, 30 Dec 2012 15:16:08 +0000 (15:16 +0000)]
style cleanup: casts, some casts had odd formatting, but very few. Style checker script detects this now so easy to detect this if new code is added that doesnt follow blenders style.

7 years agoMore trackpad woes:
Ton Roosendaal [Sun, 30 Dec 2012 14:31:34 +0000 (14:31 +0000)]
More trackpad woes:

Rotate with two-finger trackpad swipes should follow same principle as
for panning. This is first commit - for clarity.

Remaining issue is that for each system preset (in your OS) blender should
work as you expect too... pan, rotate and zoom gestures might need
each an own direction preset. Might be also messy, but then things can at
least work for everyone. Thinking it over and testing more now.

7 years ago16 bit PNG write support
Sergey Sharybin [Sun, 30 Dec 2012 13:01:47 +0000 (13:01 +0000)]
16 bit PNG write support

This commit adds a support of saving 16bit PNG files.

Alpha for such files would be premultiplied, would be corrected
with an upcoming alpha premul cleanup (it's not the only format
which will output 16bit image with premul alpha).

7 years agoRevert change from Jens, wrong pointer check in the code.
Ton Roosendaal [Sun, 30 Dec 2012 10:38:56 +0000 (10:38 +0000)]
Revert change from Jens, wrong pointer check in the code.

That change made all scrollwheel events be handled as if it was a swipe gesture.
Old style mouse wheel didn't work anymore.

This version should work for everyone, but we need more mac testers :)

7 years agoOSL Templates: remove unnecessary stdosl.h include.
Brecht Van Lommel [Sun, 30 Dec 2012 10:37:32 +0000 (10:37 +0000)]
OSL Templates: remove unnecessary stdosl.h include.

7 years agoOSL Templates:
Thomas Dinges [Sun, 30 Dec 2012 03:11:52 +0000 (03:11 +0000)]
OSL Templates:
* Add 3 simple templates:
** empty_shader.osl: A basic shader declaration to start with
** wireframe.osl: Simple wireframe shader
** noise.osl: Simple noise shader, with 3 noise types.

7 years agoOSL Syntax Highlighting:
Thomas Dinges [Sun, 30 Dec 2012 02:51:29 +0000 (02:51 +0000)]
OSL Syntax Highlighting:
* Added the remaining shader types
* Some comment and link fixes.

7 years agoadd templates menu for OSL, use preprocessor directive color for decorators in python.
Campbell Barton [Sun, 30 Dec 2012 01:39:55 +0000 (01:39 +0000)]
add templates menu for OSL, use preprocessor directive color for decorators in python.

7 years agoadd syntax highlighting color for symbols
Campbell Barton [Sun, 30 Dec 2012 01:26:31 +0000 (01:26 +0000)]
add syntax highlighting color for symbols

7 years agocode cleanup: enum for formatting char (avoid confusion when '#' is a comment for...
Campbell Barton [Sun, 30 Dec 2012 01:12:21 +0000 (01:12 +0000)]
code cleanup: enum for formatting char (avoid confusion when '#' is a comment for // in OSL)

7 years agocode cleanup: text editor formatting enums were named crypticly, also add asserts...
Campbell Barton [Sun, 30 Dec 2012 00:46:17 +0000 (00:46 +0000)]
code cleanup: text editor formatting enums were named crypticly, also add asserts if the continuation values are wrong (which can happen with buffer overflows on formatting).

7 years agoInfinite loop caused by using an uninitialized variable in a compairison statement
Dan Eicher [Sat, 29 Dec 2012 22:06:44 +0000 (22:06 +0000)]
Infinite loop caused by using an uninitialized variable in a compairison statement

7 years agoMissing NULL check which crashes on opening the Text Editor without an active Text...
Dan Eicher [Sat, 29 Dec 2012 20:16:21 +0000 (20:16 +0000)]
Missing NULL check which crashes on opening the Text Editor without an active Text object

7 years agoOSX: fix magic mouse swipes compiling on with MAC_OS_X_VERSION_MIN_REQUIRED by checki...
Jens Verwiebe [Sat, 29 Dec 2012 19:51:44 +0000 (19:51 +0000)]
OSX: fix magic mouse swipes compiling on with MAC_OS_X_VERSION_MIN_REQUIRED by checking address not value

7 years agofix bug #33275: iTaSC ignores location of disconnected bones when they are changed...
Benoit Bolsee [Sat, 29 Dec 2012 19:43:08 +0000 (19:43 +0000)]
fix bug #33275: iTaSC ignores location of disconnected bones when they are changed in pose mode.

Disconnected bones can be translated in pose mode but this translation
cannot be applied to the iTaSC representation of the armature because
there is no joint associated with it. As a result, moving disconnected
bones had no effect. The bug fix is in two parts:
1) manual or rna change in the armature pose will cause automatic
   rebuilding of the iTaSC scene
2) the iTaSC scene is now built from the current pose instead of
   armature rest pose

7 years agopatch [#33609] Syntax highlighting for OSL in Text Editor
Campbell Barton [Sat, 29 Dec 2012 18:25:03 +0000 (18:25 +0000)]
patch [#33609] Syntax highlighting for OSL in Text Editor
from Patrick Boelens (senshi). with modifications to split it into its own function.

also added C style multi-line comment support /* ... */

I've left out the part of this patch that sets the language in the space, since I think this might be better stored in the text block.

For now it simply uses OSL syntax highlighting when the extension is '.osl'.

7 years agofix for 2 errors in python syntax highlighting, no space was allowed in decorators...
Campbell Barton [Sat, 29 Dec 2012 18:20:14 +0000 (18:20 +0000)]
fix for 2 errors in python syntax highlighting, no space was allowed in decorators and decorators where being skipped.

7 years agoLong ago we used to be able to bake physics from negative frames, feature that got...
Pablo Vazquez [Sat, 29 Dec 2012 17:49:43 +0000 (17:49 +0000)]
Long ago we used to be able to bake physics from negative frames, feature that got lost at some point. Now we can do it again.

Example is for physics like Cloth or Hair Dynamics that start on a shaky state for a few frames until they settle (for say baking subtle grass or hair movement).

Reviewed on IRC by kaito, Uncle_Entity and DingTo.

7 years agocode cleanup: text editor syntax highlighting - avoid loops using memset()
Campbell Barton [Sat, 29 Dec 2012 16:18:03 +0000 (16:18 +0000)]
code cleanup: text editor syntax highlighting - avoid loops using memset()

7 years agotext editor: replace strncmp() and hard coded size with STR_LITERAL_STARTSWITH()...
Campbell Barton [Sat, 29 Dec 2012 16:04:45 +0000 (16:04 +0000)]
text editor: replace strncmp() and hard coded size with STR_LITERAL_STARTSWITH() macro that gets the size from sizeof().

7 years agostyle cleanup
Campbell Barton [Sat, 29 Dec 2012 15:55:37 +0000 (15:55 +0000)]
style cleanup

7 years agoAnd another NDOF fix:
Ton Roosendaal [Sat, 29 Dec 2012 15:25:03 +0000 (15:25 +0000)]
And another NDOF fix:

The dolly factor (fly in/out) now correctly scales for distance to view center.
This allows working on details or huge scenes.

7 years agoFixes for NDOF device:
Ton Roosendaal [Sat, 29 Dec 2012 15:17:26 +0000 (15:17 +0000)]
Fixes for NDOF device:

User preference "Rotate around selection" now works for all input operators.
(Didnt for new default)

Note: the default will only rotate around selection, zooms remain to view center.
Our view pivot methods are not well definied at all...

7 years agoTrackpad fixes & changes:
Ton Roosendaal [Sat, 29 Dec 2012 13:21:01 +0000 (13:21 +0000)]
Trackpad fixes & changes:

- UV Image editor and other 2d views didn't zoom for CTRL+swipe yet.
  (2 finger trackpad, 1 finger mighty mouse)

- Switched defaults for 3D window swiping...
  - default rotate view
  - SHIFT for translate
  - CTRL for zooms

This makes all editors use 'swipe' like 'middle mouse', and not
like scrollwheel (as in releases).

This is nice for consistancy, but it still feels a bit weird...

Of course users can config this in keymaps. We need a sensible
default though, and to make a 2D input input device behave like
middle mouse seeems more sensible than like a 1D wheel...

Proposal therefore for defaults:

- 1D scrollwheels: zoom in 3d, zoom in 2d, but scroll for list views.

- 2D trackpads: pan for all 2d views, rotate for 3D

I'll check with frequent trackpad users about this and we can freeze it
before release. Give it a try :)

7 years agoBug fix #32806
Ton Roosendaal [Sat, 29 Dec 2012 12:33:24 +0000 (12:33 +0000)]
Bug fix #32806

In 2.64, input for using an NDOF device included all 6 DOFs - including panning.
That makes using it for many people (including beginners like me) too hard, you
very quickly lose the 3d view rotation pivot, as if you are in free fly mode.

Fredrik provided an updated patch, which restores the 2.63 method to only
dolly and rotate by default. The new "all dof" operator is hidden in the keymaps
behind modifier keys SHIFT + CTRL. Users can set this in their configs of course.

As usual, we should be careful changing accepted defaults, and provide new
options as additional choice only.

A useful todo is to make user preference "around selection" work well.
Will check on this now too.

7 years agoexample use of addon preferences.
Campbell Barton [Sat, 29 Dec 2012 11:07:31 +0000 (11:07 +0000)]
example use of addon preferences.

7 years agoadd include missing from last commit
Campbell Barton [Sat, 29 Dec 2012 11:03:03 +0000 (11:03 +0000)]
add include missing from last commit

7 years agoMac OS X 10.7 supports new trackpad (and mighty mouse) events with nice seamless
Ton Roosendaal [Sat, 29 Dec 2012 11:00:45 +0000 (11:00 +0000)]
Mac OS X 10.7 supports new trackpad (and mighty mouse) events with nice seamless
scrolling and inertia.

Now Blender uses this - if you have 10.7. Otherwise it just falls back on the
old code.

Try it, makes a huge difference :)

Next todo: how to configure this well, so you can have trackpad (or mighty mouse)
zoom as default in 3d views.

7 years agouser-preferences for addons. currently unused, example & docs still to come.
Campbell Barton [Sat, 29 Dec 2012 10:24:42 +0000 (10:24 +0000)]
user-preferences for addons. currently unused, example & docs still to come.

7 years agoBGE: Adding a jumpCount to KX_CharacterWrapper. This can be used to have different...
Mitchell Stokes [Sat, 29 Dec 2012 10:22:19 +0000 (10:22 +0000)]
BGE: Adding a jumpCount to KX_CharacterWrapper. This can be used to have different logic for a single jump versus a double jump. For example, a different animation for the second jump.

7 years agoFinally fixing the issue where the bezier curve drawn while creating a link between...
Mitchell Stokes [Sat, 29 Dec 2012 09:44:19 +0000 (09:44 +0000)]
Finally fixing the issue where the bezier curve drawn while creating a link between two logic bricks doesn't match the mouse cursor location. The issue was the last line segment for the bezier curve was not getting drawn. This is why the error increased as the curve got longer.

7 years agoFix for the NODE_OT_add_node operator. The way python classes were subclassed does...
Lukas Toenne [Sat, 29 Dec 2012 08:46:27 +0000 (08:46 +0000)]
Fix for the NODE_OT_add_node operator. The way python classes were subclassed does not work with the registration mechanism. Combined both node_add and node_add_move operators into a single general operator with a flag. When use_transform is set, the operator will start transform on the new nodes after inserting.

7 years agoBGE: An off-by-one error when setting up the viewport for 2D filters caused a blurrin...
Mitchell Stokes [Sat, 29 Dec 2012 08:36:41 +0000 (08:36 +0000)]
BGE: An off-by-one error when setting up the viewport for 2D filters caused a blurring effect when using 2D filters. This is now fixed.

7 years agoBGE: Fix for [#33685] "2D Filters Partially Offset" reported by Josiah Lane (solarlun...
Mitchell Stokes [Sat, 29 Dec 2012 04:03:25 +0000 (04:03 +0000)]
BGE: Fix for [#33685] "2D Filters Partially Offset" reported by Josiah Lane (solarlune). This bug was caused by me in a recent change to clean up the 2D filters a bit. I forgot that canvas->SetViewPort already handles some viewport calculations, and thus I ended up doubling up on calculations, which caused the offset.

7 years agoset line endings to native & mime type to text/plain for .app/Contents/MacOS/xxx...
Campbell Barton [Sat, 29 Dec 2012 03:19:30 +0000 (03:19 +0000)]
set line endings to native & mime type to text/plain for .app/Contents/MacOS/xxx files.

7 years agocode cleanup
Campbell Barton [Sat, 29 Dec 2012 02:57:52 +0000 (02:57 +0000)]
code cleanup

7 years agoCycles Hair:
Thomas Dinges [Sat, 29 Dec 2012 01:57:32 +0000 (01:57 +0000)]
Cycles Hair:
* Implemented the Hair Info Node for OSL.

7 years agostyle cleanup
Campbell Barton [Sat, 29 Dec 2012 01:54:58 +0000 (01:54 +0000)]
style cleanup

7 years agoFix for last commit, hair settings panel should also check on psys.
Thomas Dinges [Sat, 29 Dec 2012 01:14:03 +0000 (01:14 +0000)]
Fix for last commit, hair settings panel should also check on psys.

7 years agoAdd datafiles/locale/languages to for CPack
Dan Eicher [Fri, 28 Dec 2012 23:30:34 +0000 (23:30 +0000)]
Add datafiles/locale/languages to for CPack

7 years agoi18 Spell check:
Thomas Dinges [Fri, 28 Dec 2012 20:32:29 +0000 (20:32 +0000)]
i18 Spell check:
* Wrong comma sequence in

7 years agoHrm... replacing
Ton Roosendaal [Fri, 28 Dec 2012 19:26:25 +0000 (19:26 +0000)]
Hrm... replacing


7 years agoTesting commit for OS X trackpad and scroll events.
Ton Roosendaal [Fri, 28 Dec 2012 19:10:21 +0000 (19:10 +0000)]
Testing commit for OS X trackpad and scroll events.

- code is wrapped for OS X releases (10.6 and 10.7)
- It now detects scrollwheel (old mouse) and gesture strokes (mighty mouse or trackpad).

If you have 10.6, things will work as for release.

Next todo for tomorrow: make trackpad work actually smooth and not with steps.
Will also try to figure out the device type, to handle mighty mouse differently.

7 years agoFix OSL distance() of point to line segment function not being available,
Brecht Van Lommel [Fri, 28 Dec 2012 18:21:07 +0000 (18:21 +0000)]
Fix OSL distance() of point to line segment function not being available,
implemented now in stdosl.h.

7 years agoCycles Hair UI:
Thomas Dinges [Fri, 28 Dec 2012 16:25:41 +0000 (16:25 +0000)]
Cycles Hair UI:
* Code cleanup, removed some unneeded code
* Moved "Cycles Hair Rendering" panel above "Cycles Hair settings"
* "Cycles Hair settings" panel is only visible when hair rendering ("use_curves") is enabled.

7 years agoReversion of previous fix for Mac OS X scrollwheel,
Ton Roosendaal [Fri, 28 Dec 2012 16:11:04 +0000 (16:11 +0000)]
Reversion of previous fix for Mac OS X scrollwheel,
it appears I used 10.7+ options, fails for 10.6.

Back to drawing board!

7 years agoFix cycles python error in some panels, was not updated for new list template yet.
Brecht Van Lommel [Fri, 28 Dec 2012 14:46:43 +0000 (14:46 +0000)]
Fix cycles python error in some panels, was not updated for new list template yet.

7 years agoConvert alpha node: rename "key alpha" to "straight alpha" for consistency.
Brecht Van Lommel [Fri, 28 Dec 2012 14:46:32 +0000 (14:46 +0000)]
Convert alpha node: rename "key alpha" to "straight alpha" for consistency.

7 years agoNew feature
Stuart Broadfoot [Fri, 28 Dec 2012 14:21:30 +0000 (14:21 +0000)]
New feature

Patch [#33445] - Experimental Cycles Hair Rendering (CPU only)

This patch allows hair data to be exported to cycles and introduces a new line segment primitive to render with.

The UI appears under the particle tab and there is a new hair info node available.

It is only available under the experimental feature set and for cpu rendering.

7 years agostyle cleanup
Campbell Barton [Fri, 28 Dec 2012 14:19:05 +0000 (14:19 +0000)]
style cleanup