graph editor:
- option "extend mode" requires channel-selection. Moved pulldown menu
from Key to Channel instead
- hotkey SHIFT+E for same operation now works both in channel list as in
main view.
Text edit mode (3d): brought back the ALT+Backspace mode for
typing accented characters. Works with an operator property,
so the hotkey for it is free to define.
Example: type 'a', alt+backspace and then 'o'
works to combine characters with ' ` ~ o / and ^
* Calling update_children(..) is very light if there's nothing to update, so it doesn't matter if it's called every time the particle system is updated.
[#25159] Vertex locations dont read correctly and are not labeled correctly in the properties bar.
- non rna buttons can now have units set.
- calls with invalid units system now raises an assert().
- include .mxf in filter.
This is need to properly handle 3d text (dalai work on GE), before
the BLF_aspect only take one argument, and the result was a call to:
glScalef(aspect, aspect, 1.0)
Now the three value are store in the font (x, y and z) and also
need to be enable using BLF_enable(BLF_ASPECT).
By default all the code that don't have BLF_ASPECT enable work with
a scale of 1.0 (so nothing change to the current UI).
I also remove all the call of BLF_aspect(fontid, 1.0) found in
the editors, because is disable by default, so no need any more.
Campbell the only thing to check is the python api, right now
I modify the api to from:
BLF_aspect(fontid, aspect)
to:
BLF_aspect(fontid, aspect, aspect, 1.0)
This is to avoid break the api, but now you need add the BLF_ASPECT
option to the function py_blf_enable and in some point change
py_blf_aspect to take 3 arguments.
I still have to learn more of the recent changes in code :)
Didn't know the handle type options became a menu for Curve edit mode.
Providing much-used tools non-modal (direct) really should have
preference. Pull down is not very accessible here though, will
check on it later. :)
This restores H, Shift+H, V and alt+H for handle setting.
Graph editor: hotkeys for handles restored; they work immediate
and non modal now (menu was ugly and slow). Uses similar options
as 3d curve editing, but not toggling 'aligned'
HKEY: sets aligned
SHIFT+H: sets auto
ALT+H: sets free handle
VKEY: vector handle
In windows this was producing Linking dependence errors because we have BLF_api.h in the /blenfont/ and blf_api.h in /python/generic/. It doesn't produces crash out of the box but I was trying to link both "api" files to the same project (Ketjsi folder). For the linking order was determining what header to use. A workaround is to "include" the file using some ../../ relative folder. But renaming it is less error prone.
Probably Ketsji folder shouldn't link to BLF_api.h anyways, but this is something I will look better later before another commit. In the mean time it's not a good idea to have 2 api files with the same name (for non case-sensitive systems).
Two isses:
- Material assigning to MetaBalls used wrong pointer
(copy paste error, casting badly).
- Checking for node-material used wrong RNA pointer
(confusing void stuff going on here!)
The error leads to corruption in data and/or random
crashes. Better update svn now!
- Pasting from 1 fcurve to any other fcurve now works (skip index and rna path checking).
- Pasting multiple fcurves between bones now works.
- If path checking fails, pasting matches indices so Scale XYZ can be pasted into Location XYZ for eg.
This option allow the user to set a 4x4 matrix to be
multiplied before draw the text, for example:
double *m;
/* Get the matrix or build it! */
BLF_matrix(m);
BLF_enable(BLF_MATRIX);
/* set color, size, etc and draw! */
BLF_disable(BLF_MATRIX);
You don't need the last line (disable), but remember
that if you use the font to draw in any other place,
the matrix will be used!.
The GL code is:
glPushMatrix();
glMultMatrixd(m);
glTranslatef();
glScalef();
glRotatef();
glPopMatrix();
Let's Dalai test this!!! :D
* Textures applied to halo materials showed influence option for normal particles. This was really confusing, and with the cleanup I revealed a couple of hidden features too!
** Particles actually allow for textures to change halo size and hardness, but my guess is that nobody knew since the names were wrong in the ui!
** I also added the option to change the "add" value with a texture, since it was just silly not to have it.
* Halo material properties are also a bit cleaner now.
The texture node is procedural; like RGB node it has no real buffers,
but allows per-pixel reading. The compositor uses nodes that directly
access buffers too, which conflicts with it... needs more design here.
Restored old functionality that just passes on preview size buffers
for nodes to prevent crashes. Giving it a render-size buffer is not
nice; the resolution-independence of texture nodes is interesting to
keep.
Solution could be:
- visually tag input/output sockets for this case (sockets with buffers,
vs sockets with values), so users know what to expect.
from the tracker:
"""The required functionality is provided by the localOrientation property: setting this value will change the dynamic object orientation. This is because dynamic object have no parent and thus the local and world orientation are identical. However, setting worldOrientation will only change the scenegraph node, which has no effect as the physics controller will reset the orientation on next physics synchronization."""
- This is working correctly but confusing, made more confusing by UI problems, corrected these and updated tooltop for 'tex.use_rgb_to_intensity'
- bad RNA arguments used for lamps (left over from RNA renaming).
- use isinstance(...), rather then comparing type() directly, this failed with lamp type checks.
- removed redundant argument to internal texture UI function factor_but().
- the texture color was drawn inactive when it was used in some cases.
Note. AFAIK its not possible to do a general check to see if a texture is colored or not, eg: its possible a plugin texture returns color in some cases and greyscale in others.
so for now always have color button active.
Remove pose channel select, this is for internal use on read/write only.
Its possible to have a convenience attribute but rather not fake bone data being in the pose channel. just access pose_bone.bone.select