Commit Graph

16667 Commits

Author SHA1 Message Date
Joshua Leung
cebf6cb22d NLA SoC: Code for basic evaluation of NLA strips done
In theory, actions can now be evaluated in NLA, though in practice, we don't have an NLA Editor to create data to use this yet! Next up, transitions...

Some notes:
* Recoded the way the 'accumulation' methods work (i.e. blend, add, etc.), adding a few new ones. It should now be more obvious how these work.
* Some assorted code cleanups done too (removing unneeded vars/args)
2009-05-16 01:00:41 +00:00
Joshua Leung
070f32f778 NLA Branch: Merge from 2.5 20116:20214 2009-05-15 13:35:29 +00:00
Joshua Leung
e295cfd4d5 NLA Branch: Setting up evaluation system for action strips
* Refactored F-Curve Modifier stack evaluation into functions which can be reused for F-Curve Modifiers on NLA-Strips 
* Started setting up temporary accumulation buffer system for use when evaluating strips
2009-05-15 13:23:03 +00:00
Brecht Van Lommel
b4d46e5ded UI: Layout Engine
* Buttons are now created first, and after that the layout is computed.
  This means the layout engine now works at button level, and makes it
  easier to write templates. Otherwise you had to store all info and
  create the buttons later.
* Added interface_templates.c as a separate file to put templates in.
  These can contain regular buttons, and can be put in a Free layout,
  which means you can specify manual coordinates, but still get nested
  correct inside other layouts.

* API was changed to allow better nesting. Previously items were added
  in the last added layout specifier, i.e. one level up in the layout
  hierarchy. This doesn't work well in always, so now when creating things
  like rows or columns it always returns a layout which you have to add
  the items in. All py scripts were updated to follow this.

* Computing the layout now goes in two passes, first estimating the
  required width/height of all nested layouts, and then in the second
  pass using the results of that to decide on the actual locations.

* Enum and array buttons now follow the direction of the layout, i.e.
  they are vertical or horizontal depending if they are in a column or row.
* Color properties now get a color picker, and only get the additional
  RGB sliders with Expand=True.
* File/directory string properties now get a button next to them for
  opening the file browse, though this is not implemented yet.
* Layout items can now be aligned, set align=True when creating a column,
  row, etc.
* Buttons now get a minimum width of one icon (avoids squashing icon
  buttons).

* Moved some more space variables into Style.
2009-05-15 11:19:59 +00:00
Thomas Dinges
2df94626c4 2.5:
* Renamed Local Lamp to Point Lamp, as discussed in IRC.
* Small layout changes to the lamp panel.
2009-05-14 19:41:45 +00:00
Diego Borghetti
aee6d32005 Fix makefile for file browser. 2009-05-14 19:18:00 +00:00
Martin Poirier
978dce4266 Fix snapping bug in 2.5 2009-05-14 19:08:15 +00:00
Martin Poirier
2ae34a9816 2.5 compile errors.
Wrong include name (lower case) and missing include folder in scons.
2009-05-14 18:54:41 +00:00
Andrea Weikert
ba6bec56f9 2.5 filebrowser
- drawing code cleanup
- use of BLF_font in own string drawing, needs to be aligned with uiStyles still.
- thumbnail scaling now done on graphics card via new glaDrawPixelsTexScaled (slightly modified glaDrawPixelsTex)
2009-05-14 18:08:14 +00:00
Thomas Dinges
03b6b14df4 2.5 Buttons:
* Added basic Halo material options
2009-05-12 19:28:49 +00:00
Joshua Leung
5e0d2c896e Graph Editor Bugfix: Drivers for Materials now get shown 2009-05-12 11:36:33 +00:00
Thomas Dinges
f487a96302 2.5:
* Added empty buttons
* Added missing empty notifiers
2009-05-11 17:34:31 +00:00
Joshua Leung
69fca66a81 Graph Editor Bugfix: 'HomeKey' (View All) wasn't correctly calculating y-extents
It was only using the y-extents of the last F-Curve it encountered
2009-05-11 11:51:30 +00:00
Joshua Leung
1a76f8a9f3 F-Curve Colouring: Attempt at a new auto-algorithm
This new algorithm groups F-Curves into groups of 3-4 with similar colours, since triplets of related settings are more likely to be encountered. 

The colours get darker down the list. Blocks of related F-Curves will alternate between being boldly and weakly shaded.

I've left the old method still there but commented out. This new method could still be improved, as some of the colours chosen don't really stand out that well IMO. 

