11 years agoSVN maintenance.
Guillermo S. Romero [Sat, 18 Jul 2009 23:12:42 +0000 (23:12 +0000)]
SVN maintenance.

11 years agomissed this file in last commit.
Campbell Barton [Sat, 18 Jul 2009 19:42:13 +0000 (19:42 +0000)]
missed this file in last commit.

11 years agoinitialize keymaps after python so python keymaps, solves the problem of keymaps...
Campbell Barton [Sat, 18 Jul 2009 19:40:26 +0000 (19:40 +0000)]
initialize keymaps after python so python keymaps, solves the problem of keymaps complaining about python operators not existing, but at the expense of some annoying init flags/functions. :/
Brecht/Ton you may want to check that C->data.py_init is a good place to store this.

11 years agofixes for errors on startup and compiler errors and draw speedup.
Campbell Barton [Sat, 18 Jul 2009 16:27:25 +0000 (16:27 +0000)]
fixes for errors on startup and compiler errors and draw speedup.

* Drawing the console text now skips all lines outside the view bounds.

* Added dummy C operators for console.exec and console.autocomplete so blender wont complain at startup, its not really a problem but people testing reported it a few times. Eventually we should have some way python operators are initialized before the spaces operators are checked.

* reordered the imports so the "ui" dir is imported before "io", for now this means bpy.ops is defined before exporters and importers need to use it, was causing a python error on startup.

* fixed all compiler warnings for the console (gcc4.4)

* stopped operators were printing out the return flag.

* removed references to ACT_OT_test, TEXT_OT_console_exec and TEXT_OT_console_autocomplete

11 years ago2.5 / RNA Fix for render layers' rendering options
Elia Sarti [Sat, 18 Jul 2009 15:14:59 +0000 (15:14 +0000)]
2.5 / RNA Fix for render layers' rendering options
Was using same flag for all options

11 years agoSecond round of transform mouse buttons experiment.
Martin Poirier [Sat, 18 Jul 2009 15:02:12 +0000 (15:02 +0000)]
Second round of transform mouse buttons experiment.

Confirm on LMB up but cancel on RMB down.

This works well with hotkeys, manipulator, RMB+drag and gesture (when they are added back).

The question is do we stick with one scheme for all or have separate keymaps for different "calling mode".

11 years agoUse verb for operator names
Martin Poirier [Sat, 18 Jul 2009 14:55:03 +0000 (14:55 +0000)]
Use verb for operator names

Translation -> Translate
Rotation -> Rotate

11 years ago2.5/Sculpt:
Nicholas Bishop [Sat, 18 Jul 2009 13:29:47 +0000 (13:29 +0000)]

* Fixed the NKEY panel not updating when switching to sculpt mode
* Removed some old XXX'd code for testing textures, can replace that now with proper brush-texture UI

11 years ago2.5 - Removing quick test operator that I added by mistake
Joshua Leung [Sat, 18 Jul 2009 11:39:50 +0000 (11:39 +0000)]
2.5 - Removing quick test operator that I added by mistake

It was used to quickly test that the red-black tree was being built correctly, but was really an incomplete operator...

11 years ago2.5
Ton Roosendaal [Sat, 18 Jul 2009 11:32:52 +0000 (11:32 +0000)]

Fix for Makefile to use GLEW in console editor

11 years ago2.5 - Optimisations for Keyframe Drawing in DopeSheet
Joshua Leung [Sat, 18 Jul 2009 07:11:37 +0000 (07:11 +0000)]
2.5 - Optimisations for Keyframe Drawing in DopeSheet

Keyframes are now prepared for drawing by being added to a binary-tree structure instead of using insertion-sort on a Double-Linked List. This gives rather significant improvements on a few bad cases (*).

I've implemented a basic Red-Black Tree whose nodes/data-structures can also be used as a simple Double-Linked List (ListBase) for this purpose. The implementation of this tree currently does not have support for removing individual nodes, since such capabilities aren't needed yet.

Stats (using keyframes from an imported .bvh animation file):
* When only the keyframes are drawn (i.e. long keyframes are not identified), the time needed to draw the DopeSheet region 10 times went down from 4000ms to about 300ms.
* When long keyframes are considered as well, the same test has gone from 6000ms to 3000ms. There is still a bottleneck there that I haven't been able to remove yet (an attempt at this made the runtimes go through the roof - 32000 ms for the test done here).

Assorted Notes:
* Added missing headers for some files
* Fixed profiling flags for mingw. There was an extra space which prevented the sound-code from compiling.

11 years agoworked for me but broke building for eman, this fixes (both on linux which is confusing).
Campbell Barton [Sat, 18 Jul 2009 07:01:16 +0000 (07:01 +0000)]
worked for me but broke building for eman, this fixes (both on linux which is confusing).

