From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

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

Previous Patches