Commit Graph

16327 Commits

Author SHA1 Message Date
Ton Roosendaal
dd78ca15c7 2.5
Made sliders behave correct in SpaceGraph and SpaceAction.
- no slider draw when all is visible
- sliders update correct when visibility changes.

Still an issue here to tackle; view2d->tot is used incorrect...
it's set on window size now (??), it should be the boundbox of 
the entire contents. That allows correct slider draws and ops
like 'view home'.
Will poke Joshua tomorrow. :)
2009-02-19 17:13:04 +00:00
Diego Borghetti
6bf9f383dc 4 new function, boundbox, width, height and rotation.
The rotation is through glRotatef and as you can see it's ugly,
the freetype2 allow apply a transformation (2x2 mat) to the glyph
before load, so I want to try using that.
Another thing to add is the 4x4 mat to get the scale and size from
there.. but I need commit this now to continue from my home.
2009-02-19 16:39:36 +00:00
Ton Roosendaal
f377be3783 2.5
Assorted smaller fixes:

- Fix: modal keymaps for editmode in view3d were not set again
  when you copy areas or go fullscreen.

- Improved "redo last op" (F6) to search back in history for
  a redoable operator. Operator also used wrong pupmenu type.

- On creating new FCurve editor, the channel rainbow colors are
  set correct.

- EditMesh: fixed code for Spin/Screw, correct props, init and
  error reporting. (Spin hotkey ALT+R temporary)

- recompiled all to check for uninitialized variable warnings.
  (compile flag should be -O for this). Fixed some proto's.
2009-02-19 16:22:07 +00:00
Campbell Barton
cdec2b3d15 BGE Python API
Use 'const char *' rather then the C++ 'STR_String' type for the attribute identifier of python attributes.

Each attribute and method access from python was allocating and freeing the string.
A simple test with getting an attribute a loop shows this speeds up attribute lookups a bit over 2x.
2009-02-19 13:42:07 +00:00
Campbell Barton
c597863783 "object" and "objectLastCreated" attribute for actuators, deprecates getObject/setObject() & getLastCreatedObject()
also removed some warnings
2009-02-19 10:34:51 +00:00
Ton Roosendaal
521a18f5a2 2.5
- Fix in ESC for render output window; it didn't check the 'full' and
  'prevspace' flags correct. In some cases it left the screen in 'full'
  mode on ESC.

- Added modal handler on a render, which catches the ESC while render,
  to prevent that ESC to be passed on to the image window.
  This handler can be further elaborated later to prevent edit accidents
  while render is in progress. 
  I already notice some derivedmesh/customdata free errors on render now
2009-02-19 10:21:17 +00:00
Campbell Barton
92d4ef0939 Accept negative indices's for ListValues
scene.getObjectList()[-1] works like a python sequence.

removed some STR_String creation that was only used to do comparisons, in a simple expressions benchmark this made logic use 4% less overall.
2009-02-19 07:01:49 +00:00
Brecht Van Lommel
b6b910f864 RNA: fix for bug in particle code, hopefully this solves the crash? 2009-02-18 21:28:04 +00:00
Ton Roosendaal
66698e9d71 2.5
Cleanup of saving code for Image window.

Little extra: added poll() check for buttons, greying out inactive
menu items or buttons. You can see it work in Image menu.
(Item 'save image' is grey when it wasn't saved, then you have to
use the 'save as' item).

Carefully designing poll checks is worth a trial once. :)
Do note that cpu time for polls should be totally minimal.
2009-02-18 18:08:33 +00:00
Ton Roosendaal
1a9e68bde5 2.5
Patch from Arystan:

- bugfix in mouse select posemode
- Lkey 'select linked' for both pose as editmode armature.
2009-02-18 14:13:06 +00:00
Ton Roosendaal
1090b0c598 2.5
Several things in one commit; could not split this up easily,
one job invoked another, and so on. :)

- Added pulldowns for save/load .blend file in top bar.

- To enable "Save" without further popups (save over) 
  I've added a signaling function in window header to
  indicate a succesful save.

- On any undo push it now signals 'file changed'. This
  goes by notifiers nicely, but now registers only the
  undopushes, which is quite unreliable. "Changed" state
  shows in header as "Blender*" and for OSX with the
  standard close button black dot.