11 years agoremoved BeOS dirs (BeOS isn't supported anymore)
Campbell Barton [Sat, 18 Jul 2009 05:26:47 +0000 (05:26 +0000)]
removed BeOS dirs (BeOS isn't supported anymore)
removed unneeded includes for the console.

11 years ago2.5 - Quick fix for NLA drawing
Joshua Leung [Sat, 18 Jul 2009 04:16:51 +0000 (04:16 +0000)]
2.5 - Quick fix for NLA drawing

When some object had materials that may have been driven/animated, a crash could sometimes occur if some material-slot had no material.

11 years agopatch from oxben (Benjamin)
Campbell Barton [Sat, 18 Jul 2009 04:09:23 +0000 (04:09 +0000)]
patch from oxben (Benjamin)
* fixes two typos in the material buttons: "Recieve" -> "Receive"
* adds a missing preference in the User Preferences view: "Rotate Around Selected"

11 years agoSource code with executable property, manual fix. *sigh*
Guillermo S. Romero [Fri, 17 Jul 2009 18:35:49 +0000 (18:35 +0000)]
Source code with executable property, manual fix. *sigh*

11 years agopatch from William, adds some rna user prefs and adjusts prefs UI.
Campbell Barton [Fri, 17 Jul 2009 12:35:57 +0000 (12:35 +0000)]
patch from William, adds some rna user prefs and adjusts prefs UI.

11 years agopython access to operators now hides the _OT_ syntax, eg. SOME_OT_operator -> some...
Campbell Barton [Fri, 17 Jul 2009 12:26:40 +0000 (12:26 +0000)]
python access to operators now hides the _OT_ syntax, eg. SOME_OT_operator -> some.operator
this works for the calling operators from python and using the RNA api.

bpy.ops.CONSOLE_exec() is now bpy.ops.console.exec()

split.itemO("PARTICLE_OT_editable_set", text="Free Edit") becomes... split.itemO("particle.editable_set", text="Free Edit")

For now any operator thats called checks if its missing _OT_ and assumes its python syntax and converts it before doing the lookup.

bpy.ops is a python class in release/ui/ which does the fake submodules and conversion, the C operator api is at bpy.__ops__

personally Id still rather rename C id-names not to contain the _OT_ text which would avoid the conversion, its called a lot since the UI has to convert the operators.

11 years agoColour Management
Matt Ebb [Fri, 17 Jul 2009 02:43:15 +0000 (02:43 +0000)]
Colour Management

- 1st stage: Linear Workflow

This implements automatic linear workflow in Blender's renderer. With the
new Colour Management option on in the Render buttons, all inputs to the
renderer and compositor are converted to linear colour space before
rendering, and gamma corrected afterwards. In essence, this makes all
manual gamma correction with nodes, etc unnecessary, since it's done
automatically through the pipeline.

It's all explained much better in the notes/doc here, so please have a look:

And an example of the sort of difference it makes:

This also enables Colour Management in the default B.blend, and changes the
default lamp falloff to inverse square, which is more correct, and much
easier to use now it's all gamma corrected properly.

Next step is to look into profiles/soft proofing for the compositor.

Thanks to brecht for reviewing and fixing some oversights!

11 years agobpy rna
Campbell Barton [Fri, 17 Jul 2009 02:31:28 +0000 (02:31 +0000)]
bpy rna

Calling rna functions with invalid keywords, too many keywords and too many args would fail silently
- now raise an error with invalid keywords and a list of valid ones, raise an error when too many args are given.
- calling rna functions would alloc a ParameterList each time, changed to use a stack variable (2 pointers and an int).
- store the number of parameters ParameterList
- python exception types were wrong in many cases, (using attribute error rather then type error)
- fixes to small errors in python UI scripts.

11 years ago2.5 - 2 Tweaks
Joshua Leung [Fri, 17 Jul 2009 00:17:37 +0000 (00:17 +0000)]
2.5 - 2 Tweaks

* Comment re-formatting for keyframe drawing code
* Removed redundant frame number button from buttons view header.

11 years agogrr, py 2.5 2.6 and 3.x need different StringIO's
Campbell Barton [Thu, 16 Jul 2009 23:04:29 +0000 (23:04 +0000)]
grr, py 2.5 2.6 and 3.x need different StringIO's

11 years ago- Scrollbars for the console (use View2D functions)
Campbell Barton [Thu, 16 Jul 2009 22:47:27 +0000 (22:47 +0000)]
- Scrollbars for the console (use View2D functions)
- Set View2D operators not to register, got in the way a lot with the console.
- Made autocomplete Ctrl+Enter so Tab can be used.
- Should work with python 2.5 now. (patch from Vilda)
- Moved report struct definitions into DNA_windowmanager_types.h, could also have DNA_report_types.h however the reports are not saved, its just needed so the report list can be used in the wmWindowManager struct. Fixes a crash reported by ZanQdo.
- Store the report message length in the report so calculating the total height including word wrap is not so slow.

11 years agoSVN maintenance.
Guillermo S. Romero [Thu, 16 Jul 2009 22:06:04 +0000 (22:06 +0000)]
SVN maintenance.

11 years ago2.5 UI: Renaming cloth UI file to fit naming scheme
Daniel Genrich [Thu, 16 Jul 2009 21:22:52 +0000 (21:22 +0000)]
2.5 UI: Renaming cloth UI file to fit naming scheme

11 years ago* revert reversion by Genscher. This '/MT' business is now handled in
Nathan Letwory [Thu, 16 Jul 2009 20:00:15 +0000 (20:00 +0000)]
* revert reversion by Genscher. This '/MT' business is now handled in

11 years agoWin64: revert to use static msvc libs again
Daniel Genrich [Thu, 16 Jul 2009 19:56:47 +0000 (19:56 +0000)]
Win64: revert to use static msvc libs again

11 years agoSCons
Nathan Letwory [Thu, 16 Jul 2009 19:41:28 +0000 (19:41 +0000)]

* ensure all SConscripts are ready for win64-vc (where necessary).
* ensure we have proper _DEBUG flag for Python when we're doing a debug build.
* some cleaning up of linking etc.
* ensure /EHsc is there for game engine modules.

11 years agoAnother fluid + (little) cloth gui and settings update
Daniel Genrich [Thu, 16 Jul 2009 14:31:32 +0000 (14:31 +0000)]
Another fluid + (little) cloth gui and settings update

11 years ago2.5 - View2D fixes for User Prefs
Joshua Leung [Thu, 16 Jul 2009 11:05:16 +0000 (11:05 +0000)]
2.5 - View2D fixes for User Prefs

Added NULL check for View2D code for invalid style pointer (this underlying problem should get addressed at some point), and reinstated the reinitialisation hack for panel regions.

11 years ago2.5 - User Preferences Layout patch from William
Joshua Leung [Thu, 16 Jul 2009 10:32:21 +0000 (10:32 +0000)]
2.5 - User Preferences Layout patch from William

Screenshot here:

11 years ago- use outliner colors (with subtle stripes) for report so you can see divisions betwe...
Campbell Barton [Thu, 16 Jul 2009 07:11:46 +0000 (07:11 +0000)]
- use outliner colors (with subtle stripes) for report so you can see divisions between operators with wrapping.
- added class option for PyOperators __register__ so you can set if py operators are logged in the console.
- PyOperators was refcounting in a more readable but incorrect way. in some cases would be possible to crash so better not drop the reference before using the value.
- console zoom operator was registering which meant zooming in to see some text would push it away :)

11 years ago2.5 - Silencing various compiler warnings (mingw)
Joshua Leung [Thu, 16 Jul 2009 04:45:52 +0000 (04:45 +0000)]
2.5 - Silencing various compiler warnings (mingw)

11 years agoExtrude along normals.
Martin Poirier [Thu, 16 Jul 2009 03:16:03 +0000 (03:16 +0000)]
Extrude along normals.

Note that this is on in all cases now, it needs to be restricted to face extrude only.

Some slight transform operator cleanup too.

11 years agoAdd Makefile build support for Console Space Type (added in r21611).
Guillermo S. Romero [Thu, 16 Jul 2009 03:11:21 +0000 (03:11 +0000)]
Add Makefile build support for Console Space Type (added in r21611).

11 years ago* Temporarily commented out a couple of lines from Brecht's User Prefs commit
Matt Ebb [Thu, 16 Jul 2009 02:29:49 +0000 (02:29 +0000)]
* Temporarily commented out a couple of lines from Brecht's User Prefs commit

Brecht: This makes Blender crash on startup for a few of us, so I'm just
disabling it for now until you have have a look at it

11 years agoSVN maintenance.
Guillermo S. Romero [Thu, 16 Jul 2009 02:04:31 +0000 (02:04 +0000)]
SVN maintenance.

11 years agoConsole Space Type
Campbell Barton [Thu, 16 Jul 2009 00:50:27 +0000 (00:50 +0000)]
Console Space Type
* interactive console python console.
* display reports and filter types. defaults to operator display so you can see the python commands for tools as you use them,
  eventually it should be possible to select commands and make macto/tools from them.

Example use of autocomp.  b<tab>, bpy.<tab>, bpy.<tab>,<tab> etc.

basic instructions are printed when opening the console.

* Console exec and autocomp are done with operators written in python.
* added CTX_wm_reports() to get the global report list.
* The window manager had a report ListBase but reports have their own struct, switched to allocate and assign when initializing the WM since the type is not available in DNA.
* changed report types flags for easier display filtering.
* added report type RPT_OPERATOR
* logging operators also adds a python-syntax report into CTX_wm_reports() so they can be displayed in the console as well as calling a notifier for console to redraw.
* RnaAPI context.area.tag_redraw() to redraw the current area from a python operator.

* better interactions with the console, scrolling, copy/paste.
* the text displayed doesnt load back.
* colors need to be themed.
* scroll limit needs to be a user pref.
* only tested with cmake and scons.

11 years agomake py3.1 default for mingw/scons too.
Nathan Letwory [Wed, 15 Jul 2009 23:26:24 +0000 (23:26 +0000)]
make py3.1 default for mingw/scons too.

11 years ago2.5: fix for uninitialized var in 3d view header template.
Brecht Van Lommel [Wed, 15 Jul 2009 23:24:51 +0000 (23:24 +0000)]
2.5: fix for uninitialized var in 3d view header template.

11 years ago2.5: fix for closed panels not resizing properly.
Brecht Van Lommel [Wed, 15 Jul 2009 22:58:34 +0000 (22:58 +0000)]
2.5: fix for closed panels not resizing properly.

11 years ago2.5: Defaults
Brecht Van Lommel [Wed, 15 Jul 2009 22:58:12 +0000 (22:58 +0000)]
2.5: Defaults

* Wave modifier speed 0.5 -> 0.25.

* Particles even and random distribution on.
* Particles normal velocity 0.0 -> 1.0.
* Particles size 1.0 -> 0.05.
* Particles draw emitter and material color on.

* Field strength 0.0 -> 1.0

* Object drawing without material was not consistent
  with default material.

* Panel title 13 -> 12 points.

11 years ago2.5 - Tweak to Action Constraint 'Transform Channel' order of options
Joshua Leung [Wed, 15 Jul 2009 22:51:47 +0000 (22:51 +0000)]
2.5 - Tweak to Action Constraint 'Transform Channel' order of options

11 years ago2.5
Brecht Van Lommel [Wed, 15 Jul 2009 19:20:59 +0000 (19:20 +0000)]

* Some changes to make lamp and world textures editing work.
  You may have to click on another texture slot once before
  being able to add a texture, and the layout is messy. Added
  this so lightenv project isn't blocked by this being missing.
* Adding a new material slot now doesn't create a new material
  anymore, to avoid creating unused materials.
* Tiny changes to scene/object buttons.

11 years ago2.5: User Preferences
Brecht Van Lommel [Wed, 15 Jul 2009 19:19:43 +0000 (19:19 +0000)]
2.5: User Preferences

* Added basic infrastructure to layout user preferences. The
  intention is that you open a user preferences space in place
  of the buttons space, and have panels there.
* The existing sections don't have to be followed, it's easy
  to create different ones, just change the user_pref_sections
  enum in RNA.
* This will get separated from the info header later.

11 years agotiny fix: stamp alpha color was lacking range parameter
Dalai Felinto [Wed, 15 Jul 2009 03:47:05 +0000 (03:47 +0000)]
tiny fix: stamp alpha color was lacking range parameter

I was going to commit it later with other changes, but I'm changing other stuff at rna_scene.c for the gamedata, and didn't want to mix it up.

11 years ago* set py 3.1 as default for windows
Nathan Letwory [Tue, 14 Jul 2009 23:26:26 +0000 (23:26 +0000)]
* set py 3.1 as default for windows
* add some ignores for some warnings (which seem to be ignored on nixes already).
* add zips for py 3.0 and py 3.1. Note: py 3.1 zip contains entire Lib

11 years ago2.5: added panel with IK settings for bone.
Brecht Van Lommel [Tue, 14 Jul 2009 22:11:25 +0000 (22:11 +0000)]
2.5: added panel with IK settings for bone.

11 years ago2.5: small tweaks for scene and object layouts.
Brecht Van Lommel [Tue, 14 Jul 2009 20:38:21 +0000 (20:38 +0000)]
2.5: small tweaks for scene and object layouts.

11 years ago2.5: Objects
Brecht Van Lommel [Tue, 14 Jul 2009 20:27:28 +0000 (20:27 +0000)]
2.5: Objects

* Added Relations panel with layers, pass_index, parent.
* Groups panel now can do add to group/remove from group.
* Parent, parent type, track are now editable.
* Separate constraint add operator for object and bones.

11 years ago2.5: Armature
Brecht Van Lommel [Tue, 14 Jul 2009 17:59:26 +0000 (17:59 +0000)]
2.5: Armature

* Bone Transform panel now works, using appropriate EditBone or
  PoseChannel properties.
* Bone name and parent are now editable.
* Some other tweaks to the UI layouts for Armature and Bone.
* Notifiers for armature/editbone properties.

11 years agoRNA
Brecht Van Lommel [Tue, 14 Jul 2009 17:35:07 +0000 (17:35 +0000)]

* RNA_enum_items_add_value and RNA_enum_item_add_separator utility
  functions, to add an item from an existing array with a certain
  value, and to add a separator.

11 years ago2.5 Scene Buttons:
Thomas Dinges [Tue, 14 Jul 2009 13:20:46 +0000 (13:20 +0000)]
2.5 Scene Buttons:

* Replaced Render Layer Dot Icons with X ones. Patch by William Reynish.

11 years ago2.5 Buttons:
Thomas Dinges [Tue, 14 Jul 2009 12:32:19 +0000 (12:32 +0000)]
2.5 Buttons:

* Some Updates for n-key Areas in View3D and Image Editor and some tweaks in bone panels. Patch by William Reynish. Thanks!

11 years ago2.5 Outliner - Restored all the 'toggle' operators
Joshua Leung [Tue, 14 Jul 2009 12:23:08 +0000 (12:23 +0000)]
2.5 Outliner - Restored all the 'toggle' operators

* AKEY - Toggle Outliner Selection (*1)
* Shift-AKEY - Expand/Collapse All
* RKEY - Toggle Renderability
* SKEY - Toggle Selectability
* VKEY - Toggle Visiblity

(*1) - The keymap-order of these has been swapped from the ones used in 2.4x. The old keys used here were inconsistent with the rest of Blender (at least I found myself always getting annoyed that I'd accidentally collapsed/expanded all items by hitting AKEY many times).

11 years ago2.5 Outliner - Restoring a few operators
Joshua Leung [Tue, 14 Jul 2009 11:56:24 +0000 (11:56 +0000)]
2.5 Outliner - Restoring a few operators

Restored the following operators
* Show Hierarchy (HomeKey)
* Show/Hide One Level (+/- Keys)
* Show Active (Numpad .)

11 years ago2.5 - Scrollbars are now shown when a list of panels can't fit in view
Joshua Leung [Tue, 14 Jul 2009 10:59:21 +0000 (10:59 +0000)]
2.5 - Scrollbars are now shown when a list of panels can't fit in view

- These may be taking up a bit too much room in some situations. Perhaps an option to turn these on/off is needed?
- I've added a quick hack in area.c -> ED_region_panels_init() to set the flags to make scrollbars show up in regions whose View2D data has already been initialised. This is primarily aimed at the Buttons Window in the 2.5 defaults file, which seems to have been saved in 2.5 or so
- The expand icons on either end of the scrollers don't really seem to be necessary? (or not working yet)

11 years agoRNA/button tweaks:
Matt Ebb [Tue, 14 Jul 2009 04:13:04 +0000 (04:13 +0000)]
RNA/button tweaks:
* Texture -> renamed 'no rgb' to 'rgb to intensity' (btw it's not just for
 image textures )

* Render -> stamp closed by default - not taking effect, because saved in
.B.blend. How do we fix this?

* Material -> removed 'Buffer Bias' dependency - it's for receiving shadows,
not casting them

* Material -> Ray Shadow bias renamed 'Auto Ray bias' - switches between an
 automatically calculated value vs the specified value

11 years agoFix cloth UI + tooltips - patch provided by nudelZ
Daniel Genrich [Mon, 13 Jul 2009 22:35:04 +0000 (22:35 +0000)]
Fix cloth UI + tooltips - patch provided by nudelZ

11 years agoRNA & PyAPI
Campbell Barton [Mon, 13 Jul 2009 19:33:59 +0000 (19:33 +0000)]
* support for dynamic enums to be inspected enumProp.items() from python.
* fix, enums check for a separator was flipped, meant no enums were in docs.
* dynamic enum functions now check for a NULL context and return all possible options for the "items" attribute used for docs.
* added an arg for rna arrays to free the array there looping over (needed to free dynamically allocated enum items)
* python api checks for NULL items since this can happen in some cases.
* python api, When getting an enum ID from an int in an array - If it failed it would get the first enum identifier and return that. Brecht? dont understand, making it return an empty string in these cases.

11 years ago2.5: fix for last commit, missing ffmpeg #ifdef.
Brecht Van Lommel [Mon, 13 Jul 2009 19:17:52 +0000 (19:17 +0000)]
2.5: fix for last commit, missing ffmpeg #ifdef.

11 years ago2.5: and the B.blend.c to go with the last commit.
Brecht Van Lommel [Mon, 13 Jul 2009 19:10:35 +0000 (19:10 +0000)]
2.5: and the B.blend.c to go with the last commit.

11 years ago2.5: Render
Brecht Van Lommel [Mon, 13 Jul 2009 19:09:13 +0000 (19:09 +0000)]
2.5: Render

* UI layout for scene buttons has quite some changes, I tried to
  better organize things according to the pipeline, and also showing
  important properties by default, and collapsing less important ones.

Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
  do something when there is a node tree using nodes, or a strip in the
  sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
  does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
  but still using FFMPEG. Unfortunately Ogg is broken at the moment
  (also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
  maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
  it work.
* Organized file format menu by image/movie types.

* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.

Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.

11 years ago2.5: bugfix for BLI_is_writable, made render with Save Buffers
Brecht Van Lommel [Mon, 13 Jul 2009 18:47:08 +0000 (18:47 +0000)]
2.5: bugfix for BLI_is_writable, made render with Save Buffers
not work anymore. Now it first tries to open the file without
truncating, and only then tries to create a new file.

11 years agomathutils types didnt work properly in python2x. vec*matrix failed for eg.
Campbell Barton [Mon, 13 Jul 2009 12:17:07 +0000 (12:17 +0000)]
mathutils types didnt work properly in python2x. vec*matrix failed for eg.

Now with KX_Python.h line 35 commented YoFrankie 1.1 should run unmodified in blender2.5

11 years agoDrawing a string longer then 255 chars wasnt working.
Campbell Barton [Mon, 13 Jul 2009 11:41:24 +0000 (11:41 +0000)]
Drawing a string longer then 255 chars wasnt working.

changes to flatten_string_append(...), probably only brecht is interested.
- It was copying from the old malloc'd buffer but never the fixed buffer - the reason >255 length strings didnt render.
- on first malloc for the FlatString allocate 512 rather then 256 chars since the fixed string is 256 chars.
- if the char was '\0' fs->pos was set to 0, not sure why since char cant be '\0' because of the loop that calls flatten_string_append, removed.

11 years agoConsole Autocomplete (Alt+Enter in the text editor), should be moved out of the text...
Campbell Barton [Mon, 13 Jul 2009 09:31:35 +0000 (09:31 +0000)]
Console Autocomplete (Alt+Enter in the text editor), should be moved out of the text editor soon.

The autocomplete function is generic and could be made into its own module.
 b -> bpy ->

 bpy.ops.OB -> bpy.ops.OBJECT_OT_[0].a -> (options)
active_material, active_material_index, active_particle_system, active_particle_system_index, active_shape_key, active_shape_key_index, active_vertex_group, active_vertex_group_index, animation_data

11 years agocalling operators from python was raising an error without returning an error value.
Campbell Barton [Mon, 13 Jul 2009 08:33:51 +0000 (08:33 +0000)]
calling operators from python was raising an error without returning an error value.

brecht, switched the order back to fix this, added an argument for WM_operatortype_find() to fail without printing an error.

11 years ago2.5
Brecht Van Lommel [Mon, 13 Jul 2009 00:40:20 +0000 (00:40 +0000)]

* Objects now support up to 32767 material slots. It's easy to
  increase this further, but I prefer not to increase the memory
  usage of mesh faces, it seems unlikely that someone would
  create 32767 distinct materials?
* Forward compatibility: the only thing you can potentially lose
  reading a 2.5 file in 2.4 is object linking (instead of default
  data), though usually that will go fine too. Reading files with
  > 32 material slots in 2.4 can start giving issues.

* The ob->colbits variable is deprecated by the array ob->matbits
  but I didn't remove the ob->colbits updates in very few places
  it is set.
* I hope I changed all the relevant things, various places just
  hardcoded the number 16 instead of using the MAXMAT define.

* Join Objects operator back. This is using the version from the
  animsys2 branch coded by Joshua, which means it now supports
  joining of shape keys.

* Fix for crash reading file saved during render.

11 years agoKeyed physics refresh:
Janne Karhu [Sun, 12 Jul 2009 23:38:47 +0000 (23:38 +0000)]
Keyed physics refresh:
- Keyed targets in one list instead of "chaining", this opens up many more possibilities than before and is much less obscure.
- Better keyed timing possibilities (time & duration in frames).
- Looping over keyed targets list.

Other changes:
- New child setting "length" with threshold (great for guard & underfur with a single particle system)
- Modularization of path interpolation code.
- Cleared "animateable" flags from many particle settings that shouldn't be animateable.

- Keyed particles weren't copied properly (ancient bug).
- Hair rotations depended on global z-axis for root rotation so downward facing strands could flip rotation randomly. Now initial hair rotation is derived from face dependent hair matrix. (This caused for example ugly flipping of child strands on some cases).
- Children from faces weren't calculated straight after activating them.
- Multiple disk cache fixes:
* Disk cache didn't work correctly with frame steps.
* Conversion from memory cache to disk cache didn't work with cloth.
* Disk cache crashed on some frames trying to close an already closed cache file.
* Trails didn't work with disk cached particles.
- Child rough effects were effected by emitter object loc/rot making them next to useless with animation, why didn't anybody tell me this!!
- Lots of random code cleanup.

11 years ago2.5 filebrowser
Andrea Weikert [Sun, 12 Jul 2009 13:06:52 +0000 (13:06 +0000)]
2.5 filebrowser
* bugfix: parent on linux didn't account for first slash
* added some BLI_cleanup_dir to prevent weird directory names
* revert to old directory if user types bogus text.

11 years agopython console in ~80 lines
Campbell Barton [Sun, 12 Jul 2009 12:47:34 +0000 (12:47 +0000)]
python console in ~80 lines
Shift+Enter in the text editor executes the TEXT_OT_line_console operator defined in

The operator's class stores a namespace for each text block.

Eventually this should have its own input rather then using the text editor.

Tested with py3.1 and 2.6

TEXT_OT_insert was only using the first char from a string, added support for inserting strings.

11 years ago2.5 file browser
Andrea Weikert [Sun, 12 Jul 2009 09:03:09 +0000 (09:03 +0000)]
2.5 file browser
* tweak for autocomplete, only update live if live_update and TAB key is hit. (Brecht, please check if it's ok, otherwise will revert and we'll find another way)
* adding slash at the end of directory to allow for faster autocomplete
* bugfix: directory name buton had wrong length

11 years ago2.5 file browser
Andrea Weikert [Sun, 12 Jul 2009 08:12:22 +0000 (08:12 +0000)]
2.5 file browser
* bugfix: adding back adding the region on read of old files
* tweak: buttons for increment/decrement file number now have icons and size adjusted to UI_UNIT_X/UI_UNIT_Y

11 years agomade text editor margin work with different font sizes.
Campbell Barton [Sun, 12 Jul 2009 07:37:25 +0000 (07:37 +0000)]
made text editor margin work with different font sizes.
also made it draw the width needed, was fixed at 4.

11 years ago2.5 - Tweaks for Split Strips in NLA and Graph Editor view ranges
Joshua Leung [Sun, 12 Jul 2009 07:28:25 +0000 (07:28 +0000)]
2.5 - Tweaks for Split Strips in NLA and Graph Editor view ranges

* Split strips now uses the current frame as the splitting-point for selected strips if the current frame falls within in the bounds of the strip. Otherwise, the code defaults to splitting by the midpoints of the strips.

* Time-range for Graph Editor is saner now when there is only a single keyframe or none at all.

11 years agoNLA Bugfixes:
Joshua Leung [Sun, 12 Jul 2009 04:29:36 +0000 (04:29 +0000)]
NLA Bugfixes:

* Fixed crash when anim-playback is running and a strip beside a transition gets transformed.
Transition strips no-longer assume that their neighbours are action-clips, using the standard NLA-strip evaluation function instead to evaluate their neighbours. However, a check for ping-pong recursion needed to be added there, so that a transition beside a meta-strip, with the meta having a transition nested at the start of one of its levels, wouldn't fail with stack overflow.

* Moved 'Tweak Mode' menu entry to Edit menu, since it's not really that modal.

11 years ago2.5 - Editing Animation data (keyframes/nla-strips) using transform tools now refresh...
Joshua Leung [Sun, 12 Jul 2009 03:42:39 +0000 (03:42 +0000)]
2.5 - Editing Animation data (keyframes/nla-strips) using transform tools now refreshes the 3d-view in realtime.

For now, this directly sets the update flags, though this really should be calling the Depsgraph API instead.

11 years ago2.5: Couple of small fun features
Brecht Van Lommel [Sun, 12 Jul 2009 02:06:15 +0000 (02:06 +0000)]
2.5: Couple of small fun features

* Text window font size now supports full range 8-32, instead of
  just 12 and 15. I added BLF_fixed_width to get the character
  width of a fixed size font.

* Buttons do undo push on change again.

* Animated/Keyframe/Driver colors are now themable, with blend
  value to blend with original color. Set this to 0.5 now to
  give colors less constrast.
* Fix tooltip popping up with RMB menu open, and missing redraw.

* Autokeyframe now works for buttons.

* Driver expressions can be edited in place in a button now.
  (still some refresh issues).
* Also made python driver default for the Add Driver function
  in the RMB button. This way you don't have to open a Graph
  editor if you just want to type an expression. Also, the
  default expression then is the current value.

* Tooltips now show some extra info, not sure what is good to
  have, but currently I added:
  * Shortcut key for operator buttons.
  * Python struct & property name for RNA buttons.
  * Expression for driven values.
  * Value for text/search/pointer buttons.

11 years agoCleaning up manipulator code a bit
Martin Poirier [Sun, 12 Jul 2009 02:01:13 +0000 (02:01 +0000)]
Cleaning up manipulator code a bit

Made transform confirm or cancel on mouse up. More inline with button clicking and better for tablets.

Add operator params to make sure Rip and Extrude turn off PET and Mirror correctly.

Note: sorry for all the whitespace changes, I need to reconfigure this editor not to do autocleanup.

11 years agoSVN maintenance.
Guillermo S. Romero [Sat, 11 Jul 2009 22:22:53 +0000 (22:22 +0000)]
SVN maintenance.

11 years ago2.5 MSVC projectfiles
Andrea Weikert [Sat, 11 Jul 2009 17:29:53 +0000 (17:29 +0000)]
2.5 MSVC projectfiles
* update for NLA merge from Aligorith

11 years ago2.5: X11
Brecht Van Lommel [Sat, 11 Jul 2009 14:51:13 +0000 (14:51 +0000)]
2.5: X11

* Cursor grabbing is now done only if the OPTYPE_BLOCKING flag
  is set for the operator, since for e.g. render it should not

11 years ago2.5: use primitive icons in the Add Object menu.
Brecht Van Lommel [Sat, 11 Jul 2009 14:50:12 +0000 (14:50 +0000)]
2.5: use primitive icons in the Add Object menu.

11 years agoPyApi
Campbell Barton [Sat, 11 Jul 2009 13:57:56 +0000 (13:57 +0000)]
* refcount error if StringIO or io modules could not be imported
* importing python modules like math didnt work because the script registration overwrote the script path. now just prepend the path.

11 years ago2.5:
Brecht Van Lommel [Sat, 11 Jul 2009 13:32:20 +0000 (13:32 +0000)]

* Code to start moving 3D view header and panels to python, at
  the moment the View menu and one empty panel is in python. The
  C header code is wrapped in one template, so parts of that can
  be moved over while still keeping things working.
* Fix for mistake in RNA enum commit yesterday, and some warning

11 years ago2.5 - Made more operators for constraint buttons
Joshua Leung [Sat, 11 Jul 2009 12:54:17 +0000 (12:54 +0000)]
2.5 - Made more operators for constraint buttons

* Move Up/Down and Delete are now operators
* Made TrackTo constraint use expanded enum toggles for up axis too.
--> BUG ALERT: specifying name and expand in the arguments to itemR doesn't work (name gets skipped)

11 years ago2.5 - Restored Set/Clear Inverse Buttons for ChildOf Constraint
Joshua Leung [Sat, 11 Jul 2009 11:52:20 +0000 (11:52 +0000)]
2.5 - Restored Set/Clear Inverse Buttons for ChildOf Constraint

I've tagged these operators with CONSTRAINT_OT_* not OBJECT_OT_constraint_* since constraints can operate on Bones too (and do so more often)

11 years agoObject mode select grouped operator (Shift+G and Select manu)
Campbell Barton [Sat, 11 Jul 2009 11:31:49 +0000 (11:31 +0000)]
Object mode select grouped operator (Shift+G and Select manu)
Group option currently doesnt handle multiple groups.

Set makefiles python version to 2.6 for linux since its common now.

11 years ago2.5 - Fixing some typos for name of Graph Editor operator
Joshua Leung [Sat, 11 Jul 2009 10:23:07 +0000 (10:23 +0000)]
2.5 - Fixing some typos for name of Graph Editor operator

An error that slipped in during the merge process?

11 years ago2.5 - Added descriptions to all Animation Editor operators
Joshua Leung [Sat, 11 Jul 2009 10:20:48 +0000 (10:20 +0000)]
2.5 - Added descriptions to all Animation Editor operators

DopeSheet and Graph Editor operators were missing these, since many of these operators were written before that field was added.
NLA Editor's operators already have them.

11 years agoremove duplicate function.
Campbell Barton [Sat, 11 Jul 2009 07:46:11 +0000 (07:46 +0000)]
remove duplicate function.

11 years ago2.5 - NLA SoC Branch Merged to 2.5!
Joshua Leung [Sat, 11 Jul 2009 05:41:21 +0000 (05:41 +0000)]
2.5 - NLA SoC Branch Merged to 2.5!
(19863 to 21513)

Highlights of the new NLA System (and related Animation System changes):
* NLA Data is stored in AnimData alongside Action and Drivers. The NLA stack is evaluated before the Action, with the Action always overriding the results of the stack.
* NLA Data is arranged in 'Tracks', which act like PhotoShop layers. These can be muted, protected, and/or made to be played back by themselves
* Within each track, there can be multiple 'Strips'. There are 3 types of strip -> Action Clip (references some action), Transition (blends between the endpoints of two strips), and Meta (container for several strips that occur sequentially)
* FModifiers can be applied to strips, and strips can have animated influence/time controls. Playback for strips can also be backwards now!
* Playback can now go in forward and backwards directions.
* Animation Editors have been polished (unfinished features added, existing features cleaned up and made more consistent)

Notes for BuildSystem Maintainers:
* Only scons has been actively tested. Makefiles should work fine.
* MSVC ProjectFiles are broken due to the very way they work.
* CMake status unknown...

Other notes:
* Hopefully I haven't made any mistakes while doing the merge. More files than expected were showing some weird conflicts, so you may have some broken code...
* Not all old files (with NLA) data load exactly the same anymore. However, the bulk of the files out there should be ok (I hope)

11 years agoNLA SoC: Merge from 2.5
Joshua Leung [Sat, 11 Jul 2009 03:23:45 +0000 (03:23 +0000)]
NLA SoC: Merge from 2.5

21470 to 21512

Next up, NLA-branch to 2.5 :)

11 years agoNLA SoC: Quick commit of skeleton of auto-blending setting code to be completed later...
Joshua Leung [Sat, 11 Jul 2009 03:09:44 +0000 (03:09 +0000)]
NLA SoC: Quick commit of skeleton of auto-blending setting code to be completed later...

11 years agoNLA SoC: Names for NLA Strips
Joshua Leung [Fri, 10 Jul 2009 23:25:30 +0000 (23:25 +0000)]
NLA SoC: Names for NLA Strips

In order to be able to better identify NLA Strips (and to reduce the complexity of the text on them), I've implemented a name property for the strips. The names are made to be unique within the AnimData block the strip comes from, though this may not always happen if not enough relevant context info is present to validate this.

11 years agoAllow the user set which style to use for the kerning value.
Diego Borghetti [Fri, 10 Jul 2009 22:16:25 +0000 (22:16 +0000)]
Allow the user set which style to use for the kerning value.

This are freetype2 options:
 Unfitted - Scaled but un-grid-fitted kerning distances
 Default - Scaled and grid-fitted kerning distances

We always use Unfitted, but the "Default" style give better result here,
so please test and if nobody complain we can set this style as the default.

11 years ago2.5:
Brecht Van Lommel [Fri, 10 Jul 2009 20:43:32 +0000 (20:43 +0000)]

* Default panel zoom level user preference, when creating
  new button windows or pressing home-key to reset. Patch
  by Matt D., thanks!

11 years agoYes!! a nice font again!!
Diego Borghetti [Fri, 10 Jul 2009 20:18:19 +0000 (20:18 +0000)]
Yes!! a nice font again!!

Matt, I found the problem in one of my previous commit, so I revert
all my changes and now the font look good again.

Also remove all the options (kerning, overlap and user kerning), I want
to make this a little better.

11 years agoRNA
Brecht Van Lommel [Fri, 10 Jul 2009 19:56:13 +0000 (19:56 +0000)]

* Enums can now be dynamically created in the _itemf callback,
  using RNA_enum_item(s)_add, RNA_enum_item_end. All places asking
  for enum items now need to potentially free the items.
* This callback now also gets context, this was added specifically
  for operators. This doesn't fit design well at all, needed to do
  some ugly hacks, but can't find a good solution at the moment.
* All enums must have a default list of items too, even with an
  _itemf callback, for docs and fallback in case there is no context.

* Used by MESH_OT_merge, MESH_OT_select_similar, TFM_OT_select_orientation.
* Also changes some operator properties that were enums to booleas
  (unselected, deselect), to make them consistent with other ops.