Commit Graph

30055 Commits

Author SHA1 Message Date
Joshua Leung
ff5fb2f4ef Bugfix: Text Editor operators crash when invoked from Python/Console 2011-06-10 12:08:55 +00:00
Joshua Leung
ee71338724 Bugfix: Setting action for AnimData via RNA didn't change the
usercounts.

Cheers to Atom on BA for noticing this.
2011-06-09 12:44:38 +00:00
Benjy Cook
e4500096a5 retarget.py updated with function to complete the retarget to the end user, with inheritance and bone roll taken under account 2011-06-09 12:30:24 +00:00
Mitchell Stokes
b9abe6211f BGE Animations: Removing some redundant pose copies from BL_Action. 2011-06-06 23:35:24 +00:00
Mitchell Stokes
e18bea1cfc BGE Animations: Getting the Frame Property option of the Action Actuator working again. 2011-06-06 06:31:42 +00:00
Joerg Mueller
ef5f78ecc7 3D Audio GSoC:
Making it possible to access blenders internal sounds via Python.
2011-06-05 22:06:29 +00:00
Sukhitha Prabhath Jayathilake
f2daf2ca6b Add new animation export features.
- Bone animations are also exported as f-curve animations now. As a result euler rotaions of bones are also exported. All animations with BEZIER, LINEAR or STEP ipo are exported. 
- Quaternion rotations export.
- Object parented with armatures, animations to Armature Objects as a whole are also exported.
2011-06-05 18:58:22 +00:00
Joshua Leung
185663b52b FModifier Influence/BlendIn-Out
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
2011-06-04 06:22:01 +00:00
Joshua Leung
e27fe1c049 Actions are no longer created with Fake Users
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.
2011-06-04 02:23:17 +00:00
Joshua Leung
56e20eafe9 User Pref to not overwrite Recent Files list everytime you open a new
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 :)
2011-06-04 01:54:34 +00:00
Joerg Mueller
d1c542ce05 3D Audio GSoC:
Memory management improvements.
2011-06-03 23:28:57 +00:00
Joerg Mueller
cd04cff180 Merge with trunk revision 37149. 2011-06-03 23:24:01 +00:00
Joerg Mueller
71419c4647 Building fix: added missing include. Aligorith: would be nice to include needed headers for functions you use... 2011-06-03 23:12:34 +00:00
Sergey Sharybin
d84c6a3cdb Fix for linux buildslaves. Now they should be able to compile branches. 2011-06-03 21:36:39 +00:00
Brecht Van Lommel
06ca703737 BuildBot: various changes to support building branches. 2011-06-03 20:44:23 +00:00
Joshua Leung
05a1c144ad Experimental Feature: Frame Range Masks for FModifiers
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.
2011-06-03 13:34:02 +00:00
Dalai Felinto
ed072f2fef BugFix: [#27556] Replace mesh for gfx in "Edit Object" actuator act illogically + other booleans that are flipped
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
2011-06-03 07:53:55 +00:00
Janne Karhu
6480ab10db Fix for [#27461] Particle Instance modifier doesn't work correctly with Hair Dynamics.
* Wrong matrix used for dynamic hair.
2011-06-03 05:51:39 +00:00
Campbell Barton
7ee9becfa3 disable python/string enum duplication from last commit because the array of duplicated strings can be freed and the pointers to the strings referenced still, the problem with python freeing strings that RNA references remains. 2011-06-03 04:39:18 +00:00
Campbell Barton
089d997cbc when making the C/RNA copy of the python enum, duplicate all strings since theres no guarantee python wont free them immediately after, though in practice this isn't so common. 2011-06-03 04:21:41 +00:00
Campbell Barton
5332c602c9 pre-allocate the array when converting py/rna enums, also fix for memory leak with bad values. 2011-06-03 03:19:22 +00:00
Joerg Mueller
60f5b51484 Fix for [#27562] audaspace not playing files in blenderplayer
blenderplayer wasn't initialising ffmpeg

This might also fix [#27558] GE Sound works in Blender but not in runtimes
2011-06-02 23:25:38 +00:00
Campbell Barton
45093f50bc Quiet warnings for picky compilers. 2011-06-02 23:10:05 +00:00
Brecht Van Lommel
83609edd51 Fix related to #27309: group nodes with a linked datablock that was missing would crash. 2011-06-02 17:34:01 +00:00
Benjy Cook
fbff066a70 2nd commit of mine. Contains retarget.py, which has functions for retargeting an animated armature to a second one, given a user mapping of the hiearchy. Currently creates an intermediate skeleton that solves some of the major issues. WIP 2011-06-02 17:19:07 +00:00
Brecht Van Lommel
32368aac43 Fix #27241: crash with point density texture when using particle age/velocity
fallof for object vertices.
2011-06-02 16:59:12 +00:00
Campbell Barton
dd0522242a addons now show expanded list again (since Brecht's commit now makes it fast)
also add utility function for getting cleaned, unique names from python: bpy_extras.io_utils.unique_name(...)
2011-06-02 15:21:47 +00:00
Brecht Van Lommel
7138fef58a UI: fix two issues with expanded enum property buttons:
* 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
2011-06-02 14:18:51 +00:00
Joshua Leung
e3a46d05a7 Added operator to remove all useless unused actions from the current
.blend file.
* From operator search, find "Clear Useless Actions"
* "Action library" actions are preserved by this operator. It targets
actions without any F-Curves
* By default, only actions which are single-user (where that user is a
Fake user) will be targeted. This can be changed to have it target any
"dangling" action that doesn't have any F-Curves
* A save/reload cycle is still required to fully remove such Actions
from the current file. Though at least now it's a simpler process to
have these semi-automatically removed ;)
2011-06-02 13:03:46 +00:00
Andrea Weikert
b4872b84c8 fix for [#27410] Manual save kills actual .blend file if disk space is low
- 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!
2011-06-02 12:44:59 +00:00
Joshua Leung
02c6cb8039 Deleting keyframes usability tweak:
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).
2011-06-02 12:21:55 +00:00
Joshua Leung
072d350aab Time-Slide Fix:
Second attempt at fix for only having a single-key selected. In this
case, it just uses the start/end frame as it's min/max
2011-06-02 11:58:13 +00:00
Joshua Leung
b41427c66b Bugfix: "Time Slide" tool broken
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...
2011-06-02 11:51:38 +00:00
Campbell Barton
1ba4550d27 committed this by mistake. 2011-06-02 09:04:07 +00:00
Campbell Barton
ab2450a58d fix [#27557] Linked object (camera) should not be able to set position by using camera to view operator 2011-06-02 08:55:26 +00:00
Campbell Barton
dbe1f07c76 fix [#27553] Weird resulsts when animating opacity on (color) strip 2011-06-02 08:45:28 +00:00
Campbell Barton
d46da5a09d mathutils support for color arithmetic, also some minor whitespace edits. 2011-06-02 08:29:16 +00:00
Sergey Sharybin
211cd99cbc Fix #27539: Sculpt data is lost after editing base mesh
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.
2011-06-02 04:58:27 +00:00
Campbell Barton
97d7496c96 update to glew 1.6 from 1.5.8 2011-06-02 00:05:54 +00:00
Campbell Barton
22ca037c58 uninitialized variable was used when ensuring mirrored vertex groups. 2011-06-01 23:55:49 +00:00
Brecht Van Lommel
81982140b8 Fix #27550: texture node editor header was still showing texture datablock
selector even if there is no active texture slot or node, now it's disabled
in that case.
2011-06-01 16:17:38 +00:00
Brecht Van Lommel
f50fb549db UI: template_ID now takes into account if the property is editable. 2011-06-01 16:13:48 +00:00
Brecht Van Lommel
36cbd78bc3 Fix #27490: export key configuration gave error when trying to export
properties from an unknown (e.g. removed) operator.
2011-06-01 14:35:14 +00:00
Brecht Van Lommel
7b4aac3e34 Fix #27481: windows uninstaller could remove files unrelated to blender
when installing to a folder that already existed. Now the uninstaller
will remove only the files it has installed, and leave any other files
in the installation directory intact.
2011-06-01 13:13:55 +00:00
Brecht Van Lommel
a180bfe267 Fix #27541: f-curve generator modifier file read missed endian switch,
found by Guillaume Roguez.
2011-06-01 13:10:37 +00:00
Joshua Leung
dd43faa855 * Fix compiler warning from previous commit
* For new themes, size of handles in graph editor is now 4. Allows
them to be seen better. (TODO: .b.blend needs updating)
2011-06-01 11:55:28 +00:00
Mitchell Stokes
39bbf3854a BGE Animations: Reimplemented the continuous function of the action actuator.
* To do this, I've added Get/SetFrame() functions.
  * I've also cleaned up a little bit of the wrap around logic in BL_Action.cpp.
2011-06-01 07:42:40 +00:00
Mitchell Stokes
6394261e54 BGE Animations: Removing guards that prevent the action actuator from being used on non-armatures. Object animation works through this actuator now too. :) 2011-06-01 06:43:10 +00:00
Joshua Leung
23888be423 Usability Tweak [#27469]
Adding/Rename markers (M/Ctrl-M) were restricted to only being
available when the mouse was hovering just over the time scroller at
the bottom of animation editors, as otherwise we'd get nasty keymap
conflicts where markers keymap would block all the primary function
keymaps.

However, in the case of Adding/Renaming markers, there are no other
keys which currently conflict with these in such cases. Hence, it is
fine to let these ones be able to be run from anywhere within the
animation editors, which should make it easier to add markers for
lipsyncing purposes again for example.
2011-06-01 06:26:54 +00:00
Joshua Leung
c6dbb0b201 Bugfix [#27535] Insert delta key via IKey menu doesn't work well
Index needed to be incrememented regardless of whether Keying Set is
able to be shown, otherwise lookup fails with wrong Keying Set found
2011-06-01 06:09:34 +00:00