- Made screencast show a button in top bar indicating such,
  and allowing quit. No hotkey for quit yet... but ESC will
  keep casting now.

- Fixed new BLF_init(), which should be in WM_init() and not
  on any .B.blend read.

- Fixed CTRL+F3 "Save Screenshot", which was still using old
  fileselect code.
2009-02-18 13:29:54 +00:00
Joshua Leung
c396a4ec15 Shift-A adds Armature Object (in Object Mode) or Bone (in Edit Mode) again. Still todo, is to have Shift-A in Object Mode add single-bone armature again. 2009-02-18 09:28:04 +00:00
Joshua Leung
3f72758da2 Bugfix for Record Transform Animation
Only selected objects are now keyframed.
2009-02-18 06:25:57 +00:00
Matt Ebb
d38babbee9 * More icon naming updates 2009-02-18 06:03:14 +00:00
Matt Ebb
f5de61816b * Cleaned up naming of icon ID constants. This helps fix bad icons in the graph editor among others. 2009-02-18 05:54:37 +00:00
Campbell Barton
7d2582de09 more uninitialized variables and auto-complete could copy a string over its self. 2009-02-18 05:49:51 +00:00
Campbell Barton
21925c6f47 uninitialized variable used in mesh_foreachScreenVert__mapFunc 2009-02-18 04:43:12 +00:00
Matt Ebb
ba59754a1d * More icon updates 2009-02-18 04:36:07 +00:00
Campbell Barton
7a96881795 disable texture clamping while painting. 2009-02-18 03:56:16 +00:00
Campbell Barton
f6b0b76fea [#18159] Path -> toggle cyclic -> toggle cyclic again == path corrupted
was not recalculating the knots when the cyclic flag was disabled so the endpoint flag was being ignored until recalculating (extrude for eg).

Also removed unneeded re-allocation of curve knots which are always reallocated by makeknots.

Fixed another bug with which recalculating knots with the Python surface api. (mixed up u/v args to makeknots(..) )
2009-02-18 03:13:57 +00:00
Shaul Kedem
d00b18c718 working yet preliminary (like everything) screw mesh. in irc there was a discussion about setting the screw axis outside of the function, but someone else should do that. 2009-02-18 03:01:45 +00:00
Michael Fox
bf5e267c97 2.5
*****
added add_primitive_bone, removed operator from previous commit as it was not needed
2009-02-18 02:13:36 +00:00
Michael Fox
4a2155e3ab 2.5
******
added a ARMATURE_OT_bone_add operator, ita generic operator to add a bone it behaves the same way as the old add bone (making a bone not set the tail but have it selected), commiting this so other add bone ops like add bonre pinative or making new armature
2009-02-18 01:50:26 +00:00
Brecht Van Lommel
94e583b476 RNA:
* Added Particle wrapping patch by Roelf de Kock. It's not
  complete yet and I haven't reviewed it, but committing anyway,
  will get to it later.
* Added "Percentage" subtype for floats. Doesn't really do
  much besides making auto rna buttons into sliders rather than
  numeric inputs, but can later display in % rather than 0.0-1.0.
2009-02-17 21:07:01 +00:00
Brecht Van Lommel
ec8c8f08ba 2.5: Image space, two fixes:
* With one item in ID databrowse list, you couldn't activate it.
* Render result without render image now displays grid at size
  according to render settings again.
2009-02-17 20:37:23 +00:00
Brecht Van Lommel
573e14c592 2.5: CMake update for blenfont module, also some flags for scons
to make it compatible with makefiles and ftfont module.
2009-02-17 20:16:09 +00:00
Diego Borghetti
473d00943b And another scons fix, hope now work!! 2009-02-17 19:57:05 +00:00
Brecht Van Lommel
38410b63a6 2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..

* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character

Notes

* Text (datablock) to Object doesn't work yet, will need to
  implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
  ctrl+x, ctrl+left/right. That override goes top down which works
  well for some cases, but here we need to override in the other
  direction.
* There's no unicode support in RNA, or the user interface code
  for that matter, but text strings can contain these characters.
  At the moment it stores a UTF-8 string in char arrays, which is
  supposed to be nicely compatible with ascii. Seems reasonable to
  add support for UTF-8 in the interface code, python bindings, ..
  eventually?
2009-02-17 19:55:20 +00:00
Brecht Van Lommel
8c8792bb12 2.5: fix to make blenfont module compile with scons. 2009-02-17 19:37:47 +00:00
Diego Borghetti
bd33237830 Fix scons build for blenfont, patch by skejoe. 2009-02-17 19:09:14 +00:00
Diego Borghetti
16a61743e1 Making the things compiled!!
I change the #if 0 with #if WITH_FREETYPE2, also fix a lot of typos, etc.
This is the basic but now it draw text!!, I am using the "User Preference"
space to test the library, nobody is working on that and the option are
in the outliner now so...

TODO-next: using the 4x4 mat, string size, bounding box, aspect and rotate.

Notes: I update the Makefile, missing some include and other things so
maybe scons, cmake and msvc also need update ?
2009-02-17 16:56:29 +00:00
Ton Roosendaal
9aa7e981bd 2.5
Bug: cleanup in space_file copy I did missed a NULL check :)
2009-02-17 16:33:08 +00:00
Ton Roosendaal
9322bddf2c 2.5
Fix for the 'repeat last operator' option. It didn't work yet well
outside editmode. Now undo/redo has to fully keep the UI alive,
even when called from within a running popup.