Testing and suggestions welcome as always :)
2009-05-11 11:41:08 +00:00
Thomas Dinges
02c81ff540 2.5 RNA: Curve
* Changed the font align booleans into 1 enum.
2009-05-11 11:31:10 +00:00
Campbell Barton
9f012ead0c made the material button use the active objects material 2009-05-11 08:40:50 +00:00
Joshua Leung
f1e89051c7 2.5 - Restored 'Render Anim' button!
After quite a bit of searching, I finally found where the various UI functions were wrapped for use in Py Layouts. 

For the reference of others, check out editors/interface/interface_api.c
2009-05-11 06:55:11 +00:00
Joshua Leung
2ed242656a 2.5 - RNA Bugfix 2 (for Keyframing):
Now properties in nested structs should be able to be keyframed (i.e. AO in World, and SSS in Materials). Added an extra method to RNA for this to work.
2009-05-11 05:18:49 +00:00
Joshua Leung
8e3356793a 2.5
* Broke compiling on previous fix...
* Starting fix for nestled structs...
2009-05-11 02:26:18 +00:00
Joshua Leung
5c96cd0319 RNA Bugfix: (Brecht, please check over these fixes...)
Fixed one of the causes of keyframes not being able to be inserted. For ID-types where inheritence of the basic wrapping of the struct (i.e. for Lamp blocks, shadow and other lamp-type specific settings were only defined in subclasses of the Lamp struct), the RNA_id_pointer_create() function now performs additional refinement of the PointerRNA so that the pointer will be resolved correctly to allow access to these settings.

The other case which is unresolved for now is nestled structs. The RNA_path_from_ID_to_property() needs modification for this, but dunno how yet.
2009-05-11 02:07:40 +00:00
Thomas Dinges
c32a3bd73b 2.5 Buttons:
*Added initial material buttons (Material Color, Ray Transparency, Ray Mirror, Subsurface Scattering)
Only works for default material atm. 

*some layout tweaks to the lamp panels.
2009-05-10 12:12:05 +00:00
Thomas Dinges
acb4d58120 2.5 Buttons:
* Added more lamp buttons and cleaned up the layout
2009-05-09 10:33:06 +00:00
Joshua Leung
1304d230a3 NLA-SoC: Merge from 2.5 20114:20115
(Testing testing)
2009-05-09 09:21:21 +00:00
Joshua Leung
9e5bd4bb98 2.5 - Warning fix in own code 2009-05-09 09:18:54 +00:00
Joshua Leung
4e10be01c7 NLA-SoC: Merge from 2.5 branch 19863:20113 2009-05-09 08:59:41 +00:00
Joshua Leung
029c27b0be 2.5 Bugfixes:
More work on getting these marker-dependent tools working. They should finally work now :)
2009-05-09 02:37:12 +00:00
Thomas Dinges
5fa80e74a1 2.5 Buttons:
* More Lamp options: Shadow and Spot (WIP, incomplete)
* Added initial lattice panel
2009-05-08 21:52:57 +00:00
Diego Borghetti
fc1036d206 Add support for attach a file with metrics information to the font.
Fonts like Type 1, have one file with the glyph image and another
file with metrics and kerning information, this try to search if the font
have this information and load (try open the same file but with the .afm
and .pfm extension).

Also add a function to load the same information from memory, just in case
that in some point we add a font like this.
2009-05-08 21:24:58 +00:00
Diego Borghetti
749a908331 Cleanup blendfont.
Now that we only work with Freetype2, I don't see any point to keep
wrapping the functions.

Also remove the reference code, it's something that we don't go to used.
2009-05-08 19:47:40 +00:00
Thomas Dinges
bf2daa56c1 2.5 Buttons:
* Split the buttons_data.py into separate files, this makes it easier to maintain them. 
Notes: Added an extra modifier file, because modifiers are for different object types.

* Added basic lamp buttons and Sun/Sky settings.
As the camera buttons they only work for the default light object for now.

* Some minor code cleanup
2009-05-08 18:17:57 +00:00
Kent Mein
f8b929b8e2 Added include dir for blenfont
Kent
2009-05-08 14:05:17 +00:00
Joshua Leung
4f0dc8abbf 2.5 - Restored Various Tools using Markers
* Added back a few Marker-API tools
* Restored column select tools using markers (some of these aren't working right yet though).
2009-05-08 12:51:36 +00:00
Joshua Leung
7e29e97c21 2.5 - Assorted animation code cleanups
* Replaced a few duplicated enums that were also defined for some RNA properties already with the RNA ones.

* Start of cleanup of markers code in preparation for getting the rest of the editing code involving markers working again
2009-05-08 10:50:32 +00:00
Kent Mein
171969213f Tweaks to build systems. Just some small cleanups...
Kent
2009-05-08 03:49:48 +00:00
Michael Fox
7325b8e2bf just a small tweak to the buttons window header buttons, seperating the global buttons like scene and world from the sub buttons like ob data and materials, also tweaked the object checks aswell 2009-05-07 01:20:43 +00:00
Andrea Weikert
ee4e89ec53 Blender 2.5
MSVC projectfiles updates
* removed WITH_FREETYPE2
* update for several missing or moved files rna_fcurve.c, gpencil.c,...
2009-05-06 18:51:58 +00:00
Joshua Leung
33ce7d4bad 2.5: Missing include was causing crashes on startup in the drawing code for scrollbars 2009-05-06 00:18:06 +00:00
Joshua Leung
8858546ab4 2.5 - Scons compiling fix for BDiego's commit
Was missing includes for blenfont module in a few places.
2009-05-05 23:25:12 +00:00
Diego Borghetti
405cf80eb8 Big, big commit!!
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2
2) Remove the old bmfont
3) Remove ftfont and bFTGL library
4) Implement a new BLF_draw_default function for place that still need/use
   the old BMF api.

