12 years ago* Icon updates and fixes
Matt Ebb [Mon, 4 May 2009 07:04:48 +0000 (07:04 +0000)]
* Icon updates and fixes
* Made the buttons space listen to and update for new active objects
* Cleaned up the Add Object menu

12 years agoF-Curve Modifiers: Time-Modifying F-Modifiers Cleanup
Joshua Leung [Sun, 3 May 2009 13:00:59 +0000 (13:00 +0000)]
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.

12 years agoFix for Bug #18658: | character in buttons allowing text input was being interpreted...
Joshua Leung [Sun, 3 May 2009 02:27:36 +0000 (02:27 +0000)]
Fix for Bug #18658: | character in buttons allowing text input was being interpreted as the "menu-name | hotkey" delimeter used for menus, giving incorrect results.

This commit fixes the issue in 2.5 only. A similar fix will need to be backported/coded for trunk?

12 years agoF-Curve Modifiers - Per-Modifier Muting:
Joshua Leung [Sat, 2 May 2009 04:51:14 +0000 (04:51 +0000)]
F-Curve Modifiers - Per-Modifier Muting:

It is now possible to mute individual modifiers so that they will not contribute to the final result.

12 years ago* Added a new F-Curve modifier type: Noise
Matt Ebb [Sat, 2 May 2009 04:20:36 +0000 (04:20 +0000)]
* Added a new F-Curve modifier type: Noise

Thanks Aligorith for making such an easy to use system!

12 years ago* Added a list of OS X volumes to the file selector bookmarks pane, consistent with...
Matt Ebb [Sat, 2 May 2009 03:09:40 +0000 (03:09 +0000)]
* Added a list of OS X volumes to the file selector bookmarks pane, consistent with the drive letters on Windows. Currently this list only gets refreshed on Blender startup, hopefully this can be worked on but for now at least it's better than having to manually navigate to /Volumes/...

12 years ago2.5 - Restored access to the Image-Type setting
Joshua Leung [Fri, 1 May 2009 11:57:14 +0000 (11:57 +0000)]
2.5 - Restored access to the Image-Type setting

This has been wrapped under Scene.RenderData, and can currently be accessed under the 'Image' panel in the Scene settings.

As in the old code, image types are only included if they are enabled when compiling. Also note that image-type specific settings have not been wrapped yet.

12 years ago* Some tiny tweaks to the padding around buttons window
Matt Ebb [Fri, 1 May 2009 06:24:52 +0000 (06:24 +0000)]
* Some tiny tweaks to the padding around buttons window

12 years ago2.5
Ton Roosendaal [Thu, 30 Apr 2009 17:27:30 +0000 (17:27 +0000)]

Cleanup of conventions for icon placement in menus.

Old code only allowed 1 icon per menu, forcing to pass on the sublevel
menu icon with exception handling.

Now sublevel icons are drawn automatically, allowing to add an icon
before name too. (Check shift+a menu)

12 years ago2.5
Ton Roosendaal [Thu, 30 Apr 2009 16:44:00 +0000 (16:44 +0000)]

Two fixes:

- objects in editmode now update data on saving .blend
- uifonts and uistyles were not freed yet on reading files

12 years ago2.5
Ton Roosendaal [Thu, 30 Apr 2009 12:51:38 +0000 (12:51 +0000)]

Bug reported by Joshua: quitting Blender via window header quit widget
didn't free editmode stuff.

12 years ago2.5
Martin Poirier [Thu, 30 Apr 2009 11:47:35 +0000 (11:47 +0000)]

Transform helpline and experimental drawing code to indicate direction of motion for specific transformations.

12 years ago2.5
Ton Roosendaal [Thu, 30 Apr 2009 11:33:07 +0000 (11:33 +0000)]

Bugfix, thanks to report from M Fox: Saving file in editmode
could crash on load, because editobject pointer in scene was
not cleared on file reading.

12 years ago2.5 - Icons Add Object Menu
Joshua Leung [Thu, 30 Apr 2009 10:22:28 +0000 (10:22 +0000)]
2.5 - Icons Add Object Menu

A little experiment in putting icons on this menu as per a mockup from William.

However, it appears that there is a minor bug here though with the menu drawing code. I've deliberately left the Mesh entry without an icon for now to illustrate part of the problem (note the placement of the icons for curves and surfaces)

12 years ago* trying out a little 'gripper' draw style for the screen splitter triangle
Matt Ebb [Thu, 30 Apr 2009 02:14:03 +0000 (02:14 +0000)]
* trying out a little 'gripper' draw style for the screen splitter triangle

