10 years agomerge with trunk at r21785, and also fixed stupid ngon normals bug
Joseph Eagar [Wed, 22 Jul 2009 02:57:40 +0000 (02:57 +0000)]
Merge ... trunk at r21785, and also fixed stupid ngon normals bug

10 years agosmall bugfix
Joseph Eagar [Wed, 22 Jul 2009 00:51:13 +0000 (00:51 +0000)]
small bugfix

10 years agoSVN maintenance.
Guillermo S. Romero [Tue, 21 Jul 2009 21:31:13 +0000 (21:31 +0000)]
SVN maintenance.

10 years ago2.5: Render
Brecht Van Lommel [Tue, 21 Jul 2009 20:28:32 +0000 (20:28 +0000)]
2.5: Render

This adds a RenderEngine type to RNA, which can be subclassed
in python (c++ will follow once we support subclassing there).
It's very basic, but plugs into the pipeline nicely. Two example

* Render runs in a separate thread, and there is unrestricted
  access, so it's possible to crash blender with unsafe access.
* Save buffers and full sample are not supported yet.

10 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 20:05:16 +0000 (20:05 +0000)]

* ID blocks can now get RNA properties defined from python, e.g.:
* RNA structs/functions/properties can now get pointers duplicated
  (mostly strings), since we can't point to some static string then.
* Added ExtensionRNA struct to add into *Type structs for subclassing,
  is a bit more compact than defining the 4 variables each time.
  Only disadvantage is it requires including RNA in more places.

10 years ago2.5:
Brecht Van Lommel [Tue, 21 Jul 2009 18:29:37 +0000 (18:29 +0000)]

* Fix armature drawing crash with materials.
* Mixed texture/material preview was doing wrong gamma correction.
* Use *f math functions for AAO.

10 years ago2.5:
Brecht Van Lommel [Tue, 21 Jul 2009 18:23:45 +0000 (18:23 +0000)]

* Windows fixes for texture filter & bump patches, thanks
  Jean-Michel Soler for noting.

* Added sqrtf/sinf/fabsf/... fallback #ifdefs in BLI_arithb.h,
  those should be safe to use now. Replacing the double for the
  float version throughout the code can be done once, but would
  need proper testing.

10 years agopy console wasnt working since r21743
Campbell Barton [Tue, 21 Jul 2009 15:52:15 +0000 (15:52 +0000)]
py console wasnt working since r21743

10 years ago2.5: fix crash on load when saving with a filebrowser open.
Brecht Van Lommel [Tue, 21 Jul 2009 14:28:41 +0000 (14:28 +0000)]
2.5: fix crash on load when saving with a filebrowser open.

10 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 14:11:51 +0000 (14:11 +0000)]

* Wrapped RenderResult, RenderLayer, RenderPass.
* Update RNA_access.h with new structs.

10 years ago2.5: Bump Mapping
Brecht Van Lommel [Tue, 21 Jul 2009 13:46:49 +0000 (13:46 +0000)]
2.5: Bump Mapping

Patch by Alfredo de Greef. Considerably improves the quality of bump
mapping, and texture filtering for displacement and warp too. Mainly
this is achieved by getting the texture derivatives just right in
various cases, many thanks to Alfredo for figuring this one out, works

This is enabled by default now, but disabled still for existing
textures to preserve backwards compatibility. Can be enabled with
the "New Bump" option in the material texture slot in the outliner.

Also, I made the range for the normal factor a bit smaller since this
gives stronger effects, but note that you can still type in larger
values than the slider allows.

10 years agoSilencing warnings (mingw + scons) about undefined stuff...
Joshua Leung [Tue, 21 Jul 2009 13:20:39 +0000 (13:20 +0000)]
Silencing warnings (mingw + scons) about undefined stuff...

10 years ago2.5: Texture Filtering
Brecht Van Lommel [Tue, 21 Jul 2009 13:20:35 +0000 (13:20 +0000)]
2.5: Texture Filtering

Patch by Alfredo de Greef with high quality image texture filters.
This adds 3 new filters:

