Commit Graph

2923 Commits

Author SHA1 Message Date
1807beabf5 - UNUSED macro wasn't throwing an error with GCC if a var become used.
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-10-16 02:40:31 +00:00
be32cf8b32 UNUSED() macro so -Wunused-parameter can be used with GCC without so many warnings.
applied to python api and exotic.c, removed some args being passed down which were not needed.

keyword args for new mathutils types were being ignored when they should raise an error.
2010-10-13 23:25:08 +00:00
a81be2075f use PyC_UnicodeFromByte for bpy.app.tempdir incase of non utf-8 filepath 2010-10-13 14:14:22 +00:00
996efebbe3 == python api doc ==
First commit to make some structure in doc/ directory.

- moved source/blender/python/doc -> doc/python_api
- moved source/gameengine/PyDoc/*.rst -> doc/python_api/rst
- modified accordingly sphinx_doc_gen.py and sphinx_doc_gen.sh
  (later on I'll try alternative/ scripts by neXyon as promised :)
- source/gameengine/PyDoc/ is still there because contains epydoc stuff for the bge, will ask more and look into it later
2010-10-13 10:42:33 +00:00
118e0426f1 patch [#24221] Creating graph from armature doesn't work with unsaved .blend files (with fix).
from Sergej Reich (sergof)

Made some corrections to the patch as well as using bpy.app.tempdir with tempfile python module.
2010-10-13 00:08:24 +00:00
4a385adbf3 python api:
- bpy.app.debug can now be set, removed bpy.data.debug (since this is not blendfile data)
- added bpy.app.tempdir, this is needed because the userpref temp dir isn't always set, $TEMP may be used instead and scripts need temp dir access.
2010-10-12 23:47:43 +00:00
8408997c84 remove some unused code and reduced the scope if some vars (no functional change). 2010-10-05 21:22:33 +00:00
314121ee65 - use own string conversion function over PyUnicode_FromString when converting the argv
- report errors when files dont load when given from the command line but not running in background mode.
2010-10-04 01:18:47 +00:00
874ffaca7b typo in function prefix. 2010-10-03 23:29:43 +00:00
ab8aa13b82 bugfix [#24087] Blender can not install add-ons unless running with root priviledges
now addon path is created using the same path functions and selecting where to save the startup.blend

also made some minor changes to path handling funcs.
2010-10-03 20:00:22 +00:00
05884e09be - rna bugfix where ints were not clamped and would overflow, now raise an error and print valid range.
- fixed WM_OT_context_cycle_int was causing problems with int overflow, now it cycles properly.
- rename QUOTE macro to STRINGIFY_ARG, and added STRINGIFY, which is used more often since it gives the value as a string.
2010-10-03 01:44:00 +00:00
81b6d308a7 [#23673] Modifier construction gives correct result in viewport but incorrect in render.
When there are 2+ consecutive deform modifiers, the second modifier was getting incorrect normals, this only showed up for the displace modifier since its the only deform modifier that uses vertex normals.

It would have been easy to fix this by always calculating normals on deform modifiers, but slow.

To fix this I added a function to check if a deform modifier needs normals, so the normal calculation function only runs if there are 2 modifiers in a row and the second uses normals.
2010-09-30 10:51:36 +00:00
96aa1f9cd5 moved mathutils Euler.rotate(angle, axis) --> Euler.rotate_axis(axis, angle)
since it can only rotate about a single axis dont confuse with vector.rotate() which takes an axis vector.
2010-09-29 08:07:58 +00:00
7a950c2876 patch from Dan Eicher with some edirts.
vec.rotate(axis, angle)
equivalent to...
  vec[:] = vec * mathutils.Quaternion(axis, angle)
2010-09-29 05:15:55 +00:00
d6c8b41144 added CTX_wm_operator_poll_msg_get/set so failing poll functions can set messages when poll fails, at the moment only python uses this but theres nothing python specific.
only added 1 message to a poll function, so messages still need to be set in many more places to be useful.
2010-09-27 12:21:23 +00:00
5158684256 bugfix [#24014] Operator UI not shown in the order defined 2010-09-27 02:52:12 +00:00
47628dfab6 missing include from own commit r32117 2010-09-26 13:53:32 +00:00
d305a64b69 py/rna keyframe functions can now key longer paths if called from an ID block.
eg, bpy.context.object.keyframe_insert("soft_body.plastic")
2010-09-25 10:11:36 +00:00
e90ad1d9ba Annoying hack to pretend that an operator and its properties are the same, when passing an operator to an rna function argument which accepts 'AnyType', then pass the properties instead.
This means we can do operator drawing without passing self.properties as an argument.

while this check if quite specific, if this gives problems later on we should probably change operators not to try to mix an operator and its properties, it looks nice to a scripter but internally is not easy to manage.
2010-09-24 03:48:26 +00:00
5c99f3886e fix for python refcounting leak, RNA_path_resolve_full now unsets the index if its not last. 2010-09-24 03:24:15 +00:00
2b9a73ff98 - py/rna's path_resolve function was ignoring the index eg: obj.path_resolve("location[1]")
- corrected comment from previous commit
2010-09-23 02:12:33 +00:00
1615c9e435 python/c utility function for debugging, see http://wiki.blender.org/index.php/Dev:Doc/Debugging/PyFromC 2010-09-19 14:02:45 +00:00
aaf328dc78 remove redundant []'s for list comprehension's, py2.4+ supports this. 2010-09-19 07:07:14 +00:00
Nathan Letwory
ab5b95d148 * Update BGE for change in r32001
* Fix var declaration in bpy_interface.c
* Remove forward declarations from py_capi_utils.h: they are unnecessary and break compiles (there were probably many warnings about this during compile with GCC).
2010-09-18 19:38:27 +00:00
db7a4e530e move namespace creation function into py_capi_utils.c, to be used in more general cases, not just the blender/rna api. 2010-09-18 15:30:03 +00:00
e546d7666b minor changes needed for the next commit.
- BKE_add_image_extension now sets the extension rather then appending. (no more image.jpg.tga)
- py/rna functions which have no return value now raise an error if a non-None value is returned.
- added back the red-alert flag so buttons can have a red highlight if somethings wrong.
2010-09-17 05:58:06 +00:00
Nathan Letwory
95a3f41096 Don't do weird PYTHONPATH juggling anymore. Debug build crash doesn't happen anymore since proper libs have been committed.
Hopefully this helps in cases where people have PYTHONPATH set on their system to an incompatible Python version, which can result in crashes.
2010-09-15 15:29:31 +00:00
386bd71240 pyrna: replace method for operators forwarding getattr/setattr access from self.* to self.properties.* 2010-09-11 15:13:22 +00:00
5559a0d52e rewrote python IDProperty metaclass in C, this was a quick hack to get it working.
The reason this didnt work is all sibclasses of pythons type() or PyType_Type in C, have to have their size set to sizeof(PyHeapTypeObject) rather then sizeof(PyTypeObject) as you might expect.
This is strange since its not a heap-class (defined in pythons runtime), but a static C type, so Im not sure about this, and cant find any documentation but it seems to work ok.
2010-09-10 14:54:50 +00:00
a7fe586c94 patch [#23749] IntVectorProperty missing step [patch]
from Dan Eicher (dna), also edited some comments.
2010-09-10 02:46:29 +00:00
7bd1f9a234 - bugfix, operators were getting their properties registered twice.
- operator properties are now converted into python property() class members which bypass the operator 'properties' member.
  self.properties.mysetting
 ... can now be written as ...
  self.mysetting
- fix for error reloading rigify
2010-09-09 17:41:36 +00:00
f9367c4c4d definition/syntax edits for operators and rna (no functional changes) 2010-09-09 17:36:54 +00:00
9bdb7b5ffa fix crash for calling setattr with a non-string attribute and warning. 2010-09-09 13:58:38 +00:00
45cf7633fe remove class methods for defining properties
eg: bpy.types.Scene.BoolProperty()
2010-09-09 06:29:44 +00:00
ced3f3ad15 - fix for using ['prop'] in RNA api
- fix for testing without USE_PY_METACLASS defined.
2010-09-09 06:06:37 +00:00
f4be9a6393 support for defining rna class properties as class attributes
eg:
 bpy.types.Scene.myprop = BoolProperty()
 
note, this uses an ugly python metaclass, this should be replaced with a C implimentation which is included but commented out, causing crashes in pythons GC which gives no hint as to where the bug comes from.
2010-09-09 05:37:22 +00:00
128bd96c01 py/rna internals
- rna internal deferred properties now store the functions as PyObjects rather then C function pointers
- Property functions now allow the first non keyword argument to be a class.
2010-09-08 10:43:36 +00:00
6d82951947 bpy.props.* option to pass the first arg as a class. 2010-09-08 08:48:40 +00:00
ae0d99291f bugfix [#23656] Problems retrieving properties from inside runtime-created PointerProperties
Setting the classes __dict__ member directly didnt update the types slots (python internal type stuff used with subclassing), so class.bl_rna was returning an incorrect value.

Set the value using typical python setattr command.
2010-09-07 08:10:19 +00:00
2406ebe1a4 - added back zlib include (needed for win32).
- use list append in more places.
- remove non existing include dir.
2010-09-07 01:13:10 +00:00
99954545ee bugfix [#23656] Problems retrieving properties from inside runtime-created PointerProperties
cant test if this fix solves the problem matt is having but it at least fixes an error caused by classes created in exec(),
when the properties pointers were copied the hash key still referred to the python object which could be freed. in most cases this wouldnt happen (would be kept in bytecode) but with exec() the property string is freed immediately.
2010-09-06 15:54:08 +00:00
Nathan Letwory
25af4f12fa Silence warning about BLI_sprintfN 2010-09-04 09:27:21 +00:00
0cf0f5a622 rna api
- move: material.add_texture(tex, coords, mapto) --> material.texture_slots.add()
- added material.texture_slots.create(index), material.texture_slots.clear(index)
- texture slot functions also work for lamp and world now.

Other minor changes
- allow rna functions to set FUNC_NO_SELF and FUNC_USE_SELF_ID at once.
- [#23317] Changed some operators' RNA to accept lengths, a modification I made to this patch made it not work as intended, removed this edit so unit buttons appier in the UI for certain operators.
- Sphinx doc gen, 2 columns rather then 3, didnt quite fit in some cases.
2010-09-03 14:53:54 +00:00
52cefa4bc1 sphinx doc gen
- use 3 column lists for inherited props, funcs and for references to save on vertical space.
- use the blender version string for the upload path and PDF name.
2010-09-03 09:21:40 +00:00
a8269c8946 SVN maintenance. 2010-09-03 03:30:20 +00:00
0d12c77097 bugfix [#23635] property limits don't work when added via scripting\
also fix for bug where soft limits could be greater then hard limits with bpy.props.* functions.
2010-09-02 14:43:22 +00:00
b2ae9d825c - inconsistent rna names - use 'vertex_group_' as prefix, only ui scripts used this
- change curve offset to be 0.0 for its rest/default value (not 1.0)
2010-09-02 07:00:34 +00:00
ad0a176a22 - new subclass for ID-Property based collections - this way add/remove/move functions will only be shown for types that support it.
- moved array attributes into array properties - saves 8 bytes per allocated non-array property.
2010-09-02 06:35:00 +00:00
1c4b6ff334 SVN maintenance. 2010-09-01 19:39:37 +00:00
70ec45d757 have rna function obj.as_pointer() return a memory address rather then a PyCapsule object.
this can be passed to ctypes.c_void_p(bpy.context.object.as_pointer())
2010-09-01 15:25:22 +00:00