12 years ago* First pass updating the default theme for the new UI controls and darker colours
Matt Ebb [Wed, 29 Apr 2009 04:43:17 +0000 (04:43 +0000)]
* First pass updating the default theme for the new UI controls and darker colours

12 years ago* Updated icons from Jendryzch. Thanks!
Matt Ebb [Wed, 29 Apr 2009 02:47:28 +0000 (02:47 +0000)]
* Updated icons from Jendryzch. Thanks!

12 years agoUI:
Brecht Van Lommel [Mon, 27 Apr 2009 18:05:58 +0000 (18:05 +0000)]
* Made separator item work horizontal & vertical.
* Add colon (:) automatic for int/float/enum/string.
* Added space variables to uiStyle and use them in the
  layout engine.

* Added initial World buttons by Thomas Dinges, thanks!
* Added some code for modifiers in the Object Data context.
  This will become a template though.
* Use a common poll() callback in the scripts to reduce code.

12 years ago2.5
Martin Poirier [Mon, 27 Apr 2009 15:43:35 +0000 (15:43 +0000)]

Fix repeat crash with transform. Just remove stupid twmat, don't need to cache results in view3d.

Made it more safe too.

12 years ago2.5
Ton Roosendaal [Mon, 27 Apr 2009 13:55:38 +0000 (13:55 +0000)]

Forgot to add new file!

This is the toolbar, it get overlayed on top of view, not changing
main window display.

12 years ago2.5
Ton Roosendaal [Mon, 27 Apr 2009 13:44:11 +0000 (13:44 +0000)]

Summary of ain features:
- Themes and Styles are now editable.
- CTRL+U "Save user defaults" now goes to new .B25.blend, so you
  can use 2.4x and 2.5x next to each other. If B25 doesn't exist, it
  reads the regular .B.blend
- Press Tkey in 3d window for (unfinished) toolbar WIP. It now only
  shows the last operator, if appropriate.
  Nkey properties moved to the other side.

A lot of work was done on removing old themes for good and properly
getting it work with the 2.5 region system. Here's some notes;

