- fix: user pref, window title was reset to 'Blender' on tab usage
- Undo history menu back:
- name "Undo History"
- hotkey alt+ctrl+z (alt+apple+z for mac)
- works like 2.4x, only for global undo, editmode and particle edit.
- Menu scroll
- for small windows or screens, popup menus now allow to display
all items, using internal scrolling
- works with a timer, scrolling 10 items per second when mouse
is over the top or bottom arrow
- if menu is too big to display, it now draws to top or bottom,
based on largest available space.
- also works for hotkey driven pop up menus.
- User pref "DPI" follows widget/layout size
- widgets & headers now become bigger and smaller, to match
'dpi' font sizes. Works well to match UI to monitor size.
- note that icons can get fuzzy, we need better mipmaps for it
Following on from my commit to introduce frame ranges for FModifiers,
those frame ranges can now have blend in/out values. By setting a
blendin or blendout value, you're specifying the number of frames for
the modifier's "full influence" to take effect or fade out relative to
the start/end frames.
The "full influence" above needs a little clarification.
When the "use influence" setting is enabled, "full influence" is taken
from the "influence" slider (a new setting). Otherwise, it uses 1.0
(i.e. unmodified influence, same as old behaviour before the
introduction of influence controls). The influence slider basically
says how much the modifier's effects are allowed to contribute to the
final result.
---
Notes:
- This opt-in "Use Influence" approach is really forced upon us
because there are heaps of old files for which we cannot easily
version patch without spending some effort going through all the data
in the file, hunting out the F-Modifiers.
- interpf() seems to use a backwards order compared to everything else
Due to overwhelming support from animators, Actions are no longer
created with fake users by default. If you're mainly creating action
libraries (the primary use case and argument for having this, mostly
used for creating a set of motions for games or perhaps to use in
NLA), you're really in the minority here.
For the most part, fake users just lead to heaps of "dangling" actions
in files which newbies (and even experienced users) may often be
unaware of. Since Fake Users are really more of an "opt-in" system
everywhere else (i.e. when creating Material Libraries), the same
should applied for Actions and creating Action Libraries.
file
This is just a more formalised version of a local hack I've been
running locally for the past year now. It's especially useful when you
want to maintain your own set of recently opened test files (or
perhaps current project files), but then be able to quickly open some
.blend files downloaded from the web (i.e. checking out some bug
report, or how someone else sets up some node setup) without
loosing/polluting your existing recent files list as a result of doing
so, and having to either resort to some nasty methods to get it back.
Of course, this is still really hacky, as for instance, it means that
the currently opened file will not show up in the recent files list
for quick reload. However, that's why this is a userpref :)
Made my 3 new buttons only appear in weight paint mode when there are vertex groups present
in properties_data_mesh.py
I took the now redundant check box out of properties_data_mesh.py
I took out unnecessary code (resulting from copy/paste) from my lock all, unlock all, and invert all functions of object/object_vgroup.c
(and I got rid of a new line in paint_vertex.c :) )
Using this feature, it is now possible to for example have different
noise-profiles for different parts of a curve, which makes it possible
to do animate camera shake for example.
Or perhaps, for having greater control of mixing and matching
different parts of F-Modifier effects, such as combining several
generator modifiers to get multi-case functions for instance.
See http://aligorith.blogspot.com/2011/06/gsoc11-fmodifier-range-
masks.html for details.
Now I think we are all good. We still have a few actuators that were using TOGN before but that I didn't make as negative_boolean.
All fixed now:
- parent actuator
- edit object actuator
- action actuator
- shape actuator
* they were too slow for dynamic python enums, calling the callback
to list the items for each button, to get a tooltip
* enum tooltips sometimes were showing the same description twice
- moved do_history into WM_write_file after successful write of .blend@ temporary file
- Added new file flag, to avoid writing history on writing the startup.blend, autosave files and undo.
Thanks Campbell, Brecht for review!
There won't be dangling "empty" actions left behind anymore in the
DopeSheet channel list after you've deleted all their keyframes (and
don't want to add keyframes to them anymore).
Of course, this poses problems with more actions getting created if
you then go and keyframe those objects again. If this does turn out to
be an equally bad problem, then another approach from the channel
filtering code side (probably aided by the restructed code) will help
(though doesn't solve the problem where people complain of having
heaps of "empty" actions dangling from objects they no longer want
animated).
Dunno how long this has been broken for (*), but the Time Slide
transform tool in DopeSheet no longer did anything most of the time.
It appeared to be be caused by some blotched indexing code from ages
ago. I've fixed this problem, as well as preventing the case where it
would also give errors when only a single key was selected.
(*) Does anyone actually use this tool? IIRC, this was added during
Orange, though I can't find the commit for this anymore or why it was
added. Probably it might be better to just let it go...
Copy unifont..ttf.gz from source tree to target datafile path( now ONLY works with cmake );
Set the locale the same with system's setting;
If need unicode font, unzip and load unifont when init ui styles;
Apply gettext() to labels in space_info.py, who are the main menu items.
Each of these should have been commit one by one. As they work well according to my tests, so I just lazily send a long list.
Face's totdisp was set to correct value, but memory hasn't been
allocated for disps. Handle this in multires_topology_changed(),
so the whole MDISPS layer wouldn't be totally re-allocated when
applying displacement.
unlocked misc vertex groups should no longer have any involvement in the redistribution of weights.
I may need a better auto normalize solution, however, because the weights can become 0 with enough division.