* SAT: Summed Area Tables. This is like mipmaps, but using somewhat
  more memory avoids some artifacts.
* EWA: Ellipitical Weighted Average, anisotropic filter.
* FELINE: Fast elliptical lines for anisotropic texture mapping.

The one change I made to this was to try to fix an alpha/premul
problem, hopefully I didn't break anything, it looks compatible
with the existing filter now for me.

10 years ago2.5 - Copy/Paste Operators for Armatures
Joshua Leung [Tue, 21 Jul 2009 13:12:40 +0000 (13:12 +0000)]
2.5 - Copy/Paste Operators for Armatures

* Buttons in header now use operators too. The paste-flipped button needs attention though, since the flipped argument isn't set yet

* Assigned Ctrl-C, Ctrl-V, and Ctrl-Shift-V to Copy/Paste/Paste-Flipped respectively for now.

* Auto-Keying for this doesn't work again yet. On todo for later...


* Also, new armatures now get the flag to show custom bone colours enabled by default.

10 years ago2.5: Texture Buttons
Brecht Van Lommel [Tue, 21 Jul 2009 12:57:55 +0000 (12:57 +0000)]
2.5: Texture Buttons

* World and Lamp previews now working here too.
* Experiment with list template, showing only icons. Unfortunately
  texture icon render crashes combined with preview render so it
  shows all icons the same.
* Influence panels updated, with slider for each option. The values
  are still linked though, will fix that later.
* Image texture controls a bit more complete, still WIP.
* Color ramp back.

10 years ago2.5 - More work on Bone Groups
Joshua Leung [Tue, 21 Jul 2009 12:38:01 +0000 (12:38 +0000)]
2.5 - More work on Bone Groups

* Added a new UI Template for the 3-colour picker used to visualise + select the custom colours for a bone group.

* Finished wrapping the colour properties for Bone Groups in RNA. Although changing the colour-set used will change the displayed/cached colours, changing the colours via the colour wells will not change the colour set to 'custom' (as per 2.4x) yet. This needs a nice solution...

* Fixed context-related bugs with the Assign/Remove operators for bone groups. These were using context-iterators for selected posechannels, but that was only defined/valid for the 3d view (but not for the buttons window), hence a failure in that case.

10 years ago2.5
Ton Roosendaal [Tue, 21 Jul 2009 12:19:46 +0000 (12:19 +0000)]

Overlooked WM event.val usage without checking proper #defines.
My previous commit made all input not work on any modifier key press.

10 years agofinished first pass at bmeshafying uvedit_ops.c. not everything works yet, loop...
Joseph Eagar [Tue, 21 Jul 2009 11:48:58 +0000 (11:48 +0000)]
finished first pass at bmeshafying uvedit_ops.c.  not everything works yet, loop select for example crashes.

10 years ago2.5
Ton Roosendaal [Tue, 21 Jul 2009 11:03:07 +0000 (11:03 +0000)]

Modal keymaps.

I've tried to make it as simple as possible, yet still using sufficient facilities to enable self-documenting UIs, saving/reading in files, and proper Python support.

The simplicity is: the 'modal keymap' just checks an event, uses event matching similarly to other keymap matching, and if there's a match it changes the event type, and sets the event value to what the modal keymap has defined. The event values are being defined using EnumPropertyItem structs, so the UI will be able to show all options in self-documenting way.
This system also allows to still handle hardcoded own events.

Tech doc:

1) define keymap
- Create map with unique name, WM_modalkeymap_add()
- Give map property definitions (EnumPropertyItem *)
  This only for UI, so user can get information on available options

2) items
- WM_modalkeymap_add_item(): give it an enum value for events

3) activate
- In keymap definition code, assign the modal keymap to operatortype

4) event manager
- The event handler will check for modal keymap, if so:
  - If the modal map has a match:
    - Sets event->type to EVT_MODAL_MAP
    - Sets event->val to the enum value

5) modal handler
- If event type is EVT_MODAL_MAP:
  - Check event->val, handle it
- Other events can just be handled still

Two examples added in the code:

editors/transform/transform.c: transform_modal_keymap()
editors/screen/screen_ops.c: keymap_modal_set()

