利用者:Aligorith/250 AnimSys Patches

提供: wiki
移動先: 案内検索

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