* Added more DNA_color_types.h, starting from patch by Sebastian Skejø.
What's missing is write access to some things like point location,
hard to retrieve the CurveMapping for proper update still..
* Added all datablocks as ID pointer in Main already, now only have to
change the type from ID to the specific type. Also added filename
to Main, which is basically the only non-internal property.
* Fixed setting shadow buffers size in lamps, also ensured it to be a
multiple of 16.
* Added more lamp properties. (patch by Michael Fox)
* Fix a number of warnings in the RNA code.
* Converted DOS line endings to UNIX.
* Added some information on defining ID structs, and fixed use
of "ID" inheritance for some non-ID structs.
* Added text on naming conventions to the RNA documentation, and
applied it to the current code.
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA#Naming_Conventions
* Wrap most user editable data in DNA_mesh_types.h and DNA_meshdata_types.h.
Still needs to be improved in some areas though, especially how to deal
with data layers (expose per element or as array, or both?), and data in
face corners (bmesh type data structures are more logical here).
Tweaks to RNA defining to make some cases easier:
* Added range callback function for int/float.
* Added 'skip' callback for listbase and array iterators to skip items in
the collection.
* Extra error print when calling wrong define_property_*_sdna functions.
* Also made button code respect non_editable flag, is quick change though,
need to add support for properly graying out etc.
* More ID property support. What was already possible was showing
ID properties as RNA properties. Now it is possible to define
RNA properties and have an ID property automatically created the
first time it is set (if not set it retuns the default).
* Added support for defining RNA structs and properties at runtime.
This is useful for python and plugins, and could also be used
for operators, not sure yet what is best there, they could be done
in preprocess for speed, but not sure how to do that while keeping
operator registration a single function.
* Added quick functions to get/set properties based on names, to be
used for operators.
* Added some simple support for inheritance, was already doing this
but having it as a feature simplifies things. Two things were added
for this: when defining a struct you can give a 'from' struct whose
properties will be copied, and structs like ID, operator, modifier,
can define a refine callback that will return the more specific type
of the struct like ID -> Object, Mesh, .. .
* Added simple windowmanager wrap with only the registered operators
list, used for testing RNA for operators.
* Added start of lamp wrapping (code by Michael Fox).
* Add back Object.data, was crashing with unknown data type.
* Added support for using consecutive variables like float r, g, b;
as an array without writing a manual get/set function.
* Also note the RNA documentation is updated now to be more
about how to define RNA and use it, including some diagrams.
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA