12 years agomerge with 2.5 at r18865
Joseph Eagar [Sun, 8 Feb 2009 14:25:04 +0000 (14:25 +0000)]
merge with 2.5 at r18865

12 years agoforgot that you can't simply grow an array by one, when your rotating your indexes.
Joseph Eagar [Sun, 8 Feb 2009 12:41:13 +0000 (12:41 +0000)]
forgot that you can't simply grow an array by one, when your rotating your indexes.

12 years ago2.5
Ton Roosendaal [Sun, 8 Feb 2009 12:16:35 +0000 (12:16 +0000)]

Scene browse button now works.
Note that animsys currently executes animation for the entire
database, so multiple scenes in multiple windows don't work yet.

Various fixes:

- crash on invoking filewindow when mouse outside (active) window
- removed obsolete error prints (set screen error, copy data error)
- displist fix for loading files with curve/nurbs, the select-outline
  then didnt draw immediately.
- outliner allows scene activating

12 years agobmesh esubdivide now supports one of the selection actions the editmesh does (so...
Joseph Eagar [Sun, 8 Feb 2009 11:53:14 +0000 (11:53 +0000)]
bmesh esubdivide now supports one of the selection actions the editmesh does (so newly created verts, and newly created edges/faces if all edges of a face are selected are selected).  also replaced a few usages of stack temp arrays with dynamically-allocated ones.  and made bmesh->face be signed.

12 years agoAnimato Conversions:
Joshua Leung [Sun, 8 Feb 2009 11:28:20 +0000 (11:28 +0000)]
Animato Conversions:

Added a few Material->Mode bitflag conversions as an example for Roland to extend to the remaining settings. There are currently still quite a few settings missing from RNA to be able to convert all of these.

12 years agoAction Editor - Tweaking code for refreshing.
Joshua Leung [Sun, 8 Feb 2009 11:06:26 +0000 (11:06 +0000)]
Action Editor - Tweaking code for refreshing.

Although there is currently code in place to listen to notifiers + tag updates for regions, these don't actually result in any changes yet. Everything still relies on 'manual' redraw tags for the entire area to have refreshes.

12 years agoAction Editor - Added back ID browsing buttons. Only browse/delete works for now.
Joshua Leung [Sun, 8 Feb 2009 10:21:38 +0000 (10:21 +0000)]
Action Editor - Added back ID browsing buttons. Only browse/delete works for now.

12 years agoyay triangle patterns work in new bmesh esubdivide.
Joseph Eagar [Sun, 8 Feb 2009 08:52:25 +0000 (08:52 +0000)]
yay triangle patterns work in new bmesh esubdivide.

12 years agoedit_tools ops - starting from 4key up to 8key, ctrl and alt. ton: please check if...
Shaul Kedem [Sat, 7 Feb 2009 23:20:36 +0000 (23:20 +0000)]
edit_tools ops - starting from 4key up to 8key, ctrl and alt. ton: please check if working (especially uv and color functions)

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 19:37:29 +0000 (19:37 +0000)]

- Screen browse button back

- Several fixes in using screens in more windows.
  Still has loose ends, but things are definitely more stable!

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 16:43:55 +0000 (16:43 +0000)]

F6 menu "redo last operation" now works, mostly :)

Try it in editmode on add-UV-Sphere, or Subdivide, those work
fine. Transform ops have some feedback issues or so.

This is a temporary commit; brecht will take this further with
nice code (event system doesn't make menus as active region
but sets the original context instead, as stored in ui handler.)

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 15:44:16 +0000 (15:44 +0000)]

Edit Mesh: Knife Cut back.

I've put it for now under ALT+CTRL+LMB, modeless direct cutting.
Options for polyline input and snapping is for later. At least
this works cool :)

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 14:03:34 +0000 (14:03 +0000)]

- Node editor: link cut back, now under ALT+LMB, to prevent
  accidents. Note it now nicely intersects the real curved
  noodles with a line you draw!
- To make above work, replaced ogl curve draw with own bezier
- Added new WM standard operator callback for lines-gesture,
  the Lasso gesture now draws a closed line.
- Both callbacks have optional property 'cursor' to make it
  give modal info. For future also linestyle or color can be
- Changed 'pin' icon in Image header to something that looks
  less scary... but there's no pin icon yet?

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 13:39:54 +0000 (13:39 +0000)]

Bugfix in ctx itterator: CTX_DATA_COUNT() didn't free memory.

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 11:04:13 +0000 (11:04 +0000)]

Hrmf; the patch provided for setting UserDef opengl lights didnt even
work. It was setting flags zero, which just disabled any saved light.

12 years agoView2D bugfix:
Joshua Leung [Sat, 7 Feb 2009 10:39:20 +0000 (10:39 +0000)]
View2D bugfix:

The previous fix for zooming only worked as lucky coincident. It was the flag that was wrong, not the var.

12 years ago2.5
Ton Roosendaal [Sat, 7 Feb 2009 10:00:46 +0000 (10:00 +0000)]

- Added back CTRL+X "reload start-up file".
  (Original name 'erase all' is a bit misleading, but we can
  go over all naming conventions later :)
- Added memfree for triple buffer data.

12 years agoStarted converting over the sculpt header menu to the new system. Added operator...
Nicholas Bishop [Sat, 7 Feb 2009 03:21:28 +0000 (03:21 +0000)]
Started converting over the sculpt header menu to the new system. Added operator and menu items for brush curve presets.

12 years ago2.5: UV Editor, more operators.
Brecht Van Lommel [Sat, 7 Feb 2009 01:27:46 +0000 (01:27 +0000)]
2.5: UV Editor, more operators.

Border Select
Circle Select
Select Pinned
Minimize Stretch
Pack Islands
Average Islands Scale
Snap Cursor
Snap Selection

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Fri, 6 Feb 2009 21:18:36 +0000 (21:18 +0000)]
2.5 MSVC9 projectfiles
update for renaming space_ipo -> space_graph

12 years ago2.5: fix triple buffer memory leak on exit.
Brecht Van Lommel [Fri, 6 Feb 2009 19:58:15 +0000 (19:58 +0000)]
2.5: fix triple buffer memory leak on exit.

12 years ago2.5
Ton Roosendaal [Fri, 6 Feb 2009 18:38:10 +0000 (18:38 +0000)]

- Corner node 'size' widget works again
- Proper preview events added on linking nodes

12 years agoFinish Material, Sound and World adr conversion sections. Moving on to particle adr...
Roland Hess [Fri, 6 Feb 2009 17:32:57 +0000 (17:32 +0000)]
Finish Material, Sound and World adr conversion sections. Moving on to particle adr codes, but I have to wrap particle dna first. Ugh.

