* template_modifier creates the modifier box, and returns a layout
to put the buttons in.
* Only the armature modifier is now done with python code, all other
modifiers use C code. To convert a modifier to python, remove the
corresponding C code and create a function in DATA_PT_modifiers.
* Some modifiers still require some RNA work to get it working well,
especially to make pointers editable. Mostly that is a matter of
defining an own _set callback and put some of the modifier C code
into it.
* Still various buttons that don't work, like for hooks or mesh
deform binding.
* Fix for crashing decimate modifier (still disabled).
* Removed UI_BUT_NO_HILITE, HMENU.
* Make uiLayoutBox work with align.
- Brought back code for particle edit and fluidsim
- Sanitized code from globals and bad level calls,
so its ready to come back working.
- Fixed cirle selecting (Ckey now)
- Enabled undo for editmode curve, armature, particle
and lattice
(another commit following)
View3D has been split now in a local part (RegionView3D) and a
per-area part (old View3D). Currently local is:
- view transform
- camera zoom/offset
- gpencil (todo)
- custom clipping planes
Rest is in Area still, like active camera, draw type, layers,
localview, custom centers, around-settings, transform widget,
gridlines, and so on (mostly stuff as available in header).
To see it work; also added new feature for region split,
press SHIFT+ALT+CTRL+S for four-split.
The idea is to make a preset 4-split, configured to stick
to top/right/front views for three views.
Another cool idea to explore is to then box-clip all drawing
based on these 3 views.
Note about the code:
- currently view3d still stores some depricated settings, to
convert from older files. Not all settings are copied over
though, like custom clip planes or the 'lock view to object'.
- since some view3d ops are now on area level, the operators
for it should keep track of that.
Bugfix in transform: quat initialize in operator-invoke missed
one zero.
Als brought back GE to compile for missing Ipos and channels.
- Added shift+d duplicate for object and editmode mesh.
Note it uses WM_operator_name_call(), which is fine now,
but in future might put again 2 undo's and operators on
the stack.
Will have to spend some time on how Macros will work!
- added itterator CTX_selected_editable_objects()
(named it first "edible" but that was too funny!)
Also cleaned object_edit.c to use this correctly.
- added CTX_wm_view3d(), especially for hybrid tools
that *can* use view3d, but don't have to.
- moved debug -d print for operators to the real invoke call
Organized as follows:
uvedit/
uv editing related code
uvedit_draw.c: drawing code
uvedit_ops.c: operators, just a few done
uvedit_unwrap_ops.c: will be operators for unwrapping
uvedit_paramatrizer.c: lscm/abf/stretch/pack
space_image/
space_image.c: registration and common getter/setters
image_draw.c: drawing code, mostly functional
image_panels.c: panels, all commented out
image_render.c: render callbacks, non functional
image_ops.c: operators, only view navigation done
image_header.c: header, menus mostly done but missing buttons
Notes:
* Header menus consist only of Operator and RNA buttons, if they
are not implemented they're displayed grayed out. Ideally the full
header could work like this, but std_libbuttons looks problematic.
* Started using view2d code more than the old code, but for now it
still does own view2d management due to some very specific
requirements that the image window has. The drawing code however
is more clear hopefully, it only uses view2d, and there is no
switching between 'p' and 'f' view2d's anymore, it is always 'f'.
* In order to make uvedit operators more independent I move some
image space settings to scene toolsettings, and the current image
and its buffer is in the context. Especially sync selection and
select mode belonged there anyway as this cannot work correct with
different spaces having different settings anyway.
* Image paint is not back yet, did not want to put that together with
uvedit because there's really no code sharing.. perhaps vertex paint,
image paint and sculpt would be good to have in one module to share
brush code, partial redraw, etc better.
Another one back: editcurve.c
- removed global editNurb everywhere
(cu->editnurb now has listbase with edit data)
- also added 'active bpoint' and 'active nurb' in
Curve struct
- editmode in/out works, mouse/border select works
- restored three more C files: editlattice, editkey
and editgroup
- editmode lattice working, (mouse select works)
- accidentally removed yesterday 3d cursor drawing
- removed global editLatt entirely now.
Instead of many commits, here 1!
- Constraint edit code back
- Removed XXX stubs for constraints
(make parent follow path works)
- Removed XXX stubs for armature
(make parent deform, do center, etc works)
- Found a bad uninitialized global Scene * in code, especially
in kernel it wreaked havoc.
- added missing include in blenkernel/brush.c
- fixed Nicholas' fix for editmode subsurf crash
(It needed to check for editmode)
Put back Armature/Pose code, including 'heat weight'.
I've added reeb.h to get things compile, but Martin will
cleanup files and put back?
Now where to put all vertexgroup code.... I guess mesh?
Note for msvc: yep, another new dir to add! :)
- Put back vertex/edge/face select
- Mode menu allows going in/out editmode
- Tested some tweak event stuff in WM, made tweak event follow
user preset for 'action' or 'select' mouse.
(Wanted to try this for transform, but better get advise from
Martin first :)
Editmesh code cleaned and compiling/linking. A whopping
20k lines back! :)
Not that it does stuff... editmode in/out has to be done,
and loads of operators. Also linking/exporting editmesh
calls has to be reviewed.
Also: added a blender_test_break() mechanism in BKE.
More notifier cleanups:
NC_SCENE|ND_OB_SELECT : scene level object selections changed
NC_SCENE|ND_OB_ACTIVE : scene level, new active object
NC_OBJECT|ND_BONE_SELECT : object level, bone selection changed
NC_OBJECT|ND_BONE_ACTIVE: object level, new active bone
I've made view3d listen to these, so operators that change
selections don't have to tag own region for redraw anymore.
Also enabled selecting/activating in outliner again.
BTW: Added it in space_action, but Joshua has to code the
proper refresh still :)
Object: converted the old horrible editobject.c, now as file:
editors/object/object_edit.c
Still lots of WIP, I've operatorified "Make Parent". Check here
the new API at work: http://pasteall.org/3650/c
IMPORTANT NOTE FOR BRECHT:
game property defines were clashing with RNA, i've renamed game
defines for now.
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
review, wait a bit for docs?
Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.