Commit Graph

13473 Commits

Author SHA1 Message Date
Ton Roosendaal
db2bb765f9 2.5
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'.
2009-01-31 15:21:26 +00:00
Ton Roosendaal
2a7eb7aadf 2.5
Crash fix on file read: one event-free too many :)
2009-01-31 15:09:33 +00:00
Ton Roosendaal
94d31640de 2.5
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 :)
2009-01-31 13:33:23 +00:00
Ton Roosendaal
86a2a0f694 2.5
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:

G_DRAWEDGES
G_DRAWFACES
G_DRAWNORMALS
G_DRAW_VNORMALS

G_ALLEDGES
G_HIDDENEDGES

G_DRAWCREASES
G_DRAWSEAMS
G_DRAWSHARP
G_DRAWBWEIGHTS

G_DRAW_EDGELEN
G_DRAW_FACEAREA
G_DRAW_EDGEANG
2009-01-31 13:30:56 +00:00
Ton Roosendaal
607a56cb7a 2.5
- Made standard border operator calls bail out on zero sized borders
- Fixed compile warning in call to BKE_animsys_evaluate_animdata()
2009-01-31 10:00:08 +00:00
Campbell Barton
b5230890ec - 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
2009-01-31 09:58:38 +00:00
Ton Roosendaal
a60413abd1 2.5
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.
2009-01-31 09:23:17 +00:00
Shaul Kedem
5ed79ee9d9 make and clear fgon MKEY and shift+MKEY. ton: please check, it doesn't do what it should right now 2009-01-31 03:23:41 +00:00
Shaul Kedem
babb973964 delete menu is back with XKEY. 2009-01-31 02:37:50 +00:00
Shaul Kedem
05e04c5e45 delete menu is back DKEY. seperating may be needed to delete_mesh 2009-01-31 02:31:58 +00:00
Nicholas Bishop
1e1c193092 Sculpt:
* Brought back axis locking
* Fixed flipping stroke add/sub with shift key at start of stroke
* Fixed a crash in stroke exec
2009-01-30 20:35:37 +00:00
Ton Roosendaal
a7b0df894e 2.5
Edit Mesh: Fkey back, add edge-face or fill 'edge net'
Make fgon will be different operator.
2009-01-30 19:14:50 +00:00
Ton Roosendaal
30ee0806fb 2.5
Edit Mesh Loop select back; 
the versions with ALT+Select (edgeloop) or with
ALT+CTRL+Select ('ring'). Hold shift for extend.
2009-01-30 18:53:54 +00:00
Nicholas Bishop
6d2a30ece8 Update the view3d depth buffer cache after rotating, moving, or scaling the view (for sculptmode) 2009-01-30 18:27:25 +00:00
Ton Roosendaal
480be71514 2.5
- 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!
2009-01-30 18:18:41 +00:00
Brecht Van Lommel
128c8167af 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.
2009-01-30 16:45:25 +00:00
Ton Roosendaal
b50ef7af14 2.5
Edit mesh: Separate options back. Use SHIFT+P for it, PKEY has been
stolen! :)
2009-01-30 15:01:14 +00:00
Ton Roosendaal
1122b60f31 2.5
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)
2009-01-30 14:23:31 +00:00
Brecht Van Lommel
6009523659 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.
2009-01-30 12:58:00 +00:00
Brecht Van Lommel
8036342ea8 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.
2009-01-30 12:18:08 +00:00
Joshua Leung
445bbdf75d Outliner: Updated the tree-building code to work for Animato
* Note to Icon Designers - we need a new icon for 'Animation data' I think. Currently I'm using the old IPO icon...
* Should F-Curves get shown in the Outliner?
2009-01-30 10:08:58 +00:00
Joshua Leung
59caae4384 Animato:
* Drivers view in Graph Editor now displays drivers only, instead of displaying normal Animation data.

* 'Materials' channel is now only shown under an Object when there are Materials with animation data...