Also: to support 'key release' the define KM_RELEASE now is officially
used in event manager, this is not '0', so don't check key events with
the old convention if(event->val) but use if(event->val==KM_PRESS)

10 years ago2.5: python module name for import had trailing "."
Brecht Van Lommel [Tue, 21 Jul 2009 10:40:13 +0000 (10:40 +0000)]
2.5: python module name for import had trailing "."

10 years ago2.5 - Restoring Bone Groups
Joshua Leung [Tue, 21 Jul 2009 10:18:08 +0000 (10:18 +0000)]
2.5 - Restoring Bone Groups

* Added Bone Groups UI to 'Armature' context buttons for now. Later, it may be more convenient to have these with bones instead?

* Added operators for the operations that can be performed on these groups. Moved the core adding/removing functions to blenkernel so that they can be used elsewhere in future if need be.

* Properly wrapped bone groups in RNA. Copied the way that Vertex Groups are wrapped, since they share some similarities. Setting colours for bone groups still needs more work though.

10 years agoMake linux/scons default to python 3.1 rather then the version scons runs with.
Campbell Barton [Tue, 21 Jul 2009 10:13:20 +0000 (10:13 +0000)]
Make linux/scons default to python 3.1 rather then the version scons runs with.
for a while py2.x will work but eventually be dropped when most OS's support it, so Id recommend upgrading.

The following instructions are only needed if you don't use python3.1 installed in the default location.
For releases users wont have to worry about this.

# in python3.1 source dir, build and install into your own dir, /opt/py31 is just an example.
./configure --prefix="/opt/py31"; make; make install

# In the scons
BF_PYTHON = "/opt/py31"

# ... now build ...
# Blender now needs 2 things to run. ./lib/ and the python modules.

# Symlink (or copy) python modules, blender sets this path for modules on startup if it is found.
ln -s /opt/py31/lib/python3.1 ~/.blender/python

# Currently static linking is not working without hacks because of limitations in scons.
# for releases we can workaround, but for now its easier to set an environment variable.
# To start blender so it can find make this into a shell script to save yourself typing it in all the time.
export LD_LIBRARY_PATH="/opt/py31/lib/"

10 years agoCleaned up logic buttons in logic space slightly.
William Reynish [Tue, 21 Jul 2009 09:35:39 +0000 (09:35 +0000)]
Cleaned up logic buttons in logic space slightly.

Moved Shade Smooth/Flat from Mesh obdata panel to tools area. These kinds of operator tools aren't really allowed in the buttons window anymore - whole point of new tools area :)
The only operators that are allowed in buttons window are things that act on the RNA fields, like add/remove buttons for adding vertex groups etc.

10 years agoBLI_setenv, use instead of copying ifdefs about for setting env vars.
Campbell Barton [Tue, 21 Jul 2009 09:26:28 +0000 (09:26 +0000)]
BLI_setenv, use instead of copying ifdefs about for setting env vars.
set PYTHONHOME as well as PYTHONPATH, quiets some warnings.

10 years agofirst pass at the uv code. uv editor now mostly uses new bmesh structures for uvs.
Joseph Eagar [Tue, 21 Jul 2009 08:39:58 +0000 (08:39 +0000)]
first pass at the uv code.  uv editor now mostly uses new bmesh structures for uvs.

10 years ago2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine
Joshua Leung [Tue, 21 Jul 2009 05:08:59 +0000 (05:08 +0000)]
2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine

It's alarming how many tools are still missing here!

10 years ago2.5 - IK Constraint Tools + Constraint Editing Tweaks
Joshua Leung [Tue, 21 Jul 2009 04:21:07 +0000 (04:21 +0000)]
2.5 - IK Constraint Tools + Constraint Editing Tweaks

* Add/Remove IK now works again using Shift-I and Ctrl-Alt-I as before. The code for this is now located in editconstraint.c for now...

* Adding constraints with automatically added targets works again. It's a relief that the old code still works (with a minor tweak)

