add asserts for passing negative index values to RNA functions which don't support them.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55075 954f8c5b-7b00-dc11-b283-0030488c597c
fix for bug where array buttons would use -1 index, causing an out-of-bounds check on an array.
added assert so this wont happen again.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55076 954f8c5b-7b00-dc11-b283-0030488c597c
fix for error building on big-endian.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55078 954f8c5b-7b00-dc11-b283-0030488c597c
Tracking dopesheet fixes:

- Dopesheet need to be updated when adding or switching
  between objects.
- After removing object it shall also be tagged for update,
  otherwise crash will likely happen.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55079 954f8c5b-7b00-dc11-b283-0030488c597c
Texture paint refactoring commit

Adding new file paint_image_proj.c which includes the projective texture painting part of texture
painting, using the stroke system. To access the new code path use Shift-LClick.
The new code path still is problematic with tablet pressure and I will be looking
into ways to unify this across paint systems next.

The old code is still present and can be accessed by regular Lclick as usual.

Also removed 3D (non-projective) painting from 3D viewport.

TODO:
* Add pressure influence code to stroke, remove from every other paint
system code, including texpaint.
* Put UnifiedPaintSettings update in PaintStroke code.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55081 954f8c5b-7b00-dc11-b283-0030488c597c
Typo fix to fix global delete with Shift-X as it was before r43416


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55082 954f8c5b-7b00-dc11-b283-0030488c597c
Change !BLI_ghashIterator_isDone to BLI_ghashIterator_notDone. It is
always used in that context so we can at least avoid reverting it twice
:p.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55083 954f8c5b-7b00-dc11-b283-0030488c597c
Support position jittering on new texpaint code using the stroke system.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55084 954f8c5b-7b00-dc11-b283-0030488c597c
Collada: Added option for how rot,loc,trans data is exported (improves flexibility for support of other 3D tools)

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55085 954f8c5b-7b00-dc11-b283-0030488c597c
use bool for rna funcs.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55086 954f8c5b-7b00-dc11-b283-0030488c597c
avoid calling glGetFloatv() twice when UI_RB_ALPHA is enabled with uiRoundBox()


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55087 954f8c5b-7b00-dc11-b283-0030488c597c
Collada fixed Collada ID name for exported animation curves

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55088 954f8c5b-7b00-dc11-b283-0030488c597c
ruler/protractor for 3d viewport (apart of 3d printing features). work-in-progress.

- activate from spacebar search (3D Ruler) 
- ctrl-click adds new rulers
- clicking in the middle of a ruler, turns into protractor, dragging out of view snaps back to ruler.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55089 954f8c5b-7b00-dc11-b283-0030488c597c
Texture paint refactoring commit

This is as close as I can get to keeping the old code intact. After this
commit, I will have to change existing code paths, making testing of
functionality harder.

Changes:

* Keep only projective texturing code in paint_image_proj.c
* Move 2D code to paint_image_2d.c. This needed the introduction of
allocation/cleanup functions for the relevant structures.
* Common code interface for both modes stays in paint_image.c (which
still includes all old code, system should work as it did with the
exception of non-projective 3D paint mode) and is made public. This is
not a lot of code, only rectangle invalidation and undo system.
* Changed the naming in the new code slightly: imapaint_ prefixed functions refer to
common functions used by both systems, paint_2d_ prefixed to 2d
painting. There will be an interface for the projection painting as
well. Probably there is some leftover naming conversions to do.

TODO:

* Move operator init/exec/modal to common interface file
* Get rid of old BKE_brush_painter_paint, now brush_painter_2d_paint.
All code uses stroke system for the stroke management
* Write space pressure management for the paint stroke system (for other
systems to access as well :) )
* Move texture paint tablet presssure exception code for old bugs to
stroke system (makes me wonder...aren't other systems also influenced by
these pressure issues?) or up in the function hierarchy inside texture
paint. This code is still not there so users with tablets may notice
some issues.
* possibly change other systems to pre-multiply pressure with the
relevant influenced attributes in the stroke function. This could get
tricky though and it's possible that it could backfire.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55090 954f8c5b-7b00-dc11-b283-0030488c597c
ruler arc draw clamps to line length and simplify projection.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55091 954f8c5b-7b00-dc11-b283-0030488c597c
Speedup for Grease Pencil animators.

Saving and loading gpencil was using different order for the individual list items.
On a 120 Mb gpencil project (yes, animators!) loading time went down from 1 minute 
to a second or two.

Note that this to have effect, you need to save once.

Developer note: check this commit, it uses a new writelist function. You can 
speedup stuff tremendously with keeping saved and read data in sync.



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55092 954f8c5b-7b00-dc11-b283-0030488c597c
Border for compositor viewer node feature

This adds border option to compositor, which affects on
a backdrop and viewer nodes, which is useful for faster
previews and tweaks.

Final compositing still happens for the whole frame, but
if it'll be needed it's not so difficult to support it
as well.

To use border there's Ctrl-B shortcut in the compositor
editor, which i used to define region you want to restrict
compositing to. There's also "Viewer Border" option in
the N-panel in case you'll want to disable border
compositing.

Some areas could be cleaned a bit, like ideally it shall
not be viewer image clearing in viewer_border_update RNA
callback, but currently it's not so much clear how to
make it the same fast as simple memset and glue it
somehow to compositor. Will think of nicer solution a
bit later.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55093 954f8c5b-7b00-dc11-b283-0030488c597c
Fix building with blenderplayer

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55094 954f8c5b-7b00-dc11-b283-0030488c597c
Fix warnings in stubs.c

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55095 954f8c5b-7b00-dc11-b283-0030488c597c
bullet: Update to current svn, r2636

Apply patches in patches directory, remove patches that were applied
upstream.
If you made changes without adding a patch, please check.

Fixes [#32233] exporting bullet format results in corrupt files.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55096 954f8c5b-7b00-dc11-b283-0030488c597c