* Replace magic numbers with enum-defines
* Remove superfluous return; statements (used as last statements in a few
"static void" methods)
* Remove some old unused/commented out stuff
This commit splits editarmature.c and poseobject.c into several files, such that
certain types of functionality are (mostly) self-contained within particular
files (instead of being mixed in with other functionality in a large file).
In particular, this was done so that:
1) Armature EditMode tools are now in the armature_*.c files only, and Pose Mode
tools in pose_*.c files only.
- In one or two cases, this hasn't been possible as the two modes rely on
much of the same shared infrastructure.
2) The "clear loc/rot/scale" operators and pose show/hide are no longer housed
in editarmature.c
3) Selection operators, Transform operators, structural (add/delete) operators,
and supporting utilities for the modes (enter/exit/roll-calculations) are not
all interleaved in an ad-hoc manner
Notes:
* I've tried to ensure that the history of the new files has been maintained by
doing
svn copy {editarmature.c/poseobject.c} {armature_*.c/pose_*.c}
Unfortunately, this means that the diffs are a bit messy.
* There should be no functional/logic changes here. Just code moving around and
cosmetic comment tweaks where needed.
* #includes have largely been untouched for now, but could be cleaned up later
* CMake changes untested, but should work in theory.
Fix for 2.66a
Some editors in Blender (Like Graph) have "maxzoom" set to 0, which caused the
MMB zoom sensitivity to be minimal. That used to be much more responsive, restored
it to how it worked before.
Most notable difference from now on will be that all py is handled from current blender's resource dirs, no more from source dir. Better for consistency, and avoid e.g. cycles' addon to be checked twice...
Two example files that crashed texture nodes.
- On delete texture nodes, it should free the exec cache (because this cache
stores the node pointer.
- On redo, nodes can exist can exist without typeinfo set. Exec (free) code
was not checking for that. Don't ask me why this happens... tex nodes are weird.
Main purpose of this is to be more compatible with older
versions of blender (before alpha cleanup) where sequencer
used to display premultiplied image on an straight opengl
viewport.
Now sequencer preview would behave closer to image editor
However adding Alpha and R|G|B displays is not so simple
because sequencer is using 2D textures. Would be nice to
implement this options as well, but this is not so much
important IMO.
This hall fix
- #34453: VSE: Subtract function does not work properly
TODO: Make RGBA display default for our startup.blend
- linking groups into a scene now uses the objects original layers (some users have the layers set to useful values, so overwriting isnt so nice).
- dropping objects into the 3d view would make them active but not selected, a valid but confusing state, since most tools activate and select now objects.
This fixes the placement code of new files added to the sequencer timeline.
The old code tried to guess the strip position from the current mouse
pointer position.
Annoying effect: if you add a new strip using the menu, especially if the
file editor pops up, the strip ends up in nowheres land (most likely around
track 40, frame -200).
New behaviour: strips are always placed at cfra, which is the
sequencer equivalent to the 3D cursor (and that's where new objects in
3D editing end up).
Bonus feature: we try our best to guess the right track by finding the
nearest strip by type.
The patch was inspired by
[#32766] VSE: Add Strip on Current Frame
Thanks to venomgfx for the idea!
Also made it theraded linear solver, seems it makes
sense for iterative schur with inner iterations
enabled.
Use OpenMO's max therads called from bundler code
to detect how many threads to use. Could be changed
in a way that number of threads is passing in options
from blender side in the future.
Also removed redundant V3D definition from compiler's
flags.
This commits adds extra refirenment entry in the menu which is
"K1, K2" and which will apparently refine only this distortion
coefficients.
This would be useful in cases when you know for sure focal length
(which could be obtained from lens, EXIF and so) but not sure
about how good you manual calibration is.
Be careful tho, there're no internal constraints on this
coefficients so distortion model could just screw up into insane
values.
Would not expect any significant changes in solver behavior, but
it could be more accurate in some cases.
Switching projective intersection to ceres is marked as a TODO
for now.
in fact the keymap editor was missing other keymaps so added these too,
also updated keymap checker to make sure there is no mismatch with region/space types.
code is still unused, but the intention is to use this to solve the double sided
lighting problem on NVidia, and to make the materials work on OpenGL ES 2.0
eventually.
The code works and matches the fixed function lighting pretty much exactly, but
still needs optimizations. The actual integration in object draw will be
committed later when more fixing & testing, there's lots of different combinations
and unclear OpenGL state here.