correctly for deciding whether its pressed or not
- added 'add new' buttons to material & texture menus
is done by std_lib buttons in headerbuttons.c, now only for this.
doing it for ipowindow, sound, etc. has some weird consequences, save
that for later
- verified usage of 'setting2' color for databuttons only
- problem was in limiting the abuse of frontbuffer drawing as happended
a lot in 2.28 and older. the less the better...
- bug was not registering a curarea->win_swap=FRONT_OK, to indicate there
was only drawn in frontbuffer
- cleaned up calls further, and made sure it doesnt draw 1 vertex too many!
also means it works better with selecting in solid drawmode now, check!
(uhh.. i mean, then it doesnt print!)
- put back axis icon of 3d win to left/bottom corner.
it was only moved for tests with an extended header to the left...
- subsurd level '0' is possible again.
however; it was changed to '1' because convert-to-mesh crashes. the
subsurf code doesnt give a result when level is '0', causing the convert
routines to either crash, or deliver empty mesh...
I added a warning in the convert routine now, and dont do anything then.
- changed all glFlush() in glFinish() in editobject.c, which seems to be
the right magical call to show frontbuffer drawing.
- Added "Radio" to Material modes
- Fixed bug in bone.getParent (bug report on blender.org py forum)
- Added more types to object.shareFrom (method to share obdata)
- Added nmesh.get/setMaxSmoothAngle and nmesh.get/setSubDivLevels
- Updated NMesh doc
Fixes the different type of center for Mirror
Rename mirrormesh to mirrormenu
I'm looking for a hotkey for that. Will talk about it tomorrow during the meeting
(the one you make with uIDefBut(..., MENU, ...)
add a %i<nr> to the string, and the item gets <nr> as icon.
- added this to the 'mode' selectors in 3dwin and ipowin
- cleaned up code for modeselector pup... that was a bad ass one! :)
- fixed constraint popup menu (used icons)
- moved 'full' and 'View3d props' and 'background' items in menu to bottom
Hope Matt wont kill me for it, but these were about the only useful
ones there... :)
- little fix in interface.c for menus...
Instructions for how to add panels there:
- add a handler define code in BIF_space.h
- create a menu item that invokes a add_blockhandler()
- add to view3d_blockhandlers() the correct handler for it
- plus create a panel itself, just copy one... it needs some stuff
to get working, docs for that are for later
You now can adjust the way the default 'solid opengl' drawing happens.
It provides three lights now, all still located around your viewpoint.
In the UserSettings menu you can set them on/off, give location and
color / specularity.
Very nice to enhance modeling in solid drawmode :)
By default blender starts with 2 lights on now, but this is something we
can define in the default .b.blend later on.
(the first save didn't store paths or font settings!)
This is something I broke back at 2.28a :)
I'm suprised there were no bug reports on this, but it's fixed now! ;)
- subsurf also smoothed loose vertices, in a strange way that never showed
up until 'draw subsurf handles' was implemented.
fixed subsurf code not to include loose vertices anymore
- saving a file in editmode caused a new displaylist to made... fixed an
old bad hack from NaN period.
(displists are still lousy code...)
- fixed drawing vertices in frontbuffer on select.
the delay you see is because blender waits for 'rightmouse transform'.
Loop Select:
Selects a row (or loop) of faces in a mesh, keeps searching till it
finds a loop (End face == Start Face) or till it finds a dead end.
Loop Subdivide:
Searches for the same row/loop as loop select but inmediately
splits it in half.
Usage:
- Loop select:
Shift-R (or select->faceloop)
move mouse over mesh to see preview of selection
LMB to confirm selection, RMB or ESC to cancel
- Loop Subdivide:
Ctrl-R (or Mesh->Edges-> Loop Subdivide)
move mouse over mesh to see preview of the newly cut loop
LMB to confirm selection, RMB or ESC to cancel
Please test! (besides, it's fun to play with :)
Roel
- another click at pulldown menu doesnt close it anymore (annoying!)
- the order of Menus (from buttons) now is correctly flipped if needed
- had a LOAD of work on getting matrix code in interface.c cleaned up...
there was still a bug with automatic flipping of menus to prevent them
going outside the screen. should be solved now
- fixed crash: add new screen didnt work...
Aim was to find a simple & easy system, script alike, to add and configure
a toolbox system, so that others can experiment, but also of course Python.
Summary:
- spacebar calls it up. SHIFT+A still does old toolbox
- hold left or rightmouse for 0.4 second, and it pops up as well
this is experimental! Can be tweaked with Userdef var "ThresA"
- it is a little bit complete for Object mode only. Needs still work
at information desing/structure level
- the code works like an engine, interpreting structs like this:
static TBitem addmenu_curve[]= {
{ 0, "Bezier Curve", 0, NULL},
{ 0, "Bezier Circle", 1, NULL},
{ 0, "NURBS Curve", 2, NULL},
{ 0, "NURBS Circle", 3, NULL},
{ 0, "Path", 4, NULL},
{ -1, "", 0, do_info_add_curvemenu}};
- first value is ICON code,
- then name
- return value
- pointer to optional child
last row has -1 to indicate its the last...
plus a callback to event function.
I also built an old toolbox style callback for this:
static TBitem tb_object_select[]= {
{ 0, "Border Select|B", 'b', NULL},
{ 0, "(De)select All|A", 'a', NULL},
{ 0, "Linked...|Shift L", 'L', NULL},
{ 0, "Grouped...|Shift G", 'G', NULL},
{ -1, "", 0, tb_do_hotkey}};
here the return values are put back as hotkeys in mainqueue.
A mainloop can do all context switching, and build menus on the fly.
Meaning, it also allows other designs such as radials...
- removed draw rect from avi coded settings (should become label but)
- changing texture settings, now also updates lamp/material/world
preview when thats open
- uses callback mechanism to tell main drawing routine what to do
- for that reason it doesn't use frontbuffer drawing anymore
and it shows up in all 3d windows as well
- it uses the same colors as for the grid axes (I tweaked it a bit,
this is based at themecolors, and also should work in different
background and grid color)
- I disabled drawing lines through every object or every vertex.
The current display method is clear and not distracting
- when in 'local' transform (double press X/Y/Z), it displays a nice
axis in the center of transform for vertices.
In object-mode, local transform differs per object, so constraint lines
and axes are drawn for each individually...
Also:
- fixed an old bug in rotate transform(). Using a constraint for
rotation (X, Y, Z) didn't work for multiple objects at all!