- Buttons now all have a complete set of colors, based on button classifications
  (See outliner -> user prefs -> Interface
- Theme colors have been extended with basic colors for region types.
  Currently colors are defined for Window, Header, List/Channels and
  for Button/Tool views.
  The screen manager handles this btw, so a TH_BACK will always pick the
  right backdrop color.
- Menu backdrops are in in Button theme colors. Floating Panels will be in
  the per-space type Themes.
- Styles were added in RNA too, but only for the font settings now.
  Only Panel font, widget font and widget-label work now. The 'group label'
  will be for templates mostly.
  Style settings will be expanded with spacing defaults, label conventions,
- Label text colors are stored in per-space Theme too, to make sure they fit.
  Same goes for Panel title color.

Note that 'shadow' for fonts can conflict with text colors; shadow color is
currently stored in Style... shadow code needs a bit of work still.

12 years ago2.50: fix crashes in the text editor due to undo buffer.
Brecht Van Lommel [Mon, 27 Apr 2009 10:00:22 +0000 (10:00 +0000)]
2.50: fix crashes in the text editor due to undo buffer.

12 years agopatch from Thomas Dinges, falloff out of the stars struct into the mist.
Campbell Barton [Fri, 24 Apr 2009 11:36:48 +0000 (11:36 +0000)]
patch from Thomas Dinges, falloff out of the stars struct into the mist.

12 years agojust some fixes in rna descriptions
Michael Fox [Fri, 24 Apr 2009 01:27:17 +0000 (01:27 +0000)]
just some fixes in rna descriptions

12 years agoSmall comit, added the colour mode (BW,RGB,RGBA) and object type to rna, and added...
Michael Fox [Fri, 24 Apr 2009 01:17:54 +0000 (01:17 +0000)]
Small comit, added the colour mode (BW,RGB,RGBA) and object type to rna, and added appropriate entries to the UI

12 years agoMove texture draw to blf_util.c, now both font used it.
Diego Borghetti [Thu, 23 Apr 2009 21:57:41 +0000 (21:57 +0000)]
Move texture draw to blf_util.c, now both font used it.

A little cleanup on the internal font, it's possible load the old
bmfont with: BLF_load_mem(name, NULL, 0) where name can be: helv,
helvb or scr.

Note that the internal font also support both draw, texture and bitmap,
by default always used texture.

Remove some old lang function that I left there and don't exist any more
because the locale are now in the RNA.

Small changes to Style's, so if we build without freetype2 by default
go back to the internal font, this is a little ugly (and have the old
problem of scale) but now blender always show text (need work a little
more there).

12 years ago2.5
Ton Roosendaal [Thu, 23 Apr 2009 15:14:19 +0000 (15:14 +0000)]

Two small fixes;

- restrict collumns in outliner didn't work
- pulldown menu buttons had wrong AA color outline.

12 years ago2.5
Ton Roosendaal [Thu, 23 Apr 2009 09:59:03 +0000 (09:59 +0000)]

Make: removing hidden directories from .app failed.

12 years ago- fix for python refcounting crashes, remember PyDict_GetItem and PyDict_GetItemStrin...
Campbell Barton [Thu, 23 Apr 2009 09:15:42 +0000 (09:15 +0000)]
- fix for python refcounting crashes, remember PyDict_GetItem and PyDict_GetItemString borrow a ref.
- the namespace dictionary wasn't being de-allocated for each run.
- clear every error after printing it to avoid stale PyObjects hanging about.

12 years ago2.5
Ton Roosendaal [Thu, 23 Apr 2009 08:13:25 +0000 (08:13 +0000)]

Last commit from brecht with feature:

* Buttons window data context icon new changes depending on active

Forgot to check for ob==NULL, crashed files.

12 years agoF8Key reloads all python scripts and redraws for quick testing
Campbell Barton [Thu, 23 Apr 2009 06:58:02 +0000 (06:58 +0000)]
F8Key reloads all python scripts and redraws for quick testing
F7 runs also for testing

12 years agoSmall changes
Campbell Barton [Thu, 23 Apr 2009 05:56:09 +0000 (05:56 +0000)]
Small changes
- font->blur was uninitialized
- Use Ctrl+Alt+Shift+P to run scripts from the 3d view not Pkey. (still useful for testing)

12 years ago* Tiny UI tweak, moved the checkbox labels closer to the boxes.
Matt Ebb [Thu, 23 Apr 2009 01:53:11 +0000 (01:53 +0000)]
* Tiny UI tweak, moved the checkbox labels closer to the boxes.

12 years agoAdd clipping option for bitmap draw mode and remove the "test code" from
Diego Borghetti [Wed, 22 Apr 2009 20:54:27 +0000 (20:54 +0000)]
Add clipping option for bitmap draw mode and remove the "test code" from

12 years agoheight=0;
Shaul Kedem [Wed, 22 Apr 2009 19:13:07 +0000 (19:13 +0000)]

12 years agoUI
Brecht Van Lommel [Wed, 22 Apr 2009 18:39:44 +0000 (18:39 +0000)]
* Headers and menus can now be created in python.
* Replaced the uiMenuItem functions to create menus with equivalent
  uiItem functions using a layout, removing duplicated code.
* More uiItem functions are now exposed to python.
* The text editor header, panels and one of its menus are now created
* Buttons window data context icon new changes depending on active

* Icons are not wrapped yet, hardcoded ints at the moment.
* The ID browse template is unfinished.

12 years agoAssorted 2.5 fixes:
Joshua Leung [Wed, 22 Apr 2009 10:07:12 +0000 (10:07 +0000)]
Assorted 2.5 fixes:
- compiling errors in outliner.c
- incorrect comments

12 years agorna functions are now included in epydocs,
Campbell Barton [Tue, 21 Apr 2009 20:03:39 +0000 (20:03 +0000)]
rna functions are now included in epydocs,
only write the functions into the base rna structs and let epydoc show the inheritance.


12 years ago2.5:
Brecht Van Lommel [Tue, 21 Apr 2009 15:30:54 +0000 (15:30 +0000)]
* Changed the buttons window contexts to be like the mockups:
  scene, world, object, data, material, texture, particles, physics
* Removed temporary C layout code for buttons and scene.

12 years agobugfix #18543
Ton Roosendaal [Tue, 21 Apr 2009 15:24:04 +0000 (15:24 +0000)]
bugfix #18543

Using feature XRay + Transparent could crash on undo/redo, the
view3d afterdraw was still storing data here whilst it shouldn't...

Reason was that object got added twice actually... but only freed
once. Also caused weird flashy display.

12 years agoUI: more scene buttons tweaks by Thomas Dinges.
Brecht Van Lommel [Mon, 20 Apr 2009 16:53:50 +0000 (16:53 +0000)]
UI: more scene buttons tweaks by Thomas Dinges.

12 years agoMerge ICON_SNAP_PEEL_OBJECT and corresponding icon in blenderbuttons (need new icon...
Martin Poirier [Mon, 20 Apr 2009 16:31:46 +0000 (16:31 +0000)]
Merge ICON_SNAP_PEEL_OBJECT and corresponding icon in blenderbuttons (need new icon though)

12 years ago2.50: svn merge -r19323...
Brecht Van Lommel [Mon, 20 Apr 2009 15:06:46 +0000 (15:06 +0000)]
2.50: svn merge -r19323:HEAD

* blenderbuttons and ICON_SNAP_PEEL_OBJECT were not merged.

12 years agoUI: fix for back buffer option in scene buttons, by Thomas Dinges.
Brecht Van Lommel [Mon, 20 Apr 2009 13:16:17 +0000 (13:16 +0000)]
UI: fix for back buffer option in scene buttons, by Thomas Dinges.

12 years ago2.5
Ton Roosendaal [Mon, 20 Apr 2009 12:03:55 +0000 (12:03 +0000)]

Node title and socket labels are now following Style/Font as well, and
scale correctly.

12 years ago2.5
Ton Roosendaal [Mon, 20 Apr 2009 11:39:18 +0000 (11:39 +0000)]


- HSV picker didn't work. Old option "No Hilite" for buttons made it not
  being checked for input anymore. Needs to be on attention list!

- Node editor wasn't drawing buttons correctly. Two things to keep track
  - Use wmLoadIdentity(), not glLoadIdentity()
  - I've added a wmPushMatrix() and wmPopMatrix() version for correct
    wm-compatible push/pop. Only one level for now.

12 years agoDrivers - Rotational Difference
Joshua Leung [Mon, 20 Apr 2009 10:45:25 +0000 (10:45 +0000)]
Drivers - Rotational Difference

Restored the code to get this working. I haven't tested this to verify it, but it 'should' work...

Also, deleted old gpencil.c file in editors, since it was causing compiling errors.

12 years agoForgot to add the new gpencil files! :)
Ton Roosendaal [Mon, 20 Apr 2009 10:20:18 +0000 (10:20 +0000)]
Forgot to add the new gpencil files! :)

