like so: [opname] [slotname]=%[format code] Before it was relying on the input format codes being in the same proper order as the slots, which seemed like a potential maintainance nightmare to me. Also the flags for creating buffers from bmop flags or header flags, now support additional modifiers for combining vert/edge/face inputs. E.g. %hfvef would accept all geometry with a header flag, and %fef would accept edges and faces with a certain bmop flag set. Example from the UI code: if (!EDBM_CallOpf(em, op, "del geom=%hf context=%d", BM_SELECT, DEL_ONLYFACES)) return OPERATOR_CANCELLED; (remember EDBM_CallOpf is the UI wrapper for this that does conversion, error reporting, etc). On todo is cleaning up/splitting bmesh_operators.h, since it's kindof a mesh right now. I'm thinking of adding the slot names in comments next to the slot ids, but I definitely would have to clean up bmesh_operators.h first, or it'd just be too chaotic for me. BTW, the operator API should now have enough meta info to wrap with a scripting language, not that it matters since that's not happening till much much later. Also hopefully corrected some SConscripts, fix mostly provided by Elia Sarti, though I also copied some SConscripts from 2.5 (not sure if doing so was especially helpful). Finally, I refactored a few places to use the new operator calling api, as an example of how this is beneficial.
23 lines
791 B
Python
23 lines
791 B
Python
#!/usr/bin/python
|
|
Import ('env')
|
|
|
|
sources = env.Glob('intern/*.c')
|
|
|
|
#incs = '#/intern/guardedalloc ../blenlib ../makesdna ../blenkernel'
|
|
#incs += ' ../imbuf ../editors/include ../render/extern/include ../render/intern/include'
|
|
|
|
incs = '. ../editors/include ../python ../makesdna ../blenlib ../blenkernel'
|
|
incs += ' ../nodes ../imbuf ../blenloader ../render/extern/include'
|
|
incs += ' ../ftfont ../radiosity/extern/include ../../kernel/gen_system'
|
|
incs += ' ../makesrna ../gpu ../blenfont'
|
|
|
|
incs += ' #/intern/guardedalloc #/intern/memutil #/intern/ghost #/intern/bmfont'
|
|
incs += ' #/intern/elbeem #/extern/glew/include'
|
|
|
|
defs = []
|
|
|
|
if not env['WITH_BF_PYTHON']:
|
|
defs.append('DISABLE_PYTHON')
|
|
|
|
env.BlenderLib ( 'bf_windowmanager', sources, Split(incs), defs, libtype=['core'], priority=[5] )
|