Commit Graph

53000 Commits

Author SHA1 Message Date
Campbell Barton
7785ead4eb ObColor wasnt converted into an RNA string.
Updated Mathutils.Vector/Euler/Quaternion/Matrix so these are types rather then module methods, each type now has a tp_new function, matching python builtins float/int/str.
Also cleaned up float conversion and arg passing.

Changed buttons_objects.py...
 if ob in groups.objects: # no longer works
 if ob.name in groups.objects: # is the new syntax
...its more dict like and a lot faster (avoids python iterating over each item and comparing each, use a single rna lookup instead).
2009-06-20 02:44:57 +00:00
Brecht Van Lommel
d0e8acaf29 UI
* Fix issue with panel header line not always being hidden
  for the first panel.
* Fix graying out of aligned buttons being off by one pixel,
  did not find a nice solution for it though, so just added
  -1/+1 in the code.
2009-06-19 23:11:41 +00:00
Brecht Van Lommel
aa0aac706e 2.5
* Optimized RNA property lookups and path resolving, still can be
  much better, but now the 1000 IPO example on bf-taskforce25
  runs at reasonable speed.
* Also an optimization in the depsgraph when dealing with many
  objects, this was actually also a bottleneck here.
2009-06-19 23:05:21 +00:00
Nicholas Bishop
7349d775b0 2.5/Sculpt:
Made some improvements to how brush strength works.

* For the draw and inflate brushes, the brush's 3D radius is used to set the "goal" distance, towards which vertices move. A strength setting of 1.0 will move verts there immediately (with the usual exceptions of tablet pressure, texture/curve input, etc.)

* Also changed strength calculation to use the square of the strength slider, so that you don't have to be as finicky setting a low brush strength.

* For smooth brush, added an extra loop through the verts. So, a bit slower, but now verts take into account more than the immediate vertex ring.

TODO:
Still some magic numbers:
* Pinch limits the effect to moving vertices half of the way towards brush center. I see no use for a 100% pinch (it pretty much destroys the mesh.) Even half may be too high a limit, but this is hard to place an exact number on.

* Smooth has two magic numbers, the strength fudge factor and the number of smooth repetitions (currently 2.)

* The way the layer brush works is left unchanged for now.
2009-06-19 22:16:30 +00:00
Chingiz Dyussenov
82725ce933 Merged 2.5 -r 20124:21003 2009-06-19 18:24:16 +00:00
Campbell Barton
c3b8db4833 BGE: allow action blending by bringing back blend_poses() as game_blend_poses, the new animation system doesnt use it but doesnt have a replacement function so it can be kept for the BGE only. 2009-06-19 16:27:01 +00:00
Brecht Van Lommel
6c139156cf RNA:
* EditBone wrapped, using manual get/set function, and used
  in the UI code. Makes the RNA wrapping code here more
  complicated, but works.