10 years ago2.5 - Constraint (Re)Naming
Joshua Leung [Tue, 21 Jul 2009 02:54:02 +0000 (02:54 +0000)]
2.5 - Constraint (Re)Naming

* Names for newly added constraints are now derived from the type of constraint, making it easier to identify the type of constraint

* Fixed crash when renaming constraints (due to invalid pointer being passed for the 'old' string name)

10 years ago2.5: Texture buttons preview now has an option to display the
Brecht Van Lommel [Tue, 21 Jul 2009 01:57:46 +0000 (01:57 +0000)]
2.5: Texture buttons preview now has an option to display the
texture, the material, or both side by side.

10 years ago2.5: Lamp button layout improvements by nudelZ.
Brecht Van Lommel [Tue, 21 Jul 2009 01:52:05 +0000 (01:52 +0000)]
2.5: Lamp button layout improvements by nudelZ.

10 years ago2.5: UI
Brecht Van Lommel [Tue, 21 Jul 2009 01:26:17 +0000 (01:26 +0000)]
2.5: UI

* List template visual changes. Items now look different,
  and it expands to size 5 as more items are added.

* Added LISTROW and LISTBOX elements. The former is like
  a typical ROW button, but looks diffrent. The latter
  looks like a BOUNDBOX, and has no extra features yet.
* Fix some glColor3ubv warnings with casting, did not find
  a nicer way.

10 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 01:14:55 +0000 (01:14 +0000)]

* Added suppport for generating code without verifying with DNA,
  this doesn't give good errors and is more error prone, but makes
  it easier to wrap things like EditBone which are not in DNA.
* RNA_define_verify_sdna(0), and set to 1 again afterwards.

10 years ago2.5: RNA & UI
Brecht Van Lommel [Tue, 21 Jul 2009 00:55:20 +0000 (00:55 +0000)]
2.5: RNA & UI

* Revert lamp sampling/buffers change. The right enum items should
  be defined in RNA, not the layout, so that it works in outliner,
  python api too.
* Also changed type popup to radio buttons again, and removed the
  icons. This is more consistent, and I don't think it's a good idea
  to start using icons for these things, too much clutter.

* Replace Mesh with Normals panel in the mesh buttons.
* Remove Material panel from mesh buttons.
* Added name fields for shape/vgroup/vcol/uv.
* Spacing tweak to Object and Bone names.

* Fix some naming conflicts in RNA, with "name" and "type" properties
  being defined twice in the same struct.

* context.scene.tool_settings -> context.tool_settings.

10 years ago2.5: Make shade smooth/flat operators consistent,
Brecht Van Lommel [Tue, 21 Jul 2009 00:36:07 +0000 (00:36 +0000)]
2.5: Make shade smooth/flat operators consistent,
and add object mode operators.

10 years agoForgotten file from boids commit.
Janne Karhu [Tue, 21 Jul 2009 00:31:33 +0000 (00:31 +0000)]
Forgotten file from boids commit.

10 years ago2.5: DNA fixes for game engine changes, making it work on 64bit.
Brecht Van Lommel [Tue, 21 Jul 2009 00:30:19 +0000 (00:30 +0000)]
2.5: DNA fixes for game engine changes, making it work on 64bit.

10 years agoSVN maintenance.
Guillermo S. Romero [Tue, 21 Jul 2009 00:19:07 +0000 (00:19 +0000)]
SVN maintenance.

10 years agoInitial code for boids v2
Janne Karhu [Mon, 20 Jul 2009 23:52:53 +0000 (23:52 +0000)]
Initial code for boids v2

Too many new features to list! But here are the biggies:
- Boids can move on air and/or land, or climb a goal object.
- Proper interaction with collision objects.
* Closest collision object in negative z direction is considered as ground.
* Other collision objects are obstacles and boids collide with them.
- Boid behavior rules are now added to a dynamic list.
* Many new rules and many still not implemented.
* Different rule evaluation modes (fuzzy, random, average).
- Only particle systems defined by per system "boid relations" are considered for simulation of that system.
* This is in addition to the boids own system of course.
* Relations define other systems as "neutral", "friend" or "enemy".
- All effectors now effect boid physics, not boid brains.
* This allows forcing boids somewhere.
* Exception to this is new "boid" effector, which defines boid predators (positive strength) and goals (negative strength).