12 years ago2.5
Ton Roosendaal [Mon, 20 Apr 2009 10:13:55 +0000 (10:13 +0000)]

Patch from Joshua, converting Grease Pencil to 2.5.
All GP data now is an ID block, allowing re-use, link and append.
For better contextual control within 2.5, these GP ID's will get
linked to actual data, like NodeTrees, Scenes, Images or Objects.
That will ensure Undo works, and opens up exciting new use cases
as well. :)

Patch note: on reading files, GPencils linked from editors will
get moved to the main library, using standard naming (indicating
where it was used), and with "Fake User" set. That way the user
can manually relink the pencils where appropriate.
We can check on just linking GP to some default, like 3d window
pencils to Scene? Nice to experiment with.

Notes for Joshua:
- for reading old GPencil, it has to use old code as well, meaning
  to tread data as "indirect data, within another ID".
- Saving ID data means the chunk in file BHead needs the ID_GD code,
  and not "DATA", which indicates 'indirect data'. That's the file
  format spec.
- I've added do_versions_gpencil_2_50(), feel free to further tweak
  things here, like linking things to scene or so.
- Formerly GPencil saved 2.50 files won't convert gpencil

12 years agoDrivers: "Scripted Expression" drivers (i.e. PyDrivers) work again
Joshua Leung [Mon, 20 Apr 2009 09:17:43 +0000 (09:17 +0000)]
Drivers: "Scripted Expression" drivers (i.e. PyDrivers) work again

Now it is possible to write a Python Expression using the variable names for driver targets (see mockup from initial commit) to substitute the appropriate values into the expression.

In the __global__ namespace for PyDriver evaluation, the following modules are available:
* __builtins__ - i.e. the builtin Python functions
* bpy - new Python API
* math or m - math module

For example:
Consider a driver with three targets, named: A, B, C
Now, you could write an expression like:
   C if A < 5 else B
or even:
   2*C if A < 5 or A > 20 else m.PI*B

Of course, you don't have to have three targets, the above was just an example.

* Bring back way to load
* Blender.Noise equivalent would be nice to have

P.S.  I hope I haven't made any terrible Python API coding errors here (i.e. mem leaks, etc.)

12 years agoAdded some missing rna entries for scene, and added them to the scene buttons with...
Michael Fox [Mon, 20 Apr 2009 04:58:22 +0000 (04:58 +0000)]
Added some missing rna entries for scene, and added them to the scene buttons with some missing elements aswell

12 years agoDrivers: Editing ops in the Outliner
Joshua Leung [Mon, 20 Apr 2009 03:52:13 +0000 (03:52 +0000)]
Drivers: Editing ops in the Outliner

In much the same way as Keying Sets are defined in the Outliner, you can now select items in the Datablocks view of the Outliner, and use the D/Alt-D hotkeys to Add/Remove drivers (repectively). This is useful for settings which don't have buttons yet (in the buttons window).