* Hid more debug prints behind debug flag. These should be removed...
2009-01-30 08:10:31 +00:00
Joshua Leung
e7d62464b7 Animato: Hiding all debug prints behind -d flag, as they were causing too many slowdowns on complex rigs with Action Constraints. Many of these prints should eventually be removed, though some of them will still be useful. 2009-01-29 23:27:24 +00:00
Joshua Leung
e109310ad7 Just a minor change to a comment in constraints code. It appears that Action Constraints are in fact working now (I was probably testing old code last night). 2009-01-29 22:24:16 +00:00
Campbell Barton
63ad011e97 'scons blenderlite' failed because blf expected freetype 2009-01-29 21:41:43 +00:00
Ton Roosendaal
5f9ee2cbfe 2.5
- Made WM_cursor_wait() work without context or pointers,
  like old waitcursor(). Only use when operations entirely
  block UI. It will set waitcursor for all open windows.

- Cleanup in mesh tools, removing old cruft, and prepare
  for more goodies for shul to work on!
2009-01-29 18:54:22 +00:00
Joshua Leung
2869ce6cfa Animato: Groundwork for getting Action Constraint functional again
Currently this still works really badly, but I'm not sure of the exact cause yet.
2009-01-29 11:22:34 +00:00
Campbell Barton
b1a001942a include Py_CmpToRich for python versions lower then 3 2009-01-29 10:22:03 +00:00
Joshua Leung
3701fe8f36 Silencing MSVC warnings in code that I maintain 2009-01-29 10:19:43 +00:00
Joshua Leung
004fa8c52b scons compiling fixes for new blenfont module 2009-01-29 09:57:28 +00:00
Joshua Leung
595983cd28 Animato: Added base-code for converting the ugly old bitflag settings
Only object layers have been done for now. The implementation of this should provide a good indicator for how this should be done. Unforunately, the code for animating layer visibility is not that straightforward, since scene->base->layer (not set) settings need to be synchronised with the object->layer (set by Animato) settings.
2009-01-29 09:40:49 +00:00
Campbell Barton
ca36e04362 python3 couldn't generate epydocs because python3 needs richcompare functions for C defined PyTypes (it seems). 2009-01-29 09:38:52 +00:00
Nicholas Bishop
12616b7e24 Added CMake files needed for new blenfont module.
Note to bdiego: this module seems to depend on ftfont, which is only compiled with the INTERNATIONAL build setting, however it seems blenfont should work regardless of that setting.
2009-01-29 06:35:04 +00:00
Diego Borghetti
6e08a165bb Moving Language code from interface/text.c to blenfont library.
I go to start commit the new code here and then replace one
by one bmfont and ftfont, this do nothing right now, but it's
more easy keep the files here to work from the studio and my home.

I only update the Makefile and SConscript (but JesterKing a double
check never is bad), so please check the msvc and cmake files.

The new library is libblenfont.a
2009-01-29 05:19:27 +00:00
Nicholas Bishop
54059f0ac1 * Brought back special normal recalc for sculpt (only recalculates modified faces/verts)
* Means that full object recalc isn't done, so multires works more as expected now
* Moved mesh element cache back to sculpt session (from sculpt cache), really makes more sense there
2009-01-29 03:50:46 +00:00
Joshua Leung
2176f69602 Animato: Conversion code + drawing tweaks
* Recoded the conversion code so that all data gets converted. Previously, some IPO's and Actions (notably the ones used for Action Constraints) were not ported across.

* Made F-Curve drawing use more saturated colours to make them more visible. I'm not sure whether this works well in practice.

* Restored some horizontal bounding-box checks to optimise drawing.
2009-01-29 03:43:04 +00:00
Brecht Van Lommel
b18defbffb 2.5:
* Automatic shortcut keys in menus now compare operator properties as well.
  Implemented IDP_EqualsProperties for this.
* I imagine all these compares may be a bit slow, for this case it's not
  so bad though because it only happens for one menu when it is opened.
2009-01-28 23:29:27 +00:00
Joshua Leung
59147ad983 Animation Editors: Tweaking/Refresh Issues
* Added 'select-tweak' functionality to DopeSheet
* Added proper notifiers for Graph Editor updates
2009-01-28 22:51:42 +00:00
Campbell Barton
ce2446e3db * Was missing checks for scene->ed which crashed blender when using the sequencer for the first time.
* Added WM_OT_tweak_gesture operator for select, drag
* Sequencer select operator now returns OPERATOR_FINISHED|OPERATOR_PASS_THROUGH
2009-01-28 22:36:34 +00:00
Brecht Van Lommel
7114486e8b 2.5:
* UV Editor Transform, translate, rotate, scale, live unwrap, snap, gesture,
  etc work.