2009-06-19 14:56:49 +00:00
Joshua Leung
bb9323a720 NLA SoC: Minor Tweaks (Duplicate + Muted-Strip Drawing)
* Duplicate operator now inits transform once strips have been created
* Muted strips now draw with a dotted outline
2009-06-19 12:57:31 +00:00
Arystanbek Dyussenov
f6267e2a26 Moved struct DupliObject to DNA_object_types.h.
Object.create_dupli_list now works ok.
2009-06-19 12:46:51 +00:00
Joshua Leung
d525ae1782 NLA SoC: Duplicate Strips Operator (Shift D)
It is now possible to Duplicate Strips again. Strips are added into the first available space in the track above the original track (or a new track above the original if there wasn't any space).

Also, separated out the 'add' operators into their own menu. This might need to be changed later...
2009-06-19 12:45:08 +00:00
Joshua Leung
e3fc5481b9 NLA SoC: Bugfixes
* Loading old Action Editors resulted in wrong view settings being used
* Wrong operator names used in previous commit...
2009-06-19 11:56:53 +00:00
Joshua Leung
42e60acce6 Animato - Conversions Bugfix
Object actions are now converted before object ipo's so that if both of them exist, the Action can still preserve its name.
2009-06-19 11:17:56 +00:00
Arystanbek Dyussenov
5d78f56c1f - added Object.create_dupli_list, Object.free_dupli_list
- attempted to RNA-wrap DupliObject, Object.create_dupli_list returns a 
collection of these.

Build fails probably because DupliObject is not defined in one of 
DNA_*.h headers.
2009-06-19 10:40:18 +00:00
Joshua Leung
8ffb1dacad NLA SoC: Bugfix for Deleting Keyframes
When an F-Curve doesn't contain any keyframes anymore but it still exists, the F-Curve's value is not recalculated and flushed anymore if the F-Curve's value will not change. That is, if the F-Curve doesn't have any other data, i.e. drivers or generator-modifiers, which would still change its value, it wouldn't be recalculated to have a value of zero. 

This solves the problem of deleting all scale keyframes, whereby objects/bones would appear to 'vanish'
2009-06-19 04:58:40 +00:00
Joshua Leung
a87bc73d32 NLA SoC: Transition Strips + Strip Adding Operators + Bugfixes
== Transitions ==
Transition strips are now able to be created + evaluated. Transitions allow for interpolation between the endpoints of two adjacent strips in the same track (i.e. two strips which occur in the same track one after the other, but with a gap between them). 

- The current behaviour when only one endpoint affects some setting is non-optimal, since it appears somewhat inconsistently extend/replace values...
- Transform code needs a few fixes still to deal with these


== Strip Adding Operators ==
* New strips referencing Actions can be added using the Shift-A hotkey while in the strips-area. You must have a track selected first though.  
The new strip will get added, starting from the current frame, in the selected track(s) only if there is enough space to do so. Otherwise, the new strip gets added at the top of the stack in a new track.

* New transition strips can be added with the Shift-T hotkey while in the strips area. You must have two adjacent strips selected for this to work.

== New Backend Methods ==
* Recoded the strip/track adding API to be more flexible
* Added a new method for testing whether F-Curve has any modifiers of with certain attributes. Will be used in a later bugfix...

== Bugfixes ==
- Fixed bug with strip-blending which caused the blending modes to be useless.
- NLA buttons now use proper poll callbacks instead of defining checks
- Commented out missing operator in menus, silencing warnings in console
- Removed obsolete/incorrect comments
2009-06-19 04:45:56 +00:00
Campbell Barton
4f9e0ec06e Update Mathutils for py3k
* removed coercing types which has been removed from py3.
* matrix uses getset's rather then getset items.
* removed deprecated functions.
2009-06-18 23:12:29 +00:00
Daniel Genrich
b6182781b0 Fix for compiler error since BLO_sys_types.h was not in the path 2009-06-18 21:25:21 +00:00
Diego Borghetti
96003b5b73 Revert a small change to kerning, Matt please let me know if now it's fine (or like before). 2009-06-18 20:45:58 +00:00
Martin Poirier
2269280910 don't include stdint.h directly, it's broken on non C99 compliant compilers (you know which one I'm talking about). 2009-06-18 20:23:46 +00:00
Martin Poirier
dd250f7d85 2.5
Missing { when WITH_LCMS is defined.
2009-06-18 20:13:17 +00:00
Brecht Van Lommel
94dbb3bbdd 2.5 Python
Merging changes made by Arystanbek in the soc-2009-kazanbas branch,
plus some things modified and added by me.

* Operator exec is called execute in python now, due to conflicts
  with python exec keyword.
* Operator invoke/execute now get context argument.
* Fix crash executing operators due to bpy_import_main_set not being
  set with Main pointer.
* The bpy.props module now has the FloatProperty/IntProperty/
  StringProperty/BoolProperty functions to define RNA properties for
  operators.
* Operators now have an __operator__ property to get the actual RNA
  operator pointers, this is only temporary though.
* bpy.ops.add now allows the operator to be already registered, it
  will simply overwrite the existing one.
* Both the ui and io directories are now scanned and run on startup.
2009-06-18 19:51:22 +00:00
Brecht Van Lommel
4cd24cf058 RNA
Merging changes made by Arystanbek in the soc-2009-kazanbas branch,
plus some things modified and added by me.

* The API files now all in the makesrna module, convention is to
  call them e.g. rna_mesh_api.c for rna_mesh.c. Note for visual
  studio build maintainers, the rna_*_api.c files are compiled as
  part of "makesrna", but do not have rna_*_gen.c generated as part
  of the library. SCons/cmake/make were updated.

* Added function flags FUNC_USE_CONTEXT and FUNC_USE_REPORTS, to
  allow RNA functions to get context and error reporting parameters
  optionally. Renamed FUNC_TYPESTATIC to FUNC_NO_SELF.

* RNA collections now have a pointer to add/remove FunctionRNA's, this
  isn't actually used anywhere yet, purpose is to make an alias
  main.meshes.add() for main.add_mesh() in python.

* Fixes to make autogenerating property set/get for multidimensional
  arrays work, though a 4x4 matrix will be exposed as a length 16
  one dimensional RNA array.

* Functions and properties added:
	* Main.add_mesh()
	* Main.remove_mesh()
	* Object.matrix
	* Object.create_render_mesh()
	* WindowManager.add_fileselect()
2009-06-18 19:48:55 +00:00
Brecht Van Lommel
89d2559e6d 2.5
* Update cmake and makefiles to link python generic.
* Fix game engine building for cmake and makefiles.
* Fix compile error with py 3.x, due to 2.x compat fix.
2009-06-18 19:25:58 +00:00
Campbell Barton
504fa6e2bc own copy/paste error, euler.wrapped would give a bad value 2009-06-18 18:23:22 +00:00
Ton Roosendaal
506d96cb0b Part two of svn release commit, last one! 2009-06-18 18:12:13 +00:00
Campbell Barton
025b6dcbc3 fix for building with py2.3 2009-06-18 17:34:39 +00:00
Ton Roosendaal
0a132c6166 Bufix #18942
Composite "Map UV" node was using false UVs (0,0) from neighbouring 
pixels when those pixels were not rendered (or have no UV).

This commit checks for each neighbour sample it takes if the UV was
correctly set. Solves bad errors on edges of UV maps. With FSA even
totally smooth. :)
2009-06-18 17:00:47 +00:00
Daniel Genrich
122b206de3 Fixing gl/glw.h compiiler error 2009-06-18 15:33:58 +00:00
Ton Roosendaal
2f48d0b46b Added Make for new python/generic dir.
Also included GLEW.
2009-06-18 15:31:14 +00:00
Brecht Van Lommel
8130fb29b2 RNA:
* Make cloth settings animateable from buttons.
2009-06-18 14:29:24 +00:00
Brecht Van Lommel
5ea992df98 UI:
* Fix context.cloth, was not being set correct.
* Fix errors with context pinning, scripts should
  not assume context.object to be there.
* Always show preview even if e.g. the material is not
  set, to keep ID buttons from jumping while you're
  using them.
2009-06-18 14:20:25 +00:00
Kent Mein
a9b99ab01c coverity issue CID: 596
Checker: FORWARD_NULL (help)
File: base/src/source/blender/render/intern/source/texture.c
Function: do_lamp_tex
Description: Variable "dx" tracked as NULL was dereferenced.

Also found a typo the 3rd check was checking projx instead of projz
I also expanded the elses to set dyt as well as dxt.

Kent
2009-06-18 12:57:39 +00:00
Joseph Eagar
43ff755248 ok, switch selection modes are now qwe, with extrude moved to tkey and wkey moved to spacebar. after discussion on IRC, it's clear that for a true selection mode-aware system to work, we need hotkeys to very quickly switch between modes. so this was the result. 2009-06-18 10:44:16 +00:00
Joseph Eagar
20a7d79929 the hideous alt-tab selectmode menu is gone, replaced by alt-1, alt-2, and alt-3. need to still make the 'inclusive' feature work somehow though. also fixed some bugs in the selectmode flushing code. 2009-06-18 10:15:23 +00:00
Joseph Eagar
6360db1554 missing free 2009-06-18 07:15:17 +00:00
Joseph Eagar
5abbb20c89 extrude handles active face, and operators now properly restore unmodified mesh on failure 2009-06-18 07:11:55 +00:00
Joseph Eagar
9dfb7c4cf0 Turned delkey->Dissolve Verts into delkey->Dissolve,
and made it sensitive to the selection mode.  Also 
coded dissolve edges, since that was missing.
Removed the old "Delete Edge Loop", since dissolve
edges pretty much replaces that :)
2009-06-18 04:39:33 +00:00
Campbell Barton
7e57823c47 build generic modules in their own lib, compiling without the game engine would fail because bpy_internal_import.c wasnt being included.
(scons only)
2009-06-18 04:36:45 +00:00
Joseph Eagar
8a6d70bcb1 ctrl-click to make an isolated vert works again 2009-06-18 03:04:27 +00:00
Joseph Eagar
00d0a58db3 click-extrude works again 2009-06-18 02:05:56 +00:00
Joseph Eagar
6bdbbf150d Ported over the delete key and fkey fully over
to bmesh.  Yay! Creating faces from edge nets
is sill missing, I'm leaving that for later.

I added two new bmop functions, BMO_HeaderFlag_Buffer
and BMO_UnHeaderFlag_Buffer, which are header flag
version of BMO_Flag_Buffer and BMO_Unflag_Buffer.
The new functions properly handle setting/clearing
BM_SELECT via the selection API.
2009-06-18 01:31:50 +00:00
Dalai Felinto
b033f07306 Fix for bug: [#18619] Shadow face flag ignores object's scale
In time for the 2.49a ahoy :)
2009-06-17 21:18:32 +00:00
Campbell Barton
489db9994d Some generic modules from blender 2.4x building with py3k and mostly working.
* Mathutils, Geometry, BGL, Mostly working, some //XXX comments for things to fix with py3

python import override (bpy_internal_import.c) so you can import python internal scripts from the BGE and running blender normally.
2009-06-17 20:33:34 +00:00
Guillermo S. Romero
cb68b9434c Fix mask in arrow cursor and improve swap one. 2009-06-17 19:46:39 +00:00
Campbell Barton
95335af1b9 fix for a bug reported by zapman on blenderartist.
De-activating a loop-end actuator didnt work (it kept looping).
Looked into this further and it turns out that the actuators run with both positive and negative events false, the sound actuator assumes because its not negative that its a positive event and plays the sound anyway.

Fix by checking that its a positive event before playing.

The size limit on the message actuator was 100 which broke some scripts, set to 16384 instead.
2009-06-17 12:32:28 +00:00
Arystanbek Dyussenov
02acf9c354 Importer base for Chingiz. 2009-06-17 11:16:18 +00:00
Ton Roosendaal
0b0b02caf8 2.5
Logic editing back!

Test screenie:
http://download.blender.org/institute/rt9.jpg

I gave the buttons a bit more width, added nicer linkline draw.

Not working yet:
- theme colors for sensor/actuator types (was old button colors)
- moving sensors up/down (used bad pupmenu... better is icons like
  used for modifiers)
- Linkline mouse-over select. Currently deleting a link goes by
  drawing the same line again.

Needs to be fully tested for functionality too, leave that to the GE
department. :)

I noted there's bad button hacking with reading button values,
like check_state_mask(). uiBut structure was not meant to be exported
outside of interface module.
2009-06-17 11:01:05 +00:00
Campbell Barton
50b22468b2 BGE PyAPI
while making a demo of using python to control bones found some more problems.
also added channelNames attribute to BL_ActionActuator to get a list of valid channels to use.
demo: http://www.graphicall.org/ftp/ideasman42/armature_python.blend

its still not that useful since theres not way to know rest bone locations yet but better then nothing.
2009-06-17 09:42:04 +00:00
Benoit Bolsee
fa3cd4aadf BGE #18823: Loading older blend files (from the blender Gamekit 1.0 demos) that use Sumo crash on playback in 2.48.5, worked in rc3. Fixed by upgrading Sumo to support the new method of sensor synchronization introduced with Sensor objects in Bullet. Sumo demo will not crash but may still not run well as other features and methods have not been ported. 2009-06-17 08:36:37 +00:00
Benoit Bolsee
5de1ddf96c BGE bug #18931: YoFrankie bug in 249-trunk (works in 248). 2009-06-17 06:54:35 +00:00