12 years ago2.5: Enable triple buffer drawing by default (if it doesn't work
Brecht Van Lommel [Fri, 6 Feb 2009 16:51:09 +0000 (16:51 +0000)]
2.5: Enable triple buffer drawing by default (if it doesn't work
or flickers, kick me). Also removed proxy texture test since it
does not seem to be implemented well by all drivers.

12 years ago2.5: ID datablock button back, previously known as std_libbuttons. The
Brecht Van Lommel [Fri, 6 Feb 2009 16:40:14 +0000 (16:40 +0000)]
2.5: ID datablock button back, previously known as std_libbuttons. The
way this worked in 2.4x wasn't really clean, with events going all over
the place and using dubious variables such as G.but->lockpoin or
G.sima->menunr. It works as follows now, for example:

xco= uiDefIDPoinButs(block, CTX_data_main(C), NULL, (ID**)&sima->image, ID_IM, &sima->pin, xco, yco,

The last two parameters are a callback function, and a list of events
or functionalities that are supported. The callback function will then
get the ID pointer + event to handle.

12 years ago2.5
Ton Roosendaal [Fri, 6 Feb 2009 16:34:05 +0000 (16:34 +0000)]

Node editor:

- Linking sockets back.
- Removed obsolete code
- Add node gives correct pointers for Render stuff

12 years ago2.5
Ton Roosendaal [Fri, 6 Feb 2009 16:31:18 +0000 (16:31 +0000)]

View2D bug: zooming failed in node editor due to check for wrong
variable (keepzoom instead of keepofs :)

12 years ago2.5
Ton Roosendaal [Fri, 6 Feb 2009 13:07:02 +0000 (13:07 +0000)]

Compo node fixes:
- adding new composite in scene crashed, wrong pointers passed on to
  addnode function
- scene render-layer node now gets default scene ID pointer, which
  can be viewed/edited with menu in node
- on using headerbuttons in node window, display refreshes now

12 years ago2.5
Ton Roosendaal [Fri, 6 Feb 2009 12:33:15 +0000 (12:33 +0000)]

Bugfix for Bugfix for 2.5 - Bugfix #18251!

- the call to GPU_default_lights has to be done after windows opened,
  in case you have no .b.blend saved it crashed
- further this function is only called on .B.blend reading, so it's
  correct to reset the lighting to user-def.

12 years ago2.5
Ton Roosendaal [Fri, 6 Feb 2009 11:11:42 +0000 (11:11 +0000)]

Bugfix: on reading multiple pre-2.5 files, the keymaps were generated
again, causing items to be added double.

12 years ago2.5 - Armatures Code
Joshua Leung [Fri, 6 Feb 2009 10:48:00 +0000 (10:48 +0000)]
2.5 - Armatures Code

* Brought back recalculate bone roll (Ctrl N). This should be quite a straightforward example of a cleaned-up + ported armature tool.

* Cleaned up a few warnings

12 years ago2.5
Joshua Leung [Fri, 6 Feb 2009 10:04:44 +0000 (10:04 +0000)]

Converted all countall() calls in armature code to armature_sync_selection()

12 years ago2.5 Armature Editing - Restored 'Align Bones' (Ctrl Alt A)
Joshua Leung [Fri, 6 Feb 2009 01:39:55 +0000 (01:39 +0000)]
2.5 Armature Editing - Restored 'Align Bones' (Ctrl Alt A)

* I've had to remap 'Duplicate window' to Ctrl Alt W instead...

* Fixed some bugs with armature context iterators for X-Axis Mirroring. Now, the code there checks for mirrored bones in the right way.
For details on how to write tools that need to cope with this option, refer to the 'Align Bones' operator. I'll port another simple operator as another good example soon.

Additional notes:
Currently, armature_sync_selection() is really buggy (not part of this commit), and needs further attention.

12 years ago2.5
Ton Roosendaal [Thu, 5 Feb 2009 19:28:28 +0000 (19:28 +0000)]

Safe method to move render results to the displayed image.

It now allocates a single image for display, and on each
refresh callback from render, it copies the refreshed
section over to this image, in 32 bits. While rendering
that image then only shows progress updates, as usual.
This also now works for scenes in composte and results
for composite.

This should solve reported crashes for MBlur or SSS.

12 years ago2.5 - Bugfixes for Pose 'Clear' Operators
Joshua Leung [Thu, 5 Feb 2009 05:51:21 +0000 (05:51 +0000)]
2.5 - Bugfixes for Pose 'Clear' Operators

* Fixed context iterators for PoseChannels. The actual selection test was missing (but layer visibility was getting checked). Also added check for hidden bones here too.

* Removed unnecessary defines added by mfoxdogg in BKE_context.h

* Removed the old hacks in 'Clear ...' operators for ensuring that object animation (ipos/actions) don't overwrite poses. These are no longer necessary, since normal animation calculation is only done in a separate step on frame-changes now.
* Removed the manual checks for layer visibility from 'Clear ...' operators, since that's taken care of by context iterators.

12 years ago 2.5
Michael Fox [Thu, 5 Feb 2009 05:13:08 +0000 (05:13 +0000)]
-ported clear loc,rot,scale operators to pose mode operators
- for some reason when animated and you clear anything, the whole aramture clears. somthing to do with the depsgraph stuff that was directly ported  from clear armature()

12 years ago2.5 - Context API access for Bones (EditMode and PoseMode)
Joshua Leung [Thu, 5 Feb 2009 03:28:07 +0000 (03:28 +0000)]
2.5 - Context API access for Bones (EditMode and PoseMode)

* Added selected, selected+editable, and active to access EditBones for Armature Operators to use. These take into account X-Axis Mirror too, so there is really no need to check that sort of thing anymore in tools.

* Added a quick testing operator for verifying that these loops filter the data correctly. I've dumped this in armature_ops.c for now. It can be activated using the TKEY hotkey in Armature EditMode only. This should be removed once we have a few more functional tools.

* Ported over cleaned up roll-calculation tools from AnimSys2
* Removed a few ugly stubs from posemode code

12 years agoflip_editnormals is back, alt+3key
Shaul Kedem [Thu, 5 Feb 2009 01:32:37 +0000 (01:32 +0000)]
flip_editnormals is back, alt+3key

12 years ago* Added range function for Multires's level RNA
Nicholas Bishop [Thu, 5 Feb 2009 01:12:47 +0000 (01:12 +0000)]
* Added range function for Multires's level RNA
* Removed RNA for old multires in Mesh, the old mesh->mr struct should never be used (except for loading old files)
* Dealt with sculpt + render (just needed to force multires update)
* sculpt memory leaks fixed
* Entering editmode now always exits paint modes (previously, only happened if editmode was called from the header button)

12 years agoBugfix for 2.5 - Bugfix #18251
Joshua Leung [Wed, 4 Feb 2009 22:33:24 +0000 (22:33 +0000)]
Bugfix for 2.5 - Bugfix #18251

The patch was pasted in the wrong place, thus destroying all custom OpenGL solid light setups too.

12 years agoFixed CMake for RNA, also removed the aggregate return warning for CMake
Nicholas Bishop [Wed, 4 Feb 2009 18:25:41 +0000 (18:25 +0000)]
Fixed CMake for RNA, also removed the aggregate return warning for CMake

12 years ago2.5
Ton Roosendaal [Wed, 4 Feb 2009 18:02:50 +0000 (18:02 +0000)]

Bugfix #18251

Patch from Konrad Kleine

After read-home file (or restore factory settings) the opengl
lights have to be reset.

12 years ago2.5
Ton Roosendaal [Wed, 4 Feb 2009 17:40:50 +0000 (17:40 +0000)]

Render back! And not only back, even full threaded now. :)
Current state is unfinished, but too much fun to not to
commit for review and test!

WARNING: because render is in a threaded job, it will
use data as can be edited in the UI. That'll crash in many
cases of course... the idea is to limit UI usage to viewing
stuff, especially for the Image Window to inspect layers
or zoom in/out.

What works now;
- F12 render (no anim)
- ESC from render
- ESC pushes back temporary Image Window
- Render to ImageWindow or full-screen.
- Executing composites, and edit composites after render.

Note that the UI is 100% responsive in a render, you can
switch screens, slide area dividers around, or even load
a new file during render. :) It's quite stable even.

