Now there's an option for the owner to follow the path of the target cyclically. Previously, if the owner moved past the extents of the side of the bounding-box used for the calculations, the object was placed on the curve at the nearest extent.
This option is only really useful if the curve itself is cyclic, although you can still use it otherwise. To enable, just turn on the cyclic option.
This commit fixes several bugs related to animating armatures. I've also tidied up the formatting in a few files along the way, and also commented the flags for this pose->flag.
What's new/fixed:
* Undo will no longer destroy entire un-keyframed poses. Now it behaves as expected, and only reverses the most recent change.
* On some files, POSE_DO_UNLOCK somehow got set on files and never cleared. The symptom of this was a file in which you suddenly could no longer pose an armature at all without using auto-keyframing. A check to prevent this from happening again has been added (it will also fix old files too)
Notes:
- Now, all PoseChannels get tagged with BONE_UNKEYED after they have been transformed. This flag prevents IPO data being flushed over these new values, even after undo.
- These tags only get removed on frame-changes or inserting new keyframes.
this bug is in 2.45 but can work around by setting it manually
---
import sys as pysys
try:
pysys.modules['__main__'].__arm_weakrefs
except:
pysys.modules['__main__'].__arm_weakrefs = {}
---
changed how draw modes work - when displaying textured meshes in editmode, only draw selected edges when "Edge Draw" is not enabled. this makes it easy to see the texture/mapping without edges getting in the way.
This means editmode can draw like UV/Face mode did when "Draw Edges" was disabled.
Also made the active vert/edge/face color themeable, still need to set the default to somthing other then pink.
using the last selected face was almost good enough however when selecting verts and edges the last selected face would become inactive and the space image would flicker about too much.
The active face is used for getting the space image at the moment and keeps scripts that use this flag working also.
This has 2 commands to get and set, so the variable is not accessed directly.
all "UV Calculate" scripts work now
last commit crashed when in solid draw mode, it seems subsurf modifier is ignoring the displayMask since MTFACE is available. just made it do a null check for now.
uvcalc_follow_active_coords.py - should be done inC and put in the snap menu.
this is really slow, its unuseable on suzanne subdivided twice on my computer with 2.45 and trunk, this could be sped up however it would need to be subsurf spesific.
Bumped the subversion to 2, so the default aspect is set to 1:1.
Made "Repeat Image" option time image drawing and bail out early if its taking too long. (quater of a sec max) this could be avoided if the texture was drawn on a quad, but that wouldnt support other image draw options.
This is a good short term solution because it was possibly to lock up blender if you zoomed out a long way then enabled "Repeat Image".
made the UV layer menu a generic functions (can make a menu from the names of any custimdata layer type)
added a menu in the UV window for selecting teh editnmode UV layer - If there ends up not being enough room in the header this may need to be removed.
this is mainly because adding pose keyframes recalculates every handle so importing became increasingly slow.
added a 'fast' argument to insertkey that python api's insertPoseKey can make use of since it alredy accepts a 'fast' option.
The ~4450 frame, 31 bone BVH imports in ~108sec now
Seperated editmode switch statement in space.c's event handling,
if editmode is disabled, or the images is a render or composite, UV editing operations are ignored.
In previous releases it has given an annoying warning if selecting or scaling is attempted when out of UV/Face mode.
Now it is possible to do Copy+Paste in the Action Editor, like in the IPO Editor. There are two new buttons in the Action Editor header for this, using the familiar icons.
* To copy...
Select the keyframes you wish to copy, and the channels that they occur in (except for ShapeKey mode, where it is not possible to select channels). Click copy button.
* To paste...
Place the current frame where you want the first of the keyframes from the buffer is to be pasted. Select all channels you wish the keyframes to be pasted into. Click paste button.
Currently, keyframes are only pasted into 'compatible' curves (i.e. LocX keyframes can only go to LocX, and so on). This may change after user feedback, if this is found to be too restrictive.
== Code Changes ==
I've made a few changes which allow this code to be nicer.
* renamed insert_vert_ipo to insert_vert_icu, as that represents its actual purpose better (and changed all occurrences I could find)
* created a new function, insert_bezt_icu, which does the actual inserting of provided BezTriple data to a given IpoCurve
* recoded insert_vert_icu to use this new function, and also the IPO-Editor keyframe pasting (i.e. pasting in Editmode)
added a stap menu to the UV/Image window for snapping the selection and cursor.
reverted to drawing face dots in editmode when Limit Selection is enabled. even though its not needed for selection its consistent and dosnt look like modes are being changed.
* added CustomData_set_layer_active_index and CustomData_set_layer_render_index
since they did not accept values from CustomData_get_active_layer_index and CustomData_get_render_layer_index
* fixed some warnings
* made the colored edge in active face draw mode only display when texture mode enabled.
* Does not indicate that UV's exist, nor does it add UV's when used.
* Only accessible for texturepaint, vertexpaint and weightpaint from a button in the header (Paint Selection Mask)
* Not accessible from the mode menu, this is only an option that applies to paint modes.
This dosnt effect DNA, face select (G_FACESELECT) can be enabled at any time but is only used when paint modes are enabled.
Other changes
* UKey is uv unwrap in editmode, Ukey for undo was editmode only anyway.
* UVCalc in editmode adds a UV Layer if there is not one alredy.
* texture draw in editmode does not draw the face dots (they are get in the way of texturing)
* some missing updates were added.
* removed manipulator from when paint modes are enabled since the manipulator is not drawn in the 3d view.
Notes
* you cant edit UV's in the image window in "UV Face Select" mode. (removed UV from the name)
* going into Face Select mode no longer adds UV's and does not need UV's to work.
* The UV Calculation menu is now in editmode (Alt+W)
Todo..
* Image replace - partly broken in stable also.
* Rotate/Mirror UV/VCol are still only in Face Select mode.
* Hide/Reveal is not quite right, (issue with editmode flushing)
found by Riku Palomäki, was that "bridge" vertices (which connect two or more
faces that don't share edges) were not being included in the maximum final
vertex count calculation (used for memory allocation, hence the crashes).
Unfortunately Riku's patch actually stopped bridge vertices from being split
correctly, so I have fixed the problem by adding the maximum number of vertices
that can be generated from bridge vertices to the maximum final vertex count.
Thanks to Riku Palomäki for finding the cause!
NLA was calculating extensions of strips in the wrong order. This was not an issue in many cases, although it is highlighted in the following case:
[strip 1 - 'hold' is on] ----------------------------
[strip 2 ]
Logically, the end of strip 1 would hold on until the start of strip 2. However, the start of strip 2 was extended to the end of strip 1 instead.