Another fix: when regions collapse/hide they were not effectively
disabled, still accepting events. (like Nkey in 3d window).
2009-02-17 15:53:52 +00:00
Ton Roosendaal
9185f7931a 2.5
Bugfix: passing on uninitialized var to a function made msvc halt.
Strange that gcc didnt complain :)

Brecht: check if this 'a' was needed as counter or so?
2009-02-17 14:56:07 +00:00
Campbell Barton
28245a754e python api bugfix,
forgot to remove the cast from short to long when making x,y aspect floats.
2009-02-17 14:41:36 +00:00
Ton Roosendaal
7a66002753 2.5
Node/Composite tinkering:

- titles in headers and on collapsed nodes back
- backdrop option draws again (no scroll operator yet)
- added preview option in blur, filter and mix nodes. 
  Just for fun while working :) Probably every node
  should get this...
2009-02-17 13:37:06 +00:00
Ton Roosendaal
8020515ab2 2.5
Small fixes for filewindow;
- on resize area/window, the load button disappeared. 
- made scrollers indicate what direction works
- mousewheel scroll switches to horizontal automatically now

(assuming we keep filelists horiz, previews vertical scrolled)

View2d got hacked a bit by me for it; i guess for some cases
the scroll value should become customizable. Will come back
later!
2009-02-17 13:11:09 +00:00
Joshua Leung
ba3cacc33f Visual Keyframing - Restored code to make this work, but it may still be flaky
NOTE: upon further testing, quick-record-animation feature does not work with auto-ik yet. Although it would be desireable to have, it is not a priority at this point, since adding that would require a bit of reworking of that code for something it wasn't intended for.
2009-02-17 10:58:40 +00:00
Joshua Leung
6eae888d49 PoseChannel Transforms - AutoIK Restored
- Auto-IK works again now. 

- Quick-animate feature works with Auto-IK now. 
- Also disabled the checks for existing animation data for this, making it easier to use/discover. At least we've got undo to cover for the cases where the user didn't intend to do this.
2009-02-17 09:34:21 +00:00
Joshua Leung
e81fde5aa4 Record Transform Animation - Quicky feature which makes it super-easy to animate stuff quickly
To use, simply enable Auto-Keyframing and start the animation playback from the TimeLine.
Then at any time while the playback is still running (and Auto-Keyframing is still enabled), select any object/bone and start moving it around. 
You can also select other objects/bones and move them around using standard transform tools (grab/rotate/scale), or exit transform for the active/selected object(s), and move on to other objects instead. Repeat until satisfactory!

This is similar to the old 'Record IPO' functionality (and/or is closer to the 'Mouse Recording' in 3DSMax), except it's much cooler, and is more flexible at the same time. It's
"good for quick and dirty tests, or things with timing, where it's easier to do it real time" - William Reynish, or "handycam effect or eyes animation" - Pepeland.


