RNA / Data API
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 31 Oct 2008 23:50:02 +0000 (23:50 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 31 Oct 2008 23:50:02 +0000 (23:50 +0000)
commit7f24dbe5fc5a00ee161717070deb6baf4af8e83e
tree3d62a641123bdd8c61e9d2bf5b40203befac2597
parentb589489ef8d56976165fb88ebf7b59dbc417d443
RNA / Data API

This is the first code for the Data API, also known as RNA system in the
2.5 Branch. It does not include a user interface, and only wraps some
Scene properties for testing. It is integrated with Scons and Makefiles,
and compiles a 'makesrna' program that generates an RNA.c file.

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataAPI
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA

The changes are quite local, basically adding a makesrna module which
works similar to the makesdna module. The one external change is in
moving genfile.c from blenloader to the makesdna module, so that it can
be reused by the RNA code. This also meant changing the DNA makefiles.
It seems to be doing dependencies correct still in my tests, but if
there is an issue with the DNA not being rebuilt this commit might be
the one causing it. Also it seems for scons the makesdna and makesrna
modules are compiling without warnings. Not a new issue but this should
be fixed.

The RNA code supports all types as defined in the Data API design, so
in that sense it is fairly complete and I hope that aspect will not
have to change much. Some obviously missing parts are context related
code, notify() functions for updates and user defined / ID properties.
25 files changed:
source/Makefile
source/blender/Makefile
source/blender/SConscript
source/blender/blenloader/intern/readblenentry.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/makesdna/DNA_genfile.h [moved from source/blender/blenloader/intern/genfile.h with 65% similarity]
source/blender/makesdna/DNA_sdna_types.h
source/blender/makesdna/SConscript
source/blender/makesdna/intern/Makefile
source/blender/makesdna/intern/SConscript
source/blender/makesdna/intern/dna_genfile.c [moved from source/blender/blenloader/intern/genfile.c with 86% similarity]
source/blender/makesrna/Makefile [new file with mode: 0644]
source/blender/makesrna/RNA_access.h [new file with mode: 0644]
source/blender/makesrna/RNA_define.h [new file with mode: 0644]
source/blender/makesrna/RNA_types.h [new file with mode: 0644]
source/blender/makesrna/SConscript [new file with mode: 0644]
source/blender/makesrna/intern/Makefile [new file with mode: 0644]
source/blender/makesrna/intern/SConscript [new file with mode: 0644]
source/blender/makesrna/intern/makesrna.c [new file with mode: 0644]
source/blender/makesrna/intern/rna_access.c [new file with mode: 0644]
source/blender/makesrna/intern/rna_define.c [new file with mode: 0644]
source/blender/makesrna/intern/rna_internal.h [new file with mode: 0644]
source/blender/makesrna/intern/rna_object.c [moved from source/blender/blenloader/BLO_genfile.h with 56% similarity]
source/blender/makesrna/intern/rna_scene.c [new file with mode: 0644]