Commit Graph

13559 Commits

Author SHA1 Message Date
Ton Roosendaal
8f712f86b9 2.5
- Render: scene buttons RENDER and ANIM now work
- Nodes: text drawing for socket names back
2009-02-09 16:52:33 +00:00
Ton Roosendaal
f33309b028 2.5
- Added depsgraph tag for object-change in AnimData, so the
  new animsys doesn't have to all objects anymore. 
  (Still WIP, depsgraph has to do this much better)

- Bugfix in notifiers; only 1 notifier was handled for
  frame updates

Result: 2 windows, displaying 2 scenes, now can be edited
independently, and play independent. Not when they share
data, of course. :)
2009-02-09 15:50:09 +00:00
Joshua Leung
c58d336a33 Keyframe-related bugfixes:
* Deleting keyframes should be safer now
* Graph Editor no longer crashes on F-Curves with no keyframes/samples
* Silenced console prints that occurred when an F-Curve had now keyframes.
2009-02-09 11:05:34 +00:00
Joshua Leung
2b818935fe Graph Editor: Drawing tweaks for previous commit
* Group channels are drawn with better indention now
* Colors for group channels in Graph Editor are now initialised properly
* When selecting individual keyframes in Graph Editor, it is now possible to see which curve it belonged to, as the 'active' and 'selected' flags are set on that curve only.
2009-02-09 10:33:05 +00:00
Joshua Leung
59736af8fc Animato: Added 'experimental' grouping schemes for F-Curves
When inserting keyframes on previous un-animated Objects/bones, F-Curves will be added into Action Groups into either "Object Transform" or <PoseChannel Name>. Ob->Material settings are not grouped for now to illustrate what's possible.

Old files are currently not patched to use do this, as it's still not clear whether this will be ideal.
2009-02-09 10:04:11 +00:00
Diego Borghetti
b9063b27a9 Just commit so I can continue tomorrow from work.
All the code have #if 0 / #endif so nothing to worry about.
2009-02-09 07:15:22 +00:00
Joshua Leung
9dec5e8fa3 DopeSheet: Bugfix for View All (HomeKey)
Removing an old line of temporary code I forgot to remove
2009-02-09 04:47:34 +00:00
Joshua Leung
eb848445fb 2.5 - Assorted View2D-Related Cleanups
* Removed Sequencer's own 'border zoom' tool. There is a generic one in View2D that should be used instead.

* Changed the hotkey for View2D's version of borderzoom to Shift-B

* Fixed a few hotkey mentions entries in old menus

* Added set start/end frame operators for TimeLine. (SKEY and EKEY)

* Fixed various issues in Graph Editor 
- channels area is now drawn wide enough to show the 'protect' toggles without needing to scroll
- new Graph Editors have 'auto-snap' enabled by default
2009-02-09 04:39:25 +00:00
Joshua Leung
52e1121669 2.5 - Animation UI tweaks
* Frame-change (scrubbing) now works when using LMB select. It now uses ACTIONMOUSE, so it doesn't conflict with selection. However, the check for exiting the modal op currently needs to check for LEFTMOUSE and/or RIGHTMOUSE instead of ACTIONMOUSE otherwise errors occur.

* Renamed the 'DopeSheet Editor' entry to simply 'DopeSheet'
2009-02-09 03:06:52 +00:00
Matt Ebb
85231e5fd4 * Some more 2.5 theme updates 2009-02-09 02:54:40 +00:00
Joshua Leung
0139d9d121 2.5
Fixed memory leaks when closing Blender without exiting Armature EditMode first.

Ton/Brecht - mesh editmode (and a few others I think) are still leaking in this case.
2009-02-09 01:33:50 +00:00
Joshua Leung
5e0c553b15 Armature Editing: Subdivide Operators
* Added back the Subdivide tools. Use the Alt-S hotkey (for now) to get a menu with the subdivision options. There are also two standalone operators which are not used yet.

* Fixed the PoseMode checking callback to make sure that it doesn't override any tools in EditMode.

* Fixed an old comment in transform code, and a few warnings in editarmature.c
2009-02-09 01:27:44 +00:00
Joshua Leung
7d6e7914de Armature Tools - Ported Switch Direction (Alt-F)
This is one of the few armature tools where it is currently not that easy/desireable to port to use context-loops exclusively, since they depend on working with 'chains' of bones from the tips to the roots, which cannot be easily done using EditBones.
2009-02-08 23:41:21 +00:00
Ton Roosendaal
eb929804d2 2.5
Added CTRL+W save Blender file.

It's the first user of the uiPupMenuSaveOver() function,
which I've recoded to accept an operator pointer.
This is required because the operator property 'filename'
has to be set to work. Other 'save over' users will
require running operators too I guess.
2009-02-08 19:15:59 +00:00
Brecht Van Lommel
3fcc36d0b0 2.5: RNA auto pointer type detection didn't find right types. If
two RNA structs have the same DNA structs it should use the first
defined one, could be smarter but for now this makes it work again.
2009-02-08 14:56:43 +00:00
Ton Roosendaal
8c5c7ebb0b 2.5
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
2009-02-08 12:16:35 +00:00
Joshua Leung
fa8d5608dc 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.
2009-02-08 11:28:20 +00:00
Joshua Leung
dd23d47fca 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.
2009-02-08 11:06:26 +00:00
Joshua Leung
d7f5eab6cb Action Editor - Added back ID browsing buttons. Only browse/delete works for now. 2009-02-08 10:21:38 +00:00
Shaul Kedem
608e6f1d3e edit_tools ops - starting from 4key up to 8key, ctrl and alt. ton: please check if working (especially uv and color functions) 2009-02-07 23:20:36 +00:00
Ton Roosendaal
2f0f8c8bae 2.5
- Screen browse button back