12 years agoA bit more F-Modifier wrapping...
Joshua Leung [Mon, 20 Apr 2009 03:29:45 +0000 (03:29 +0000)]
A bit more F-Modifier wrapping...

12 years agochanged some {} to {0}, these were causing errors on msvc. also got rid of some...
Joseph Eagar [Sun, 19 Apr 2009 20:09:31 +0000 (20:09 +0000)]
changed some {} to {0}, these were causing errors on msvc.  also got rid of some spurious prototypes I forgot to get rid off.

12 years agoRNA:
Brecht Van Lommel [Sun, 19 Apr 2009 17:12:16 +0000 (17:12 +0000)]
* Wrapped HeaderType/Header.
* Some tweaks to get type properties wrapped with less code.
* Made Panel space and region types enum instead of string.

12 years agoRNA: Generic Type Registration
Brecht Van Lommel [Sun, 19 Apr 2009 13:37:59 +0000 (13:37 +0000)]
RNA: Generic Type Registration

The Python API to define Panels and Operators is based on subclassing,
this makes that system more generic, and based on RNA. Hopefully that
will make it easy to make various parts of Blender more extensible.

* The system simply uses RNA properties and functions and marks them
  with REGISTER to make them part of the type registration process.
  Additionally, the struct must provide a register/unregister callback
  to create/free the PanelType or similar.
* From the python side there were some small changes, mainly that
  registration now goes trough bpy.types.register instead of

* Only Panels have been wrapped this way now.  Check rna_ui.c to see
  how this code works. There's still some rough edges and possibilities
  to make it cleaner, though it works without any manual python code.
* Started some docs here:

* Also changed some RNA_property and RNA_struct functions to not
  require a PointerRNA anymore, where they were not required (which
  is actually the cause of most changed files).

12 years agoGraph Editor: UI bugfixes
Joshua Leung [Sun, 19 Apr 2009 12:26:31 +0000 (12:26 +0000)]
Graph Editor: UI bugfixes

* Fixed a few alignment/size issues
* Number buttons work nicely again. Added temporary define for floating point limits here...

12 years agoRNA - F-Curve Modifier Wrapping
Joshua Leung [Sun, 19 Apr 2009 10:44:07 +0000 (10:44 +0000)]
RNA - F-Curve Modifier Wrapping

* Separated F-Curve specific wrapping out to its own file
* Wrapped some F-Curve Modifiers (others to follow shortly)

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Sat, 18 Apr 2009 10:08:19 +0000 (10:08 +0000)]
2.5 MSVC9 projectfiles
* long time due: copy the executables to the install/msvc9 or install/msvc9d dir instead of keeping them in the source tree in the bin folder!
* copy the new ui scripts to the install dir

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Sat, 18 Apr 2009 08:40:14 +0000 (08:40 +0000)]
2.5 MSVC9 projectfiles
- added editors/keyingsets.c

12 years ago2.5 / win64
Nathan Letwory [Sat, 18 Apr 2009 00:26:15 +0000 (00:26 +0000)]
2.5 / win64
* make sure right libname is used for gettext.

12 years agoUI: fix for mistake in last panel commit.
Brecht Van Lommel [Fri, 17 Apr 2009 13:37:03 +0000 (13:37 +0000)]
UI: fix for mistake in last panel commit.

12 years agoUI:
Brecht Van Lommel [Fri, 17 Apr 2009 11:59:25 +0000 (11:59 +0000)]
* Forgot to finish this code yesterday, dragging panels was
  broken. This is fixed and new panels are now inserted after
  the last added one, inbetween others rather than at the end.

12 years ago2.5 Animation UI Tweaks:
Joshua Leung [Fri, 17 Apr 2009 02:13:35 +0000 (02:13 +0000)]
2.5 Animation UI Tweaks:

* Added back backgrounds behind buttons for modifiers and driver targets
* 'Protect' toggle doesn't draw for F-Curves with no keyframes to prevent editing on anymore
* Inserting keyframes on objects using builtin keyingsets now use the right names

12 years agoUI:
Brecht Van Lommel [Thu, 16 Apr 2009 21:58:06 +0000 (21:58 +0000)]
* Broke loading in last commit.
* Fix issue with space not being distributed equally
  in the layout engine.

12 years ago2.5 / SCons
Nathan Letwory [Thu, 16 Apr 2009 21:51:20 +0000 (21:51 +0000)]
2.5 / SCons
* ui layout scripts were not copied to bundle on OSX
  patch by Stephan Kassemeyer on ML

12 years agoUI:
Brecht Van Lommel [Thu, 16 Apr 2009 21:39:45 +0000 (21:39 +0000)]
* For new buttons spaces, automatically set horizontal/vertical
  align depending on size, instead of free.