I'll collect all crash reports especially to get a good
picture of where the protection is required at least.

Also added: XKey "Delete Objects", to get things crash...
unfortunately it didn't for me.

12 years agoUI
Brecht Van Lommel [Wed, 4 Feb 2009 11:52:16 +0000 (11:52 +0000)]
* Changed uiPupMenuOperator usage to uiPupMenuBegin/End (simpler,
  no need to build a string). Also made transform orientation and
  subdiv type enums instead of ints for this.
* Added an icon argument to many of the uiMenu calls, and added a
* Move auto rna button creation out of outliner code, now is
  uiDefAutoButR for individual buttons and uiDefAutoButsRNA for a
  whole block.
* Implemented uiPupBlock(O). Pressing F6 gives a menu with the
  properties of the last operator to test. I tried to make a redo
  last operator out of this but couldn't get the context correct
  for the operator to repeat in. Further the popup block also has
  some issues getting closed while editing buttons.
* Fix uiAfterFunc memory leak on Ctrl+Q quit.
* Fix handling of RNA number button dragging and sliding for RNA
  buttons with range -inf/inf.

12 years agoAssorted fixes:
Joshua Leung [Wed, 4 Feb 2009 11:47:05 +0000 (11:47 +0000)]
Assorted fixes:

* Added examples of how to patch up MTex adrcodes for Animato. It appears many of the settings there in RNA are still undefined though!

* Added undo push for the Outliner tweaks I made

* Removed some outdated comment

12 years ago2.5
Joshua Leung [Wed, 4 Feb 2009 09:09:31 +0000 (09:09 +0000)]

* Outliner 'select' (i.e. blue/grey highlights for tree items) works again in both normal Outliner + RNA views.

* Fixed bugs/MSVC warnings in animation code

12 years ago 2.5
Michael Fox [Wed, 4 Feb 2009 05:15:39 +0000 (05:15 +0000)]
fixed up the view navigation menu using the enumitems call, also made view numpad's enum "type" instead of "view" to be more inline with other operators and rest of blender

12 years agomark and clear seam, set and unset sharp and vertex smoothing is now ctrl/alt 1,...
Shaul Kedem [Wed, 4 Feb 2009 02:58:21 +0000 (02:58 +0000)]
mark and clear seam, set and unset sharp and vertex smoothing is now ctrl/alt 1, 2 and 3 - still a bit vague of op naming

12 years ago2.5
Ton Roosendaal [Tue, 3 Feb 2009 12:04:05 +0000 (12:04 +0000)]

As creator of the Ipo I also reserve to right to kick it out
definitely :) To honour the wonderful contributions from Joshua
here it is; renamed space_ipo to space_graph!

Note; make, cmake and scons should work, msvc will require some
work now!

12 years ago2.5
Ton Roosendaal [Tue, 3 Feb 2009 10:41:48 +0000 (10:41 +0000)]

- removed undefined operators from view3d menu, the error prints
  ("undefined operator") is currently a real error; later on when
  operators are more dynamically defined it can be feature.

- made uiMenuContext() work locally, only on the items as defined
  after this call.

12 years agoRNA: some fixes for yesterdays commit, use of uninitialized
Brecht Van Lommel [Tue, 3 Feb 2009 10:14:29 +0000 (10:14 +0000)]
RNA: some fixes for yesterdays commit, use of uninitialized
variables and errors in foreach macro.

12 years ago 2.5
Michael Fox [Tue, 3 Feb 2009 09:34:42 +0000 (09:34 +0000)]
small fix the view menu context was not being set properly causing the invoke of clipping border and border zoom to be skipped

12 years agomerge with 2.5 at r18796. note I've customized the
Joseph Eagar [Tue, 3 Feb 2009 06:22:30 +0000 (06:22 +0000)]
Merge ... 2.5 at r18796.  note I've customized the
vc9 project files a bit, they won't compile blender by
themselves anymore (I use scons for that).

12 years ago 2.5
Michael Fox [Tue, 3 Feb 2009 03:54:03 +0000 (03:54 +0000)]
- rebuilt most of the view menu with a couple empty sub menus
- seperators go all screwy when there is an unknown operator in the menu
- using this method, the operators invoke function is skipped, this is evident with clipping border and border zoom
- original menus are still in the code just if'd out for furture reference and such