- Several fixes in using screens in more windows.
  Still has loose ends, but things are definitely more stable!
2009-02-07 19:37:29 +00:00
Ton Roosendaal
f78aa0ab65 2.5
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.)
2009-02-07 16:43:55 +00:00
Ton Roosendaal
d28a05080c 2.5
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 :)
2009-02-07 15:44:16 +00:00
Ton Roosendaal
875a08884b 2.5
- 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
  code.
- 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
  defined.
- Changed 'pin' icon in Image header to something that looks
  less scary... but there's no pin icon yet?
2009-02-07 14:03:34 +00:00
Ton Roosendaal
d21a4780da 2.5
Bugfix in ctx itterator: CTX_DATA_COUNT() didn't free memory.
2009-02-07 13:39:54 +00:00
Ton Roosendaal
df048070ec 2.5
Hrmf; the patch provided for setting UserDef opengl lights didnt even
work. It was setting flags zero, which just disabled any saved light.
2009-02-07 11:04:13 +00:00
Joshua Leung
2a638fa3cd View2D bugfix:
The previous fix for zooming only worked as lucky coincident. It was the flag that was wrong, not the var.
2009-02-07 10:39:20 +00:00
Ton Roosendaal
19896992ff 2.5
- 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.
2009-02-07 10:00:46 +00:00
Nicholas Bishop
86f200a510 Started converting over the sculpt header menu to the new system. Added operator and menu items for brush curve presets. 2009-02-07 03:21:28 +00:00
Brecht Van Lommel
591ab657d6 2.5: UV Editor, more operators.
Border Select
Circle Select
Pin
Select Pinned
Unwrap
Minimize Stretch
Pack Islands
Average Islands Scale
Snap Cursor
Snap Selection
2009-02-07 01:27:46 +00:00
Brecht Van Lommel
709976a4af 2.5: fix triple buffer memory leak on exit. 2009-02-06 19:58:15 +00:00
Ton Roosendaal
02d594aba0 2.5
- Corner node 'size' widget works again
- Proper preview events added on linking nodes
2009-02-06 18:38:10 +00:00
Roland Hess
f8492383fd Finish Material, Sound and World adr conversion sections. Moving on to particle adr codes, but I have to wrap particle dna first. Ugh. 2009-02-06 17:32:57 +00:00
Brecht Van Lommel
1b0a49478a 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.
2009-02-06 16:51:09 +00:00
Brecht Van Lommel
84e2de8ca7 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,
	sima_idpoin_handle, UI_ID_BROWSE|UI_ID_RENAME|UI_ID_ADD_NEW|UI_ID_OPEN|UI_ID_DELETE|UI_ID_ALONE|UI_ID_PIN);

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.
2009-02-06 16:40:14 +00:00
Ton Roosendaal
14f180fa04 2.5
Node editor: 

- Linking sockets back.
- Removed obsolete code 
- Add node gives correct pointers for Render stuff
2009-02-06 16:34:05 +00:00
Ton Roosendaal
61fdeb1b2f 2.5
View2D bug: zooming failed in node editor due to check for wrong
variable (keepzoom instead of keepofs :)
2009-02-06 16:31:18 +00:00
Ton Roosendaal
1646f053a5 2.5
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
2009-02-06 13:07:02 +00:00
Ton Roosendaal
9d5958f061 2.5
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.
2009-02-06 12:33:15 +00:00
Ton Roosendaal
586d660b21 2.5
Bugfix: on reading multiple pre-2.5 files, the keymaps were generated
again, causing items to be added double.
2009-02-06 11:11:42 +00:00
Joshua Leung
0355dcc618 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
2009-02-06 10:48:00 +00:00
Joshua Leung
2756060a64 2.5
Converted all countall() calls in armature code to armature_sync_selection()
2009-02-06 10:04:44 +00:00
Joshua Leung
4b0313bf82 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.
2009-02-06 01:39:55 +00:00
Ton Roosendaal
e1b92bc166 2.5
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.
2009-02-05 19:28:28 +00:00
Joshua Leung
0a3697ccf7 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.
2009-02-05 05:51:21 +00:00
Michael Fox
6947624afa 2.5
*******
-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()
2009-02-05 05:13:08 +00:00
Joshua Leung
f89e3d2517 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
2009-02-05 03:28:07 +00:00
Shaul Kedem
61a6e1957a flip_editnormals is back, alt+3key 2009-02-05 01:32:37 +00:00
Nicholas Bishop
66f90c47d4 * 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)
2009-02-05 01:12:47 +00:00
Joshua Leung
5fc657cdc6 Bugfix for 2.5 - Bugfix #18251
The patch was pasted in the wrong place, thus destroying all custom OpenGL solid light setups too.
2009-02-04 22:33:24 +00:00