利用者:Aligorith/250 AnimSys Patches
Disclaimer
These patches are provided here for entertainment purposes only (currently). They only serve a few purposes currently: 1) act as backup for my work, 2) allow others to view what has been done so far. At no stage do I guarantee that anything is meant to work.
Current Patch
Link
http://aligorith.googlepages.com/animsystem_20071130.patch
Notes
- Code reshuffled, reformatted. Currently doesn't compile due to old code not yet replaced.
- IpoCurve and IpoDriver stuff has been moved from DNA_curve_types.h to DNA_ipo_types.h as they really belong there instead
- Replaced adrcode system with bKeyableType system
- Only some types have been prepared... currently this is a hardcoded system for default keyable values, then allow for additional things that can be added flexibly at runtime
- sdna2kt is now complete! This PyScript is run to automagically generate the keyabletypes.c file, which contains the keyable-type definitions.
- A few files have already had a bit of cleanup done to allow the parser to read them - DNA_object_types.h, DNA_material_types.h, DNA_action_types.h, DNA_constraint_types.h, although they haven't been completely converted yet.
- The whole access to keyabletypes needs to be checked again after reshuffle (was a bit rushed)
- Implemented 'euler' curves for pose-channel interpolation (quat curves are still around, and will be improved once some ideas about that are made. This will be slower due to overhead of quat->eul->quat conversions)
- Clumped set of animation-data that blocktypes can have together in a struct
- Many blocktypes can have their own set of nla tracks + action + ipo
- Piecewise interpolation of ipo-curves halfway done... now just need to fix tools that depended on some things
- A function has been added, which sets the interpolation mode for all BezTriples in a curve.
- Keyframing code half-recoded. insert_key (+ visual/smarter keyframing) recoded.
- common_insertkey and helpers implementation started. It will generate a menu displaying the "keying sets" that are available, using BLI_dynstr to help build that menu-string.
- Begun work on NLA-system (but not included in the patch yet)
- Code to provide backwards compatability now partially exists
- Not all old types are converted yet... only a few have been implemented so far as a test
- Bitfields will need special handling... I've yet to decide how to approach this