Known issue:
- Boid health isn't yet stored in pointcache so simulations with "fight" rule are not be read from cache properly.
- Object/Group visualization object's animation is not played in "particle time". This is definately the wanted behavior, but isn't possible with the current state of dupliobject code.

Other new features:
- Particle systems can now be named separately from particle settings.
* Default name for particle settings is now "ParticleSettings" instead of "PSys"
- Per particle system list of particle effector weights.
* Enables different effection strengths for particles from different particle systems with without messing around with effector group setting.

Other code changes:
- KDTree now supports range search as it's needed for new boids.
- "Keyed particle targets" renamed as general "particle targets", as they're needed for boids too. (this might break some files saved with new keyed particles)

Bug fixes:
- Object & group visualizations didn't work.
- Interpolating pointcache didn't do rotation.

10 years agofix for recent stereo changes+tweaks
Dalai Felinto [Mon, 20 Jul 2009 22:36:56 +0000 (22:36 +0000)]
fix for recent stereo changes+tweaks
(it's the 3rd commit in a row. But as they say, the 3rd is always a charm ;)

I still think we have a little mess with the DEFINE parameters in BGE (as in RAS_IRasterizer::StereoMode).
We used to have them duplicated and hardcoded in 2.4xx, but I think we can do it in another way now.

(I didn't change gameplayer, but I can do it once we have it linking and building properly)

10 years agoUI layouts
William Reynish [Mon, 20 Jul 2009 21:31:32 +0000 (21:31 +0000)]
UI layouts

Changed order of panels in scene buttons to better follow order of importance, putting the post-processing options further down.

Cleaned up game physics properties

10 years agofix from last commit.
Dalai Felinto [Mon, 20 Jul 2009 20:42:13 +0000 (20:42 +0000)]
fix from last commit.
I thought """ """ could be used everywhere to make comments in python

10 years ago2.5 Lamps:
Thomas Dinges [Mon, 20 Jul 2009 20:34:14 +0000 (20:34 +0000)]
2.5 Lamps:

* Replaced RNA ENUM hacks for "shadow method" and "shadow_ray_sampling_method" with modifications in the layout file.

10 years agoBGE panels: wip
Dalai Felinto [Mon, 20 Jul 2009 20:28:29 +0000 (20:28 +0000)]
BGE panels: wip

Logic Panel:
- world settings (moved from world)
 ... that includes physic engine selection + gravity
- game player (from gamesettings, it wasn't wrapped)
- stereo/dome (from gamesettings, it wasn't wrapped)
 ... separated stereom into stereoflag and stereomode
- properties
 ... (didn't touch it)

Buttons Game Panel:
(wip panel)
- Physics (moved from Logic Panel)
 ... it will be a datablock in the future (right Campbell ?)
- Material Physics (not currently implemented)
 ... a datablock link to the materials of an object + the dynamic physic variables

in readfile.c::do_version I couldn't do if(scene->world). There is something wrong with scenes with an unlinked world. So so far we are ignoring the old values....

10 years agomistake in own recent change, errors with startup scripts didnt raise errors
Campbell Barton [Mon, 20 Jul 2009 20:00:59 +0000 (20:00 +0000)]
mistake in own recent change, errors with startup scripts didnt raise errors

10 years agoOk, first commit! Hope this goes ok.
William Reynish [Mon, 20 Jul 2009 17:59:45 +0000 (17:59 +0000)]
Ok, first commit! Hope this goes ok.

Added the Turbidity parameter to the Sky panel in lamp buttons, since it affects sky as well as atmosphere.

10 years ago2.5 Notifier:
Thomas Dinges [Mon, 20 Jul 2009 17:42:40 +0000 (17:42 +0000)]
2.5 Notifier:

* Added some missing notifier for 3DView Display settings.

10 years agoSome little UI adjustments to cloth + fluid panel and their presets
Daniel Genrich [Mon, 20 Jul 2009 17:15:41 +0000 (17:15 +0000)]
Some little UI adjustments to cloth + fluid panel and their presets

10 years agopatch from William
Campbell Barton [Mon, 20 Jul 2009 16:39:16 +0000 (16:39 +0000)]
patch from William
 Cleaned up force fields panel, as well as the other fixes (sculpt, lamps)

10 years agoBGE Button types panel, can edit existing buttons but not add new ones yet.
Campbell Barton [Mon, 20 Jul 2009 16:21:55 +0000 (16:21 +0000)]
BGE Button types panel, can edit existing buttons but not add new ones yet.
World Physics panel too though Im not sure if we'll eventually move this into another struct.

10 years ago2.5 - Constraints Editing + Keyframe Drawing Tweaks
Joshua Leung [Mon, 20 Jul 2009 12:42:31 +0000 (12:42 +0000)]
2.5 - Constraints Editing + Keyframe Drawing Tweaks

* Adding constraints with targets should now work.
-- (When no target is provided, the code to create a new target is not yet in place again yet)
* Constraints can be added in Object and PoseModes again using the Ctrl-Shift-C hotkey.
* All constraints can now be cleared from the active Object or selected Bones using the Ctrl-Alt-C hotkey.
* Added warnings when adding constraints invalid for the current context, and removed the old add_constraint() function.
* Buttons window updates correctly after adding keyframes now

Keyframes Drawing:
* Removed un-necessary extra function-call for RB-Tree implementation, by inlining a special one-off case.
* Keyframe diamonds which are not within the viewable area are now not drawn (but filtering will still need to find them).

10 years agoAdded error prints if the text's main is not set.
Campbell Barton [Mon, 20 Jul 2009 11:30:27 +0000 (11:30 +0000)]
Added error prints if the text's main is not set.

10 years ago2.5 - Fixes to try and let C++ compilers not choke on DNA_anim_types.h
Joshua Leung [Mon, 20 Jul 2009 10:43:41 +0000 (10:43 +0000)]
2.5 - Fixes to try and let C++ compilers not choke on DNA_anim_types.h

10 years agocmake option to disable SDL,
Campbell Barton [Mon, 20 Jul 2009 10:24:53 +0000 (10:24 +0000)]
cmake option to disable SDL,
bpy_interface.c - change order of checking scripts to avoid calling stat on .py files.

10 years ago2.5 - Bugfixes
Joshua Leung [Mon, 20 Jul 2009 00:02:03 +0000 (00:02 +0000)]
2.5 - Bugfixes

* Fix for crash when holding down downarrow in the info-header search box. Was caused by badly written poll callback for file-browser. Thanks pidhash for noticing the error

* Made add constraint operators work again from 3D-View. They were using the wrong context pointer when in the 3D-View, since the old one was only valid for the buttons-window. Now they check which window they're in.

10 years agobinreloc wasnt working with cmake.
Campbell Barton [Sun, 19 Jul 2009 19:36:56 +0000 (19:36 +0000)]
binreloc wasnt working with cmake.

10 years agod_type isnt a member of dirent on win32.
Campbell Barton [Sun, 19 Jul 2009 18:51:25 +0000 (18:51 +0000)]
d_type isnt a member of dirent on win32.

10 years ago- Support for importing python packages. (directories of python scripts containing...
Campbell Barton [Sun, 19 Jul 2009 17:45:14 +0000 (17:45 +0000)]
- Support for importing python packages. (directories of python scripts containing an
- BLI_add_slash returns the new string length.
- BLI_where_am_i() would often have /./ in the path (not incorrect but annoying, got into python exceptions)
- release/ui/, py error referencing invalid keyword args.

10 years agoSculpt+Paint/2.5:
Nicholas Bishop [Sun, 19 Jul 2009 17:44:44 +0000 (17:44 +0000)]

* Moved brush NKEY panel from C to Python. Could use some UI review :)
* Added a NULL check in bpy_internal_import.c, was crashing here on Python errors
* Added RNA for vpaint brush and for weight paint
* Added context for vpaint/wpaint similar to edit_object and sculpt_object

10 years agoRemove unneeded manipulator functions.
Martin Poirier [Sun, 19 Jul 2009 17:42:01 +0000 (17:42 +0000)]
Remove unneeded manipulator functions.

Disable manipulator drawing while moving. This still use G.moving, but that's acceptable for now (it's sort of a weird display option, after talk with Ton, we couldn't find a good place to set it).

10 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 17:14:26 +0000 (17:14 +0000)]

Bugfix: extrudes failed when called a 2nd time, missing statistics
update. Reported by Sanne in irc, thanks!

10 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 16:53:57 +0000 (16:53 +0000)]

Bugfix: the 'active 3d view layer' was never set, causing issues when
adding new objects. Reported by Martin, thanks!

10 years agoissues auto generating rna docs
Campbell Barton [Sun, 19 Jul 2009 14:57:20 +0000 (14:57 +0000)]
issues auto generating rna docs
- add a warning when an operator name is NULL, set it to a dummy name to prevent crash. POSE_OT_constraints_clear had its name commented (not sure why)
- rna_Object_parent_type_itemf wasnt checking for context being NULL, needed for docs else it crashes.
- bpy.ops.add/remove didnt show up in a dir(bpy.ops)

10 years agoPython operators
Campbell Barton [Sun, 19 Jul 2009 13:32:02 +0000 (13:32 +0000)]
Python operators
- simplified C operator API bpy.__ops__ since its wrapped by python now.
- needs the class to have an __idname__ rather then __name__ (like menus, headers)
- convert python names "console.exec" into blender names "CONSOLE_OT_exec" when registering (store the blender name as class.__idname_bl__, users scripters wont notice)
- bpy.props.props ???, removed

10 years ago2.5 - Recode of Add Constraint Operator(s)
Joshua Leung [Sun, 19 Jul 2009 13:06:18 +0000 (13:06 +0000)]
2.5 - Recode of Add Constraint Operator(s)

Add Constraint operators are now based on the old add_constraint() function (to be removed when the new code works well).
- Fixed a few bugs with the code, including depsgraph missing rebuild call, and unique-naming for constraints failing due to wrong order for adding constraint to list
- Added capabilities for setting the target of the constraint to the first selected object/bone for the operator when called from menus + hotkeys (but not for buttons window)

This commit is still buggy. I'll fix the remaining issues tomorrow, as well as adding some more operators for IK add/clear.

10 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 12:15:20 +0000 (12:15 +0000)]

Small fix: Triple Buffer mode didn't clip custom paint cursors correctly
for overlapping regions (example, view3d paint circle drawing into toolbar)

10 years agoFirst version of fields panel.
Daniel Genrich [Sun, 19 Jul 2009 11:28:43 +0000 (11:28 +0000)]
First version of fields panel.
Please keep in mind: I am no python expert and may have some ugly layout-tricks in this file. GUI designed by nudelZ.
Commit approved by William ;-)

10 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 11:13:15 +0000 (11:13 +0000)]

Requested UI feature: when scaling Blender window, the buttons view keeps
scale (in visible pixels) as previously. Also works for the .B25.blend, which
currently will show the buttons a bit too large for small screens... this
because the .B25.blend was created on a 1920x1200 screen. Might need a config
inbetween... 1440x1080 or so? Or we make a couple of defaults later.

Additional feature could be to also scale the buttons area itself, but that
will change the entire screen layout too much, potentially giving bad issues
with extremer scaling.

10 years agopy rna arrays were assumed sizeof(char)*len, should be sizeof(int)*len, was causing...
Campbell Barton [Sun, 19 Jul 2009 09:33:27 +0000 (09:33 +0000)]
py rna arrays were assumed sizeof(char)*len, should be sizeof(int)*len, was causing end of array corruption errors when running operators that took bool array options - transform.

10 years ago2.5 - Clear Constraints Operators
Joshua Leung [Sun, 19 Jul 2009 07:20:21 +0000 (07:20 +0000)]
2.5 - Clear Constraints Operators

Added some operators to clear all constraints on the active object or the selected bones.

10 years ago2.5 - Warning Fixes + Hotkey for Reversed Playback
Joshua Leung [Sun, 19 Jul 2009 05:20:30 +0000 (05:20 +0000)]
2.5 - Warning Fixes + Hotkey for Reversed Playback

Reversed playback can now be activated using the Alt-Shift-A hotkey. It works the same way that the Alt-A playback operator works.

10 years ago- was freeing reports on freed listbases
Campbell Barton [Sun, 19 Jul 2009 04:50:10 +0000 (04:50 +0000)]
- was freeing reports on freed listbases
- free reports in a single loop.
- extrude was using a NULL scene, crashed when used as a macro

10 years agoadded missing ui script files
Joseph Eagar [Sun, 19 Jul 2009 04:32:46 +0000 (04:32 +0000)]
added missing ui script files

10 years agoSVN maintenance.
Guillermo S. Romero [Sun, 19 Jul 2009 02:28:59 +0000 (02:28 +0000)]
SVN maintenance.

10 years agoStore sketch in armature instead of ugly global.
Martin Poirier [Sun, 19 Jul 2009 02:26:01 +0000 (02:26 +0000)]
Store sketch in armature instead of ugly global.

Like edit data, this isn't saved, just a temp pointer used during work session.

Also bring back sketching panel for 3d view.

10 years agoSculpt/2.5:
Nicholas Bishop [Sun, 19 Jul 2009 01:55:21 +0000 (01:55 +0000)]

* Added pointer RNA for the sculpt brush
* Converted sculpt settings panel (in the NKEY area) from C to Python
* For Python UI, needed context for whether sculpt is enabled or not; discussed this with Brecht and added sculpt_object to scene context

10 years agooperator macro playback (run operator reports in the console)
Campbell Barton [Sun, 19 Jul 2009 00:49:44 +0000 (00:49 +0000)]
operator macro playback (run operator reports in the console)
- reports can be selected with RMB, Border (bkey) and (de)select all.
- delete reports (X key)
- run operators in the console (R key)
- copy reports (Ctrl+C), can be pasted in the text editor an run with alt+p

- Added "selected_editable_objects" and "selected_editable_bases" to screen_context.c, use the scene layers, this was needed for duplicate to run outside the 3D view.
- RNA_property_as_string converted an array of 1 into "(num)" need a comma so python sees it as a tuple - "(num,)"
- add flag to reports, use for seletion atm.

opens a new world of context bugs :)

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