Additional Notes:
- for now, the objects that are used for this currently need some animation data already. This limitation is temporary.
- eventually, 'samples' (i.e. baked-data) not keyframes will be made by this tool as samples are more suitable for such large sets of densely spaced points
2009-02-17 08:55:50 +00:00
Campbell Barton
def36ce180 fix for [#17972] Saving/Loading Radiance HDR changes colors
removed HDR loop that loaded 8bit color channels (which was incorrect)
and added a call to IMB_rect_from_float at the end.

This also means that char buffers wont be created if they are not needed.
2009-02-17 04:32:49 +00:00
Campbell Barton
e5a5399c33 [#17991] Anim rendered in BMP format won't play back
fix from Sebastian Kochman (raiq)  - [#18022]
2009-02-17 04:11:20 +00:00
Campbell Barton
25ab515951 bugfix [#18003] Rev-17473: Scene sets doesn't work in links 2009-02-17 03:43:56 +00:00
Shaul Kedem
312c822945 spin mesh is alt Rkey - ton, please check and advise regarding screw_mesh and defaults. F3 fails while pressed continuously 2009-02-16 20:04:01 +00:00
Ton Roosendaal
2415040b9f 2.5
Patch from Arystan Dyussenov (A624), two operators for armatures;

- select hierarchy up/down, using bracket [ ] with or without
  shift, and for editmode and posemode.

Good work, thanks!
2009-02-16 17:18:24 +00:00
Campbell Barton
46417e1362 WIP, low level python UI functions, so far tested popup menu to work with bpyui.pupMenuBegin, menuItemO and pupMenuEnd functions.
And a popup block with python callback with bpyui.pupBlock, beginBlock, popupBoundsBlock and endBlock funcions.

These functions should not be accessed by scripters directly.
2009-02-16 16:17:20 +00:00
Ton Roosendaal
3b6218405b 2.5
Some small fixes:

- handler operator exec gave too quick a warning for invalid area
  (set area context to NULL is OK :)
- 4-split 3D view with clip option didn't reset clip when 4-split
  was disabled
- creating a new 3d view didn't initialize buttons region correct.
2009-02-16 15:08:06 +00:00
Ton Roosendaal
27d52217ca 2.5
Cleanup of wm_event_types.h, removed all old "allqueue" defines.
2009-02-16 14:28:33 +00:00
Ton Roosendaal
4154e48c05 2.5
Proper integration of File-selecting in WM. The communication
flow was flawed. :) Main problem was that filewindow can change
the screen context entirely, and should not do this directly on
a call inside an operator. Another problem was that the operator
ownership was handed over to SpaceFile, which is asking for 
problems if you want to execute the operator with proper context
later on.

Solution is simple; window handlers already are valid owners of
operators and can manage context, so instead of directly talking
to the 'file space', you give the operator to a new handler this
way:

    WM_event_add_fileselect(C, op);

This handler then listens to events (OPEN, EXEC, CANCEL) sent
by the WM or by the filewindow itself. This way local context
operators (like "open new image in imagewindow") will survive
a full-window fileselector fine, and in future also secondary
windows browsing files.

Two bugfixes included in this commit too:
- Add sequence menus in Sequencer used wrong context.
- When handler executes operators, it sets stored context now
  by first checking if this is still valid.
2009-02-16 12:14:04 +00:00
Joshua Leung
f6df8e1860 F-Curve names: Experimental style 2
In this commit, I've experimented with the way in which F-Curve names (seen in DopeSheet/Graph Editor) are put together. 

Now, F-Curve names are assembled in the form:
<array-index> <property-name> (<struct-name>)
i.e.  "X Location (Bone)", "Y Location (Object)"
"Specularity (VeryLongMaterialName)", etc.  

The goal of this experiment was to hopefully make it quicker to do a left-margin scan and identify the defining differences between closely related F-Curves. 
- This has the benefit of no (potential) need for horizontal scrolling back and forth to see and compare the end portions of names, and also to avoid the important parts of the name getting pushed out of the standard viewable area by some owner-struct long names. 
- The downside is the loss of the clear hierarchial layout closely related to the RNA-paths used internally, that was provided by the old method. Also, this method also looks rather awkward on first glance, but if it improves efficiency of use, why not :)
2009-02-16 09:48:38 +00:00