* Cleaned up the UI panel API. There's now a new uiBeginPanel
  function which takes a panel type, and a uiEndPanel which takes
  the final size. uiNewPanel* functions will be phased out.
* Animate the re-alignment when a panel size changes, e.g. when
  enabling dupliframes.

* Load ui scripts from the release/ folder first if it is
  available. This makes it easier to edit ui scripts, since it
  will directly use the original files which avoids having to
  run the build system.
* Improve editing of panel types while blender is open. That
  means fixing some issues with lacking updates, overlaps, strange
  ordering. It even does an animation now when the panel resizes.

12 years agoRemoved space for target binary name
Ton Roosendaal [Thu, 16 Apr 2009 15:49:31 +0000 (15:49 +0000)]
Removed space for target binary name

12 years agoRemove ftfont from Makefile, it's not there anymore.
Diego Borghetti [Thu, 16 Apr 2009 15:01:51 +0000 (15:01 +0000)]
Remove ftfont from Makefile, it's not there anymore.

12 years agomerged pyrna_py_to_param and pyrna_py_to_prop since they are almost the same
Campbell Barton [Thu, 16 Apr 2009 13:21:18 +0000 (13:21 +0000)]
merged pyrna_py_to_param and pyrna_py_to_prop since they are almost the same

12 years ago2.5:
Joshua Leung [Thu, 16 Apr 2009 13:10:08 +0000 (13:10 +0000)]

* Added extra parameter to generic unique name finding function BLI_uniquename() for specifying the delimeter between non-unique parts of the name and digits.

* Driver target variables now get unique names by default.

12 years ago2.5:
Brecht Van Lommel [Thu, 16 Apr 2009 13:01:50 +0000 (13:01 +0000)]
* Also look in ./release for scripts instead of next to executable.
* Some warning fixes.

12 years agoDrivers: Depsgraph building works again
Joshua Leung [Thu, 16 Apr 2009 12:49:12 +0000 (12:49 +0000)]
Drivers: Depsgraph building works again

Cleaned up the code for adding driver relationships in the Depsgraph (see! I said it was going to be easy). Now, adding drivers works nicely.

12 years agoDrivers: UI working + bugfixes
Joshua Leung [Thu, 16 Apr 2009 12:38:44 +0000 (12:38 +0000)]
Drivers: UI working + bugfixes

* The UI for adding and modifying drivers is now functional, and reflects the new way they work. It has also been tidied up a bit (from the previous incarnation), with RNA buttons starting to be used (currently limited to the 'Path' settings).
* Fixed errors in RNA wrapping for drivers

12 years agoUI:
Brecht Van Lommel [Thu, 16 Apr 2009 12:17:58 +0000 (12:17 +0000)]
* Don't call generic layout hints templates anymore, i.e.
  TemplateRow becomes Row, etc.
* Added more general layout nesting, using uiLayoutSplit()
  and uiLayoutBox() functions, for which the sublayouts
  can then be accessed using uiLayoutSub(), to put items
  in those sublayouts.
* Some steps to make the layout decisions, like which items
  to put in which columns, independent of the width of the
  window or the text in the buttons. We want the layout to
  be stable under resizes and translations.
* Added an "expand" parameter to uiItemR, used now to expand
  enums into a row instead of using a menu.

12 years ago2.5 / SCons
Nathan Letwory [Thu, 16 Apr 2009 10:45:21 +0000 (10:45 +0000)]
2.5 / SCons
* make sure makesdna and makesrna work on windows in directories with spaces in them.

12 years agoAnimato - Drivers with Multiple Targets:
Joshua Leung [Thu, 16 Apr 2009 07:37:06 +0000 (07:37 +0000)]
Animato - Drivers with Multiple Targets:

Drivers now support multiple targets which act as 'variables'. The targets have a short 'name' (see later), and reference some property (in much the same way as F-Curves do, using RNA-Paths) which acts as the 'value'.

These named variables can then be used in a Python Expression which relates them to each other for more fine-grained control over the result of the driver. By using only the names of these variables in the expressions, we are able to define expressions/relationships in a much more readable way, as data access is separated from data use. This makes the underlying relationships easier to understand.

By default, if no Python Expression is given, the variables are simply averaged together, so old files won't break. :)

For example, check the following diagram (thanks Cessen/Nathan V from Peach team):

TODO List:
* Depsgraph building for new driver relationships doesn't work yet. This needs to be recoded again, but this new system makes this much easier, since the targets are clearly defined (i.e. no need to parse py expressions to get list of objects)
* Graph Editor interface for editing these needs to be rewritten
* Python function for evaluating these expressions is needed (Campbell?)