10 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.

10 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.

10 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

10 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

10 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".

10 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

10 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

10 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...

10 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

10 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.

10 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).

10 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.

10 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.

10 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"

10 years agofix link problem
Joseph Eagar [Sat, 18 Jul 2009 00:57:47 +0000 (00:57 +0000)]
fix link problem

10 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*

10 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.

10 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.

10 years ago. . .and I forgot this check
Joseph Eagar [Fri, 17 Jul 2009 11:28:44 +0000 (11:28 +0000)]
. . .and I forgot this check

10 years agosubdivide experimental stuff is now more stable. basically, it no longer creates...
Joseph Eagar [Fri, 17 Jul 2009 11:15:06 +0000 (11:15 +0000)]
subdivide experimental stuff is now more stable.  basically, it no longer creates new edges in all the situations it used too, plus you can connect two edges in an ngon.

10 years agomoved the selection history stuff within bmesh itself, to avoid memory access problem...
Joseph Eagar [Fri, 17 Jul 2009 10:54:00 +0000 (10:54 +0000)]
moved the selection history stuff within bmesh itself, to avoid memory access problems.  also committing some playing around I did with the edge subdivide code, which isn't doesn't really completely work.

10 years agosmall tweak
Joseph Eagar [Fri, 17 Jul 2009 06:12:50 +0000 (06:12 +0000)]
small tweak

10 years agosome small edge split related things. now you can split edges (with no additional...
Joseph Eagar [Fri, 17 Jul 2009 06:05:09 +0000 (06:05 +0000)]
some small edge split related things.  now you can split edges (with no additional geometry created) with mkey.