- to cater for this menu, view numpad op has been made into much smaller atomic operators, pan and orbit and the ortho/persp toggle has been put into individual operators

- fixed the mem leak in the make parent menu

12 years agoFix for select multi loop commit, probably missed this file.
Brecht Van Lommel [Mon, 2 Feb 2009 19:59:22 +0000 (19:59 +0000)]
Fix for select multi loop commit, probably missed this file.

12 years agoRNA: C API
Brecht Van Lommel [Mon, 2 Feb 2009 19:57:57 +0000 (19:57 +0000)]

* RNA_blender.h is now generated along with the other files. It is not
  used anywhere yet, and still located quite hidden next to the other
  rna_*_gen.c files. Read only access for now.
* Inherited properties are not copied from the base anymore but
  iterated over. Patch by Vekoon, thanks!
* Array get/set callbacks now do the whole array instead of getting an
  index. This is needed for some layers for example so python can set
  the array as a whole, otherwise the check that one layer has to be
  enabled at all times gets in the way. Also nicer for the C API.
* Also some changes to returning pointers to make the API cleaner, got
  rid of the type() callback and instead let get() return PointerRNA
  with the type included.

The C API looks like this currently:

12 years ago2.5
Ton Roosendaal [Mon, 2 Feb 2009 19:31:43 +0000 (19:31 +0000)]

Editmesh ops:

- MESH_OT_select_multi_loop
  (based on selection it makes loops)

- MESH_OT_select_linked
  added boolean 'limit' for linked limited by seams
- MESH_OT_select_linked_pick
  same as above

The 'limit' option used to work only for facemode,
with a toolsettings option.
So it had no own hotkey... i made it work for
edges & vertices too, need to find hotkey later.

12 years ago2.5
Ton Roosendaal [Mon, 2 Feb 2009 16:30:03 +0000 (16:30 +0000)]

Bugfix: mouse key checks should use KM_PRESS checks now.
Interface toggle button didnt work for that reason. :)

12 years ago2.5
Ton Roosendaal [Mon, 2 Feb 2009 15:39:37 +0000 (15:39 +0000)]

Small bugfix, key-release event should be only set after a tweak
fails. Such keymap items better not respond to any key-release!

12 years ago2.5
Ton Roosendaal [Mon, 2 Feb 2009 14:13:14 +0000 (14:13 +0000)]

Sanitized the 'tweak' event.

Original idea was to have WM event system generating it
automatically. However, I first tested it via a handler
and operator, to check what kind of configurations would
be useful. It appeared to not work nice, also because
that inserting a tweak operator in a keymap is confusing.

Now 'tweaks' are generated automatically, and can be
catched by keymaps as any event. The current definition
of tweak is:

- if Left/Middle/Rightmouse pressed
    if event wasn't handled by window queue (modal handlers)
       start checking mousepositions

- while mousepositions are checked
   - escape on any event other than mouse
   - on mouse events:
     - add tweak event if mousemove > 10 pixels
     - stop checking for tweak if mousebutton released

- Tweak events have a define indicating mousebutton used

- In keymap definitions you can use _S or _A to map to
  action or select mouse userdef.

- Event value in keymap should be KM_ANY for all tweaks,
  or use one of the eight directions:
  EVT_GESTURE_E, _SE, _S, _SW, _W, _NW, _N, _NE

- And of course you can add modifier checks in keymaps for it.

- Because tweaks are a result of mouse events, the handlers get
  both to evaluate. That means that RMB-select + tweak will work
  In case you don't want both to be handled, for example the
  CTRL+LMB 'extrude' and CTRL+LMB-tweak 'lasso select', you will
  need to set the first acting on a EVT_RELEASE, this event only
  gets passed on when tweak fails.

The current system allows all options, configurable, we had in 2.48,
and many more! A diagram of what's possible is on the todo. :)

Also in this commit: lasso select editmesh failed with 'zbuffer
occluded select'. Also circle-select failed.

12 years agoAnimato RNA wrapping:
Joshua Leung [Mon, 2 Feb 2009 11:51:10 +0000 (11:51 +0000)]
Animato RNA wrapping:

It's about time that the RNA wrapping for various parts of the animation system were cleaned up for my recent changes. I've moved some code around (and/or deleted a file or two) in the process.

12 years agoBegin port of edge subdivide (with multicut) to
Joseph Eagar [Mon, 2 Feb 2009 03:25:23 +0000 (03:25 +0000)]
Begin port of edge subdivide (with multicut) to
bmesh.  Basic infrastructure is in place, and
subdivision patterns for quads are implemented.
Properly handling of the (many) flags and options
related to edge subdivide isn't complete, but I've
made a good start.

Goal is eventual 100% api compatibility with old
esubdivide function, with some of the uglier design
aspects refactored after some of the tools that rely
on them are redone.