12 years agoNeed to update the RNA pointers before running scripts
Campbell Barton [Thu, 16 Apr 2009 01:42:53 +0000 (01:42 +0000)]
Need to update the RNA pointers before running scripts

12 years agoPoseLib: Fixed up RNA-properties for this operator so that it can be repeated using...
Joshua Leung [Thu, 16 Apr 2009 00:53:22 +0000 (00:53 +0000)]
PoseLib: Fixed up RNA-properties for this operator so that it can be repeated using the exec() callback added in previous commit.

12 years ago2.5 PoseLib/KeyingSets bugfixes:
Joshua Leung [Thu, 16 Apr 2009 00:33:40 +0000 (00:33 +0000)]
2.5 PoseLib/KeyingSets bugfixes:

* Replaced a quicky hack needed to get PoseLib working with a proper new group-naming option for KeyingSets. Now, all builtin KeyingSets will use the name of the data (i.e. Object or PoseChannel) as the name of the group new channels are added to

* Fixed a bug with LocRotScale builtin KeyingSet, which meant that scale keyframes were not getting added.

* TAB key (toggle original pose) now works again. Previously, events were flying past too quickly.

12 years ago 2.5
Michael Fox [Thu, 16 Apr 2009 00:00:45 +0000 (00:00 +0000)]
Made selection operators use extend/exclusive (where appropriate)

12 years agoRNA fixes provided by Thomas Dinges / DingTo - Thanks!
Daniel Genrich [Wed, 15 Apr 2009 21:03:23 +0000 (21:03 +0000)]
RNA fixes provided by Thomas Dinges / DingTo - Thanks!

12 years ago2.5
Ton Roosendaal [Wed, 15 Apr 2009 17:53:12 +0000 (17:53 +0000)]

- Fun for testers: Added "Redo Operator" Panel in view3d 'nkey' region.
  It's going to be part of tools UI I know, but this will give good
  tests of what goes on with operators. I had to add small fixes in
  Transform for it already. :)
  One important issue to note is that it lists every operator, also from
  non-3D-window ops. Needs checked or classified somehow.

- Fix: removed bad 2.4x hack from how pulldown menus were defined. Made
  widget code cleaner, and will show menus like SHIFT+A correct now.

12 years ago2.5: Operator naming, reviewed some of the recent changes
Brecht Van Lommel [Wed, 15 Apr 2009 15:40:31 +0000 (15:40 +0000)]
2.5: Operator naming, reviewed some of the recent changes
by Shaul, did some minor tweaks.

12 years agoRNA:
Brecht Van Lommel [Wed, 15 Apr 2009 15:12:42 +0000 (15:12 +0000)]
* For RNA wrapped functions, the prototypes of the original
  function being wrapped is now generated as well. This is
  an extra check to ensure that the function is correctly
  wrapped. It's printed after the function is used to still
  get proper warnings in case the #include for it is missing.

12 years agoUI:
Brecht Van Lommel [Wed, 15 Apr 2009 15:10:31 +0000 (15:10 +0000)]
* Converted scene buttons layout code to use python.

12 years agoUI:
Brecht Van Lommel [Wed, 15 Apr 2009 15:09:36 +0000 (15:09 +0000)]
* Added simple row template to layout buttons
  in a horizontal row, so you don't need to use
  columns for it.

12 years ago2.5
Ton Roosendaal [Wed, 15 Apr 2009 14:43:54 +0000 (14:43 +0000)]

Fixed & upgraded tooltips to new drawing system.
Also fixed small error in menu shadows. Rounding of shadow below
menu went wrong.

12 years agocmake support for python25_d.lib in debug on win32. other platforms should work as...
Shaul Kedem [Wed, 15 Apr 2009 13:11:08 +0000 (13:11 +0000)]
cmake support for python25_d.lib in debug on win32. other platforms should work as always

12 years agoAction Constraint: Optimisation attempt
Joshua Leung [Wed, 15 Apr 2009 12:59:49 +0000 (12:59 +0000)]
Action Constraint: Optimisation attempt

Following on from the methods added specially for PoseLib to only execute the F-Curves in a given Action Group, I've attempted to use this for evaluating Action Constraints on Pose Channels. This does rely on the F-Curves being in groups named according to name of the Pose Channel of interest, hence, we may need some way to be able to fine tune this later.

Preliminary tests seem to be promising, with rigs with quite a few action constraints being slightly more responsive (subjective test though). Please test thoroughly.