I try to update both, scons and cmake, but I only can test with make, so
hope all work fine.

MSVC is broken, but I don't have Windows, things to search and fix are
any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that
blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont).
        Always have to link/include the freetype2 library
        Remove any reference to libbmfont
        Remove any reference to libftfont
        Remove any reference to libbftgl (or libbFTGL)
2009-05-05 23:10:32 +00:00
Joshua Leung
71c38978e1 2.5 Buttons - Insert/Delete Keyframe Menu Tweaks
* Added 'Replace Keyframes' entry that appears in addition to delete, since it is often useful to be able to directly replace values instead of having to delete and reinsert keyframes. Internally, this just calls the Insert Keyframe operator.

* Separated the code to for Driver editing from the tests for keyframes, since they're independent.

* Added separators between keyframe and driver operations. This could be removed if the UI-mafia consider it overkill.
2009-05-05 09:56:22 +00:00
Joshua Leung
42bc76511d Cycles FModifier - Repeat Mirrored now works for cycles before the start of the keyframe range 2009-05-05 09:43:11 +00:00
Thomas Dinges
33322ad1ff 2.5 Buttons:
* Some minor code cleanup
* More tweaks to match the Layout Guidelines "Dependencies ".
2009-05-05 04:07:08 +00:00
Matt Ebb
08df158672 * More icon updates, thanks to Jendryzch. That's all the modifiers now, I think! 2009-05-05 02:24:58 +00:00
Thomas Dinges
b753d6fd2d 2.5 Buttons:
* Tweaked the scene buttons to be more consistent with the Layout Guidelines. http://wiki.blender.org/index.php/BlenderDev/Blender2.5/UIlayoutGuide

* Modifier panel is now also visible on non mesh objects, like curves, text etc.
2009-05-04 18:45:58 +00:00
Thomas Dinges
eaf717c500 2.5 Data Buttons:
* Added camera buttons.
* Added poll to check on active object type.

ToDo:
* Lens Unit "lens" and "angle" don't update each other. Needs RNA fix. 
* Buttons only work for default camera now, needs better context.
2009-05-04 15:53:55 +00:00
Thomas Dinges
56fcb7d20f 2.5 RNA:
*Added missing notifiers for resolution and aspect ratio, so camera border updates while changing the values in camera view.
2009-05-04 15:19:11 +00:00
Joshua Leung
e4e70bfb91 2.5 - Bugfixes
* Loading files saved with 2.5 works again now without crashing. Was crashing when trying to load Grease Pencil data (even though there was none)
* Fixed some msvc compiler warnings in own code
2009-05-04 10:24:53 +00:00
Joshua Leung
22c2827d2d Cycles F-Curve Modifier: 'Mirrored' Option
Using this cycling mode option, the keyframe range will be repeated in reverse order every second repeat. Thanks for the idea mfoxdogg :)
2009-05-04 10:04:46 +00:00
Matt Ebb
387df32933 * Icon updates and fixes
* Made the buttons space listen to and update for new active objects
* Cleaned up the Add Object menu
2009-05-04 07:04:48 +00:00
Joshua Leung
2e93dc4037 F-Curve Modifiers: Time-Modifying F-Modifiers Cleanup
Time-Modifying F-Curve Modifiers now get special callbacks to allow them to specify what frame they need to be evaluated on, instead of forcing a re-evaluation of the preceeding curve + modifier-stack. This should be more robust than the old way in general.

It still remains to be seen if some tweaks to this are still needed, as the full consequences of the propogation of modified time-spaces have yet to be fully explored. 

For now though, evaluation works by finding the last modifier on the stack which modifies time, and asks it what time it modifies the given time to. This modified time is used to evaluate the F-Curve data only. The modifier stack gets evaluated using the original time instead.
2009-05-03 13:00:59 +00:00