Some notes: Customdata interpolation wasn't working
right.  I thought maybe the weights were off, so I
swapped them, which surprising made it work.  It's
still not completely identical to old edge
subdivide though.

12 years ago2.5
Ton Roosendaal [Sun, 1 Feb 2009 19:53:24 +0000 (19:53 +0000)]

Committed two posemode operators. Hide/Unhide.

For people who want to check on adding operators, only
check the changes in armature directory, rest is to
get things to work, and a small bugfix :)

12 years ago2.5
Ton Roosendaal [Sun, 1 Feb 2009 18:07:02 +0000 (18:07 +0000)]

Hrmf, I try to make a local operator-only commit possible, but I
keep finding other small todos :)

- added two more standard poll callbacks for pose and armature
- fixed operator naming in editmesh_mods.c

12 years ago2.5
Ton Roosendaal [Sun, 1 Feb 2009 17:33:10 +0000 (17:33 +0000)]

Preparing for volunteer to work on operatorifying armature code.
Just new C file and calls to assign operators and keymaps.

12 years agosculpt operator was setting default array value from stack variables that were then...
Campbell Barton [Sun, 1 Feb 2009 14:24:44 +0000 (14:24 +0000)]
sculpt operator was setting default array value from stack variables that were then freed, making sculpt defaults use invalid memory.
Since these values defaulted to zero, a NULL default array will do, but for new operators that need to be initialized from an array, only static arrays should be used.

12 years ago2.5 filebrowser
Andrea Weikert [Sun, 1 Feb 2009 13:52:11 +0000 (13:52 +0000)]
2.5 filebrowser
small fix for selection of bookmarks/favorite folders

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Sun, 1 Feb 2009 13:40:07 +0000 (13:40 +0000)]
2.5 MSVC9 projectfiles
* project blenfont added

12 years ago2.5
Ton Roosendaal [Sun, 1 Feb 2009 13:24:19 +0000 (13:24 +0000)]

Paint mode (VPaint WPaint) was too easy to enter, I made the
operators having a more designated poll() to check stuff.

Now CTRL+TAB hotkeys will work in editmode for select type,
and outside editmode for wpaint or posemode.

Also fixed select type operator to so it works for facemode.

12 years agomade some mesh operator names and values more consistent with object mode + other...
Campbell Barton [Sun, 1 Feb 2009 12:40:27 +0000 (12:40 +0000)]
made some mesh operator names and values more consistent with object mode + other minor changes.
- percentage -> percent, and always a float.
- renamed selectconnected to select_linked
- removed _mesh prefix for MESH_OT_* operators.
- renamed select_swap -> select_invert (matching object and sequencer operators)

12 years ago2.5
Ton Roosendaal [Sun, 1 Feb 2009 12:00:00 +0000 (12:00 +0000)]

Moved 'redo last operator' stuff to WM level, with a


Code in screen_ops was not checking all operator stuff
correctly, so repeat menu (F3 now) crashed in cases.

12 years ago- Converted mesh face popup menu to use brecht's toolbox function (like the image...
Campbell Barton [Sun, 1 Feb 2009 04:22:18 +0000 (04:22 +0000)]
- Converted mesh face popup menu to use brecht's toolbox function (like the image view toolbox)

Rather then having a hard coded popup menu with events that call other operators exec functions, operator names are given to the toolbox where it displays the operator name and shortcut.
This means the real operator is registered rather then the one that called it.

Im not sure about the location for the operator though, at the moment its called VIEW3D_OT_editmesh_face_toolbox() in view3d_header.c since the image editor toolbox is in the header file too.
In a way it makes sense because this menu should eventually be in the header.
- Change shortcut to Ctrl+F as it is in 2.4x

- Added a number of operators that were not being registered - MESH_OT_fill_mesh, beauty_fill, convert_quads_to_tris, convert_tris_to_quads, edge_flip, mesh_set_smooth_faces, mesh_set_solid_faces

- Renamed redundant MESH_OT_mesh_set_smooth_faces() to MESH_OT_faces_shade_smooth(), same for solid.

12 years agomissed renaming the operator keymap strip and exec function, also made some functions...
Campbell Barton [Sun, 1 Feb 2009 03:12:31 +0000 (03:12 +0000)]
missed renaming the operator keymap strip and exec function, also made some functions static

12 years ago- Change 2 operators from using int properties into enums.
Campbell Barton [Sun, 1 Feb 2009 02:37:12 +0000 (02:37 +0000)]
- Change 2 operators from using int properties into enums.
- Renamed MESH_OT_mesh_selection_mode_menu to MESH_OT_mesh_selection_type since the operator doesnt have to be accessed from a menu.

Shaul, you might want to look over this, using enums means WM_menu_invoke can be used instead of writing an invoke function for each operator.

Added error messages to WM_menu_invoke if no enum "type" property is found.