12 years agoPoseLib: Fixed lingering bugs with Browsing (Ctrl-L)
Joshua Leung [Wed, 15 Apr 2009 12:38:04 +0000 (12:38 +0000)]
PoseLib: Fixed lingering bugs with Browsing (Ctrl-L)

* Bug with confirming was due to mixed up order for events handling and updates for drawing. Now events are handled before relevant updates are done for drawing, since these only get called when an event occurs.

* View manipulations work again, and in a much nicer way thanks to the OPERATOR_PASS_THROUGH flags :)

* Search seems to work much better now again too...

12 years agoPoseLib: Interactively browsing poses with Ctrl-L now mostly works again
Joshua Leung [Wed, 15 Apr 2009 12:04:10 +0000 (12:04 +0000)]
PoseLib: Interactively browsing poses with Ctrl-L now mostly works again

This (most important part) of PoseLib now mostly works again. It even works for PoseLibs saved with the old animation system.

However, there are a few annoying bugs that need to be addressed still:
* When 'confirming' poses, the pose changes to the next one before PoseLib exits. I'm not quite sure where this is coming from yet...
* There are still a few minor bugs in the search-string code that will get ironed out
* AutoKeyframing doesn't work yet for this

12 years agoFixing linux compiling
Joilnen Leite [Wed, 15 Apr 2009 10:18:58 +0000 (10:18 +0000)]
Fixing linux compiling

12 years agoPoseLib: Operatorfied Add/Remove/Rename Tools
Joshua Leung [Wed, 15 Apr 2009 03:22:22 +0000 (03:22 +0000)]
PoseLib: Operatorfied Add/Remove/Rename Tools

* These still use the old hotkeys - Add (Shift-L), Remove (Alt-L), Rename (Ctrl-Shift-L)
* Outliner now shows PoseLib entry. Todo still is to use a different icon for this?

* The code is now much simpler in many places :)
* Add and Rename operators require a string as input to set a new name for the Pose concerned. For now, I've just added a prop for this, which will hopefully be able to be filled in at some point.

12 years ago2.5 PoseLib - First steps to get PoseLib to work in 2.5
Joshua Leung [Wed, 15 Apr 2009 01:10:36 +0000 (01:10 +0000)]
2.5 PoseLib - First steps to get PoseLib to work in 2.5

* Cleaned up Keyframing API to get eliminate some of the problems faced during the original implementation of PoseLib, thus reducing code redundancy.
* Added new Animato evaluation functions specifically for use by PoseLib.
* Replaced parts of PoseLib code which relied on old animation system to the equivalent code for Animato. Notice the much cleaner + saner + compact code!

Next step is to operatorfy the PoseLib tools (while maintaining possibility for an API to some things) :)

12 years ago2.5
Ton Roosendaal [Tue, 14 Apr 2009 15:59:52 +0000 (15:59 +0000)]

More cleanup!

- removed old UI font completely, including from uiBeginBlock
- emboss hints for uiBlock only have three types now;
  Regular, Pulldown, or "Nothing" (only icon/text)
- removed old font path from Userdef
- removed all old button theme hinting
- removed old "auto block" to merge buttons in groups
  (was only in use for radiosity buttons)

And went over all warnings. One hooray for make giving clean output :)
Well, we need uniform definitions for warnings, so people at least fix
them... here's the real bad bugs I found:

- in mesh code, a call to editmesh mixed *em and *me
- in armature, ED_util.h was not included, so no warnings for wrong call
  to ED_undo_push()
- The extern Py api .h was not included in the bpy_interface.c, showing
  a several calls using different args.

Further just added the missing includes, and removed unused vars.

12 years agoFCurve Modifiers - "Limits" Modifier:
Joshua Leung [Tue, 14 Apr 2009 11:53:41 +0000 (11:53 +0000)]
FCurve Modifiers - "Limits" Modifier:

This new modifier clamps the values of the F-Curve to lie within specified bounds, much like Limit Location/Rotation/Scale constraints do. You can limit by time range(s) and/or value range(s).

12 years agoAction Code - Tidied up some code that wasn't working yet
Joshua Leung [Tue, 14 Apr 2009 10:18:48 +0000 (10:18 +0000)]
Action Code - Tidied up some code that wasn't working yet

12 years ago2.5
Ton Roosendaal [Mon, 13 Apr 2009 15:55:27 +0000 (15:55 +0000)]

Code revamp: moved the animation colors for widget to own struct, was
polluting the per-widget theme colors too much. Still WIP here... it
will go to Theme struct once I've removed all old colors.

12 years ago2.5
Ton Roosendaal [Mon, 13 Apr 2009 14:39:43 +0000 (14:39 +0000)]

Bugfix: loading 2.5 .blend files in different sized windows didn't correct
the screen size for it yet.