* Also for selection operators, used OPERATOR_FINISHED|OPERATOR_PASS_THROUGH
  instead of just OPERATOR_PASS_THROUGH to make gestures work, seems more
  correct to me.
2009-01-28 21:43:43 +00:00
Brecht Van Lommel
db9accc1d1 2.5:
* Fix using enter key for selecting item in a submenu.
* Fix some non working buttons in nodes.
* Fix memory leak when using glsl.
* Change triple buffer proxy test a bit, hopefully this succeeds
  on more cards now.
2009-01-28 19:42:49 +00:00
Ton Roosendaal
4e232753c0 2.5
Some drawing tweaks for animsys:

- added notifier ND_KEYS type, to send proper notes around.
  now insert-key redraws fcurve/action view
- made slider-draggers disappear when view is total or bigger.

Also experimented with making sliders go away entirely, but
this conflicts too much with current code for channel lists.

Ali: I think you have to make call that calculates the 'tot'
for channels, and run this in region listener, including the
totRect update for view2d.

The 'minsize' for channels also fails when there's a slider,
it always doesn't fit then :)
2009-01-28 18:26:47 +00:00
Ton Roosendaal
8006134a9c 2.5
Made 'select-tweak-grab' work in 3d window, fcurve and nodes.
For nodes it works with both left/right, the others follow
user preset for select.

Tweak is a WM event, which also follows user preset for 
tablet-style tweaks (release = apply).

You enable tweak events with an operator WM_OT_tweak_gesture.
Keymap entries can assign to left/middle/right button or to
action/select button tweaks.
2009-01-28 15:39:39 +00:00
Ton Roosendaal
3f06164471 2.5
Joshua asked me to check depsgraph drivers; i've added the
very minimal case, but further I'm stuck, need help.
Also made region listeners for Graph Editor work for all.
2009-01-28 13:16:43 +00:00
Ton Roosendaal
e687e6ccd2 2.5
Bugfix in last commit: the read-file hotkey (enter) has to be in
the window handler queue, so it nicely exits all queues without
using free'd data.
2009-01-28 12:28:50 +00:00
Ton Roosendaal
4a1a8271c1 2.5
Filewindow: restored some usability issues :)
(Andrea: Hope you're OK, I needed to test stuff, and 
file open was a pain!)

- F1: shows last saved/opened file now
- Enter key loads, ESC cancels
- Hilites on mousemove now show same theme colors as before
- Enabled intended roundbox draw (was added to UI api)
- Tweaked roundbox hilites to nicely surround text
- Text was drawing too close to collumn dividers
- Brought back missing glDisable(GL_BLEND), messed with draw
- On file-open, mouse position is used to show active file
2009-01-28 11:27:25 +00:00
Joshua Leung
5b14573d0b Graph Editor: Restoring most tools
* Copy/Paste still needs to be cleaned up to be functional. Auto-set preview range + View All also need some work to become functional...
* Smooth has been moved to Alt-O hotkey, as Shift-O was taken for Sample 
* Renamed a few operators for DopeSheet to be more in line with Graph Editor ones, and to be less obscure.
* The 'join' and 'remove doubles' tools are not likely to be restored. I think that a few of the new tools cover this lack anyway. We can restore them if there is a real need.

* Record tool needs a rethink to be genuinely useful, so it's not included here anymore.
A note for anyone wanting to play with implementing this: store the sampled points using the new FPoint type in the FCurve instead of using BezTriples, as FPoints are used for storing sampled/baked data.
2009-01-28 09:55:36 +00:00
Campbell Barton
9e8a60c796 use wine for cross compiling 2009-01-28 09:32:31 +00:00
Joshua Leung
0494683f44 Graph Editor: Bringing back editing tools
* Snap + Mirror Keyframes (Shift-S and Shift-M)
* Set Handle/Interpolation type
* Snap current frame to selected keyframes (Ctrl-Shift-S) from the DopeSheet

* Toggle visibility of all handles (Ctrl H) from AnimSys2 branch also ported
2009-01-28 06:32:47 +00:00
Joshua Leung
7ced134325 Graph Editor:
Added some more buttons and a few menu entries in the View menu that simplify the viewport.
2009-01-28 03:22:37 +00:00