12 years agoedit mode selection menu - ctrl+shift+tab
Shaul Kedem [Sun, 1 Feb 2009 01:04:00 +0000 (01:04 +0000)]
edit mode selection menu - ctrl+shift+tab

12 years agovert to sphere - S + ctrl + shift keys
Shaul Kedem [Sun, 1 Feb 2009 00:18:45 +0000 (00:18 +0000)]
vert to sphere - S + ctrl + shift keys

12 years agoselectrandom mesh , temp using space key
Shaul Kedem [Sat, 31 Jan 2009 23:57:04 +0000 (23:57 +0000)]
selectrandom mesh , temp using space key

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 19:40:40 +0000 (19:40 +0000)]

Big commit, but mainly adminstration.

- Enabled ot->flag OPTYPE_UNDO to work.
- Removed all redundant ED_undo_pushes, but I'd
  recommend everyone to check it while testing. :)
- Added view manipulations as OPTYPE_REGISTER,
  although this will flood the redo stack a bit...
  Nevertheless; for a "redo last action" panel we
  can simply check if both flags are set for redo.

- Bugfix in editmode undo: selectmode was cleared,
  so you couldn't select after undo
- Bugfix in mixing tweaks and keymaps... solution
  works but is weak, need to think over a while.

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 16:54:37 +0000 (16:54 +0000)]

Edit Mesh
Added the two other 'select similar' ops, for edge and face.

For testing fun I've put these ones as first keys using the
modifier order feature. So it's now:

SHIFT+G :     similar vertex
CTRL+SHIFT+G: similar edge
SHIFT+CTRL+G: similar face

Not very useful here; but I think this can work well to map
a double amount of options under mouseclicks. Power user
config stuff!

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 15:21:26 +0000 (15:21 +0000)]

Edit Mesh

- "Select Similar" for vertices back.
  (Put under Jkey for now)
- renamed operator righthand_faces to consistant_normals
  gave it boolean property for 'inside'.

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 15:09:33 +0000 (15:09 +0000)]

Crash fix on file read: one event-free too many :)

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 13:33:23 +0000 (13:33 +0000)]

Fake commit, but for history I have to write the log!

Fixed CTRL+Q quit-blender. It was using ancient code
still, and since I always use APPLE+Q I never noticed :)

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 13:30:56 +0000 (13:30 +0000)]

Edit Mesh:

- Added back "Edge Shortest Path select"
  It now also does regular selection, more fun!
  It's mapped to CTRL+click now, and makes or clears selections
  between current and previously activated edge.
  Seam/Sharp/etc marking is a toolsetting mode still. These
  options cannot become properties easily, because the tool
  uses the properties of selected edge to clear...

- Removed a whole bunch of G.f flags, related to mesh drawing.
  It's all now local in me->drawflags. Here's the list of
  removed old globals:





12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 10:00:08 +0000 (10:00 +0000)]

- Made standard border operator calls bail out on zero sized borders
- Fixed compile warning in call to BKE_animsys_evaluate_animdata()

12 years ago- sequencer select handle menu functions back
Campbell Barton [Sat, 31 Jan 2009 09:58:38 +0000 (09:58 +0000)]
- sequencer select handle menu functions back
- sequencer border zoom (Shift+B) or from the header.
- added includes for blender.c and outliner.c
- editfont.c got rid of warning

12 years ago2.5
Ton Roosendaal [Sat, 31 Jan 2009 09:23:17 +0000 (09:23 +0000)]

Edit mesh:
- fixed compile, shul only committed the function declaration, not
  the code for 'make fgon'.

- Put the Fgon option under:
  ALT+F: make fgon
  SHIFT+ALT+F: clear fgon
  (note, SHIFT+F = fill :)

- Fixed loop select to use two booleans, as Martin pointed me
  correctly at! Using 1 variable was lazy coding.

12 years agomake and clear fgon MKEY and shift+MKEY. ton: please check, it doesn't do what it...
Shaul Kedem [Sat, 31 Jan 2009 03:23:41 +0000 (03:23 +0000)]
make and clear fgon MKEY and shift+MKEY. ton: please check, it doesn't do what it should right now

12 years agodelete menu is back with XKEY.
Shaul Kedem [Sat, 31 Jan 2009 02:37:50 +0000 (02:37 +0000)]
delete menu is back with XKEY.

12 years agodelete menu is back DKEY. seperating may be needed to delete_mesh
Shaul Kedem [Sat, 31 Jan 2009 02:31:58 +0000 (02:31 +0000)]
delete menu is back DKEY. seperating may be needed to delete_mesh

12 years agoSculpt:
Nicholas Bishop [Fri, 30 Jan 2009 20:35:37 +0000 (20:35 +0000)]
* Brought back axis locking
* Fixed flipping stroke add/sub with shift key at start of stroke
* Fixed a crash in stroke exec

12 years ago2.5
Ton Roosendaal [Fri, 30 Jan 2009 19:14:50 +0000 (19:14 +0000)]

Edit Mesh: Fkey back, add edge-face or fill 'edge net'
Make fgon will be different operator.

12 years ago2.5
Ton Roosendaal [Fri, 30 Jan 2009 18:53:54 +0000 (18:53 +0000)]

Edit Mesh Loop select back;
the versions with ALT+Select (edgeloop) or with
ALT+CTRL+Select ('ring'). Hold shift for extend.

12 years agoUpdate the view3d depth buffer cache after rotating, moving, or scaling the view...
Nicholas Bishop [Fri, 30 Jan 2009 18:27:25 +0000 (18:27 +0000)]
Update the view3d depth buffer cache after rotating, moving, or scaling the view (for sculptmode)

12 years ago2.5
Ton Roosendaal [Fri, 30 Jan 2009 18:18:41 +0000 (18:18 +0000)]

- Edit mesh: Add ctrl+click add vertex or extrude.
  I've made it not move the 3d cursor in that case.

Also found out tweak events conflicted with existing
keymap definitions; on tweak failure (= no mousemove)
it now passes on the mouse event as 'mouse down' for
the remaining keymaps to check.
These then actually respond to mouse-up instead of down...

The location in the keymaps where tweaks get generated
remains important. Examples:

1 - 'select' mouse-handler, operator return pass-through
2 - tweak handler checks, and makes tweak event
3 - grabber responds to tweak event

1 - ctrl+mouse tweak handler checks, makes tweak event,
    or passes event on
2 - if tweak event, it runs lasso
3 - else when passed on, ctrl+click extrude happens

In the first case, select works on mouse-down, immediate.
In the second case, extrude happens on mouse-release, even
though the keymap defined mouse-press.

This will make designing nice balanced keymaps still not
simple; especially because you can't tell operators to
pass on the key... although we can add the convention that
select-mouse operators always pass on to enable tweaks.

Still a good reason to wait with custom keymaps
when this is fully settled!

12 years ago2.5: Fix for windows editmode tab crashes. This was due to
Brecht Van Lommel [Fri, 30 Jan 2009 16:45:25 +0000 (16:45 +0000)]
2.5: Fix for windows editmode tab crashes. This was due to
use of function pointers in the context callbacks. Apparently
MSVC decides that some of these functions are the same and
makes them into a single function with the same address. I
couldn't figure out if this was a compiler bug or according
to the C spec. Regardless, that means this method can't be
used, so now it uses separate CTX_DATA_DEFINES.

12 years agomerge with 2.5 at r18751
Joseph Eagar [Fri, 30 Jan 2009 15:48:38 +0000 (15:48 +0000)]
merge with 2.5 at r18751

12 years ago2.5
Ton Roosendaal [Fri, 30 Jan 2009 15:01:14 +0000 (15:01 +0000)]

Edit mesh: Separate options back. Use SHIFT+P for it, PKEY has been
stolen! :)

12 years ago2.5
Ton Roosendaal [Fri, 30 Jan 2009 14:23:31 +0000 (14:23 +0000)]

Animsys: added integrated copy of animdata in copy_libblock().
-> by default animdata-copy should relink ID data like Action,
   and put a facility to really duplicate it in other code.
   (single_user_animdata or so)

12 years ago2.5: Added simple toolbox menu in image window as a test,
Brecht Van Lommel [Fri, 30 Jan 2009 12:58:00 +0000 (12:58 +0000)]
2.5: Added simple toolbox menu in image window as a test,
can uses same menus as header now since code doesn't depend
on being in the header anymore.

12 years ago2.5: UI & Menus
Brecht Van Lommel [Fri, 30 Jan 2009 12:18:08 +0000 (12:18 +0000)]
2.5: UI & Menus

* Cleaned up UI_interface.h a bit, and added some comments to
  organize things a bit and indicate what should be used when.

* uiMenu* functions can now be used to create menus for headers
  too, this is done with a uiDefMenuBut, which takes a pointer
  to a uiMenuCreateFunc, that will then call uiMenu* functions.

* Renamed uiMenuBegin/End to uiPupMenuBegin/End, as these are
  specific to making popup menus. Will convert the other
  conformation popup menu functions to use this too so we can
  remove some code.

* Extended uiMenu functions, now there is is also:
  BooleanO, FloatO, BooleanR, EnumR, LevelEnumR, Separator.

* Converted image window headers to use uiMenu functions, simplifies
  menu code further here. Did not remove the uiDefMenu functions as
  they are used in sequencer/view3d in some places now (will fix).

* Also tried to simplify and fix bounds computation a bit better
  for popup menus. It tried to find out in advance what the size
  of the menu was but this is difficult with keymap strings in
  there, now uiPopupBoundsBlock can figure this out afterwards and
  ensure the popup is within the window bounds. Will convert some
  other functions to use this too.